mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-18 16:08:53 +09:00
![Tom Rini](/assets/img/avatar_default.png)
On all TI platforms the ROM defines a "downloaded image" area at or near the start of SRAM which is followed by a reserved area. As it is at best bad form and at worst possibly harmful in corner cases to write in this reserved area, we stop doing that by adding in the define NON_SECURE_SRAM_IMG_END to say where the end of the downloaded image area is and make SRAM_SCRATCH_SPACE_ADDR be one kilobyte before this. At current we define the end of scratch space at 0x228 bytes past the start of scratch space this this gives us a lot of room to grow. As these scratch uses are non-optional today, all targets are modified to respect this boundary. Tested on OMAP4 Pandaboard, OMAP3 Beagle xM Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Nagendra T S <nagendra@mistralsolutions.com> Cc: Vaibhav Hiremath <hvaibhav@ti.com> Cc: Lokesh Vutla <lokeshvutla@ti.com> Cc: Felipe Balbi <balbi@ti.com> Cc: Igor Grinberg <grinberg@compulab.co.il> Cc: Nikita Kiryanov <nikita@compulab.co.il> Cc: Paul Kocialkowski <contact@paulk.fr> Cc: Enric Balletbo i Serra <eballetbo@gmail.com> Cc: Adam Ford <aford173@gmail.com> Cc: Steve Sakoman <sakoman@gmail.com> Cc: Stefan Roese <sr@denx.de> Cc: Thomas Weber <weber@corscience.de> Cc: Hannes Schmelzer <oe5hpm@oevsv.at> Cc: Thomas Chou <thomas@wytron.com.tw> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Simon Glass <sjg@chromium.org> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Sam Protsenko <semen.protsenko@linaro.org> Cc: Heiko Schocher <hs@denx.de> Cc: Samuel Egli <samuel.egli@siemens.com> Cc: Michal Simek <michal.simek@xilinx.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Cc: Ben Whitten <ben.whitten@gmail.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Sekhar Nori <nsekhar@ti.com> Cc: Mugunthan V N <mugunthanvnm@ti.com> Cc: "B, Ravi" <ravibabu@ti.com> Cc: "Matwey V. Kornilov" <matwey.kornilov@gmail.com> Cc: Ladislav Michl <ladis@linux-mips.org> Cc: Ash Charles <ashcharles@gmail.com> Cc: "Kipisz, Steven" <s-kipisz2@ti.com> Cc: Daniel Allred <d-allred@ti.com> Signed-off-by: Tom Rini <trini@konsulko.com> Tested-by: Lokesh Vutla <lokeshvutla@ti.com> Acked-by: Lokesh Vutla <lokeshvutla@ti.com> Tested-by: Ladislav Michl <ladis@linux-mips.org>
92 lines
2.6 KiB
C
92 lines
2.6 KiB
C
/*
|
|
* ti_am335x_common.h
|
|
*
|
|
* Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*
|
|
* For more details, please see the technical documents listed at
|
|
* http://www.ti.com/product/am3359#technicaldocuments
|
|
*/
|
|
|
|
#ifndef __CONFIG_TI_AM335X_COMMON_H__
|
|
#define __CONFIG_TI_AM335X_COMMON_H__
|
|
|
|
#define CONFIG_AM33XX
|
|
#define CONFIG_ARCH_CPU_INIT
|
|
#define CONFIG_MAX_RAM_BANK_SIZE (1024 << 20) /* 1GB */
|
|
#define CONFIG_SYS_TIMERBASE 0x48040000 /* Use Timer2 */
|
|
#define CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC
|
|
|
|
#include <asm/arch/omap.h>
|
|
|
|
/* NS16550 Configuration */
|
|
#ifdef CONFIG_SPL_BUILD
|
|
#define CONFIG_SYS_NS16550_SERIAL
|
|
#define CONFIG_SYS_NS16550_REG_SIZE (-4)
|
|
#endif
|
|
#define CONFIG_SYS_NS16550_CLK 48000000
|
|
|
|
#ifndef CONFIG_SPL_BUILD
|
|
/* Network defines. */
|
|
#define CONFIG_BOOTP_DNS /* Configurable parts of CMD_DHCP */
|
|
#define CONFIG_BOOTP_DNS2
|
|
#define CONFIG_BOOTP_SEND_HOSTNAME
|
|
#define CONFIG_BOOTP_GATEWAY
|
|
#define CONFIG_BOOTP_SUBNETMASK
|
|
#define CONFIG_NET_RETRY_COUNT 10
|
|
#define CONFIG_MII /* Required in net/eth.c */
|
|
#endif
|
|
|
|
#define CONFIG_DRIVER_TI_CPSW /* Driver for IP block */
|
|
/*
|
|
* RTC related defines. To use bootcount you must set bootlimit in the
|
|
* environment to a non-zero value and enable CONFIG_BOOTCOUNT_LIMIT
|
|
* in the board config.
|
|
*/
|
|
#define CONFIG_SYS_BOOTCOUNT_ADDR 0x44E3E000
|
|
|
|
/* Enable the HW watchdog, since we can use this with bootcount */
|
|
#define CONFIG_HW_WATCHDOG
|
|
#define CONFIG_OMAP_WATCHDOG
|
|
|
|
/*
|
|
* SPL related defines. The Public RAM memory map the ROM defines the
|
|
* area between 0x402F0400 and 0x4030B800 as a download area and
|
|
* 0x4030B800 to 0x4030CE00 as a public stack area. The ROM also
|
|
* supports X-MODEM loading via UART, and we leverage this and then use
|
|
* Y-MODEM to load u-boot.img, when booted over UART.
|
|
*/
|
|
#define CONFIG_SPL_TEXT_BASE 0x402F0400
|
|
#define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_SDRAM_BASE + \
|
|
(128 << 20))
|
|
|
|
/* Enable the watchdog inside of SPL */
|
|
#define CONFIG_SPL_WATCHDOG_SUPPORT
|
|
|
|
/*
|
|
* Since SPL did pll and ddr initialization for us,
|
|
* we don't need to do it twice.
|
|
*/
|
|
#if !defined(CONFIG_SPL_BUILD) && !defined(CONFIG_NOR_BOOT)
|
|
#define CONFIG_SKIP_LOWLEVEL_INIT
|
|
#endif
|
|
|
|
/*
|
|
* When building U-Boot such that there is no previous loader
|
|
* we need to call board_early_init_f. This is taken care of in
|
|
* s_init when we have SPL used.
|
|
*/
|
|
#if !defined(CONFIG_SKIP_LOWLEVEL_INIT) && !defined(CONFIG_SPL)
|
|
#define CONFIG_BOARD_EARLY_INIT_F
|
|
#endif
|
|
|
|
#ifdef CONFIG_NAND
|
|
#define CONFIG_SPL_NAND_AM33XX_BCH /* ELM support */
|
|
#endif
|
|
|
|
/* Now bring in the rest of the common code. */
|
|
#include <configs/ti_armv7_omap.h>
|
|
|
|
#endif /* __CONFIG_TI_AM335X_COMMON_H__ */
|