tizen: sd_fusing.py: add LicheePi4A with Super partition support 35/309435/1
authorMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 10 Apr 2024 11:37:27 +0000 (13:37 +0200)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 10 Apr 2024 11:43:14 +0000 (13:43 +0200)
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: If13b5df03c396c59ade8ba36529d67dc285dd745

scripts/tizen/sd_fusing.py

index a7fedd9..0500804 100755 (executable)
@@ -553,6 +553,62 @@ class LicheePi4A(InitParams, SdFusingTargetAB):
         self.apply_partition_sizes(args.partition_sizes)
         super().__init__(device, 'gpt')
 
+class LicheePi4ASuper(InitParams, SdFusingTargetAB):
+    long_name = "LicheePi4A w/ super partition"
+    part_table = [
+        {"size": None, "fstype": "raw",  "name": "spl+uboot",
+         "start_sector": 34, "size_sectors": 4062,
+         "ptype": "8DA63339-0007-60C0-C436-083AC8230908",
+         "binaries": ["u-boot-with-spl.bin"],},
+        {"size": 128,  "fstype": "vfat", "name": "boot_a",
+         "ptype": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B",
+         "binaries": "boot.img"},
+        {"size": 6656, "fstype": "ext4", "name": "super",
+         "binaries": "super.img"},
+        {"size": 1344, "fstype": "ext4", "name": "system-data",
+         "binaries": "system-data.img"},
+        {"size": None, "fstype": "ext4", "name": "user",
+         "binaries": "user.img"},
+        {"size": 32,   "fstype": "ext4", "name": "module_a",
+         "binaries": "modules.img"},
+        {"size": 32,   "fstype": "ext4", "name": "ramdisk_a",
+         "binaries": "ramdisk.img"},
+        {"size": 32,   "fstype": "ext4", "name": "ramdisk-recovery_a",
+         "binaries": "ramdisk-recovery.img"},
+        {"size": 8,    "fstype": "ext4", "name": "inform"},
+        {"size": 128,   "fstype": "vfat", "name": "boot_b",
+         "ptype": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B",
+         "binaries_b": "boot.img"},
+        {"size": 32,   "fstype": "ext4", "name": "module_b",
+         "binaries_b": "modules.img"},
+        {"size": 32,   "fstype": "ext4", "name": "ramdisk_b",
+         "binaries_b": "ramdisk.img"},
+        {"size": 32,   "fstype": "ext4", "name": "ramdisk-recovery_b",
+         "binaries_b": "ramdisk-recovery.img"},
+        {"size": 4,    "fstype": "ext4", "name": "reserved0"},
+        {"size": 64,   "fstype": "ext4", "name": "reserved1"},
+        {"size": 125,  "fstype": "ext4", "name": "reserved2"}
+    ]
+    params = (('reboot-param.bin', 'norm'),
+              ('reboot-param.info', 'norm'),
+              ('partition-ab.info', 'a'),
+              ('partition-ab-cloned.info', '1'),
+              ('upgrade-status.info', '0'),
+              ('partition-a-status.info', 'ok'),
+              ('partition-b-status.info', 'ok'))
+
+    # bootcode written to the protective MBR, aka RV64 'J 0x4400' (sector 34)
+    bootcode = b'\x6f\x40\x00\x40'
+
+    def __init__(self, device, args):
+        self.reserved_space = 8
+        self.user_partition = 4
+        self.update = args.update
+        super().__init__(device, 'gpt')
+        self.with_super = True
+        self.super_alignment = 1048576
+
+
 class X86emu(SdFusingTarget):
     part_table = [
         {"size": 512,    "fstype": "vfat",  "name": "EFI", "start": 4,
@@ -597,6 +653,7 @@ TARGETS = {
     'vf2': VF2,
     'rv64': RV64,
     'lpi4a': LicheePi4A,
+    'lpi4as': LicheePi4ASuper,
     'x86emu32': X86emu32,
     'x86emu64': X86emu64,
 }