diff options
author | Pali Rohár <pali@kernel.org> | 2022-04-03 00:17:01 +0200 |
---|---|---|
committer | Priyanka Jain <priyanka.jain@nxp.com> | 2022-04-26 17:18:39 +0530 |
commit | 57d527e753bb5efe89fceea341e7d327bf58e312 (patch) | |
tree | 7bf963c12636716fa8310524a36402cd7c19ef18 /drivers | |
parent | a91998d8affc0405bafeade583204f66db81e252 (diff) | |
download | u-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.c | 5 |
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 |