SD boot support clarification on Genio platforms

Regarding SD card boot support, we would like to clarify a potentially conflicting understanding between the HW feedback and the software documentation.

We received the following response from the hardware team:

However, the Yocto documentation below appears to describe a procedure for booting from an SD card:

SD Card Boot - IoT Yocto v26.0 Documentation

Could you please help us understand the relationship between these two statements?

Specifically:

  • Does “SD Boot is not supported” mean that BootROM cannot directly boot from an SD card?
  • If so, does the Yocto documentation describe a scenario where the initial boot stage is loaded from another boot device (eMMC/UFS/SPI NOR), and subsequent software components are loaded from the SD card?
  • What is the exact boot sequence described in the SD Card Boot documentation?
  • From an official MediaTek support perspective, is SD card boot considered:
    • Supported for development/EVK use only?
    • Supported for production?
    • Not officially supported?

In short, we would like to clarify the exact level of SD card boot support on Genio platforms and understand the difference between the HW team’s response and the Yocto documentation.

Key takeaway: The two statements do NOT actually conflict — they describe different stages of the boot flow. The HW team’s “SD Boot is not supported” refers to the BootROM cold-boot source, while the Yocto doc’s SD Card Boot refers to a later U-Boot stage taking over.

Point-by-point

1. Does “SD Boot is not supported” mean BootROM cannot boot directly from SD?

Yes, exactly. The MediaTek Genio SoC BootROM (BROM) cannot boot directly from removable media (SD card, USB, Ethernet).

It only performs first-stage loading from onboard main storage (eMMC or UFS). The HW team is speaking at the BootROM cold-boot level.

2. Does the Yocto doc describe loading the initial stage from another device, then later components from SD?

Yes, correct. The documentation explicitly states SD Card Boot is not a full cold-boot from SD.

It relies on the existing bootloader chain in onboard main storage (or some board could store in NOR flash); only after U-Boot starts does it load the Kernel and Rootfs from the SD card.

3. Exact boot sequence in the SD Card Boot documentation:

  • BootROM (BROM) — boots from eMMC / UFS (cannot boot from SD)
  • BL2 (TF-A) — loaded by BROM from eMMC / UFS, locates bl2.bin
  • FIP (BL31 TF-A / BL32 OP-TEE / BL33 U-Boot) — loaded from eMMC / UFS (fip.bin)
  • U-Boot (BL33) — runs mmc_boot, detects SD as MMC device 1, and loads Kernel + Rootfs from the SD card

In short: the early boot chain stays on eMMC/UFS; only Kernel + Rootfs live on the SD card.

**
4. Official MediaTek support level:**

the official Boot from External Storage support matrix explicitly lists Genio 510-EVK, 700-EVK, and 1200-EVK as supporting SD Card Boot.

Genio 420 (MT8371) (and 520/720) is NOT listed among the officially supported SD Card Boot platforms: I guess this is because the document hasn’t been updated yet, we need double check it with internal staff.
**Boot from External Storage — IoT Yocto v26.0 documentation
I think you could start to do verification with u-boot before we’ve got answer from internal.
**

Final clarification for Genio 420/520/720:

  • Direct BootROM boot from SD: Not supported (consistent with the HW team)
  • U-Boot-stage loading of Kernel/Rootfs from SD: It is okay to load from SD in u-boot.