]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: mach-k3: j721e: Improve support for UDA FS
authorNishanth Menon <nm@ti.com>
Sat, 4 Nov 2023 07:21:47 +0000 (02:21 -0500)
committerTom Rini <trini@konsulko.com>
Wed, 22 Nov 2023 17:04:14 +0000 (12:04 -0500)
Commit 5019170970ad ("arch: arm: mach-k3: j721e: add support for UDA
FS") introduced basic UDA FS support, however, we can Take approach
similar to commit 0f1c1e8b368b ("arm: mach-k3: am625: Add support for
UDA FS"). While boot partition support with EMMC boot is useful, it is
constrained by the size of boot hardware partition itself.

In the case of K3 devices, tispl images can contain OP-TEE images that
can substantially vary in size and the u-boot image itself can vary over
time as we enable various features.

So use the CSD information in the case of EMMC_BOOT configuration being
enabled to pick boot partition or UDA FS mode operation to pick.

If EMMC_BOOT is disabled, then depend on filesystem configuration to
pick data from UDA.

Signed-off-by: Nishanth Menon <nm@ti.com>
arch/arm/mach-k3/j721e_init.c

index b4398c8e0b9f637d3892a5db1a5c646e4cf24d49..8738f91ee3c562804d3e52cd90b30af026435dff 100644 (file)
@@ -293,7 +293,14 @@ u32 spl_mmc_boot_mode(struct mmc *mmc, const u32 boot_device)
 {
        switch (boot_device) {
        case BOOT_DEVICE_MMC1:
-               return (spl_mmc_emmc_boot_partition(mmc) ? MMCSD_MODE_EMMCBOOT : MMCSD_MODE_FS);
+               if (IS_ENABLED(CONFIG_SUPPORT_EMMC_BOOT)) {
+                       if (spl_mmc_emmc_boot_partition(mmc))
+                               return MMCSD_MODE_EMMCBOOT;
+                       return MMCSD_MODE_FS;
+               }
+               if (IS_ENABLED(CONFIG_SPL_FS_FAT) || IS_ENABLED(CONFIG_SPL_FS_EXT4))
+                       return MMCSD_MODE_FS;
+               return MMCSD_MODE_EMMCBOOT;
        case BOOT_DEVICE_MMC2:
                return MMCSD_MODE_FS;
        default: