firmware-utils: tplink-safeloader: add support for TP-Link RE350
[openwrt/openwrt.git] / tools / firmware-utils / src / tplink-safeloader.c
index b1c95d2b7e99beb759a31d099fdffeecae330bec..dceba75da56d8c39eb654c68b1ec2277ed2c872e 100644 (file)
@@ -341,6 +341,41 @@ static struct device_info boards[] = {
                .last_sysupgrade_partition = "file-system",
        },
 
+       /** Firmware layout for the C58v1 */
+       {
+               .id     = "ARCHER-C58-V1",
+               .vendor = "",
+               .support_list =
+                       "SupportList:\r\n"
+                       "{product_name:Archer C58,product_ver:1.0.0,special_id:00000000}\r\n"
+                       "{product_name:Archer C58,product_ver:1.0.0,special_id:45550000}\r\n"
+                       "{product_name:Archer C58,product_ver:1.0.0,special_id:55530000}\r\n",
+               .support_trail = '\x00',
+               .soft_ver = "soft_ver:1.0.0\n",
+
+               .partitions = {
+                       {"fs-uboot", 0x00000, 0x10000},
+                       {"default-mac", 0x10000, 0x00200},
+                       {"pin", 0x10200, 0x00200},
+                       {"product-info", 0x10400, 0x00100},
+                       {"partition-table", 0x10500, 0x00800},
+                       {"soft-version", 0x11300, 0x00200},
+                       {"support-list", 0x11500, 0x00100},
+                       {"device-id", 0x11600, 0x00100},
+                       {"profile", 0x11700, 0x03900},
+                       {"default-config", 0x15000, 0x04000},
+                       {"user-config", 0x19000, 0x04000},
+                       {"os-image", 0x20000, 0x150000},
+                       {"file-system", 0x170000, 0x678000},
+                       {"certyficate", 0x7e8000, 0x08000},
+                       {"radio", 0x7f0000, 0x10000},
+                       {NULL, 0, 0}
+               },
+
+               .first_sysupgrade_partition = "os-image",
+               .last_sysupgrade_partition = "file-system",
+       },
+
        /** Firmware layout for the C59v1 */
        {
                .id     = "ARCHER-C59-V1",
@@ -349,6 +384,7 @@ static struct device_info boards[] = {
                        "SupportList:\r\n"
                        "{product_name:Archer C59,product_ver:1.0.0,special_id:00000000}\r\n"
                        "{product_name:Archer C59,product_ver:1.0.0,special_id:45550000}\r\n"
+                       "{product_name:Archer C59,product_ver:1.0.0,special_id:52550000}\r\n"
                        "{product_name:Archer C59,product_ver:1.0.0,special_id:55530000}\r\n",
                .support_trail = '\x00',
                .soft_ver = "soft_ver:1.0.0\n",
@@ -420,9 +456,9 @@ static struct device_info boards[] = {
                .vendor = "",
                .support_list =
                        "SupportList:\r\n"
-                       "{product_name:ArcherC5,"
-                       "product_ver:2.0.0,"
-                       "special_id:00000000}\r\n",
+                       "{product_name:ArcherC5,product_ver:2.0.0,special_id:00000000}\r\n"
+                       "{product_name:ArcherC5,product_ver:2.0.0,special_id:55530000}\r\n"
+                       "{product_name:ArcherC5,product_ver:2.0.0,special_id:4A500000}\r\n", /* JP version */
                .support_trail = '\x00',
                .soft_ver = NULL,
 
@@ -634,6 +670,43 @@ static struct device_info boards[] = {
                .last_sysupgrade_partition = "file-system"
        },
 
+       /** Firmware layout for the TL-WR902AC v1 */
+       {
+               .id     = "TL-WR902AC-V1",
+               .vendor = "",
+               .support_list =
+                       "SupportList:\n"
+                       "{product_name:TL-WR902AC,product_ver:1.0.0,special_id:45550000}\n"
+                       "{product_name:TL-WR902AC,product_ver:1.0.0,special_id:55530000}\n",
+               .support_trail = '\x00',
+               .soft_ver = NULL,
+
+               /**
+                  384KB were moved from file-system to os-image
+                  in comparison to the stock image
+               */
+               .partitions = {
+                       {"fs-uboot", 0x00000, 0x20000},
+                       {"os-image", 0x20000, 0x160000},
+                       {"file-system", 0x180000, 0x5d0000},
+                       {"default-mac", 0x750000, 0x00200},
+                       {"pin", 0x750200, 0x00200},
+                       {"product-info", 0x750400, 0x0fc00},
+                       {"soft-version", 0x760000, 0x0b000},
+                       {"support-list", 0x76b000, 0x04000},
+                       {"profile", 0x770000, 0x04000},
+                       {"default-config", 0x774000, 0x0b000},
+                       {"user-config", 0x780000, 0x40000},
+                       {"partition-table", 0x7c0000, 0x10000},
+                       {"log", 0x7d0000, 0x20000},
+                       {"radio", 0x7f0000, 0x10000},
+                       {NULL, 0, 0}
+               },
+
+               .first_sysupgrade_partition = "os-image",
+               .last_sysupgrade_partition = "file-system",
+       },
+
        /** Firmware layout for the TL-WR942N V1 */
        {
                .id     = "TLWR942NV1",
@@ -671,6 +744,47 @@ static struct device_info boards[] = {
                .last_sysupgrade_partition = "file-system",
        },
 
+       /** Firmware layout for the RE350 v1 */
+       {
+               .id = "RE350-V1",
+               .vendor = "",
+               .support_list =
+                       "SupportList:\n"
+                       "{product_name:RE350,product_ver:1.0.0,special_id:45550000}\n"
+                       "{product_name:RE350,product_ver:1.0.0,special_id:00000000}\n"
+                       "{product_name:RE350,product_ver:1.0.0,special_id:41550000}\n"
+                       "{product_name:RE350,product_ver:1.0.0,special_id:55530000}\n"
+                       "{product_name:RE350,product_ver:1.0.0,special_id:43410000}\n"
+                       "{product_name:RE350,product_ver:1.0.0,special_id:4b520000}\n"
+                       "{product_name:RE350,product_ver:1.0.0,special_id:4a500000}\n",
+               .support_trail = '\x00',
+               .soft_ver = NULL,
+
+               /**
+                       The original os-image partition is too small,
+                       so we enlarge it to 1.6M
+               */
+               .partitions = {
+                       {"fs-uboot", 0x00000, 0x20000},
+                       {"os-image", 0x20000, 0x1a0000},
+                       {"file-system", 0x1c0000, 0x440000},
+                       {"partition-table", 0x600000, 0x02000},
+                       {"default-mac", 0x610000, 0x00020},
+                       {"pin", 0x610100, 0x00020},
+                       {"product-info", 0x611100, 0x01000},
+                       {"soft-version", 0x620000, 0x01000},
+                       {"support-list", 0x621000, 0x01000},
+                       {"profile", 0x622000, 0x08000},
+                       {"user-config", 0x630000, 0x10000},
+                       {"default-config", 0x640000, 0x10000},
+                       {"radio", 0x7f0000, 0x10000},
+                       {NULL, 0, 0}
+               },
+
+               .first_sysupgrade_partition = "os-image",
+               .last_sysupgrade_partition = "file-system"
+       },
+
        /** Firmware layout for the RE450 */
        {
                .id = "RE450",