tplink-safeloader: add TP-Link Deco M4R v1 and v2 support
authorFoica David <superh552@gmail.com>
Sun, 24 Apr 2022 16:09:51 +0000 (19:09 +0300)
committerSander Vanheule <sander@svanheule.net>
Sun, 24 Apr 2022 20:28:56 +0000 (22:28 +0200)
Support creating images for TP-Link Deco M4R v1 and v2.

Original partition layout from OEM image:
 partition fs-uboot base 0x00000 size 0x80000
 partition os-image base 0x80000 size 0x200000
 partition file-system base 0x280000 size 0xc00000
 partition product-info base 0xe80000 size 0x05000
 partition default-mac base 0xe85000 size 0x01000
 partition device-id base 0xe86000 size 0x01000
 partition support-list base 0xe87000 size 0x10000
 partition user-config base 0xea7000 size 0x10000
 partition device-config base 0xeb7000 size 0x10000
 partition group-info base 0xec7000 size 0x10000
 partition partition-table base 0xed7000 size 0x02000
 partition soft-version base 0xed9000 size 0x10000
 partition profile base 0xee9000 size 0x10000
 partition default-config base 0xef9000 size 0x10000
 partition url-sig base 0xfe0000 size 0x10000
 partition radio base 0xff0000 size 0x10000

The 'os-image' and 'file-system' partitions were merged into 'firmware'
to make use of the automatic mtd split.

The first 2 versions of the device use the same firmware image,
v3 and v4 are different.

Signed-off-by: Foica David <superh552@gmail.com>
src/tplink-safeloader.c

index e4021a91dbeace0a6eac38363bd23c022dae9b05..b866ec51dae2ea531c44044b8319b936d639ac5f 100644 (file)
@@ -1779,6 +1779,53 @@ static struct device_info boards[] = {
                .last_sysupgrade_partition = "file-system"
        },
 
+       /** Firmware layout for the Deco M4R v1 and v2 */
+       {
+               .id     = "DECO-M4R-V1",
+               .vendor = "",
+               .support_list =
+                       "SupportList:\n"
+                       "{product_name:M4R,product_ver:1.0.0,special_id:55530000}\n"
+                       "{product_name:M4R,product_ver:1.0.0,special_id:45550000}\n"
+                       "{product_name:M4R,product_ver:1.0.0,special_id:43410000}\n"
+                       "{product_name:M4R,product_ver:1.0.0,special_id:4A500000}\n"
+                       "{product_name:M4R,product_ver:1.0.0,special_id:41550000}\n"
+                       "{product_name:M4R,product_ver:1.0.0,special_id:4B520000}\n"
+                       "{product_name:M4R,product_ver:1.0.0,special_id:49440000}\n"
+                       "{product_name:M4R,product_ver:2.0.0,special_id:55530000}\n"
+                       "{product_name:M4R,product_ver:2.0.0,special_id:45550000}\n"
+                       "{product_name:M4R,product_ver:2.0.0,special_id:43410000}\n"
+                       "{product_name:M4R,product_ver:2.0.0,special_id:4A500000}\n"
+                       "{product_name:M4R,product_ver:2.0.0,special_id:41550000}\n"
+                       "{product_name:M4R,product_ver:2.0.0,special_id:4B520000}\n"
+                       "{product_name:M4R,product_ver:2.0.0,special_id:54570000}\n"
+                       "{product_name:M4R,product_ver:2.0.0,special_id:42340000}\n"
+                       "{product_name:M4R,product_ver:2.0.0,special_id:49440000}\n",
+               .part_trail = 0x00,
+               .soft_ver = SOFT_VER_DEFAULT,
+
+               .partitions = {
+                       {"fs-uboot", 0x00000, 0x80000},
+                       {"firmware", 0x80000, 0xe00000},
+                       {"product-info", 0xe80000, 0x05000},
+                       {"default-mac", 0xe85000, 0x01000},
+                       {"device-id", 0xe86000, 0x01000},
+                       {"support-list", 0xe87000, 0x10000},
+                       {"user-config", 0xea7000, 0x10000},
+                       {"device-config", 0xeb7000, 0x10000},
+                       {"group-info", 0xec7000, 0x10000},
+                       {"partition-table", 0xed7000, 0x02000},
+                       {"soft-version", 0xed9000, 0x10000},
+                       {"profile", 0xee9000, 0x10000},
+                       {"default-config", 0xef9000, 0x10000},
+                       {"url-sig", 0xfe0000, 0x10000},
+                       {"radio", 0xff0000, 0x10000},
+                       {NULL, 0, 0}
+               },
+               .first_sysupgrade_partition = "os-image",
+               .last_sysupgrade_partition = "file-system",
+       },
+
        /** Firmware layout for the TL-WA1201 v2 */
        {
                .id     = "TL-WA1201-V2",