From b9f4f1f97aeeec65a872c4c5b1a0528a69d16d7b Mon Sep 17 00:00:00 2001
From: Jun Su <howard0su@gmail.com>
Date: Tue, 3 Mar 2020 17:33:40 +0800
Subject: [PATCH] ath79: add support for TP-Link TL-WR740N v5

This adds support for the TP-Link TL-WR740N v5, a clone of the
v4 only with a different TPLINK_HWID. It was already supported
in ar71xx as well.

Specifications:

SOC: Atheros AR9331
CPU: 400MHz
Flash: 4 MiB
RAM: 32 MiB
WLAN: Atheros AR9330 bgn
Ethernet: 5 ports (100M)

Flashing instructions:

- Flash factory image from OEM WebUI:
  openwrt-ath79-tiny-tplink_tl-wr740n-v5-squashfs-factory.bin
- Sysupgrade from ar71xx image:
  openwrt-ath79-tiny-tplink_tl-wr740n-v5-squashfs-sysupgrade.bin

Signed-off-by: Jun Su <howard0su@gmail.com>
[commit title/message facelift]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
---
 target/linux/ath79/dts/ar9331_tplink_tl-wr740n-v5.dts    | 9 +++++++++
 target/linux/ath79/image/tiny-tp-link.mk                 | 9 +++++++++
 target/linux/ath79/tiny/base-files/etc/board.d/01_leds   | 1 +
 .../linux/ath79/tiny/base-files/etc/board.d/02_network   | 1 +
 4 files changed, 20 insertions(+)
 create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-wr740n-v5.dts

diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-wr740n-v5.dts b/target/linux/ath79/dts/ar9331_tplink_tl-wr740n-v5.dts
new file mode 100644
index 00000000000..a031bf38750
--- /dev/null
+++ b/target/linux/ath79/dts/ar9331_tplink_tl-wr740n-v5.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "ar9331_tplink_tl-wr741nd-v4.dtsi"
+
+/ {
+	model = "TP-Link TL-WR740N v5";
+	compatible = "tplink,tl-wr740n-v5", "qca,ar9331";
+};
diff --git a/target/linux/ath79/image/tiny-tp-link.mk b/target/linux/ath79/image/tiny-tp-link.mk
index 29fdfec1e58..dc91a74ae17 100644
--- a/target/linux/ath79/image/tiny-tp-link.mk
+++ b/target/linux/ath79/image/tiny-tp-link.mk
@@ -186,6 +186,15 @@ define Device/tplink_tl-wr740n-v4
 endef
 TARGET_DEVICES += tplink_tl-wr740n-v4
 
+define Device/tplink_tl-wr740n-v5
+  $(Device/tplink-4mlzma)
+  SOC := ar9331
+  DEVICE_MODEL := TL-WR740N
+  DEVICE_VARIANT := v5
+  TPLINK_HWID := 0x07400005
+endef
+TARGET_DEVICES += tplink_tl-wr740n-v5
+
 define Device/tplink_tl-wr741-v1
   $(Device/tplink-4m)
   SOC := ar7240
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 c62fdfd083c..ecd7aaaf352 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
@@ -51,6 +51,7 @@ tplink,tl-wa901nd-v1)
 	;;
 tplink,tl-mr3420-v2|\
 tplink,tl-wr740n-v4|\
+tplink,tl-wr740n-v5|\
 tplink,tl-wr741nd-v4|\
 tplink,tl-wr841-v8)
 	ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1"
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 29c55c98a1d..d448144c93c 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
@@ -60,6 +60,7 @@ ath79_setup_interfaces()
 		;;
 	tplink,tl-mr3420-v2|\
 	tplink,tl-wr740n-v4|\
+	tplink,tl-wr740n-v5|\
 	tplink,tl-wr741nd-v4|\
 	tplink,tl-wr841-v8)
 		ucidef_set_interface_wan "eth1"
-- 
GitLab