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 <[email protected]>
---

 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

Reply via email to