
Since the SD is usdhc2 and eMMC is usdhc3, this cause mapping problem for spl_boot_device. So far hard coded them to correct MMC index, so that SD and eMMC boot can work.
Signed-off-by: Peng Fan peng.fan@nxp.com --- arch/arm/mach-imx/spl.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/arch/arm/mach-imx/spl.c b/arch/arm/mach-imx/spl.c index ebd8ff9290..0048832be8 100644 --- a/arch/arm/mach-imx/spl.c +++ b/arch/arm/mach-imx/spl.c @@ -147,9 +147,18 @@ u32 spl_boot_device(void) case SD1_BOOT: case MMC1_BOOT: return BOOT_DEVICE_MMC1; +#if defined(CONFIG_IMX8MM) + case SD2_BOOT: + case MMC2_BOOT: + return BOOT_DEVICE_MMC1; + case SD3_BOOT: + case MMC3_BOOT: + return BOOT_DEVICE_MMC2; +#else case SD2_BOOT: case MMC2_BOOT: return BOOT_DEVICE_MMC2; +#endif #endif case NAND_BOOT: return BOOT_DEVICE_NAND;