diff options
author | York Sun <york.sun@nxp.com> | 2017-09-28 18:42:10 +0300 |
---|---|---|
committer | York Sun <york.sun@nxp.com> | 2017-10-09 18:48:44 +0300 |
commit | d1fc0a31b5f307c92b7a047d4f90d5ad2e54cdcc (patch) | |
tree | 7b43d3ec735d65b01a05e9f84f422f49929d570a /common/spl | |
parent | c48deb9073da50f2dd7fa9d7ce951b1fe4dfaec7 (diff) | |
download | u-boot-d1fc0a31b5f307c92b7a047d4f90d5ad2e54cdcc.tar.xz |
spl: fix assignment of board info to global data
Commit 15eb1d43bf47 ("spl: reorder the assignment of board info to
global data") intended to move assignment of board info earlier,
into board_init_r(). However, function preload_console_init() is
called either from spl_board_init() or from board_init_f(). For the
latter case, the board info assignment is much earlier than proposed
board_init_r(). Create a new function to fill gd->bd and call this
function when needed.
Signed-off-by: York Sun <york.sun@nxp.com>
CC: Lokesh Vutla <lokeshvutla@ti.com>
CC: Ravi Babu <ravibabu@ti.com>
CC: Lukasz Majewski <lukma@denx.de>
CC: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common/spl')
-rw-r--r-- | common/spl/spl.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/common/spl/spl.c b/common/spl/spl.c index 4afbe97fc1..aaddddd995 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -258,6 +258,12 @@ static int spl_common_init(bool setup_malloc) return 0; } +void spl_set_bd(void) +{ + if (!gd->bd) + gd->bd = &bdata; +} + int spl_early_init(void) { int ret; @@ -365,7 +371,9 @@ void board_init_r(gd_t *dummy1, ulong dummy2) struct spl_image_info spl_image; debug(">>spl:board_init_r()\n"); - gd->bd = &bdata; + + spl_set_bd(); + #ifdef CONFIG_SPL_OS_BOOT dram_init_banksize(); #endif |