[PATCH 2/3] stm32mp: stm32prog: Add support of ESP partition type
Patrick Delaunay
patrick.delaunay at foss.st.com
Thu Jun 8 17:09:55 CEST 2023
Add support of "ESP" partition type in flashlayout to select
the "EFI System Partition", associated to U-Boot "system"
partition type guid, PARTITION_SYSTEM_GUID =
C12A7328-F81F-11d2-BA4B-00A0C93EC93B.
This partition is the bootable partition for efi boot.
Signed-off-by: Patrick Delaunay <patrick.delaunay at foss.st.com>
---
arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c | 8 +++++++-
arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h | 8 +++++++-
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
index 1bd86b5187da..07369919620e 100644
--- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
+++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
@@ -434,6 +434,8 @@ static int parse_type(struct stm32prog_data *data,
part->part_type = PART_ENV;
} else if (!strcmp(p, "System")) {
part->part_type = PART_SYSTEM;
+ } else if (!strcmp(p, "ESP")) {
+ part->part_type = PART_ESP;
} else if (!strcmp(p, "FileSystem")) {
part->part_type = PART_FILESYSTEM;
} else if (!strcmp(p, "RawImage")) {
@@ -1138,7 +1140,11 @@ static int create_gpt_partitions(struct stm32prog_data *data)
case PART_FIP:
type_str = FIP_TYPE_UUID;
break;
- default:
+ case PART_ESP:
+ /* EFI System Partition */
+ type_str = "system";
+ break;
+ default: /* PART_FILESYSTEM or PART_SYSTEM for distro */
type_str = "linux";
break;
}
diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h
index 4c2c1314d990..a6fb9d5e9cc5 100644
--- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h
+++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h
@@ -96,13 +96,19 @@ struct stm32_header_v2 {
u8 extension_padding[376];
};
-/* partition type in flashlayout file */
+/*
+ * partition type in flashlayout file
+ * SYSTEM = linux partition, bootable
+ * FILESYSTEM = linux partition
+ * ESP = EFI system partition
+ */
enum stm32prog_part_type {
PART_BINARY,
PART_FIP,
PART_ENV,
PART_SYSTEM,
PART_FILESYSTEM,
+ PART_ESP,
RAW_IMAGE,
};
--
2.25.1
More information about the U-Boot
mailing list