From 9ba83c450ca8f031af81a2080a8e662fce4e586e Mon Sep 17 00:00:00 2001
From: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Date: Fri, 19 Jul 2019 14:58:51 +0200
Subject: [PATCH] ath79: provide common DTSI for CPE510 v2/v3 and CPE610

This puts some common code into a new shared DTSI. Common nodes
are chosen so that the new DTSI can be used for CPE210 v1, too.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
---
 .../linux/ath79/dts/ar9344_tplink_cpe510.dtsi |  98 +----------------
 .../ath79/dts/ar9344_tplink_cpe610-v1.dts     |  98 +----------------
 .../linux/ath79/dts/ar9344_tplink_cpexxx.dtsi | 101 ++++++++++++++++++
 3 files changed, 103 insertions(+), 194 deletions(-)
 create mode 100644 target/linux/ath79/dts/ar9344_tplink_cpexxx.dtsi

diff --git a/target/linux/ath79/dts/ar9344_tplink_cpe510.dtsi b/target/linux/ath79/dts/ar9344_tplink_cpe510.dtsi
index f19ef01d499d..e1ffc29e831c 100644
--- a/target/linux/ath79/dts/ar9344_tplink_cpe510.dtsi
+++ b/target/linux/ath79/dts/ar9344_tplink_cpe510.dtsi
@@ -1,10 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /dts-v1/;
 
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-
-#include "ar9344.dtsi"
+#include "ar9344_tplink_cpexxx.dtsi"
 
 / {
 	aliases {
@@ -42,99 +39,6 @@
 			gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
 		};
 	};
-
-	keys {
-		compatible = "gpio-keys";
-
-		reset {
-			linux,code = <KEY_RESTART>;
-			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
-			debounce-interval = <60>;
-		};
-	};
-
-};
-
-&ref {
-	clock-frequency = <40000000>;
-};
-
-&uart {
-	status = "okay";
-};
-
-&spi {
-	num-cs = <1>;
-
-	status = "okay";
-
-	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 {
-				label = "partition-table";
-				reg = <0x020000 0x010000>;
-				read-only;
-			};
-
-			info: partition@30000 {
-				label = "info";
-				reg = <0x030000 0x010000>;
-				read-only;
-			};
-
-			partition@40000 {
-				label = "firmware";
-				reg = <0x040000 0x780000>;
-
-				compatible = "fixed-partitions";
-				#address-cells = <1>;
-				#size-cells = <1>;
-
-				partition@0 {
-					label = "kernel";
-					reg = <0x000000 0x200000>;
-				};
-
-				partition@200000 {
-					label = "rootfs";
-					reg = <0x200000 0x580000>;
-				};
-			};
-
-			partition@7c0000 {
-				label = "config";
-				reg = <0x7c0000 0x030000>;
-				read-only;
-			};
-
-			art: partition@7f0000 {
-				label = "art";
-				reg = <0x7f0000 0x010000>;
-				read-only;
-			};
-		};
-	};
-};
-
-&wmac {
-	status = "okay";
-
-	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&info 0x08>;
 };
 
 &eth0 {
diff --git a/target/linux/ath79/dts/ar9344_tplink_cpe610-v1.dts b/target/linux/ath79/dts/ar9344_tplink_cpe610-v1.dts
index 8a78dc4fa454..eaf0acc16457 100644
--- a/target/linux/ath79/dts/ar9344_tplink_cpe610-v1.dts
+++ b/target/linux/ath79/dts/ar9344_tplink_cpe610-v1.dts
@@ -1,10 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /dts-v1/;
 
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-
-#include "ar9344.dtsi"
+#include "ar9344_tplink_cpexxx.dtsi"
 
 / {
 	model = "TP-Link CPE610 v1";
@@ -30,99 +27,6 @@
 			linux,default-trigger = "phy0tpt";
 		};
 	};
-
-	keys {
-		compatible = "gpio-keys";
-
-		reset {
-			linux,code = <KEY_RESTART>;
-			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
-			debounce-interval = <60>;
-		};
-	};
-
-};
-
-&ref {
-	clock-frequency = <40000000>;
-};
-
-&uart {
-	status = "okay";
-};
-
-&spi {
-	num-cs = <1>;
-
-	status = "okay";
-
-	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 {
-				label = "partition-table";
-				reg = <0x020000 0x010000>;
-				read-only;
-			};
-
-			info: partition@30000 {
-				label = "info";
-				reg = <0x030000 0x010000>;
-				read-only;
-			};
-
-			partition@40000 {
-				label = "firmware";
-				reg = <0x040000 0x780000>;
-
-				compatible = "fixed-partitions";
-				#address-cells = <1>;
-				#size-cells = <1>;
-
-				partition@0 {
-					label = "kernel";
-					reg = <0x000000 0x200000>;
-				};
-
-				partition@200000 {
-					label = "rootfs";
-					reg = <0x200000 0x580000>;
-				};
-			};
-
-			partition@7c0000 {
-				label = "config";
-				reg = <0x7c0000 0x030000>;
-				read-only;
-			};
-
-			art: partition@7f0000 {
-				label = "art";
-				reg = <0x7f0000 0x010000>;
-				read-only;
-			};
-		};
-	};
-};
-
-&wmac {
-	status = "okay";
-
-	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&info 0x08>;
 };
 
 &eth0 {
diff --git a/target/linux/ath79/dts/ar9344_tplink_cpexxx.dtsi b/target/linux/ath79/dts/ar9344_tplink_cpexxx.dtsi
new file mode 100644
index 000000000000..15b4fc88764f
--- /dev/null
+++ b/target/linux/ath79/dts/ar9344_tplink_cpexxx.dtsi
@@ -0,0 +1,101 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+#include "ar9344.dtsi"
+
+/ {
+	keys {
+		compatible = "gpio-keys";
+
+		reset {
+			linux,code = <KEY_RESTART>;
+			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+			debounce-interval = <60>;
+		};
+	};
+};
+
+&ref {
+	clock-frequency = <40000000>;
+};
+
+&uart {
+	status = "okay";
+};
+
+&spi {
+	num-cs = <1>;
+
+	status = "okay";
+
+	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 {
+				label = "partition-table";
+				reg = <0x020000 0x010000>;
+				read-only;
+			};
+
+			info: partition@30000 {
+				label = "info";
+				reg = <0x030000 0x010000>;
+				read-only;
+			};
+
+			partition@40000 {
+				label = "firmware";
+				reg = <0x040000 0x780000>;
+
+				compatible = "fixed-partitions";
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				partition@0 {
+					label = "kernel";
+					reg = <0x000000 0x200000>;
+				};
+
+				partition@200000 {
+					label = "rootfs";
+					reg = <0x200000 0x580000>;
+				};
+			};
+
+			partition@7c0000 {
+				label = "config";
+				reg = <0x7c0000 0x030000>;
+				read-only;
+			};
+
+			art: partition@7f0000 {
+				label = "art";
+				reg = <0x7f0000 0x010000>;
+				read-only;
+			};
+		};
+	};
+};
+
+&wmac {
+	status = "okay";
+
+	mtd-cal-data = <&art 0x1000>;
+	mtd-mac-address = <&info 0x08>;
+};
-- 
2.30.2