From 222783c65c49a3cb7d50ff9cb98e6672aede6700 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Sat, 19 Nov 2016 07:58:25 +0100 Subject: [PATCH] firmware-utils: tplink-safeloader: add Archer C9 support MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Rafał Miłecki --- tools/firmware-utils/src/tplink-safeloader.c | 33 ++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tools/firmware-utils/src/tplink-safeloader.c b/tools/firmware-utils/src/tplink-safeloader.c index 3cdbbabdea..cefb07155a 100644 --- a/tools/firmware-utils/src/tplink-safeloader.c +++ b/tools/firmware-utils/src/tplink-safeloader.c @@ -171,6 +171,25 @@ static const struct flash_partition_entry c2600_partitions[] = { {NULL, 0, 0} }; +static const struct flash_partition_entry c5_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} +}; + /** The flash partition table for EAP120; it is the same as the one used by the stock images. */ @@ -216,6 +235,12 @@ static const char c2600_support_list[] = "SupportList:\r\n" "{product_name:Archer C2600,product_ver:1.0.0,special_id:00000000}\r\n"; +static const char c9_support_list[] = + "SupportList:\n" + "{product_name:ArcherC9," + "product_ver:1.0.0," + "special_id:00000000}\n"; + /** The support list for EAP120 */ @@ -602,6 +627,12 @@ struct device_info c2600_info = { .generate_sysupgrade_image = &generate_sysupgrade_image_c2600, }; +struct device_info e9_info = { + .vendor = c2600_vendor, + .support_list = c9_support_list, + .partitions = c5_partitions, +}; + struct device_info eap120_info = { .vendor = eap120_vendor, .support_list = eap120_support_list, @@ -735,6 +766,8 @@ int main(int argc, char *argv[]) { info = &c2600_info; else if (strcmp(board, "EAP120") == 0) info = &eap120_info; + else if (strcmp(board, "ARCHERC9") == 0) + info = &e9_info; else error(1, 0, "unsupported board %s", board); -- 2.30.2