From: Adrian Schmutzler Date: Mon, 9 Dec 2019 13:51:07 +0000 (+0100) Subject: ath79: add support for TP-Link TL-WA850RE v1 X-Git-Tag: v21.02.0-rc1~3960 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=6eaea3a8ba6154674058396c728494aa911ed7f1;p=openwrt%2Fopenwrt.git ath79: add support for TP-Link TL-WA850RE v1 This ports support for the TL-WA850RE v1 range extender from ar71xx to ath79. Specifications: Board: AP123 / AR9341 rev. 3 Flash/RAM: 4/32 MiB CPU: 535 MHz WiFi: 2.4 GHz b/g/n Ethernet: 1 port (100M) Flashing instructions: Upload the factory image via the vendor firmware upgrade option. Recovery: Note that this device does not provide TFTP via ethernet like many other TP-Link devices do. You will have to open the case if you require recovery beyond failsafe. Signed-off-by: Adrian Schmutzler --- diff --git a/target/linux/ath79/dts/ar9341_tplink_tl-wa.dtsi b/target/linux/ath79/dts/ar9341_tplink_tl-wa.dtsi new file mode 100644 index 0000000000..07cf2063df --- /dev/null +++ b/target/linux/ath79/dts/ar9341_tplink_tl-wa.dtsi @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include +#include + +#include "ar9341.dtsi" + +/ { + aliases { + serial0 = &uart; + label-mac-device = &wmac; + }; +}; + +&ref { + clock-frequency = <25000000>; +}; + +&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>; + + uboot: partition@0 { + label = "u-boot"; + reg = <0x000000 0x020000>; + read-only; + }; + + partition@20000 { + compatible = "tplink,firmware"; + label = "firmware"; + reg = <0x020000 0x3d0000>; + }; + + art: partition@3f0000 { + label = "art"; + reg = <0x3f0000 0x010000>; + read-only; + }; + }; + }; +}; + +&uart { + status = "okay"; +}; + +ð0 { + status = "okay"; + + phy-handle = <&swphy0>; + + mtd-mac-address = <&uboot 0x1fc00>; + + gmac-config { + device = <&gmac>; + + switch-phy-swap = <1>; + }; +}; + +ð1 { + compatible = "syscon", "simple-mfd"; +}; + +&wmac { + status = "okay"; + + mtd-cal-data = <&art 0x1000>; + mtd-mac-address = <&uboot 0x1fc00>; +}; diff --git a/target/linux/ath79/dts/ar9341_tplink_tl-wa850re-v1.dts b/target/linux/ath79/dts/ar9341_tplink_tl-wa850re-v1.dts new file mode 100644 index 0000000000..bb0b498b67 --- /dev/null +++ b/target/linux/ath79/dts/ar9341_tplink_tl-wa850re-v1.dts @@ -0,0 +1,79 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar9341_tplink_tl-wa.dtsi" + +/ { + model = "TP-Link TL-WA850RE v1"; + compatible = "tplink,tl-wa850re-v1", "qca,ar9341"; + + aliases { + led-boot = &led_re; + led-failsafe = &led_re; + led-running = &led_re; + led-upgrade = &led_re; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "Reset"; + linux,code = ; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + + wps { + label = "WPS"; + linux,code = ; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + lan { + label = "tp-link:blue:lan"; + gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + }; + + wlan { + label = "tp-link:blue:wlan"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + led_re: re { + label = "tp-link:blue:re"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + + signal1 { + label = "tp-link:blue:signal1"; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + }; + + signal2 { + label = "tp-link:blue:signal2"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + }; + + signal3 { + label = "tp-link:blue:signal3"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + }; + + signal4 { + label = "tp-link:blue:signal4"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + + signal5 { + label = "tp-link:blue:signal5"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + }; +}; diff --git a/target/linux/ath79/image/tiny-tp-link.mk b/target/linux/ath79/image/tiny-tp-link.mk index 070ede9721..3c15f843a9 100644 --- a/target/linux/ath79/image/tiny-tp-link.mk +++ b/target/linux/ath79/image/tiny-tp-link.mk @@ -66,6 +66,17 @@ define Device/tplink_tl-mr3420-v2 endef TARGET_DEVICES += tplink_tl-mr3420-v2 +define Device/tplink_tl-wa850re-v1 + $(Device/tplink-4mlzma) + SOC := ar9341 + DEVICE_MODEL := TL-WA850RE + DEVICE_VARIANT := v1 + TPLINK_HWID := 0x08500001 + DEVICE_PACKAGES := rssileds + SUPPORTED_DEVICES += tl-wa850re +endef +TARGET_DEVICES += tplink_tl-wa850re-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 199ad94bec..32c99304aa 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 @@ -54,6 +54,15 @@ tplink,tl-wr841-v8) ucidef_set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x10" ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x02" ;; +tplink,tl-wa850re-v1) + ucidef_set_led_netdev "lan" "LAN" "tp-link:blue:lan" "eth0" + ucidef_set_rssimon "wlan0" "200000" "1" + ucidef_set_led_rssi "rssilow" "RSSILOW" "tp-link:blue:signal1" "wlan0" "1" "100" + ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "tp-link:blue:signal2" "wlan0" "20" "100" + ucidef_set_led_rssi "rssimedium" "RSSIMEDIUM" "tp-link:blue:signal3" "wlan0" "40" "100" + ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "tp-link:blue:signal4" "wlan0" "60" "100" + ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "tp-link:blue:signal5" "wlan0" "80" "100" + ;; tplink,tl-wr740n-v1|\ tplink,tl-wr740n-v3|\ tplink,tl-wr741-v1|\ 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 b325c7cf8b..114c19b48a 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,6 +32,7 @@ ath79_setup_interfaces() tplink,tl-mr10u|\ tplink,tl-mr3020-v1|\ tplink,tl-mr3040-v2|\ + tplink,tl-wa850re-v1|\ tplink,tl-wa901nd-v2|\ tplink,tl-wr703n) ucidef_set_interface_lan "eth0"