mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-07-23 07:12:25 +00:00
board_r: Move early-timer init later
At present the early timer init happens as soon as driver model is set up. This makes it impossible to do anything that needs driver model but must run before devices are probed (as needed with Intel's FSP-S, for example). In any case it is not a good idea to tie probing of particular drivers too closely to the DM init. Create a new function to init the timer and put it a bit later in the sequence. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
8aeafb5454
commit
dd0edcb250
1 changed files with 14 additions and 5 deletions
|
@ -311,16 +311,24 @@ static int initr_dm(void)
|
|||
bootstage_accum(BOOTSTATE_ID_ACCUM_DM_R);
|
||||
if (ret)
|
||||
return ret;
|
||||
#ifdef CONFIG_TIMER_EARLY
|
||||
ret = dm_timer_init();
|
||||
if (ret)
|
||||
return ret;
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int initr_dm_devices(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (IS_ENABLED(CONFIG_TIMER_EARLY)) {
|
||||
ret = dm_timer_init();
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int initr_bootstage(void)
|
||||
{
|
||||
bootstage_mark_name(BOOTSTAGE_ID_START_UBOOT_R, "board_init_r");
|
||||
|
@ -707,6 +715,7 @@ static init_fnc_t init_sequence_r[] = {
|
|||
efi_memory_init,
|
||||
#endif
|
||||
initr_binman,
|
||||
initr_dm_devices,
|
||||
stdio_init_tables,
|
||||
initr_serial,
|
||||
initr_announce,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue