TI:armv7: Change CONFIG_SPL_STACK to not be CONFIG_SYS_INIT_SP_ADDR

There are times where we may need more than a few kilobytes of stack
space.  We also will not be using CONFIG_SPL_STACK location prior to DDR
being initialized (CONFIG_SYS_INIT_SP_ADDR is still used there) so pick
a good location within DDR for this to be.  Tested on
OMAP4/AM335x/OMAP5/DRA7xx.

Signed-off-by: Tom Rini <trini@ti.com>
This commit is contained in:
Tom Rini 2014-07-18 11:51:32 -04:00
parent 6d9e610ca2
commit 865813ed83
1 changed files with 11 additions and 8 deletions

View File

@ -202,15 +202,18 @@
#define CONFIG_SPL_OS_BOOT #define CONFIG_SPL_OS_BOOT
/* /*
* Place the image at the start of the ROM defined image space. * Place the image at the start of the ROM defined image space (per
* We limit our size to the ROM-defined downloaded image area, and use the * CONFIG_SPL_TEXT_BASE and we limit our size to the ROM-defined
* rest of the space for stack. We load U-Boot itself into memory at * downloaded image area. We initalize DRAM as soon as we can so that
* 0x80800000 for legacy reasons (to not conflict with older SPLs). We * we can place stack, malloc and BSS there. We load U-Boot itself into
* have our BSS be placed 1MiB after this, to allow for the default * memory at 0x80800000 for legacy reasons (to not conflict with older
* Linux kernel address of 0x80008000 to work, in the Falcon Mode case. * SPLs). We have our BSS be placed 2MiB after this, to allow for the
* We have the SPL malloc pool at the end of the BSS area. * default Linux kernel address of 0x80008000 to work with most sized
* kernels, in the Falcon Mode case. We have the SPL malloc pool at the
* end of the BSS area. We place our stack at 32MiB after the start of
* DRAM to allow room for all of the above.
*/ */
#define CONFIG_SPL_STACK CONFIG_SYS_INIT_SP_ADDR #define CONFIG_SPL_STACK (CONFIG_SYS_SDRAM_BASE + (32 << 20))
#ifndef CONFIG_SYS_TEXT_BASE #ifndef CONFIG_SYS_TEXT_BASE
#define CONFIG_SYS_TEXT_BASE 0x80800000 #define CONFIG_SYS_TEXT_BASE 0x80800000
#endif #endif