]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
spl: mmc: Allow to disable SYS_MMCSD_FS_BOOT_PARTITION
authorPali Rohár <pali@kernel.org>
Sat, 21 Jan 2023 14:13:08 +0000 (15:13 +0100)
committerStefan Roese <sr@denx.de>
Wed, 1 Mar 2023 05:39:17 +0000 (06:39 +0100)
On some platforms is SYS_MMCSD_FS_BOOT_PARTITION unsupported. So allow to
completely disable MMC FS Boot support via new option SYS_MMCSD_FS_BOOT.

By default MMC FS Boot support is enabled (like it was before) except for
ARCH_MVEBU where MMC FS Boot supported is unsupported due to Marvell
BootROM limitations.

Signed-off-by: Pali Rohár <pali@kernel.org>
common/spl/Kconfig
common/spl/spl_mmc.c

index 3c2af453ab66e2161d258c182d95371fb465f9ec..2c042ad306687bc688981af6c938451d90e8aaa2 100644 (file)
@@ -816,8 +816,17 @@ config SPL_MMC
          this option to build the drivers in drivers/mmc as part of an SPL
          build.
 
+config SYS_MMCSD_FS_BOOT
+       bool "MMC FS Boot mode"
+       depends on SPL_MMC
+       default y if !ARCH_MVEBU
+       help
+         Enable MMC FS Boot mode. Partition is selected by option
+         SYS_MMCSD_FS_BOOT_PARTITION.
+
 config SYS_MMCSD_FS_BOOT_PARTITION
        int "MMC Boot Partition"
+       depends on SYS_MMCSD_FS_BOOT
        default 1
        help
          Partition on the MMC to load U-Boot from when the MMC is being
index e4135b2048754fabca4d1406810958b2db18d499..bd5e6adf1ea6a97deae937694182e2da621ece3e 100644 (file)
@@ -272,7 +272,7 @@ int spl_start_uboot(void)
 }
 #endif
 
-#ifdef CONFIG_SYS_MMCSD_FS_BOOT_PARTITION
+#ifdef CONFIG_SYS_MMCSD_FS_BOOT
 static int spl_mmc_do_fs_boot(struct spl_image_info *spl_image,
                              struct spl_boot_device *bootdev,
                              struct mmc *mmc,
@@ -341,14 +341,6 @@ static int spl_mmc_do_fs_boot(struct spl_image_info *spl_image,
 
        return err;
 }
-#else
-static int spl_mmc_do_fs_boot(struct spl_image_info *spl_image,
-                             struct spl_boot_device *bootdev,
-                             struct mmc *mmc,
-                             const char *filename)
-{
-       return -ENOSYS;
-}
 #endif
 
 u32 __weak spl_mmc_boot_mode(struct mmc *mmc, const u32 boot_device)
@@ -481,6 +473,7 @@ int spl_mmc_load(struct spl_image_info *spl_image,
                        return err;
 #endif
                /* If RAW mode fails, try FS mode. */
+#ifdef CONFIG_SYS_MMCSD_FS_BOOT
        case MMCSD_MODE_FS:
                debug("spl: mmc boot mode: fs\n");
 
@@ -489,6 +482,7 @@ int spl_mmc_load(struct spl_image_info *spl_image,
                        return err;
 
                break;
+#endif
 #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
        default:
                puts("spl: mmc: wrong boot mode\n");