summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2022-04-03 00:17:01 +0200
committerPriyanka Jain <priyanka.jain@nxp.com>2022-04-26 17:18:39 +0530
commit57d527e753bb5efe89fceea341e7d327bf58e312 (patch)
tree7bf963c12636716fa8310524a36402cd7c19ef18 /drivers
parenta91998d8affc0405bafeade583204f66db81e252 (diff)
downloadu-boot-57d527e753bb5efe89fceea341e7d327bf58e312.tar.gz
u-boot-57d527e753bb5efe89fceea341e7d327bf58e312.tar.bz2
u-boot-57d527e753bb5efe89fceea341e7d327bf58e312.zip
mmc: fsl_esdhc_spl: Call mmc_init() before booting from SD card
If env is stored on SD card then U-Boot SPL automatically calls mmc_init() before it is going to load proper U-Boot from SD card. If env is not stored on SD card then U-Boot SPL fails to read proper U-Boot from SD card due to missing mmc_init() call. So add missing mmc_init() call into fsl_esdhc_spl's mmc_boot() function. It fixes booting from SD card on P2020 boards without env support in SPL. mmc_init() returns early if card was already initialized, so there is no issue with calling this function more times. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mmc/fsl_esdhc_spl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mmc/fsl_esdhc_spl.c b/drivers/mmc/fsl_esdhc_spl.c
index b87597a88e..0146a231b2 100644
--- a/drivers/mmc/fsl_esdhc_spl.c
+++ b/drivers/mmc/fsl_esdhc_spl.c
@@ -77,6 +77,11 @@ void __noreturn mmc_boot(void)
hang();
}
+ if (mmc_init(mmc)) {
+ puts("spl: mmc device init failed!\n");
+ hang();
+ }
+
#ifdef CONFIG_FSL_CORENET
offset = CONFIG_SYS_MMC_U_BOOT_OFFS;
#else