Hi Simon, On Sun, Nov 29, 2015 at 1:16 PM, Simon Glass <s...@chromium.org> wrote: > At present bootstage will try to read the timer very early after relocation. > When driver model it used to provide the timer, we cannot read it until
When driver model is > driver model is ready. Correct this by adding a separate stage for the > post-relocation bootstage init. > > This fixes booting on chromebook_link. > > Signed-off-by: Simon Glass <s...@chromium.org> > --- > Reviewed-by: Bin Meng <bmeng...@gmail.com> > common/board_r.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/common/board_r.c b/common/board_r.c > index f7118e8..a41fb54 100644 > --- a/common/board_r.c > +++ b/common/board_r.c > @@ -109,7 +109,6 @@ static int initr_reloc(void) > { > /* tell others: relocation done */ > gd->flags |= GD_FLG_RELOC | GD_FLG_FULL_MALLOC_INIT; > - bootstage_mark_name(BOOTSTAGE_ID_START_UBOOT_R, "board_init_r"); > > return 0; > } > @@ -310,6 +309,14 @@ static int initr_dm(void) > } > #endif > > +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; > +} > + > __weak int power_init_board(void) > { > return 0; > @@ -748,6 +755,7 @@ 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 > -- Regards, Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot