From d4b89b7170ab82530cfaf21e5f00bee7088432e2 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Mon, 6 May 2019 15:29:16 +0200 Subject: [PATCH] ath79: Add support for TP-Link TL-WR1043N v5 Specifications: - QCA9563 at 775 MHz - 64 MB RAM Zentel A3R12E40CBF-8E - 16 MB flash Winbond W25Q128FVSG - 3 (non-detachable) Antennas / 450 Mbit - 1x/4x WAN/LAN Gbps Ethernet (QCA8337) - reset and Wi-Fi buttons TP-Link TL-WR1043N v5 appears to be identical to the TL-WR1043ND v4, except that the USB port has been removed and there is no longer a removable antenna option. It also has different partitioning scheme. The software is more in line with the Archer series in that it uses a nested bootloader scheme. (This has been adapted from the OpenWrt Wiki page) Installation on HW rev.5: Factory firmware can be installed via the WEB interface. Alternatively, it is also possible to use a TFTP server for recovery purposes: - Rename OpenWRT or original firmware to WR1043v5_tp_recovery.bin - Set static IP of your PC to *192.168.0.66* - Router will obtain IP 192.168.0.86 for a few seconds while loading, when reset button pressed at power On. And finally, there's always u-boot access through the UART. For information visit the wiki. Signed-off-by: Adrian Schmutzler Signed-off-by: Christian Lamparter [reworked commit message] --- .../ath79/base-files/etc/board.d/01_leds | 3 +- .../ath79/base-files/etc/board.d/02_network | 6 +- .../dts/qca9563_tplink_tl-wr1043n-v5.dts | 74 +++++++++++++++++++ target/linux/ath79/image/generic-tp-link.mk | 10 +++ 4 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 target/linux/ath79/dts/qca9563_tplink_tl-wr1043n-v5.dts diff --git a/target/linux/ath79/base-files/etc/board.d/01_leds b/target/linux/ath79/base-files/etc/board.d/01_leds index 40aacab331..9bcfbb2b0a 100755 --- a/target/linux/ath79/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/base-files/etc/board.d/01_leds @@ -110,7 +110,8 @@ tplink,archer-c7-v5) ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x20" ;; tplink,archer-c2-v3|\ -tplink,tl-wr1043nd-v4) +tplink,tl-wr1043nd-v4|\ +tplink,tl-wr1043n-v5) ucidef_set_led_switch "wan" "WAN" "tp-link:green:wan" "switch0" "0x20" ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10" ucidef_set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x08" diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network index 25f6f5bead..5892baca80 100755 --- a/target/linux/ath79/base-files/etc/board.d/02_network +++ b/target/linux/ath79/base-files/etc/board.d/02_network @@ -96,7 +96,8 @@ ath79_setup_interfaces() dlink,dir-859-a1|\ engenius,epg5000|\ tplink,archer-c2-v3|\ - tplink,tl-wr1043nd-v4) + tplink,tl-wr1043nd-v4|\ + tplink,tl-wr1043n-v5) ucidef_add_switch "switch0" \ "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" ;; @@ -343,7 +344,8 @@ ath79_setup_macs() base_mac=$(mtd_get_mac_binary config 8) wan_mac=$(macaddr_add "$base_mac" 1) ;; - tplink,tl-wr1043nd-v4) + tplink,tl-wr1043nd-v4|\ + tplink,tl-wr1043n-v5) base_mac=$(mtd_get_mac_binary product-info 8) wan_mac=$(macaddr_add "$base_mac" 1) ;; diff --git a/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n-v5.dts b/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n-v5.dts new file mode 100644 index 0000000000..d983498b6a --- /dev/null +++ b/target/linux/ath79/dts/qca9563_tplink_tl-wr1043n-v5.dts @@ -0,0 +1,74 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "qca9563_tplink_tl-wr1043n.dtsi" + +/ { + compatible = "tplink,tl-wr1043n-v5", "qca,qca9563"; + model = "TP-Link TL-WR1043N v5"; +}; + +&spi { + status = "okay"; + num-cs = <1>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "factory-uboot"; + reg = <0x000000 0x020000>; + read-only; + }; + + partition@20000 { + label = "u-boot"; + reg = <0x020000 0x020000>; + read-only; + }; + + partition@40000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x040000 0xec0000>; + }; + + info: partition@f00000 { + label = "product-info"; + reg = <0xf00000 0x020000>; + read-only; + }; + + partition@f20000 { + label = "config"; + reg = <0xf20000 0x0a0000>; + read-only; + }; + + partition@fc0000 { + label = "partition-table"; + reg = <0xfc0000 0x010000>; + read-only; + }; + + partition@fd0000 { + label = "logs"; + reg = <0xfd0000 0x020000>; + read-only; + }; + + art: partition@ff0000 { + label = "ART"; + reg = <0xff0000 0x010000>; + read-only; + }; + }; + }; +}; diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk index b7b5d3e3cb..a3e1708fe1 100644 --- a/target/linux/ath79/image/generic-tp-link.mk +++ b/target/linux/ath79/image/generic-tp-link.mk @@ -285,6 +285,16 @@ define Device/tplink_tl-wr1043nd-v4 endef TARGET_DEVICES += tplink_tl-wr1043nd-v4 +define Device/tplink_tl-wr1043n-v5 + $(Device/tplink-safeloader-uimage) + ATH_SOC := qca9563 + IMAGE_SIZE := 15104k + DEVICE_TITLE := TP-Link TL-WR1043N v5 + TPLINK_BOARD_ID := TLWR1043NV5 + SUPPORTED_DEVICES += tl-wr1043n-v5 +endef +TARGET_DEVICES += tplink_tl-wr1043n-v5 + define Device/tplink_tl-wr2543-v1 $(Device/tplink-8mlzma) ATH_SOC := ar7242 -- 2.30.2