[Uboot-stm32] [PATCH] configs: stm32mp13: add SPI-NAND UBI boot support

Patrice CHOTARD patrice.chotard at foss.st.com
Wed May 13 07:47:18 CEST 2026



On 5/11/26 08:01, Patrice CHOTARD wrote:
> 
> 
> On 5/7/26 00:37, Austin Shirley wrote:
>> 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 <austin at deadband.dev>
>> Cc: Patrick Delaunay <patrick.delaunay at foss.st.com>
>> Cc: Patrice Chotard <patrice.chotard at foss.st.com>
>> Cc: Tom Rini <trini at konsulko.com>
>> Cc: uboot-stm32 at st-md-mailman.stormreply.com
>> ---
>>  include/configs/stm32mp13_common.h | 13 ++++++++++++-
>>  1 file changed, 12 insertions(+), 1 deletion(-)
>>
>> 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"
>>  
> 
> Hi Austin
> 
> Reviewed-by: Patrice Chotard <patrice.chotard at foss.st.com>
> 
> Thanks
> Patrice

Applied to u-boot-stm32/master

Thanks
Patrice


> _______________________________________________
> Uboot-stm32 mailing list
> Uboot-stm32 at st-md-mailman.stormreply.com
> https://st-md-mailman.stormreply.com/mailman/listinfo/uboot-stm32



More information about the U-Boot mailing list