tizen: sd_fusing.py: add support for all 4 variants of Amlogic targets
authorMarek Szyprowski <m.szyprowski@samsung.com>
Fri, 11 Oct 2024 07:32:04 +0000 (09:32 +0200)
committerJaehoon Chung <jh80.chung@samsung.com>
Mon, 28 Oct 2024 11:28:47 +0000 (20:28 +0900)
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I6fa7b3f5acc1c0b0e243b2f2c25625b6d7fdb670

scripts/tizen/sd_fusing.py

index 82c1684f774b8141fd2f0b5447845dcffc3b6050..d4a521d4a042304405fe8939fedd7f3c592b4eb1 100755 (executable)
@@ -303,8 +303,7 @@ class Rpi3(InitParams, SdFusingTarget):
         self.reserved_space = 12
         super().__init__(device, "dos")
 
-class OdroidC4(InitParams, SdFusingTarget):
-    long_name = "Odroid C4"
+class AmlogicMBR(InitParams, SdFusingTarget):
     part_table = [
         {"size": 128,   "name": "boot", "start": 4, "ptype": "0xe", "bootable": True,
          "binaries":   "boot.img"},
@@ -328,14 +327,45 @@ class OdroidC4(InitParams, SdFusingTarget):
     ]
     raw_binary_table = [
         {"name":       "bootloader",
-         "start_sector": 1,
-         "binaries":   "u-boot-c4.bin", },
+         "start_sector": 1},
     ]
 
     def __init__(self, device, args):
         self.reserved_space = 12
+        for entry in self.raw_binary_table:
+            if entry['name'] == 'bootloader':
+                entry['binaries'] = args._bootloader_name
+                break
         super().__init__(device, "dos")
 
+class OdroidC4(AmlogicMBR):
+    long_name = "Odroid C4"
+
+    def __init__(self, device, args):
+        setattr(args, "_bootloader_name", "u-boot-c4.bin")
+        super().__init__(device, args)
+
+class OdroidN2(AmlogicMBR):
+    long_name = "Odroid N2"
+
+    def __init__(self, device, args):
+        setattr(args, "_bootloader_name", "u-boot-n2.bin")
+        super().__init__(device, args)
+
+class KhadasVim3(AmlogicMBR):
+    long_name = "Khadas VIM3"
+
+    def __init__(self, device, args):
+        setattr(args, "_bootloader_name", "u-boot-vim3.bin")
+        super().__init__(device, args)
+
+class KhadasVim3L(AmlogicMBR):
+    long_name = "Khadas VIM3L"
+
+    def __init__(self, device, args):
+        setattr(args, "_bootloader_name", "u-boot-vim3l.bin")
+        super().__init__(device, args)
+
 class Rpi4Super(InitParams, SdFusingTargetAB):
     long_name = "Raspberry Pi 4 w/ super partition"
     part_table = [
@@ -891,6 +921,9 @@ class X86emu64(X86emu):
 TARGETS = {
     'rpi3': Rpi3,
     'odroidc4': OdroidC4,
+    'odroidn2': OdroidN2,
+    'kvim3': KhadasVim3,
+    'kvim3l': KhadasVim3L,
     'rpi4': Rpi4,
     'rpi4s': Rpi4Super,
     'rpi4aot': Rpi4AoT,