mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-25 13:14:19 +08:00
bootstage: Init as early as possible
At present we don't allow use of bootstage before driver model is running. This means we cannot time the init of driver model itself. Now that bootstage requires its own board-specific timer, we can move its init to earlier in the sequence, both before and after relocation. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
25e7dc6a6a
commit
5ac44a5543
@ -765,6 +765,7 @@ static const init_fnc_t init_sequence_f[] = {
|
||||
trace_early_init,
|
||||
#endif
|
||||
initf_malloc,
|
||||
initf_bootstage, /* uses its own timer, so does not need DM */
|
||||
initf_console_record,
|
||||
#if defined(CONFIG_HAVE_FSP)
|
||||
arch_fsp_init,
|
||||
@ -773,7 +774,6 @@ static const init_fnc_t init_sequence_f[] = {
|
||||
mach_cpu_init, /* SoC/machine dependent CPU setup */
|
||||
initf_dm,
|
||||
arch_cpu_init_dm,
|
||||
initf_bootstage, /* need timer, go after init dm */
|
||||
#if defined(CONFIG_BOARD_EARLY_INIT_F)
|
||||
board_early_init_f,
|
||||
#endif
|
||||
|
@ -328,7 +328,6 @@ static int initr_dm(void)
|
||||
|
||||
static int initr_bootstage(void)
|
||||
{
|
||||
/* We cannot do this before initr_dm() */
|
||||
bootstage_mark_name(BOOTSTAGE_ID_START_UBOOT_R, "board_init_r");
|
||||
|
||||
return 0;
|
||||
@ -727,6 +726,7 @@ static init_fnc_t init_sequence_r[] = {
|
||||
#endif
|
||||
initr_barrier,
|
||||
initr_malloc,
|
||||
initr_bootstage, /* Needs malloc() but has its own timer */
|
||||
initr_console_record,
|
||||
#ifdef CONFIG_SYS_NONCACHED_MEMORY
|
||||
initr_noncached,
|
||||
@ -738,7 +738,6 @@ static init_fnc_t init_sequence_r[] = {
|
||||
#ifdef CONFIG_DM
|
||||
initr_dm,
|
||||
#endif
|
||||
initr_bootstage,
|
||||
#if defined(CONFIG_ARM) || defined(CONFIG_NDS32)
|
||||
board_init, /* Setup chipselects */
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user