firmware-utils: tplink-safeloader: add support for Archer C5 V2
[openwrt/staging/dedeckeh.git] / tools / firmware-utils / src / tplink-safeloader.c
index 016c118787f3b5332b76f65c85930065a569d6b8..19d67c3f42654213c510e4c129eed879eac04bed 100644 (file)
@@ -189,6 +189,68 @@ static struct device_info boards[] = {
                .last_sysupgrade_partition = "file-system",
        },
 
+       {
+               .id     = "WBS210",
+               .vendor = "CPE510(TP-LINK|UN|N300-5):1.0\r\n",
+               .support_list =
+                       "SupportList:\r\n"
+                       "WBS210(TP-LINK|UN|N300-2):1.20\r\n"
+                       "WBS210(TP-LINK|US|N300-2):1.20\r\n"
+                       "WBS210(TP-LINK|EU|N300-2):1.20\r\n",
+               .support_trail = '\xff',
+
+               .partitions = {
+                       {"fs-uboot", 0x00000, 0x20000},
+                       {"partition-table", 0x20000, 0x02000},
+                       {"default-mac", 0x30000, 0x00020},
+                       {"product-info", 0x31100, 0x00100},
+                       {"signature", 0x32000, 0x00400},
+                       {"os-image", 0x40000, 0x170000},
+                       {"soft-version", 0x1b0000, 0x00100},
+                       {"support-list", 0x1b1000, 0x00400},
+                       {"file-system", 0x1c0000, 0x600000},
+                       {"user-config", 0x7c0000, 0x10000},
+                       {"default-config", 0x7d0000, 0x10000},
+                       {"log", 0x7e0000, 0x10000},
+                       {"radio", 0x7f0000, 0x10000},
+                       {NULL, 0, 0}
+               },
+
+               .first_sysupgrade_partition = "os-image",
+               .last_sysupgrade_partition = "file-system",
+       },
+
+       {
+               .id     = "WBS510",
+               .vendor = "CPE510(TP-LINK|UN|N300-5):1.0\r\n",
+               .support_list =
+                       "SupportList:\r\n"
+                       "WBS510(TP-LINK|UN|N300-5):1.20\r\n"
+                       "WBS510(TP-LINK|US|N300-5):1.20\r\n"
+                       "WBS510(TP-LINK|EU|N300-5):1.20\r\n",
+               .support_trail = '\xff',
+
+               .partitions = {
+                       {"fs-uboot", 0x00000, 0x20000},
+                       {"partition-table", 0x20000, 0x02000},
+                       {"default-mac", 0x30000, 0x00020},
+                       {"product-info", 0x31100, 0x00100},
+                       {"signature", 0x32000, 0x00400},
+                       {"os-image", 0x40000, 0x170000},
+                       {"soft-version", 0x1b0000, 0x00100},
+                       {"support-list", 0x1b1000, 0x00400},
+                       {"file-system", 0x1c0000, 0x600000},
+                       {"user-config", 0x7c0000, 0x10000},
+                       {"default-config", 0x7d0000, 0x10000},
+                       {"log", 0x7e0000, 0x10000},
+                       {"radio", 0x7f0000, 0x10000},
+                       {NULL, 0, 0}
+               },
+
+               .first_sysupgrade_partition = "os-image",
+               .last_sysupgrade_partition = "file-system",
+       },
+
        /** Firmware layout for the C2600 */
        {
                .id = "C2600",
@@ -231,6 +293,111 @@ static struct device_info boards[] = {
                .last_sysupgrade_partition = "file-system"
        },
 
+       /** Firmware layout for the C59v1 */
+       {
+               .id     = "ARCHER-C59-V1",
+               .vendor = "",
+               .support_list =
+                       "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:55530000}\r\n",
+               .support_trail = '\x00',
+
+               .partitions = {
+                       {"fs-uboot", 0x00000, 0x10000},
+                       {"default-mac", 0x10000, 0x00200},
+                       {"pin", 0x10200, 0x00200},
+                       {"device-id", 0x10400, 0x00100},
+                       {"product-info", 0x10500, 0x0fb00},
+                       {"os-image", 0x20000, 0x180000},
+                       {"file-system", 0x1a0000, 0xcb0000},
+                       {"partition-table", 0xe50000, 0x10000},
+                       {"soft-version", 0xe60000, 0x10000},
+                       {"support-list", 0xe70000, 0x10000},
+                       {"profile", 0xe80000, 0x10000},
+                       {"default-config", 0xe90000, 0x10000},
+                       {"user-config", 0xea0000, 0x40000},
+                       {"usb-config", 0xee0000, 0x10000},
+                       {"certificate", 0xef0000, 0x10000},
+                       {"qos-db", 0xf00000, 0x40000},
+                       {"log", 0xfe0000, 0x10000},
+                       {"radio", 0xff0000, 0x10000},
+                       {NULL, 0, 0}
+               },
+
+               .first_sysupgrade_partition = "os-image",
+               .last_sysupgrade_partition = "file-system",
+       },
+
+       /** Firmware layout for the C60v1 */
+       {
+               .id     = "ARCHER-C60-V1",
+               .vendor = "",
+               .support_list =
+                       "SupportList:\r\n"
+                       "{product_name:Archer C60,product_ver:1.0.0,special_id:00000000}\r\n"
+                       "{product_name:Archer C60,product_ver:1.0.0,special_id:45550000}\r\n"
+                       "{product_name:Archer C60,product_ver:1.0.0,special_id:55530000}\r\n",
+               .support_trail = '\x00',
+
+               .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 C5 */
+       {
+               .id = "ARCHER-C5-V2",
+               .vendor = "",
+               .support_list =
+                       "SupportList:\r\n"
+                       "{product_name:ArcherC5,"
+                       "product_ver:2.0.0,"
+                       "special_id:00000000}\r\n",
+               .support_trail = '\x00',
+
+               .partitions = {
+                       {"fs-uboot", 0x00000, 0x40000},
+                       {"os-image", 0x40000, 0x200000},
+                       {"file-system", 0x240000, 0xc00000},
+                       {"default-mac", 0xe40000, 0x00200},
+                       {"pin", 0xe40200, 0x00200},
+                       {"product-info", 0xe40400, 0x00200},
+                       {"partition-table", 0xe50000, 0x10000},
+                       {"soft-version", 0xe60000, 0x00200},
+                       {"support-list", 0xe61000, 0x0f000},
+                       {"profile", 0xe70000, 0x10000},
+                       {"default-config", 0xe80000, 0x10000},
+                       {"user-config", 0xe90000, 0x50000},
+                       {"log", 0xee0000, 0x100000},
+                       {"radio_bk", 0xfe0000, 0x10000},
+                       {"radio", 0xff0000, 0x10000},
+                       {NULL, 0, 0}
+               },
+
+               .first_sysupgrade_partition = "os-image",
+               .last_sysupgrade_partition = "file-system"
+       },
+
        /** Firmware layout for the C9 */
        {
                .id = "ARCHERC9",
@@ -294,6 +461,49 @@ static struct device_info boards[] = {
                .last_sysupgrade_partition = "file-system"
        },
 
+       /** Firmware layout for the TL-WA850RE v2 */
+       {
+               .id     = "TLWA850REV2",
+               .vendor = "",
+               .support_list =
+                       "SupportList:\n"
+                       "{product_name:TL-WA850RE,product_ver:2.0.0,special_id:55530000}\n"
+                       "{product_name:TL-WA850RE,product_ver:2.0.0,special_id:00000000}\n"
+                       "{product_name:TL-WA850RE,product_ver:2.0.0,special_id:55534100}\n"
+                       "{product_name:TL-WA850RE,product_ver:2.0.0,special_id:45550000}\n"
+                       "{product_name:TL-WA850RE,product_ver:2.0.0,special_id:4B520000}\n"
+                       "{product_name:TL-WA850RE,product_ver:2.0.0,special_id:42520000}\n"
+                       "{product_name:TL-WA850RE,product_ver:2.0.0,special_id:4A500000}\n"
+                       "{product_name:TL-WA850RE,product_ver:2.0.0,special_id:43410000}\n"
+                       "{product_name:TL-WA850RE,product_ver:2.0.0,special_id:41550000}\n"
+                       "{product_name:TL-WA850RE,product_ver:2.0.0,special_id:52550000}\n",
+               .support_trail = '\x00',
+
+               /**
+                  576KB were moved from file-system to os-image
+                  in comparison to the stock image
+               */
+               .partitions = {
+                       {"fs-uboot", 0x00000, 0x20000},
+                       {"os-image", 0x20000, 0x150000},
+                       {"file-system", 0x170000, 0x240000},
+                       {"partition-table", 0x3b0000, 0x02000},
+                       {"default-mac", 0x3c0000, 0x00020},
+                       {"pin", 0x3c0100, 0x00020},
+                       {"product-info", 0x3c1000, 0x01000},
+                       {"soft-version", 0x3c2000, 0x00100},
+                       {"support-list", 0x3c3000, 0x01000},
+                       {"profile", 0x3c4000, 0x08000},
+                       {"user-config", 0x3d0000, 0x10000},
+                       {"default-config", 0x3e0000, 0x10000},
+                       {"radio", 0x3f0000, 0x10000},
+                       {NULL, 0, 0}
+               },
+
+               .first_sysupgrade_partition = "os-image",
+               .last_sysupgrade_partition = "file-system"
+       },
+
        /** Firmware layout for the TL-WR1043 v4 */
        {
                .id     = "TLWR1043NDV4",
@@ -330,6 +540,48 @@ static struct device_info boards[] = {
                .last_sysupgrade_partition = "file-system"
        },
 
+       /** Firmware layout for the RE450 */
+       {
+               .id = "RE450",
+               .vendor = "",
+               .support_list =
+                       "SupportList:\r\n"
+                       "{product_name:RE450,product_ver:1.0.0,special_id:00000000}\r\n"
+                       "{product_name:RE450,product_ver:1.0.0,special_id:55530000}\r\n"
+                       "{product_name:RE450,product_ver:1.0.0,special_id:45550000}\r\n"
+                       "{product_name:RE450,product_ver:1.0.0,special_id:4A500000}\r\n"
+                       "{product_name:RE450,product_ver:1.0.0,special_id:43410000}\r\n"
+                       "{product_name:RE450,product_ver:1.0.0,special_id:41550000}\r\n"
+                       "{product_name:RE450,product_ver:1.0.0,special_id:4B520000}\r\n"
+                       "{product_name:RE450,product_ver:1.0.0,special_id:55534100}\r\n",
+               .support_trail = '\x00',
+
+               /**
+                  The flash partition table for RE450;
+                  it is almost the same as the one used by the stock images,
+                  576KB were moved from file-system to os-image.
+               */
+               .partitions = {
+                       {"fs-uboot", 0x00000, 0x20000},
+                       {"os-image", 0x20000, 0x150000},
+                       {"file-system", 0x170000, 0x4a0000},
+                       {"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"
+       },
+
        {}
 };