mirror of
https://github.com/u-boot/u-boot.git
synced 2024-12-20 02:03:28 +08:00
arm: socfpga: fix SPL on gen5 after moving to DM serial
There were NULL pointers dereferenced because DM was used
too early without correct initialization:
- malloc_simple returned NULL when called from preloader_console_init()
because gd->malloc_limit was 0
- uclass_add dereferenced gd->uclass_root members which were NULL because
dm_init (or one of its relatives) has not been called.
All this is fixed by calling spl_early_init before calling
preloader_console_init.
This fixes commit 73172753f4
("ARM: socfpga: Convert to DM serial")
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
This commit is contained in:
parent
a032e0a6ae
commit
40c36f8d49
@ -86,6 +86,7 @@ void board_init_f(ulong dummy)
|
||||
const struct cm_config *cm_default_cfg = cm_get_default_config();
|
||||
unsigned long sdram_size;
|
||||
unsigned long reg;
|
||||
int ret;
|
||||
|
||||
/*
|
||||
* First C code to run. Clear fake OCRAM ECC first as SBE
|
||||
@ -152,6 +153,12 @@ void board_init_f(ulong dummy)
|
||||
/* unfreeze / thaw all IO banks */
|
||||
sys_mgr_frzctrl_thaw_req();
|
||||
|
||||
ret = spl_early_init();
|
||||
if (ret) {
|
||||
debug("spl_early_init() failed: %d\n", ret);
|
||||
hang();
|
||||
}
|
||||
|
||||
/* enable console uart printing */
|
||||
preloader_console_init();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user