Hi Udit, Moteen,

On 9/10/25 11:38 PM, Kumar, Udit wrote:

On 9/11/2025 3:15 AM, Judith Mendez wrote:
For all K3 SoC's eMMC boot and MMCSD boot modes are supported. The macros
however, mix MMC device with the two bootmodes. Decouple the two types
of macros so that bootmodes can be identified with:
- BOOT_DEVICE_MMCSD
- BOOT_DEVICE_EMMC

Few devices already (kind of have this )

arch/arm/mach-k3/include/mach/j722s_spl.h

#define BOOT_DEVICE_MMC                 0x08
#define BOOT_DEVICE_EMMC                0x09

can we use in same way, BOOT_DEVICE_MMC  as SD instead of adding SD as postfix and

and add BOOT_DEVICE_EMMC, on devices where this is missing

No, there are two boot modes. MMCSD boot and EMMC boot. That is what I
am trying to make clear with switching:

> #define BOOT_DEVICE_MMC                 0x08
> #define BOOT_DEVICE_EMMC                0x09
To:

> #define BOOT_DEVICE_MMCSD                 0x08
> #define BOOT_DEVICE_EMMC                0x09

When we say: BOOT_DEVICE_MMC, it is not obvious it is from am62x/j722s
TRM:

MMCSD Boot (SD Card Boot or eMMC Boot using UDA). The goal of these
two specific macros is to mimic the supported boot modes.



according to devstat parsed boot mode values and on-board devices can be
identified with:
- BOOT_DEVICE_MMC1
- BOOT_DEVICE_MMC2
- BOOT_DEVICE_MMC2_2

Why you need to change

#define for BOOT_DEVICE_MMC1 and and BOOT_DEVICE_MMC2

Because the goals is to decouple the bootmodes from the macros used to
distinguish eMMC and SD card devices.




according to arbitrary numbers mainly used to differentiate between eMMC
and SD card.

Please check subject line, this is not a fix

Signed-off-by: Judith Mendez <j...@ti.com>
---
  arch/arm/mach-k3/am62ax/am62a7_init.c          |  4 ++--
  arch/arm/mach-k3/am62ax/boot.c                 |  8 ++++----
  arch/arm/mach-k3/am62px/am62p5_init.c          | 12 ++++++------
  arch/arm/mach-k3/am62x/am625_init.c            |  4 ++--
  arch/arm/mach-k3/am62x/boot.c                  |  8 ++++----
  arch/arm/mach-k3/am64x/boot.c                  |  8 ++++----
  arch/arm/mach-k3/am65x/am654_init.c            | 18 ++++++++++--------
  arch/arm/mach-k3/include/mach/am62_hardware.h  |  8 ++++----
  arch/arm/mach-k3/include/mach/am62_spl.h       | 10 +++++-----
  arch/arm/mach-k3/include/mach/am62a_hardware.h |  8 ++++----
  arch/arm/mach-k3/include/mach/am62a_spl.h      | 10 +++++-----
  arch/arm/mach-k3/include/mach/am62p_hardware.h |  8 ++++----
  arch/arm/mach-k3/include/mach/am62p_spl.h      | 10 +++++-----
  arch/arm/mach-k3/include/mach/am64_hardware.h  |  4 ++--
  arch/arm/mach-k3/include/mach/am64_spl.h       | 13 +++++++------
  arch/arm/mach-k3/include/mach/am6_hardware.h   |  8 ++++----
  arch/arm/mach-k3/include/mach/am6_spl.h        | 13 +++++++++----
  arch/arm/mach-k3/include/mach/j721e_hardware.h |  6 +++---
  arch/arm/mach-k3/include/mach/j721e_spl.h      | 14 ++++++++++----
  .../arm/mach-k3/include/mach/j721s2_hardware.h |  6 +++---
  arch/arm/mach-k3/include/mach/j721s2_spl.h     | 13 +++++++++----
  arch/arm/mach-k3/include/mach/j722s_hardware.h |  8 ++++----
  arch/arm/mach-k3/include/mach/j722s_spl.h      | 10 +++++-----
  .../arm/mach-k3/include/mach/j784s4_hardware.h |  6 +++---
  arch/arm/mach-k3/include/mach/j784s4_spl.h     | 13 +++++++++----
  arch/arm/mach-k3/j721e/j721e_init.c            | 14 +++++++++-----
  arch/arm/mach-k3/j721s2/j721s2_init.c          | 14 +++++++++-----
  arch/arm/mach-k3/j722s/j722s_init.c            | 12 ++++++------
  arch/arm/mach-k3/j784s4/j784s4_init.c          | 14 +++++++++-----
  29 files changed, 160 insertions(+), 124 deletions(-)

diff --git a/arch/arm/mach-k3/am62ax/am62a7_init.c b/arch/arm/mach-k3/ am62ax/am62a7_init.c
index 00173e6836b..1fd466bbdfc 100644
--- a/arch/arm/mach-k3/am62ax/am62a7_init.c
+++ b/arch/arm/mach-k3/am62ax/am62a7_init.c
@@ -225,8 +225,8 @@ u32 spl_mmc_boot_mode(struct mmc *mmc, const u32 boot_device)           if (IS_ENABLED(CONFIG_SPL_FS_FAT) || IS_ENABLED(CONFIG_SPL_FS_EXT4))
              return MMCSD_MODE_FS;
          return MMCSD_MODE_EMMCBOOT;
[..]
+    if (bootmode == BOOT_DEVICE_EMMC)
+        bootmode = BOOT_DEVICE_MMC1;
+

Could you test once, eMMC on J784s4

I do not have J784s4, Moteen, would you be able to test?

~ Judith

Reply via email to