On 8/21/25 9:30 PM, Nishanth Menon wrote:
On 12:11-20250710, Judith Mendez wrote:
This removes support from booting from UDA when in eMMC boot.
When user selects eMMC boot [0], that is, boot from eMMC boot0 or
boot1 HW partitions, we should not boot from eMMC UDA. The current
logic confuses the end user and mixes two different boot modes.
Wrong! what ROM uses to boot has no bearing as to what bootloader needs
to do for rest of the system.
https://docs.u-boot.org/en/latest/board/beagle/am62x_beagleplay.html#flash-to-emmc
There is a reason we chose this flow in BeaglePlay and other Beagle
platforms - U-boot and other components keep growing and our emmc's boot
partition is too small to handle things.
Maybe it is time to think about how to shrink the bootloader binaries
again. And I am not talking about introducing new defconfigs for
specific boot sources such as ethernet or usb.
We would really like to keep it as is and have all three bootloader
binaries on the boot partitions.
By the way, are you aware that some eMMC devices allow you to change the
size of their boot partitions?
NAK if you are trying to bring the old problems we solved back.
The logic was added for AM62A/AM62P with commit: 3b7893145e36, but
this is not a clean solution and fix will come later for falcon boot.
Logic was also added for AM62X with commit: 664593464634, but this
logic is incorrect according to TRM [0] under Primary Boot Mode Selection
for 'eMMC Boot'.
Fixes: 3b7893145e36 ("mach-k3: add eMMC FS boot support for am62[ap]")
Fixes: 664593464634 ("arm: mach-k3: am625: Relax emmc boot condition")
Signed-off-by: Judith Mendez <j...@ti.com>
---
arch/arm/mach-k3/am62ax/am62a7_init.c | 4 ----
arch/arm/mach-k3/am62px/am62p5_init.c | 4 ----
arch/arm/mach-k3/am62x/am625_init.c | 4 ----
3 files changed, 12 deletions(-)
diff --git a/arch/arm/mach-k3/am62ax/am62a7_init.c
b/arch/arm/mach-k3/am62ax/am62a7_init.c
index edd43a1d78d..1d8644bd073 100644
--- a/arch/arm/mach-k3/am62ax/am62a7_init.c
+++ b/arch/arm/mach-k3/am62ax/am62a7_init.c
@@ -217,10 +217,6 @@ u32 spl_mmc_boot_mode(struct mmc *mmc, const u32
boot_device)
switch (bootmode) {
case BOOT_DEVICE_EMMC:
- if (IS_ENABLED(CONFIG_SUPPORT_EMMC_BOOT))
- return MMCSD_MODE_EMMCBOOT;
- if (IS_ENABLED(CONFIG_SPL_FS_FAT) ||
IS_ENABLED(CONFIG_SPL_FS_EXT4))
- return MMCSD_MODE_FS;
return MMCSD_MODE_EMMCBOOT;
case BOOT_DEVICE_MMC:
if (bootmode_cfg & MAIN_DEVSTAT_PRIMARY_MMC_FS_RAW_MASK)
diff --git a/arch/arm/mach-k3/am62px/am62p5_init.c
b/arch/arm/mach-k3/am62px/am62p5_init.c
index 6e3c66e5107..01e47deca94 100644
--- a/arch/arm/mach-k3/am62px/am62p5_init.c
+++ b/arch/arm/mach-k3/am62px/am62p5_init.c
@@ -262,10 +262,6 @@ u32 spl_mmc_boot_mode(struct mmc *mmc, const u32
boot_device)
switch (bootmode) {
case BOOT_DEVICE_EMMC:
- if (IS_ENABLED(CONFIG_SUPPORT_EMMC_BOOT))
- return MMCSD_MODE_EMMCBOOT;
- if (IS_ENABLED(CONFIG_SPL_FS_FAT) ||
IS_ENABLED(CONFIG_SPL_FS_EXT4))
- return MMCSD_MODE_FS;
return MMCSD_MODE_EMMCBOOT;
case BOOT_DEVICE_MMC:
if (bootmode_cfg & MAIN_DEVSTAT_PRIMARY_MMC_FS_RAW_MASK)
diff --git a/arch/arm/mach-k3/am62x/am625_init.c
b/arch/arm/mach-k3/am62x/am625_init.c
index a422919fab1..eb7e245843c 100644
--- a/arch/arm/mach-k3/am62x/am625_init.c
+++ b/arch/arm/mach-k3/am62x/am625_init.c
@@ -316,10 +316,6 @@ u32 spl_mmc_boot_mode(struct mmc *mmc, const u32
boot_device)
switch (bootmode) {
case BOOT_DEVICE_EMMC:
- if (IS_ENABLED(CONFIG_SUPPORT_EMMC_BOOT))
- return MMCSD_MODE_EMMCBOOT;
- if (IS_ENABLED(CONFIG_SPL_FS_FAT) ||
IS_ENABLED(CONFIG_SPL_FS_EXT4))
- return MMCSD_MODE_FS;
return MMCSD_MODE_EMMCBOOT;
case BOOT_DEVICE_MMC:
if (bootmode_cfg & MAIN_DEVSTAT_PRIMARY_MMC_FS_RAW_MASK)
--
2.49.0