ath79: add support for TP-Link TL-WPA8630P v2
[openwrt/staging/dedeckeh.git] / tools / firmware-utils / src / tplink-safeloader.c
index 6cd2a45247791ed4c99f3a6af5cb25bd800039c5..fa0e0bb62dd2ed6f215f5efbb98181323b5fbe14 100644 (file)
@@ -204,8 +204,15 @@ static struct device_info boards[] = {
                        "SupportList:\r\n"
                        "CPE210(TP-LINK|EU|N300-2|45550000):3.0\r\n"
                        "CPE210(TP-LINK|UN|N300-2|00000000):3.0\r\n"
+                       "CPE210(TP-LINK|US|N300-2|55530000):3.0\r\n"
                        "CPE210(TP-LINK|UN|N300-2):3.0\r\n"
-                       "CPE210(TP-LINK|EU|N300-2):3.0\r\n",
+                       "CPE210(TP-LINK|EU|N300-2):3.0\r\n"
+                       "CPE210(TP-LINK|EU|N300-2|45550000):3.1\r\n"
+                       "CPE210(TP-LINK|UN|N300-2|00000000):3.1\r\n"
+                       "CPE210(TP-LINK|US|N300-2|55530000):3.1\r\n"
+                       "CPE210(TP-LINK|EU|N300-2|45550000):3.20\r\n"
+                       "CPE210(TP-LINK|UN|N300-2|00000000):3.20\r\n"
+                       "CPE210(TP-LINK|US|N300-2|55530000):3.20\r\n",
                .support_trail = '\xff',
                .soft_ver = NULL,
 
@@ -1373,6 +1380,78 @@ static struct device_info boards[] = {
                .last_sysupgrade_partition = "file-system"
        },
 
+       /** Firmware layout for the TL-WPA8630P v2 (EU)*/
+       {
+               .id     = "TL-WPA8630P-V2-EU",
+               .vendor = "",
+               .support_list =
+                       "SupportList:\n"
+                       "{product_name:TL-WPA8630P,product_ver:2.0.0,special_id:45550000}\n",
+               .support_trail = '\x00',
+               .soft_ver = NULL,
+
+               .partitions = {
+                       {"factory-uboot", 0x00000, 0x20000},
+                       {"fs-uboot", 0x20000, 0x20000},
+                       {"firmware", 0x40000, 0x5e0000},
+                       {"partition-table", 0x620000, 0x02000},
+                       {"default-mac", 0x630000, 0x00020},
+                       {"pin", 0x630100, 0x00020},
+                       {"device-id", 0x630200, 0x00030},
+                       {"product-info", 0x631100, 0x01000},
+                       {"extra-para", 0x632100, 0x01000},
+                       {"soft-version", 0x640000, 0x01000},
+                       {"support-list", 0x641000, 0x01000},
+                       {"profile", 0x642000, 0x08000},
+                       {"user-config", 0x650000, 0x10000},
+                       {"default-config", 0x660000, 0x10000},
+                       {"default-nvm", 0x670000, 0xc0000},
+                       {"default-pib", 0x730000, 0x40000},
+                       {"radio", 0x7f0000, 0x10000},
+                       {NULL, 0, 0}
+               },
+
+               .first_sysupgrade_partition = "os-image",
+               .last_sysupgrade_partition = "file-system"
+       },
+
+       /** Firmware layout for the TL-WPA8630P v2 (INT)*/
+       {
+               .id     = "TL-WPA8630P-V2-INT",
+               .vendor = "",
+               .support_list =
+                       "SupportList:\n"
+                       "{product_name:TL-WPA8630P,product_ver:2.0.0,special_id:41550000}\n"
+                       "{product_name:TL-WPA8630P,product_ver:2.0.0,special_id:44450000}\n"
+                       "{product_name:TL-WPA8630P,product_ver:2.1.0,special_id:41550000}\n",
+               .support_trail = '\x00',
+               .soft_ver = NULL,
+
+               .partitions = {
+                       {"factory-uboot", 0x00000, 0x20000},
+                       {"fs-uboot", 0x20000, 0x20000},
+                       {"firmware", 0x40000, 0x5e0000},
+                       {"partition-table", 0x620000, 0x02000},
+                       {"extra-para", 0x632100, 0x01000},
+                       {"soft-version", 0x640000, 0x01000},
+                       {"support-list", 0x641000, 0x01000},
+                       {"profile", 0x642000, 0x08000},
+                       {"user-config", 0x650000, 0x10000},
+                       {"default-config", 0x660000, 0x10000},
+                       {"default-nvm", 0x670000, 0xc0000},
+                       {"default-pib", 0x730000, 0x40000},
+                       {"default-mac", 0x7e0000, 0x00020},
+                       {"pin", 0x7e0100, 0x00020},
+                       {"device-id", 0x7e0200, 0x00030},
+                       {"product-info", 0x7e1100, 0x01000},
+                       {"radio", 0x7f0000, 0x10000},
+                       {NULL, 0, 0}
+               },
+
+               .first_sysupgrade_partition = "os-image",
+               .last_sysupgrade_partition = "file-system"
+       },
+
        /** Firmware layout for the TL-WR1043 v5 */
        {
                .id     = "TLWR1043NV5",
@@ -1555,6 +1634,50 @@ static struct device_info boards[] = {
                .last_sysupgrade_partition = "file-system"
        },
 
+  /** Firmware layout for the RE200 v3 */
+       {
+               .id     = "RE200-V3",
+               .vendor = "",
+               .support_list =
+                       "SupportList:\n"
+                       "{product_name:RE200,product_ver:3.0.0,special_id:00000000}\n"
+                       "{product_name:RE200,product_ver:3.0.0,special_id:41520000}\n"
+                       "{product_name:RE200,product_ver:3.0.0,special_id:41550000}\n"
+                       "{product_name:RE200,product_ver:3.0.0,special_id:42520000}\n"
+                       "{product_name:RE200,product_ver:3.0.0,special_id:43410000}\n"
+                       "{product_name:RE200,product_ver:3.0.0,special_id:45470000}\n"
+                       "{product_name:RE200,product_ver:3.0.0,special_id:45530000}\n"
+                       "{product_name:RE200,product_ver:3.0.0,special_id:45550000}\n"
+                       "{product_name:RE200,product_ver:3.0.0,special_id:49440000}\n"
+                       "{product_name:RE200,product_ver:3.0.0,special_id:4A500000}\n"
+                       "{product_name:RE200,product_ver:3.0.0,special_id:4B520000}\n"
+                       "{product_name:RE200,product_ver:3.0.0,special_id:52550000}\n"
+                       "{product_name:RE200,product_ver:3.0.0,special_id:54570000}\n"
+                       "{product_name:RE200,product_ver:3.0.0,special_id:55530000}\n",
+               .support_trail = '\x00',
+               .soft_ver = NULL,
+
+               .partitions = {
+                       {"fs-uboot", 0x00000, 0x20000},
+                       {"firmware", 0x20000, 0x7a0000},
+                       {"partition-table", 0x7c0000, 0x02000},
+                       {"default-mac", 0x7c2000, 0x00020},
+                       {"pin", 0x7c2100, 0x00020},
+                       {"product-info", 0x7c3100, 0x01000},
+                       {"soft-version", 0x7c4200, 0x01000},
+                       {"support-list", 0x7c5200, 0x01000},
+                       {"profile", 0x7c6200, 0x08000},
+                       {"config-info", 0x7ce200, 0x00400},
+                       {"user-config", 0x7d0000, 0x10000},
+                       {"default-config", 0x7e0000, 0x10000},
+                       {"radio", 0x7f0000, 0x10000},
+                       {NULL, 0, 0}
+               },
+
+               .first_sysupgrade_partition = "os-image",
+               .last_sysupgrade_partition = "file-system"
+       },
+
        /** Firmware layout for the RE220 v2 */
        {
                .id     = "RE220-V2",
@@ -2028,7 +2151,7 @@ static struct image_partition_entry make_soft_version(uint32_t rev) {
        else if (time(&t) == (time_t)(-1))
                error(1, errno, "time");
 
-       struct tm *tm = localtime(&t);
+       struct tm *tm = gmtime(&t);
 
        s->magic = htonl(0x0000000c);
        s->zero = 0;