summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Shirley <[email protected]>2026-05-06 16:37:58 -0600
committerPatrice Chotard <[email protected]>2026-05-12 15:50:47 +0200
commit467dc9a44b7b5654089ea1334a14ffd20c028916 (patch)
tree6bfb52e0e37982ef0fdf82998de693ee6bf38bc0
parent5732bd0f457b4c671e46574d64d4acb099c0f0a5 (diff)
configs: stm32mp13: add SPI-NAND UBI boot support
The STM32MP13 default environment only handles MMC and serial/USB boot. When TF-A reports BOOT_FLASH_SPINAND the boot_device variable is set to 'spi-nand' but bootcmd_stm32mp never redirects boot_targets to ubifs0, so distro_bootcmd falls through to MMC/USB. This change mirrors the STM32MP15 logic: - Add a BOOT_TARGET_UBIFS entry to BOOT_TARGET_DEVICES so that bootcmd_ubifs0 is defined (ubi part UBI; ubifsmount ubi0:boot). - Add the 'spi-nand' / 'nand' clause to bootcmd_stm32mp so that boot_targets is set to 'ubifs0' when booting from NAND. Signed-off-by: Austin Shirley <[email protected]> Cc: Patrick Delaunay <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Tom Rini <[email protected]> Cc: [email protected]
-rw-r--r--include/configs/stm32mp13_common.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/configs/stm32mp13_common.h b/include/configs/stm32mp13_common.h
index 3e3f49abae0..e707b146f90 100644
--- a/include/configs/stm32mp13_common.h
+++ b/include/configs/stm32mp13_common.h
@@ -33,6 +33,12 @@
#define BOOT_TARGET_MMC1(func)
#endif
+#ifdef CONFIG_CMD_UBIFS
+#define BOOT_TARGET_UBIFS(func) func(UBIFS, ubifs, 0, UBI, boot)
+#else
+#define BOOT_TARGET_UBIFS(func)
+#endif
+
#ifdef CONFIG_CMD_USB
#define BOOT_TARGET_USB(func) func(USB, usb, 0)
#else
@@ -41,12 +47,14 @@
#define BOOT_TARGET_DEVICES(func) \
BOOT_TARGET_MMC1(func) \
+ BOOT_TARGET_UBIFS(func) \
BOOT_TARGET_MMC0(func) \
BOOT_TARGET_USB(func)
/*
* default bootcmd for stm32mp13:
* for serial/usb: execute the stm32prog command
+ * for nand or spi-nand boot, distro boot with ubifs on UBI partition
* for mmc boot (eMMC, SD card), distro boot on the same mmc device
*/
#define STM32MP_BOOTCMD "bootcmd_stm32mp=" \
@@ -56,7 +64,10 @@
"else " \
"run env_check;" \
"if test ${boot_device} = mmc;" \
- "then env set boot_targets \"mmc${boot_instance}\"; fi;" \
+ "then env set boot_targets \"mmc${boot_instance}\"; fi; " \
+ "if test ${boot_device} = nand ||" \
+ " test ${boot_device} = spi-nand ;" \
+ "then env set boot_targets ubifs0; fi;" \
"run distro_bootcmd;" \
"fi;\0"