imx: spl: Allow iMX7/8/8M to overwrite spl_board_boot_device
Move the default mapping of spl_boot_device to weak function of spl_board_boot_device. So that every board of iMX7/8/8M can overwrite this function to implement specific mapping. Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
@@ -25,7 +25,43 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
__weak int spl_board_boot_device(enum boot_device boot_dev_spl)
|
||||
{
|
||||
return 0;
|
||||
switch (boot_dev_spl) {
|
||||
#if defined(CONFIG_MX7)
|
||||
case SD1_BOOT:
|
||||
case MMC1_BOOT:
|
||||
case SD2_BOOT:
|
||||
case MMC2_BOOT:
|
||||
case SD3_BOOT:
|
||||
case MMC3_BOOT:
|
||||
return BOOT_DEVICE_MMC1;
|
||||
#elif defined(CONFIG_IMX8)
|
||||
case MMC1_BOOT:
|
||||
return BOOT_DEVICE_MMC1;
|
||||
case SD2_BOOT:
|
||||
return BOOT_DEVICE_MMC2_2;
|
||||
case SD3_BOOT:
|
||||
return BOOT_DEVICE_MMC1;
|
||||
case FLEXSPI_BOOT:
|
||||
return BOOT_DEVICE_SPI;
|
||||
#elif defined(CONFIG_IMX8M)
|
||||
case SD1_BOOT:
|
||||
case MMC1_BOOT:
|
||||
return BOOT_DEVICE_MMC1;
|
||||
case SD2_BOOT:
|
||||
case MMC2_BOOT:
|
||||
return BOOT_DEVICE_MMC2;
|
||||
#endif
|
||||
case NAND_BOOT:
|
||||
return BOOT_DEVICE_NAND;
|
||||
case SPI_NOR_BOOT:
|
||||
return BOOT_DEVICE_SPI;
|
||||
case QSPI_BOOT:
|
||||
return BOOT_DEVICE_NOR;
|
||||
case USB_BOOT:
|
||||
return BOOT_DEVICE_BOARD;
|
||||
default:
|
||||
return BOOT_DEVICE_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(CONFIG_MX6)
|
||||
@@ -140,47 +176,7 @@ u32 spl_boot_device(void)
|
||||
|
||||
enum boot_device boot_device_spl = get_boot_device();
|
||||
|
||||
if (IS_ENABLED(CONFIG_IMX8MM) || IS_ENABLED(CONFIG_IMX8MN) ||
|
||||
IS_ENABLED(CONFIG_IMX8MP))
|
||||
return spl_board_boot_device(boot_device_spl);
|
||||
|
||||
switch (boot_device_spl) {
|
||||
#if defined(CONFIG_MX7)
|
||||
case SD1_BOOT:
|
||||
case MMC1_BOOT:
|
||||
case SD2_BOOT:
|
||||
case MMC2_BOOT:
|
||||
case SD3_BOOT:
|
||||
case MMC3_BOOT:
|
||||
return BOOT_DEVICE_MMC1;
|
||||
#elif defined(CONFIG_IMX8)
|
||||
case MMC1_BOOT:
|
||||
return BOOT_DEVICE_MMC1;
|
||||
case SD2_BOOT:
|
||||
return BOOT_DEVICE_MMC2_2;
|
||||
case SD3_BOOT:
|
||||
return BOOT_DEVICE_MMC1;
|
||||
case FLEXSPI_BOOT:
|
||||
return BOOT_DEVICE_SPI;
|
||||
#elif defined(CONFIG_IMX8M)
|
||||
case SD1_BOOT:
|
||||
case MMC1_BOOT:
|
||||
return BOOT_DEVICE_MMC1;
|
||||
case SD2_BOOT:
|
||||
case MMC2_BOOT:
|
||||
return BOOT_DEVICE_MMC2;
|
||||
#endif
|
||||
case NAND_BOOT:
|
||||
return BOOT_DEVICE_NAND;
|
||||
case SPI_NOR_BOOT:
|
||||
return BOOT_DEVICE_SPI;
|
||||
case QSPI_BOOT:
|
||||
return BOOT_DEVICE_NOR;
|
||||
case USB_BOOT:
|
||||
return BOOT_DEVICE_BOARD;
|
||||
default:
|
||||
return BOOT_DEVICE_NONE;
|
||||
}
|
||||
return spl_board_boot_device(boot_device_spl);
|
||||
}
|
||||
#endif /* CONFIG_MX7 || CONFIG_IMX8M || CONFIG_IMX8 */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user