aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c11
-rw-r--r--arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
index 030614c14d..773bae81f6 100644
--- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
+++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
@@ -63,6 +63,12 @@ static const efi_guid_t uuid_mmc[3] = {
ROOTFS_MMC2_UUID
};
+/*
+ * GUID value defined in the FWU specification for identification
+ * of the FWU metadata partition.
+ */
+#define FWU_MDATA_UUID "8a7a84a0-8387-40f6-ab41-a8b9a5a60d23"
+
/* FIP type partition UUID used by TF-A*/
#define FIP_TYPE_UUID "19D5DF83-11B0-457B-BE2C-7559C13142A5"
@@ -425,6 +431,8 @@ static int parse_type(struct stm32prog_data *data,
}
} else if (!strcmp(p, "FIP")) {
part->part_type = PART_FIP;
+ } else if (!strcmp(p, "FWU_MDATA")) {
+ part->part_type = PART_FWU_MDATA;
} else if (!strcmp(p, "ENV")) {
part->part_type = PART_ENV;
} else if (!strcmp(p, "System")) {
@@ -1125,6 +1133,9 @@ static int create_gpt_partitions(struct stm32prog_data *data)
case PART_FIP:
type_str = FIP_TYPE_UUID;
break;
+ case PART_FWU_MDATA:
+ type_str = FWU_MDATA_UUID;
+ break;
case PART_ESP:
/* EFI System Partition */
type_str = "system";
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h
index a196270e84..feba29501d 100644
--- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h
+++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h
@@ -105,6 +105,7 @@ struct stm32_header_v2 {
enum stm32prog_part_type {
PART_BINARY,
PART_FIP,
+ PART_FWU_MDATA,
PART_ENV,
PART_SYSTEM,
PART_FILESYSTEM,