[PATCH 0/2] Simple & robust MMC U-Boot upgrades

Andri Yngvason andri at yngvason.is
Thu Jul 31 20:15:31 CEST 2025


This patch set adds a mechanism for simple and fail-safe MMC U-Boot
upgrades.

Although vbe-abrec provides a similar method for fail-safe upgrades, it
is not always possible to use because, if I am not mistaken, it requires
control over the TPL. On some devices such as the RK3576, only a binary
blob is provided from the vendor.

VBE is also much more complex than this approach, but the added
complexity does not provide anything of value for my use-case.

Another way to achieve a similar result, would be to use
MMCSD_MODE_EMMCBOOT, but it is not possible to verify that the new
bootloader actually works using that method.

The proposed changes make it possible to switch between 2 different boot
sectors by writing to a separate control sector. The boot sector can be
changed temporarily. A temprary boot target will only be tried once by
the SPL and the control block subsequently reset.

Andri Yngvason (2):
  spl: Add A/B sector mode for mmc raw mode
  Forward chosen raw mmc A/B sector to OS

 boot/fdt_support.c   | 20 +++++++++++
 common/bloblist.c    |  1 +
 common/spl/Kconfig   | 28 +++++++++++++--
 common/spl/spl_mmc.c | 85 ++++++++++++++++++++++++++++++++++++++++++--
 include/bloblist.h   |  1 +
 include/spl.h        | 10 ++++++
 6 files changed, 140 insertions(+), 5 deletions(-)

-- 
2.50.0



More information about the U-Boot mailing list