summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/configs/stm32mp13_common.h13
-rw-r--r--include/configs/stm32mp25_st_common.h15
-rw-r--r--include/fwu.h11
-rw-r--r--include/part_efi.h3
4 files changed, 41 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"
diff --git a/include/configs/stm32mp25_st_common.h b/include/configs/stm32mp25_st_common.h
index cb679eb1be2..0b0267ae99b 100644
--- a/include/configs/stm32mp25_st_common.h
+++ b/include/configs/stm32mp25_st_common.h
@@ -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"
diff --git a/include/fwu.h b/include/fwu.h
index 9cee8fb085c..68a51fb4296 100644
--- a/include/fwu.h
+++ b/include/fwu.h
@@ -397,6 +397,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
* @update_index: Bank number to which images have been updated
diff --git a/include/part_efi.h b/include/part_efi.h
index 2cea5088046..5713b3018f4 100644
--- a/include/part_efi.h
+++ b/include/part_efi.h
@@ -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 \