x86: Fix DRAM bank size init with generic board
The intention of the memory init code is that it should work the same with CONFIG_SYS_GENERIC_BOARD and without. This is tricky because dram_init() is called prior to relocation with generic board (matching other archs) and after relocation without generic board. Adjust the init sequence so that dram_init() is not called in the generic board case, which seems like the easiest fix for now. Also ensure that relocation addresses are still calculated. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
cba6494f24
commit
8b42dfc3b6
@ -113,7 +113,7 @@ int dram_init_f(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int dram_init(void)
|
||||
int dram_init_banksize(void)
|
||||
{
|
||||
int i, j;
|
||||
|
||||
@ -132,3 +132,8 @@ int dram_init(void)
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int dram_init(void)
|
||||
{
|
||||
return dram_init_banksize();
|
||||
}
|
||||
|
@ -856,8 +856,7 @@ static init_fnc_t init_sequence_f[] = {
|
||||
#endif
|
||||
#ifdef CONFIG_X86
|
||||
dram_init_f, /* configure available RAM banks */
|
||||
/* x86 would prefer that this happens after relocation */
|
||||
dram_init,
|
||||
calculate_relocation_address,
|
||||
#endif
|
||||
announce_dram_init,
|
||||
/* TODO: unify all these dram functions? */
|
||||
|
Loading…
Reference in New Issue
Block a user