From c764c512ac18ce9724b3fb0e476831150817c162 Mon Sep 17 00:00:00 2001 From: Andreas Wiese Date: Wed, 27 May 2020 15:31:30 +0200 Subject: ath79: add support for TP-Link RE450 v3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TP-Link RE450 v3 is a dual band router/range-extender based on Qualcomm/Atheros QCA9563 + QCA9880. This device is nearly identical to RE450 v2 besides a modified flash layout (hence I think force-flashing a RE450v2 image will lead to at least loss of MAC address). Specification: - 775 MHz CPU - 64 MB of RAM (DDR2) - 8 MB of FLASH (SPI NOR) - 3T3R 2.4 GHz - 3T3R 5 GHz - 1x 10/100/1000 Mbps Ethernet (AR8033 PHY) - 7x LED, 4x button- - possible UART header on PCB¹ Flash instruction: Apply factory image in OEM firmware web-gui. ¹ Didn't check to connect as I didn't even manage to connect on RE450v2 (AFAIU it requires disconnecting some resistors, which I was too much of a coward to do). But given the similarities to v2 I think it's the same or very similar procedure (and most likely also the only way to debrick). Signed-off-by: Andreas Wiese [remove dts-v1 and compatible in DTSI] Signed-off-by: Adrian Schmutzler --- tools/firmware-utils/src/tplink-safeloader.c | 39 ++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'tools/firmware-utils') diff --git a/tools/firmware-utils/src/tplink-safeloader.c b/tools/firmware-utils/src/tplink-safeloader.c index 10178dc714..f0e777124c 100644 --- a/tools/firmware-utils/src/tplink-safeloader.c +++ b/tools/firmware-utils/src/tplink-safeloader.c @@ -1728,7 +1728,46 @@ static struct device_info boards[] = { {"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 v3 */ + { + .id = "RE450-V3", + .vendor = "", + .support_list = + "SupportList:\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:00000000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:55530000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:45550000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:4A500000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:43410000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:41550000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:41530000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:4B520000}\r\n" + "{product_name:RE450,product_ver:3.0.0,special_id:42520000}\r\n", + .support_trail = '\x00', + .soft_ver = NULL, + + /* We're using a dynamic kernel/rootfs split here */ + .partitions = { + {"fs-uboot", 0x00000, 0x20000}, + {"default-mac", 0x20000, 0x00020}, + {"pin", 0x20020, 0x00020}, + {"product-info", 0x21000, 0x01000}, + {"partition-table", 0x22000, 0x02000}, + {"soft-version", 0x24000, 0x01000}, + {"support-list", 0x25000, 0x01000}, + {"profile", 0x26000, 0x08000}, + {"user-config", 0x2e000, 0x10000}, + {"default-config", 0x3e000, 0x10000}, + {"config-info", 0x4e000, 0x00400}, + {"firmware", 0x50000, 0x7a0000}, + {"radio", 0x7f0000, 0x10000}, {NULL, 0, 0} }, -- cgit v1.2.3