From 2f1cc5c3d5e35d6aa76e794e3d5b4f5856cd38bc Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Fri, 14 Feb 2020 15:38:55 +0100 Subject: [PATCH] ath79: add support for TP-Link TL-WA701ND/730RE/801ND/901ND v1 This adds support for the various clones of the TL-WA830RE recently supported in fb99ac6807f2 ("ath79: add support for TP-Link TL-WA830RE v1"): - tplink,tl-wa701nd-v1 - tplink,tl-wa730re-v1 - tplink,tl-wa801nd-v1 - tplink,tl-wa830re-v1 (already supported) - tplink,tl-wa901nd-v1 Since these devices are 100%-clones in ar71xx, this patch adds all of them without run-testing (as this has been done for TL-WA830RE v1). Specifications: - SOC: Atheros AR7240 - CPU: 400MHz - Flash: 4 MiB (Spansion S25FL032P) - RAM: 32 MiB (Zentel A3S56D40FTP-G5) - WLAN: Atheros AR9280 bgn 2x2 - Ethernet: 1 port (100M) Flash instructions: - install from u-boot with tftp (requires serial access) > setenv ipaddr a.b.c.d > setenv serverip e.f.g.h > tftpboot 0x80000000 \ openwrt-ath79-tiny-tplink_tl-waxxxxx-v1-squashfs-factory.bin > erase 0x9f020000 +0x3c0000 > cp.b 0x80000000 0x9f020000 0x3c0000 > bootm 0x9f020000 - flash factory image from OEM WebUI - sysupgrade from ar71xx image Signed-off-by: Adrian Schmutzler --- .../ath79/dts/ar7240_tplink_tl-wa701nd-v1.dts | 9 +++++ .../ath79/dts/ar7240_tplink_tl-wa730re-v1.dts | 9 +++++ .../ath79/dts/ar7240_tplink_tl-wa801nd-v1.dts | 9 +++++ .../ath79/dts/ar7240_tplink_tl-wa901nd-v1.dts | 9 +++++ target/linux/ath79/image/tiny-tp-link.mk | 40 +++++++++++++++++++ .../ath79/tiny/base-files/etc/board.d/01_leds | 6 ++- .../tiny/base-files/etc/board.d/02_network | 4 ++ .../etc/hotplug.d/firmware/10-ath9k-eeprom | 4 ++ 8 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wa701nd-v1.dts create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wa730re-v1.dts create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wa801nd-v1.dts create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wa901nd-v1.dts diff --git a/target/linux/ath79/dts/ar7240_tplink_tl-wa701nd-v1.dts b/target/linux/ath79/dts/ar7240_tplink_tl-wa701nd-v1.dts new file mode 100644 index 0000000000..6dd50018b2 --- /dev/null +++ b/target/linux/ath79/dts/ar7240_tplink_tl-wa701nd-v1.dts @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar7240_tplink_tl-wa.dtsi" + +/ { + model = "TP-Link TL-WA701ND v1"; + compatible = "tplink,tl-wa701nd-v1", "qca,ar7240"; +}; diff --git a/target/linux/ath79/dts/ar7240_tplink_tl-wa730re-v1.dts b/target/linux/ath79/dts/ar7240_tplink_tl-wa730re-v1.dts new file mode 100644 index 0000000000..e1277a8128 --- /dev/null +++ b/target/linux/ath79/dts/ar7240_tplink_tl-wa730re-v1.dts @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar7240_tplink_tl-wa.dtsi" + +/ { + model = "TP-Link TL-WA730RE v1"; + compatible = "tplink,tl-wa730re-v1", "qca,ar7240"; +}; diff --git a/target/linux/ath79/dts/ar7240_tplink_tl-wa801nd-v1.dts b/target/linux/ath79/dts/ar7240_tplink_tl-wa801nd-v1.dts new file mode 100644 index 0000000000..2db22c0e21 --- /dev/null +++ b/target/linux/ath79/dts/ar7240_tplink_tl-wa801nd-v1.dts @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar7240_tplink_tl-wa.dtsi" + +/ { + model = "TP-Link TL-WA801ND v1"; + compatible = "tplink,tl-wa801nd-v1", "qca,ar7240"; +}; diff --git a/target/linux/ath79/dts/ar7240_tplink_tl-wa901nd-v1.dts b/target/linux/ath79/dts/ar7240_tplink_tl-wa901nd-v1.dts new file mode 100644 index 0000000000..5422e5c600 --- /dev/null +++ b/target/linux/ath79/dts/ar7240_tplink_tl-wa901nd-v1.dts @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar7240_tplink_tl-wa.dtsi" + +/ { + model = "TP-Link TL-WA901ND v1"; + compatible = "tplink,tl-wa901nd-v1", "qca,ar7240"; +}; diff --git a/target/linux/ath79/image/tiny-tp-link.mk b/target/linux/ath79/image/tiny-tp-link.mk index dde1088f54..29fdfec1e5 100644 --- a/target/linux/ath79/image/tiny-tp-link.mk +++ b/target/linux/ath79/image/tiny-tp-link.mk @@ -66,6 +66,36 @@ define Device/tplink_tl-mr3420-v2 endef TARGET_DEVICES += tplink_tl-mr3420-v2 +define Device/tplink_tl-wa701nd-v1 + $(Device/tplink-4m) + SOC := ar7240 + DEVICE_MODEL := TL-WA701ND + DEVICE_VARIANT := v1 + TPLINK_HWID := 0x07010001 + SUPPORTED_DEVICES += tl-wa901nd +endef +TARGET_DEVICES += tplink_tl-wa701nd-v1 + +define Device/tplink_tl-wa730re-v1 + $(Device/tplink-4m) + SOC := ar7240 + DEVICE_MODEL := TL-WA730RE + DEVICE_VARIANT := v1 + TPLINK_HWID := 0x07300001 + SUPPORTED_DEVICES += tl-wa901nd +endef +TARGET_DEVICES += tplink_tl-wa730re-v1 + +define Device/tplink_tl-wa801nd-v1 + $(Device/tplink-4m) + SOC := ar7240 + DEVICE_MODEL := TL-WA801ND + DEVICE_VARIANT := v1 + TPLINK_HWID := 0x08010001 + SUPPORTED_DEVICES += tl-wa901nd +endef +TARGET_DEVICES += tplink_tl-wa801nd-v1 + define Device/tplink_tl-wa830re-v1 $(Device/tplink-4m) SOC := ar7240 @@ -100,6 +130,16 @@ define Device/tplink_tl-wa850re-v2 endef TARGET_DEVICES += tplink_tl-wa850re-v2 +define Device/tplink_tl-wa901nd-v1 + $(Device/tplink-4m) + SOC := ar7240 + DEVICE_MODEL := TL-WA901ND + DEVICE_VARIANT := v1 + TPLINK_HWID := 0x09010001 + SUPPORTED_DEVICES += tl-wa901nd +endef +TARGET_DEVICES += tplink_tl-wa901nd-v1 + define Device/tplink_tl-wa901nd-v2 $(Device/tplink-4m) SOC := ar9132 diff --git a/target/linux/ath79/tiny/base-files/etc/board.d/01_leds b/target/linux/ath79/tiny/base-files/etc/board.d/01_leds index e8c6852406..c62fdfd083 100755 --- a/target/linux/ath79/tiny/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/tiny/base-files/etc/board.d/01_leds @@ -42,7 +42,11 @@ on,n150r) ;; tplink,tl-mr3020-v1|\ tplink,tl-mr3040-v2|\ -tplink,tl-wa830re-v1) +tplink,tl-wa701nd-v1|\ +tplink,tl-wa730re-v1|\ +tplink,tl-wa801nd-v1|\ +tplink,tl-wa830re-v1|\ +tplink,tl-wa901nd-v1) ucidef_set_led_netdev "lan" "LAN" "tp-link:green:lan" "eth0" ;; tplink,tl-mr3420-v2|\ diff --git a/target/linux/ath79/tiny/base-files/etc/board.d/02_network b/target/linux/ath79/tiny/base-files/etc/board.d/02_network index ff1e8110b4..29c55c98a1 100755 --- a/target/linux/ath79/tiny/base-files/etc/board.d/02_network +++ b/target/linux/ath79/tiny/base-files/etc/board.d/02_network @@ -32,9 +32,13 @@ ath79_setup_interfaces() tplink,tl-mr10u|\ tplink,tl-mr3020-v1|\ tplink,tl-mr3040-v2|\ + tplink,tl-wa701nd-v1|\ + tplink,tl-wa730re-v1|\ + tplink,tl-wa801nd-v1|\ tplink,tl-wa830re-v1|\ tplink,tl-wa850re-v1|\ tplink,tl-wa850re-v2|\ + tplink,tl-wa901nd-v1|\ tplink,tl-wa901nd-v2|\ tplink,tl-wr703n) ucidef_set_interface_lan "eth0" diff --git a/target/linux/ath79/tiny/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/tiny/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index 0965a48743..6ae2dc5f94 100644 --- a/target/linux/ath79/tiny/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/tiny/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -10,7 +10,11 @@ case "$FIRMWARE" in "ath9k-eeprom-pci-0000:00:00.0.bin") case $board in buffalo,whr-g301n|\ + tplink,tl-wa701nd-v1|\ + tplink,tl-wa730re-v1|\ + tplink,tl-wa801nd-v1|\ tplink,tl-wa830re-v1|\ + tplink,tl-wa901nd-v1|\ tplink,tl-wr841-v5|\ tplink,tl-wr941-v4) caldata_extract "art" 0x1000 0xeb8