ARM: AMx3xx: Allow arch specific code to use early DM

Early system initialization is being done before initf_dm is being called
in U-Boot. Then system will fail to boot if any of the DM enabled driver
is being called in this system initialization code. So, rearrange the
code a bit so that DM enabled drivers can be called during early system
initialization. This is inspired by commit e850ed82bc ("ARM: OMAP4+: Allow
arch specific code to use early DM")

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Lokesh Vutla 2016-10-14 10:35:23 +05:30 committed by Tom Rini
parent 693d4c9f1d
commit c704a99dff

View file

@ -270,15 +270,11 @@ static void watchdog_disable(void)
;
}
#ifdef CONFIG_SPL_BUILD
void board_init_f(ulong dummy)
{
board_early_init_f();
sdram_init();
}
#endif
void s_init(void)
{
}
void early_system_init(void)
{
/*
* The ROM will only have set up sufficient pinmux to allow for the
@ -297,4 +293,22 @@ void s_init(void)
rtc32k_enable();
#endif
}
#ifdef CONFIG_SPL_BUILD
void board_init_f(ulong dummy)
{
early_system_init();
board_early_init_f();
sdram_init();
}
#endif
#endif
int arch_cpu_init_dm(void)
{
#ifndef CONFIG_SKIP_LOWLEVEL_INIT
early_system_init();
#endif
return 0;
}