
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 --- include/configs/ti_armv7_common.h | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h index 99b60fc..4d09ad9 100644 --- a/include/configs/ti_armv7_common.h +++ b/include/configs/ti_armv7_common.h @@ -176,14 +176,17 @@
/* * Place the image at the start of the ROM defined image space. - * We limit our size to the ROM-defined downloaded image area, and use the - * rest of the space for stack. We load U-Boot itself into memory at - * 0x80800000 for legacy reasons (to not conflict with older SPLs). We - * have our BSS be placed 1MiB after this, to allow for the default - * Linux kernel address of 0x80008000 to work, in the Falcon Mode case. - * We have the SPL malloc pool at the end of the BSS area. + * We limit our size to the ROM-defined downloaded image area, and use + * the rest of the space for a temporary stack space. We reserve 4MiB + * between the malloc space at device tree space (for Falcon Mode) for + * SPL stack as some operations may use a large amount of spsce. We + * load U-Boot itself into memory at 0x80800000 for legacy reasons (to + * not conflict with older SPLs). We have our BSS be placed 2MiB after + * this, to allow for the default Linux kernel address of 0x80008000 to + * work, in the Falcon Mode case. We have the SPL malloc pool at the + * end of the BSS area. */ -#define CONFIG_SPL_STACK CONFIG_SYS_INIT_SP_ADDR +#define CONFIG_SPL_STACK 0x80e80000 #define CONFIG_SYS_TEXT_BASE 0x80800000 #define CONFIG_SPL_BSS_START_ADDR 0x80a00000 #define CONFIG_SPL_BSS_MAX_SIZE 0x80000 /* 512 KB */