On Mon, May 20, 2019 at 2:35 PM Adam Ford <aford...@gmail.com> wrote: > > The arch_cpu_init() and preloader_console_init() functions > were not getting called until board_init_r() as part of the > spl_board_init() functions. This patch explicitly moves these > initialization sequences earlier in startup, and now clears BSS > per the suggested workflow in the README. This also means that > CONFIG_SPL_BOARD_INIT can be removed from the defconfig >
Tom, You can drop this. Use Sekhar's implementation [1] instead of mine. [1] - https://patchwork.ozlabs.org/patch/1107760/ adam > Suggested-by: Sekhar Nori <nsek...@ti.com> > Signed-off-by: Adam Ford <aford...@gmail.com> > > diff --git a/arch/arm/mach-davinci/spl.c b/arch/arm/mach-davinci/spl.c > index 103639e347..05c78f1801 100644 > --- a/arch/arm/mach-davinci/spl.c > +++ b/arch/arm/mach-davinci/spl.c > @@ -37,6 +37,33 @@ void spl_board_init(void) > preloader_console_init(); > } > > +void board_init_f(ulong boot_flags) > +{ > + gd->flags = boot_flags; > + gd->have_console = 0; > + > + if (!(gd->flags & GD_FLG_SPL_INIT)) { > + if (spl_init()) > + hang(); > + } > + > + arch_cpu_init(); > + > + board_early_init_f(); > + > + /* setup GP timer */ > + timer_init(); > + > + /* UART clocks enabled and gd valid - init serial console */ > + preloader_console_init(); > + > + /* Clear the BSS. */ > + memset(__bss_start, 0, __bss_end - __bss_start); > + > + /* load/boot image from boot device */ > + board_init_r(NULL, 0); > +} > + > u32 spl_boot_device(void) > { > switch (davinci_syscfg_regs->bootcfg) { > diff --git a/configs/da850evm_defconfig b/configs/da850evm_defconfig > index 8c16d5c4f5..c095058282 100644 > --- a/configs/da850evm_defconfig > +++ b/configs/da850evm_defconfig > @@ -21,7 +21,6 @@ CONFIG_VERSION_VARIABLE=y > # CONFIG_DISPLAY_BOARDINFO is not set > CONFIG_BOARD_EARLY_INIT_F=y > CONFIG_SPL_TEXT_BASE=0x80000000 > -CONFIG_SPL_BOARD_INIT=y > CONFIG_SPL_SYS_MALLOC_SIMPLE=y > CONFIG_SPL_SEPARATE_BSS=y > CONFIG_SPL_SPI_LOAD=y > diff --git a/configs/da850evm_nand_defconfig b/configs/da850evm_nand_defconfig > index b8eac0e659..7271016346 100644 > --- a/configs/da850evm_nand_defconfig > +++ b/configs/da850evm_nand_defconfig > @@ -19,7 +19,6 @@ CONFIG_VERSION_VARIABLE=y > # CONFIG_DISPLAY_BOARDINFO is not set > CONFIG_BOARD_EARLY_INIT_F=y > CONFIG_SPL_TEXT_BASE=0x80000000 > -CONFIG_SPL_BOARD_INIT=y > CONFIG_SPL_SYS_MALLOC_SIMPLE=y > CONFIG_SPL_SEPARATE_BSS=y > CONFIG_SPL_NAND_SUPPORT=y > -- > 2.17.1 > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot