aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2019-08-05 17:51:16 +0200
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-05-20 20:47:05 +0200
commit8c6c488e9e8211ae075f0732db53964a2a93569b (patch)
tree785d5b22820660f660f46e49bde7922174a6d2df
parent36d41405174ef9475b28abab2c000d9021e71459 (diff)
downloadupstream-8c6c488e9e8211ae075f0732db53964a2a93569b.tar.gz
upstream-8c6c488e9e8211ae075f0732db53964a2a93569b.tar.bz2
upstream-8c6c488e9e8211ae075f0732db53964a2a93569b.zip
ath79: add support for TP-Link TL-WR940N v6
The TL-WR940N v6 is similar to v3/v4, it just has different LEDs and MAC address assignment. Specification: - 750 MHz CPU - 32 MB of RAM - 4 MB of FLASH - 2.4 GHz WiFi - 4x 10/100 Mbps Ethernet The use of LEDs is based on ar71xx, so blue LED is used for WAN and orange LED for diag (boot/failsafe/etc.). Flash instruction (WebUI): Download *-factory.bin image and upload it via the firmwary upgrade function of the stock firmware WebUI. Flash instruction (TFTP): 1. Set PC to fixed ip address 192.168.0.66 2. Download *-factory.bin image and rename it to wr940nv6_tp_recovery.bin 3. Start a tftp server with the image file in its root directory 4. Turn off the router 5. Press and hold Reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Wait ~30 second to complete recovery. Thanks to Manuel Kock for reviewing and testing this patch. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Manuel Kock <github.web@manu.li> (backported from commit fbd00bb8d406a0ace7ea9c49a79cbad2418689a5)
-rwxr-xr-xtarget/linux/ath79/base-files/etc/board.d/01_leds3
-rwxr-xr-xtarget/linux/ath79/base-files/etc/board.d/02_network1
-rw-r--r--target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v6.dts35
-rw-r--r--target/linux/ath79/image/tiny-tp-link.mk13
4 files changed, 52 insertions, 0 deletions
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 02d891fe2e..49cb312779 100755
--- a/target/linux/ath79/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/base-files/etc/board.d/01_leds
@@ -221,6 +221,9 @@ tplink,tl-wr941nd-v6)
ucidef_set_led_switch "lan3" "LAN3" "tp-link:blue:lan3" "switch0" "0x04"
ucidef_set_led_switch "lan4" "LAN4" "tp-link:blue:lan4" "switch0" "0x02"
;;
+tplink,tl-wr940n-v6)
+ ucidef_set_led_netdev "wan" "WAN" "tp-link:blue:wan" "eth1"
+ ;;
ubnt,bullet-m|\
ubnt,bullet-m-xw|\
ubnt,nanostation-loco-m|\
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 84a316a14a..ddcd2326e5 100755
--- a/target/linux/ath79/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/base-files/etc/board.d/02_network
@@ -92,6 +92,7 @@ ath79_setup_interfaces()
tplink,tl-wr842n-v3|\
tplink,tl-wr940n-v3|\
tplink,tl-wr940n-v4|\
+ tplink,tl-wr940n-v6|\
tplink,tl-wr941nd-v6|\
ubnt,airrouter)
ucidef_set_interface_wan "eth1"
diff --git a/target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v6.dts b/target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v6.dts
new file mode 100644
index 0000000000..31f0c14afb
--- /dev/null
+++ b/target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v6.dts
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "tp9343_tplink_tl-wr94x.dtsi"
+
+/ {
+ compatible = "tplink,tl-wr940n-v6", "qca,tp9343";
+ model = "TP-Link TL-WR940N v6";
+
+ aliases {
+ led-boot = &led_diag_orange;
+ led-failsafe = &led_diag_orange;
+ led-running = &led_diag_orange;
+ led-upgrade = &led_diag_orange;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ wan_blue {
+ label = "tp-link:blue:wan";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ };
+
+ led_diag_orange: diag_orange {
+ label = "tp-link:orange:diag";
+ gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
+ default-state = "on";
+ };
+ };
+};
+
+&eth1 {
+ mtd-mac-address = <&uboot 0x1fc00>;
+};
diff --git a/target/linux/ath79/image/tiny-tp-link.mk b/target/linux/ath79/image/tiny-tp-link.mk
index be0ca1a4c9..a7c4d060c8 100644
--- a/target/linux/ath79/image/tiny-tp-link.mk
+++ b/target/linux/ath79/image/tiny-tp-link.mk
@@ -262,6 +262,19 @@ define Device/tplink_tl-wr940n-v4
endef
TARGET_DEVICES += tplink_tl-wr940n-v4
+define Device/tplink_tl-wr940n-v6
+ $(Device/tplink-4mlzma)
+ ATH_SOC := tp9343
+ DEVICE_TITLE := TP-Link TL-WR940N v6
+ TPLINK_HWID := 0x09400006
+ SUPPORTED_DEVICES += tl-wr940n-v6
+ IMAGES += factory-us.bin factory-eu.bin factory-br.bin
+ IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
+ IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
+ IMAGE/factory-br.bin := append-rootfs | mktplinkfw factory -C BR
+endef
+TARGET_DEVICES += tplink_tl-wr940n-v6
+
define Device/tplink_tl-wr941-v2
$(Device/tplink-4m)
ATH_SOC := ar9132