Hi Adam, MMC/SD boot is broken on OMAP-L138 LCDK. This is since v2018.11. v2018.09 is fine.
The first breakage occurred with commit 21af33ed0319 ("ARM: davinci: omapl138_lcdk: Enable DM_MMC"). This commit moved to DM_MMC for U-Boot while keeping legacy mode for SPL. The "#ifndef CONFIG_DM_MMC" introduced by this commit is incorrect I think because CONFIG_DM_MMC is defined in SPL build too and because of this board_mmc_init() never gets defined. I think the intent was to define board_mmc_init() for SPL case, and for that the following diff should do: diff --git a/board/davinci/da8xxevm/omapl138_lcdk.c b/board/davinci/da8xxevm/omapl138_lcdk.c index 2c2f885d43e4..fe1bf4410145 100644 --- a/board/davinci/da8xxevm/omapl138_lcdk.c +++ b/board/davinci/da8xxevm/omapl138_lcdk.c @@ -353,7 +353,7 @@ int misc_init_r(void) return 0; } -#ifndef CONFIG_DM_MMC +#if !CONFIG_IS_ENABLED(DM_MMC) #ifdef CONFIG_MMC_DAVINCI static struct davinci_mmc mmc_sd0 = { .reg_base = (struct davinci_mmc_regs *)DAVINCI_MMC_SD0_BASE, With this fixed, MMC/SD boot is still broken after commit 15b8c7505819 ("davinci: da850evm/omapl138-lcdk: Move BSS to SDRAM because SRAM is full"). After this commit, mmc_initialize() in drivers/mmc/mmc.c fails because the static variable 'initialized' does not get initialized to 0 as intended in code and gets set to a random value because of which no MMC/SD device gets registered. I did notice that 'initialized' is in BSS, so I believe after this commit BSS is not getting set to 0. Thanks, Sekhar _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot