CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/30081

- reset: stm32: Fix compilation error
- Remove remaining non-existant STM32_RESET flag
- configs: stm32mp13: Add SPI-NAND UBI boot support
- Support metadata-driven A/B boot for STM32MP25
This commit is contained in:
Tom Rini
2026-05-13 07:53:21 -06:00
16 changed files with 450 additions and 10 deletions

View File

@@ -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"

View File

@@ -8,7 +8,22 @@
#ifndef __CONFIG_STM32MP25_ST_COMMON_H__
#define __CONFIG_STM32MP25_ST_COMMON_H__
#ifdef CONFIG_FWU_MULTI_BANK_UPDATE
#define SCAN_DEV_FOR_BOOT_PARTS \
"setenv devplist; " \
"env exists boot_partuuid && " \
"part number ${devtype} ${devnum} ${boot_partuuid} devplist; " \
"env exists devplist || " \
"part list ${devtype} ${devnum} -bootable devplist; "
#define ST_STM32MP25_FWU_ENV \
"altbootcmd=${bootcmd}\0"
#else
#define ST_STM32MP25_FWU_ENV
#endif
#define STM32MP_BOARD_EXTRA_ENV \
ST_STM32MP25_FWU_ENV \
"usb_pgood_delay=2000\0" \
"console=ttySTM0\0"

View File

@@ -396,6 +396,17 @@ void fwu_populate_mdata_image_info(struct fwu_data *data);
*/
int fwu_get_mdata_size(uint32_t *mdata_size);
/**
* fwu_mdata_get_image_guid() - Get image GUID for a type and bank
* @image_guid: Pointer to be filled with the found image GUID
* @image_type_guid: Pointer to the image type GUID to search for
* @bank_index: Index of the bank
*
* Return: 0 if OK, -ve on error
*/
int fwu_mdata_get_image_guid(efi_guid_t *image_guid,
const efi_guid_t *image_type_guid, u32 bank_index);
/**
* fwu_state_machine_updates() - Update FWU state of the platform
* @state: FWU bank state

View File

@@ -60,6 +60,9 @@
#define PARTITION_U_BOOT_ENVIRONMENT \
EFI_GUID( 0x3de21764, 0x95bd, 0x54bd, \
0xa5, 0xc3, 0x4a, 0xbe, 0x78, 0x6f, 0x38, 0xa8)
#define PARTITION_XBOOTLDR \
EFI_GUID( 0xbc13c2ff, 0x59e6, 0x4262, \
0xa3, 0x52, 0xb2, 0x75, 0xfd, 0x6f, 0x71, 0x72)
/* Special ChromiumOS things */
#define PARTITION_CROS_KERNEL \