Files
u-boot-tk1-som/common
Simon Glass db910353a1 arm: spl: Allow board_init_r() to run with a larger stack
At present SPL uses a single stack, either CONFIG_SPL_STACK or
CONFIG_SYS_INIT_SP_ADDR. Since some SPL features (such as MMC and
environment) require a lot of stack, some boards set CONFIG_SPL_STACK to
point into SDRAM. They then set up SDRAM very early, before board_init_f(),
so that the larger stack can be used.

This is an abuse of lowlevel_init(). That function should only be used for
essential start-up code which cannot be delayed. An example of a valid use is
when only part of the SPL code is visible/executable, and the SoC must be set
up so that board_init_f() can be reached. It should not be used for SDRAM
init, console init, etc.

Add a CONFIG_SPL_STACK_R option, which allows the stack to be moved to a new
address before board_init_r() is called in SPL.

The expected SPL flow (for CONFIG_SPL_FRAMEWORK) is documented in the README.

Signed-off-by: Simon Glass <sjg@chromium.org>
For version 1:
Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
Reviewed-by: Stefan Roese <sr@denx.de>
Tested-by: Bo Shen <voice.shen@atmel.com>
Acked-by: Bo Shen <voice.shen@atmel.com>
Acked-by: Heiko Schocher <hs@denx.de>
Tested-by: Heiko Schocher <hs@denx.de>

Signed-off-by: Tom Rini <trini@konsulko.com>
2015-03-04 14:55:04 -05:00
..
2014-07-18 17:53:24 -04:00
2013-04-01 16:33:52 -04:00
2015-02-17 22:54:38 +01:00
2015-02-17 22:54:38 +01:00
2015-02-17 22:54:38 +01:00
2014-06-11 16:25:47 -04:00
2014-02-04 16:32:20 +01:00
2015-01-30 09:19:17 -05:00
2014-11-19 08:48:41 +01:00
2015-01-30 09:19:16 -05:00
2014-10-26 14:03:08 -04:00
2014-12-29 16:31:24 -05:00
2014-06-20 11:54:29 -06:00
2014-06-05 14:38:38 -04:00
2011-04-08 00:44:27 -04:00
2015-01-29 17:09:57 -07:00
2014-03-22 14:47:22 -06:00
2013-05-31 17:12:03 -05:00
2014-11-23 06:49:01 -05:00
2014-05-12 15:19:46 -04:00
2012-08-09 23:39:18 +02:00
2015-01-29 17:09:57 -07:00
2013-04-01 16:33:52 -04:00
2014-01-14 09:01:06 -05:00
2014-03-21 16:43:59 -04:00
2014-01-14 09:01:06 -05:00
2014-04-17 17:44:36 -04:00
2014-03-21 16:43:59 -04:00
2014-03-21 16:43:59 -04:00
2014-10-22 10:36:47 -06:00
2014-03-21 16:43:59 -04:00
2015-01-29 17:09:57 -07:00
2015-01-05 12:08:51 -05:00
2014-06-20 11:54:29 -06:00
2010-01-18 00:23:00 +01:00
2014-09-16 12:23:56 -04:00
2011-10-22 01:13:35 +02:00
2014-10-25 07:01:59 -04:00
2014-11-04 06:04:00 +01:00