On Tue, May 21, 2019 at 10:09 AM Sekhar Nori <nsek...@ti.com> wrote: > > U-Boot README recommends initializing SDRAM in board_init_f(). DA850 > was doing it as part of board_init_r() (through call to spl_board_init() > which calls arch_cpu_init() which calls da850_ddr_setup()) > > This worked fine till commit 15b8c7505819 ("davinci: > da850evm/omapl138-lcdk: Move BSS to SDRAM because SRAM is full") moved > BSS to SDRAM. > > Functions like mmc_initialize() called in board_init_r() assume BSS is > available. Since SDRAM was not initialized when arch/arm/lib/crt0.S tried > to initialize BSS to 0, BSS is not initialized correctly. > > Fix this by simply calling arch_cpu_init() from board_init_f(). Since the > README recommends calling preloader_console_init() from spl_board_init(), > we keep it as-it-is.
The README also states preloader_console_init() can get called from board_init_f(). Doing this enables for debugging of board_init_r > > Tested using MMC/SD boot on OMAP-L138 LCDK board. > > Signed-off-by: Sekhar Nori <nsek...@ti.com> > --- > arch/arm/mach-davinci/spl.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/mach-davinci/spl.c b/arch/arm/mach-davinci/spl.c > index 103639e34757..117b5ee836f8 100644 > --- a/arch/arm/mach-davinci/spl.c > +++ b/arch/arm/mach-davinci/spl.c > @@ -33,10 +33,14 @@ void putc(char c) > > void spl_board_init(void) > { > - arch_cpu_init(); > preloader_console_init(); > } > > +void board_init_f(ulong dummy) > +{ > + arch_cpu_init(); What about a reference to board_early_init_f()? Looking at other boards, it appears that we should call that here. Both the LCDK and da850 evm have the function enabled to configure the DSP. adam > +} > + > u32 spl_boot_device(void) > { > switch (davinci_syscfg_regs->bootcfg) { > -- > 2.16.2 > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot