[openwrt/openwrt] ramips: add support for TP-Link TL-WR850N v2

LEDE Commits lede-commits at lists.infradead.org
Thu Aug 27 10:57:12 EDT 2020


adrian pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/ff5dd32164bb430b7a5966a36291f5a8636e7af8

commit ff5dd32164bb430b7a5966a36291f5a8636e7af8
Author: Andrew Freeman <labz56 at gmail.com>
AuthorDate: Tue Jun 16 09:20:25 2020 +0500

    ramips: add support for TP-Link TL-WR850N v2
    
    This patch adds support for the TP-Link TL-WR850N v2. This device
    is very similar to TP-Link TL-WR840 v4 and TP-Link TL-WR841 v13.
    
    Specifications:
    SOC: MediaTek MT7628NN
    Flash: 8 MiB SPI
    RAM: 64 MiB
    WLAN: MediaTek MT7628NN
    Ethernet: 5 ports (100M)
    
    Installation Using the integrated tftp capability of the router:
    1. Turn off the router.
    2. Connect pc to one of the router LAN ports.
    3. Set your PC IPv4 address to 192.168.0.66/24.
    4. Run any TFTP server on the PC.
    5. Put the recovery firmware on the root directory of TFTP server
       and name the file tp_recovery.bin
    6. Start the router by pressing power button while holding the
       WPS/Reset button (or both WPS/Reset and WIFI buttons)
    7. Router connects to your PC with IPv4 address 192.168.0.2,
       downloads the firmware, installs it and reboots. LEDs are
       flashing. Now you have OpenWrt installed.
    8. Change your IPv4 PC address to something in 192.168.1.0/24
       network or use DHCP to get an address from your OpenWrt router.
    9. Done! You can login to your router via ssh.
    
    Forum link:
    https://forum.openwrt.org/t/add-support-for-tp-link-tl-wr850n-v2/66899
    
    Signed-off-by: Andrew Freeman <labz56 at gmail.com>
    [squash an tidy up commits, sort nodes]
    Signed-off-by: Darsh Patel <darshkpatel at gmail.com>
    [minor commit message adjustments]
    Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 .../ramips/dts/mt7628an_tplink_tl-wr850n-v2.dts    | 67 ++++++++++++++++++++++
 target/linux/ramips/image/mt76x8.mk                | 13 +++++
 .../ramips/mt76x8/base-files/etc/board.d/01_leds   |  3 +-
 .../mt76x8/base-files/etc/board.d/02_network       |  4 +-
 4 files changed, 85 insertions(+), 2 deletions(-)

diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-wr850n-v2.dts b/target/linux/ramips/dts/mt7628an_tplink_tl-wr850n-v2.dts
new file mode 100644
index 0000000000..192b0aaaf0
--- /dev/null
+++ b/target/linux/ramips/dts/mt7628an_tplink_tl-wr850n-v2.dts
@@ -0,0 +1,67 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "mt7628an_tplink_8m.dtsi"
+
+/ {
+	compatible = "tplink,tl-wr850n-v2", "mediatek,mt7628an-soc";
+	model = "TP-Link TL-WR850N v2";
+
+	aliases {
+		led-boot = &led_power;
+		led-failsafe = &led_power;
+		led-running = &led_power;
+		led-upgrade = &led_power;
+	};
+
+	keys {
+		compatible = "gpio-keys";
+
+		reset {
+			label = "reset";
+			gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_RESTART>;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led_power: power {
+			label = "tl-wr850n-v2:green:power";
+			gpios = <&gpio 36 GPIO_ACTIVE_LOW>;
+		};
+
+		wps {
+			label = "tl-wr850n-v2:green:wps";
+			gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+		};
+
+		lan {
+			label = "tl-wr850n-v2:green:lan";
+			gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
+		};
+
+		wan {
+			label = "tl-wr850n-v2:green:wan";
+			gpios = <&gpio 43 GPIO_ACTIVE_LOW>;
+		};
+
+		wlan {
+			label = "tl-wr850n-v2:green:wlan";
+			gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "phy0tpt";
+		};
+	};
+};
+
+&state_default {
+	gpio {
+		groups = "p0led_an", "p2led_an", "perst", "refclk", "wdt", "wled_an";
+		function = "gpio";
+	};
+};
+
+&esw {
+	mediatek,portmap = <0x3e>;
+};
diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk
index 908e2df529..4e30100c63 100644
--- a/target/linux/ramips/image/mt76x8.mk
+++ b/target/linux/ramips/image/mt76x8.mk
@@ -553,6 +553,19 @@ define Device/tplink_tl-wr842n-v5
 endef
 TARGET_DEVICES += tplink_tl-wr842n-v5
 
+define Device/tplink_tl-wr850n-v2
+  $(Device/tplink-v2)
+  IMAGE_SIZE := 7808k
+  DEVICE_MODEL := TL-WR850N
+  DEVICE_VARIANT := v2
+  TPLINK_FLASHLAYOUT := 8Mmtk
+  TPLINK_HWID := 0x08500002
+  TPLINK_HWREVADD := 0x2
+  IMAGES := sysupgrade.bin tftp-recovery.bin
+  IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin)
+endef
+TARGET_DEVICES += tplink_tl-wr850n-v2
+
 define Device/tplink_tl-wr902ac-v3
   $(Device/tplink-v2)
   IMAGE_SIZE := 7808k
diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds
index 94c5cb5d49..52be48e1ef 100755
--- a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds
@@ -94,7 +94,8 @@ tplink,tl-wr841n-v13)
 	ucidef_set_led_switch "lan4" "lan4" "$boardname:green:lan4" "switch0" "0x10"
 	ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
 	;;
-tplink,tl-wr841n-v14)
+tplink,tl-wr841n-v14|\
+tplink,tl-wr850n-v2)
 	ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x1e"
 	ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
 	;;
diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
index 5a5ba587d5..f1687c7108 100755
--- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
@@ -73,6 +73,7 @@ ramips_setup_interfaces()
 	tplink,tl-wr841n-v13|\
 	tplink,tl-wr841n-v14|\
 	tplink,tl-wr842n-v5|\
+	tplink,tl-wr850n-v2|\
 	unielec,u7628-01-16m|\
 	wrtnode,wrtnode2p|\
 	wrtnode,wrtnode2r|\
@@ -203,7 +204,8 @@ ramips_setup_macs()
 	tplink,tl-wr840n-v5|\
 	tplink,tl-wr841n-v13|\
 	tplink,tl-wr841n-v14|\
-	tplink,tl-wr842n-v5)
+	tplink,tl-wr842n-v5|\
+	tplink,tl-wr850n-v2)
 		wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0xf100)" 1)
 		;;
 	tplink,archer-c20-v5|\



More information about the lede-commits mailing list