From 25070f71062e57c08e27b921868178b09274602a Mon Sep 17 00:00:00 2001
From: Lucian Cristian <lucian.cristian@gmail.com>
Date: Sat, 23 Jun 2018 10:52:10 +0300
Subject: [PATCH] ath79: small wr1043nd-v4 fixes

- fix sysupgrade check
- move usb to v4 dts because v5 doesn't have it
- make wan mac address behave like ar71xx target
- add orange wan led support, it can be userspace activated like:

  on:
  echo default-on > /sys/class/leds/tp-link\:orange\:wan/trigger

  off:
  echo none > /sys/class/leds/tp-link\:orange\:wan/trigger

Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
---
 .../ath79/base-files/etc/board.d/02_network   |  4 +++
 .../linux/ath79/dts/qca9563_tl-wr1043n.dtsi   | 29 +++++--------------
 .../ath79/dts/qca9563_tl-wr1043nd-v4.dts      | 23 +++++++++++++++
 target/linux/ath79/image/generic-tp-link.mk   |  3 +-
 4 files changed, 36 insertions(+), 23 deletions(-)

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 3282d8ad90..d60406e163 100755
--- a/target/linux/ath79/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/base-files/etc/board.d/02_network
@@ -120,6 +120,10 @@ ath79_setup_macs()
 		lan_mac=$(k2t_get_mac "lan_mac")
 		wan_mac=$(k2t_get_mac "wan_mac")
 		;;
+	"tplink,tl-wr1043nd-v4")
+		base_mac=$(mtd_get_mac_binary product-info 8)
+		wan_mac=$(macaddr_add "$base_mac" 1)
+		;;
 	esac
 
 	[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
diff --git a/target/linux/ath79/dts/qca9563_tl-wr1043n.dtsi b/target/linux/ath79/dts/qca9563_tl-wr1043n.dtsi
index 10bdfdf702..3134eb9483 100644
--- a/target/linux/ath79/dts/qca9563_tl-wr1043n.dtsi
+++ b/target/linux/ath79/dts/qca9563_tl-wr1043n.dtsi
@@ -15,7 +15,7 @@
 		led-status = &system;
 	};
 
-	leds {
+	gpio_leds: leds {
 		compatible = "gpio-leds";
 
 		system: system {
@@ -24,14 +24,6 @@
 			linux,default-trigger = "heartbeat";
 		};
 
-		usb {
-			label = "tp-link:green:usb";
-			gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
-			default-state = "off";
-			trigger-sources = <&hub_port0>;
-			linux,default-trigger = "usbport";
-		};
-
 		wifi_green {
 			label = "tp-link:green:wlan";
 			gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
@@ -51,6 +43,12 @@
 			default-state = "off";
 		};
 
+		wan_fail {
+			label = "tp-link:orange:wan";
+			gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+			default-state = "off";
+		};
+
 		lan1 {
 			label = "tp-link:green:lan1";
 			gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
@@ -116,19 +114,6 @@
 	status = "okay";
 };
 
-&usb_phy0 {
-	status = "okay";
-};
-
-&usb0 {
-	status = "okay";
-
-	hub_port0: port@1 {
-		reg = <1>;
-		#trigger-source-cells = <0>;
-	};
-};
-
 &spi {
 	status = "okay";
 	num-cs = <1>;
diff --git a/target/linux/ath79/dts/qca9563_tl-wr1043nd-v4.dts b/target/linux/ath79/dts/qca9563_tl-wr1043nd-v4.dts
index e187de7a23..bc0f356000 100644
--- a/target/linux/ath79/dts/qca9563_tl-wr1043nd-v4.dts
+++ b/target/linux/ath79/dts/qca9563_tl-wr1043nd-v4.dts
@@ -10,3 +10,26 @@
 	compatible = "tplink,tl-wr1043nd-v4", "qca,qca9563";
 	model = "TP-Link TL-WR1043ND Version 4";
 };
+
+&gpio_leds {
+	usb {
+		label = "tp-link:green:usb";
+		gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+		default-state = "off";
+		trigger-sources = <&hub_port0>;
+		linux,default-trigger = "usbport";
+	};
+};
+
+&usb_phy0 {
+	status = "okay";
+};
+
+&usb0 {
+	status = "okay";
+
+	hub_port0: port@1 {
+		reg = <1>;
+		#trigger-source-cells = <0>;
+	};
+};
diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk
index f048acc673..28fac6a631 100644
--- a/target/linux/ath79/image/generic-tp-link.mk
+++ b/target/linux/ath79/image/generic-tp-link.mk
@@ -70,7 +70,8 @@ define Device/tl-wr1043nd-v4
   TPLINK_HWID := 0x10430004
   TPLINK_BOARD_ID := TLWR1043NDV4
   KERNEL := kernel-bin | append-dtb | lzma | tplink-v1-header -O
-  IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
+  IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | \
+    append-metadata | check-size $$$$(IMAGE_SIZE)
   IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
   SUPPORTED_DEVICES := tplink,tl-wr1043nd-v4 tl-wr1043nd-v4
 endef
-- 
2.30.2