From 273e00c4a506c076dddfc51c3c00d4523496f5f4 Mon Sep 17 00:00:00 2001
From: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Date: Tue, 11 Feb 2020 01:31:05 +0100
Subject: [PATCH] ath79: reorganize DTSI for ar7240 TP-Link devices

The current set of TP-Link devices with ar7240 SoC all share
the same DTSI file. As the latter is very similar to the
definition required for the to-be-supported TP-Link TL-WA devices
with ar7240, this patch splits the definitions into a shared part
for all TP-Link devices (ar7240_tplink.dtsi) and a file containing
the specific setup for the present TL-WR devices
(ar7240_tplink_tl-wr.dtsi), equivalent to the former
ar7240_tplink_tl-wr74xn-v1.dtsi.

While at it, remove unused firmware partition label and rename
pinmux_switch_led_pins.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
---
 ...k_tl-wr74xn-v1.dtsi => ar7240_tplink.dtsi} | 45 ++----------------
 .../linux/ath79/dts/ar7240_tplink_tl-wr.dtsi  | 46 +++++++++++++++++++
 .../ath79/dts/ar7240_tplink_tl-wr740n-v1.dts  |  2 +-
 .../ath79/dts/ar7240_tplink_tl-wr740n-v3.dts  |  2 +-
 .../ath79/dts/ar7240_tplink_tl-wr741-v1.dts   |  2 +-
 .../ath79/dts/ar7240_tplink_tl-wr743nd-v1.dts |  2 +-
 .../ath79/dts/ar7240_tplink_tl-wr841-v5.dts   |  2 +-
 .../ath79/dts/ar7240_tplink_tl-wr941-v4.dts   |  2 +-
 8 files changed, 57 insertions(+), 46 deletions(-)
 rename target/linux/ath79/dts/{ar7240_tplink_tl-wr74xn-v1.dtsi => ar7240_tplink.dtsi} (71%)
 create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wr.dtsi

diff --git a/target/linux/ath79/dts/ar7240_tplink_tl-wr74xn-v1.dtsi b/target/linux/ath79/dts/ar7240_tplink.dtsi
similarity index 71%
rename from target/linux/ath79/dts/ar7240_tplink_tl-wr74xn-v1.dtsi
rename to target/linux/ath79/dts/ar7240_tplink.dtsi
index 147fcad6663..de0b36bbf8e 100644
--- a/target/linux/ath79/dts/ar7240_tplink_tl-wr74xn-v1.dtsi
+++ b/target/linux/ath79/dts/ar7240_tplink.dtsi
@@ -32,10 +32,11 @@
 		};
 	};
 
-	leds {
+	leds: leds {
 		compatible = "gpio-leds";
+
 		pinctrl-names = "default";
-		pinctrl-0 = <&switch_led_pins>;
+		pinctrl-0 = <&pinmux_switch_led_pins>;
 
 		led_system: system {
 			label = "tp-link:green:system";
@@ -46,31 +47,6 @@
 			label = "tp-link:green:qss";
 			gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
 		};
-
-		lan1 {
-			label = "tp-link:green:lan1";
-			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
-		};
-
-		lan2 {
-			label = "tp-link:green:lan2";
-			gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
-		};
-
-		lan3 {
-			label = "tp-link:green:lan3";
-			gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
-		};
-
-		lan4 {
-			label = "tp-link:green:lan4";
-			gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
-		};
-
-		wan {
-			label = "tp-link:green:wan";
-			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
-		};
 	};
 
 	ath9k-leds {
@@ -105,7 +81,7 @@
 				read-only;
 			};
 
-			firmware: partition@20000 {
+			partition@20000 {
 				compatible = "tplink,firmware";
 				reg = <0x20000 0x3d0000>;
 				label = "firmware";
@@ -120,25 +96,14 @@
 	};
 };
 
-&eth0 {
-	status = "okay";
-
-	mtd-mac-address = <&uboot 0x1fc00>;
-	mtd-mac-address-increment = <(-1)>;
-};
-
 &eth1 {
 	status = "okay";
-
-	mtd-mac-address = <&uboot 0x1fc00>;
-	mtd-mac-address-increment = <1>;
 };
 
 &pcie {
 	status = "okay";
 
 	ath9k: wifi@0,0 {
-		compatible = "pci168c,002b";
 		reg = <0x0000 0 0 0 0>;
 		qca,no-eeprom;
 		mtd-mac-address = <&uboot 0x1fc00>;
@@ -148,7 +113,7 @@
 };
 
 &pinmux {
-	switch_led_pins: pinmux_switch_led_pins {
+	pinmux_switch_led_pins: switch_led_pins {
 		pinctrl-single,bits = <0x0 0x0 0xf8>;
 	};
 };
diff --git a/target/linux/ath79/dts/ar7240_tplink_tl-wr.dtsi b/target/linux/ath79/dts/ar7240_tplink_tl-wr.dtsi
new file mode 100644
index 00000000000..7621b1d53ce
--- /dev/null
+++ b/target/linux/ath79/dts/ar7240_tplink_tl-wr.dtsi
@@ -0,0 +1,46 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "ar7240_tplink.dtsi"
+
+&leds {
+	lan1 {
+		label = "tp-link:green:lan1";
+		gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+	};
+
+	lan2 {
+		label = "tp-link:green:lan2";
+		gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+	};
+
+	lan3 {
+		label = "tp-link:green:lan3";
+		gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+	};
+
+	lan4 {
+		label = "tp-link:green:lan4";
+		gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+	};
+
+	wan {
+		label = "tp-link:green:wan";
+		gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
+	};
+};
+
+&eth0 {
+	status = "okay";
+
+	mtd-mac-address = <&uboot 0x1fc00>;
+	mtd-mac-address-increment = <(-1)>;
+};
+
+&eth1 {
+	mtd-mac-address = <&uboot 0x1fc00>;
+	mtd-mac-address-increment = <1>;
+};
+
+&ath9k {
+	compatible = "pci168c,002b";
+};
diff --git a/target/linux/ath79/dts/ar7240_tplink_tl-wr740n-v1.dts b/target/linux/ath79/dts/ar7240_tplink_tl-wr740n-v1.dts
index be18fdd052b..c49272bcb97 100644
--- a/target/linux/ath79/dts/ar7240_tplink_tl-wr740n-v1.dts
+++ b/target/linux/ath79/dts/ar7240_tplink_tl-wr740n-v1.dts
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /dts-v1/;
 
-#include "ar7240_tplink_tl-wr74xn-v1.dtsi"
+#include "ar7240_tplink_tl-wr.dtsi"
 
 / {
 	model = "TP-Link TL-WR740N v1/v2";
diff --git a/target/linux/ath79/dts/ar7240_tplink_tl-wr740n-v3.dts b/target/linux/ath79/dts/ar7240_tplink_tl-wr740n-v3.dts
index d0addda44a2..23867a25213 100644
--- a/target/linux/ath79/dts/ar7240_tplink_tl-wr740n-v3.dts
+++ b/target/linux/ath79/dts/ar7240_tplink_tl-wr740n-v3.dts
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /dts-v1/;
 
-#include "ar7240_tplink_tl-wr74xn-v1.dtsi"
+#include "ar7240_tplink_tl-wr.dtsi"
 
 / {
 	model = "TP-Link TL-WR740N v3";
diff --git a/target/linux/ath79/dts/ar7240_tplink_tl-wr741-v1.dts b/target/linux/ath79/dts/ar7240_tplink_tl-wr741-v1.dts
index af9c9075591..38d7f2af600 100644
--- a/target/linux/ath79/dts/ar7240_tplink_tl-wr741-v1.dts
+++ b/target/linux/ath79/dts/ar7240_tplink_tl-wr741-v1.dts
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /dts-v1/;
 
-#include "ar7240_tplink_tl-wr74xn-v1.dtsi"
+#include "ar7240_tplink_tl-wr.dtsi"
 
 / {
 	model = "TP-Link TL-WR741N/ND v1/v2";
diff --git a/target/linux/ath79/dts/ar7240_tplink_tl-wr743nd-v1.dts b/target/linux/ath79/dts/ar7240_tplink_tl-wr743nd-v1.dts
index 2c55dff97e3..6cfaa9905c8 100644
--- a/target/linux/ath79/dts/ar7240_tplink_tl-wr743nd-v1.dts
+++ b/target/linux/ath79/dts/ar7240_tplink_tl-wr743nd-v1.dts
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /dts-v1/;
 
-#include "ar7240_tplink_tl-wr74xn-v1.dtsi"
+#include "ar7240_tplink_tl-wr.dtsi"
 
 / {
 	model = "TP-Link TL-WR743ND v1";
diff --git a/target/linux/ath79/dts/ar7240_tplink_tl-wr841-v5.dts b/target/linux/ath79/dts/ar7240_tplink_tl-wr841-v5.dts
index e881821d6c6..c030342d226 100644
--- a/target/linux/ath79/dts/ar7240_tplink_tl-wr841-v5.dts
+++ b/target/linux/ath79/dts/ar7240_tplink_tl-wr841-v5.dts
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /dts-v1/;
 
-#include "ar7240_tplink_tl-wr74xn-v1.dtsi"
+#include "ar7240_tplink_tl-wr.dtsi"
 
 / {
 	model = "TP-Link TL-WR841N/ND v5/v6";
diff --git a/target/linux/ath79/dts/ar7240_tplink_tl-wr941-v4.dts b/target/linux/ath79/dts/ar7240_tplink_tl-wr941-v4.dts
index 8d844d54f7b..c8fe835e7eb 100644
--- a/target/linux/ath79/dts/ar7240_tplink_tl-wr941-v4.dts
+++ b/target/linux/ath79/dts/ar7240_tplink_tl-wr941-v4.dts
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /dts-v1/;
 
-#include "ar7240_tplink_tl-wr74xn-v1.dtsi"
+#include "ar7240_tplink_tl-wr.dtsi"
 
 / {
 	model = "TP-Link TL-WR941N/ND v4";
-- 
GitLab