From 3381392557fe5cd1dd00d6f63dc5aa7e37333021 Mon Sep 17 00:00:00 2001
From: Michael Pratt <mcpratt@pm.me>
Date: Thu, 26 Nov 2020 18:57:31 -0500
Subject: [PATCH] ath79: create common DTSI for ECB1200 and ECB1750

These boards are sister boards

exactly the same hardware except that ECB1200 has:
 - QCA9557
 - 2 RF circuits/antennas per band instead of 3
 - a resistor blocking UART RX line

Tested-by: sven friedmann <sf.openwrt@okay.ms>
Signed-off-by: Michael Pratt <mcpratt@pm.me>
---
 .../ath79/dts/qca9557_engenius_ecb1200.dts    | 134 +----------------
 .../ath79/dts/qca9558_engenius_ecb1750.dts    | 133 +----------------
 .../ath79/dts/qca955x_engenius_ecb1xxx.dtsi   | 137 ++++++++++++++++++
 3 files changed, 139 insertions(+), 265 deletions(-)
 create mode 100644 target/linux/ath79/dts/qca955x_engenius_ecb1xxx.dtsi

diff --git a/target/linux/ath79/dts/qca9557_engenius_ecb1200.dts b/target/linux/ath79/dts/qca9557_engenius_ecb1200.dts
index ee46cd79e7..955f17f0f3 100644
--- a/target/linux/ath79/dts/qca9557_engenius_ecb1200.dts
+++ b/target/linux/ath79/dts/qca9557_engenius_ecb1200.dts
@@ -1,140 +1,8 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
-#include "qca955x.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
+#include "qca955x_engenius_ecb1xxx.dtsi"
 
 / {
 	compatible = "engenius,ecb1200", "qca,qca9557";
 	model = "EnGenius ECB1200";
-
-	aliases {
-		led-boot = &led_power;
-		led-failsafe = &led_power;
-		led-running = &led_power;
-		led-upgrade = &led_power;
-	};
-
-	keys {
-		compatible = "gpio-keys";
-
-		reset {
-			label = "reset";
-			debounce-interval = <60>;
-			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_RESTART>;
-		};
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		led_power: power {
-			label = "amber:power";
-			gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
-			default-state = "on";
-		};
-
-		wifi2g {
-			label = "blue:wifi2g";
-			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
-			linux,default-trigger = "phy1tpt";
-		};
-
-		wifi5g {
-			label = "blue:wifi5g";
-			gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
-			linux,default-trigger = "phy0tpt";
-		};
-	};
-};
-
-&uart {
-	status = "okay";
-};
-
-&spi {
-	status = "okay";
-
-	flash@0 {
-		compatible = "jedec,spi-nor";
-		reg = <0>;
-		spi-max-frequency = <40000000>;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			partition@0 {
-				label = "u-boot";
-				reg = <0x000000 0x040000>;
-				read-only;
-			};
-
-			partition@40000 {
-				label = "u-boot-env";
-				reg = <0x040000 0x010000>;
-			};
-
-			partition@50000 {
-				compatible = "denx,uimage";
-				label = "firmware";
-				reg = <0x050000 0xf50000>;
-			};
-
-			partition@fa0000 {
-				label = "userconfig";
-				reg = <0xfa0000 0x050000>;
-				read-only;
-			};
-
-			partition@ff0000 {
-				label = "art";
-				reg = <0xff0000 0x010000>;
-				read-only;
-			};
-		};
-	};
-};
-
-&mdio0 {
-	status = "okay";
-
-	phy5: ethernet-phy@5 {
-		reg = <5>;
-		eee-broken-100tx;
-		eee-broken-1000t;
-	};
-};
-
-&eth0 {
-	status = "okay";
-
-	phy-handle = <&phy5>;
-	phy-mode = "rgmii-id";
-
-	pll-data = <0x82000000 0x80000101 0x80001313>;
-
-	gmac-config {
-		device = <&gmac>;
-		rgmii-enabled = <1>;
-	};
-};
-
-&pcie0 {
-	status = "okay";
-
-	wifi@0,0,0 {
-		compatible = "qcom,ath10k";
-		reg = <0x0 0 0 0 0>;
-		qca,no-eeprom;
-	};
-};
-
-&wmac {
-	status = "okay";
-
-	qca,no-eeprom;
 };
diff --git a/target/linux/ath79/dts/qca9558_engenius_ecb1750.dts b/target/linux/ath79/dts/qca9558_engenius_ecb1750.dts
index 159ccc1872..4ee4c8ea69 100644
--- a/target/linux/ath79/dts/qca9558_engenius_ecb1750.dts
+++ b/target/linux/ath79/dts/qca9558_engenius_ecb1750.dts
@@ -1,139 +1,8 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
-#include "qca955x.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
+#include "qca955x_engenius_ecb1xxx.dtsi"
 
 / {
 	compatible = "engenius,ecb1750", "qca,qca9558";
 	model = "EnGenius ECB1750";
-
-	aliases {
-		led-boot = &led_power_orange;
-		led-failsafe = &led_power_orange;
-		led-running = &led_power_orange;
-		led-upgrade = &led_power_orange;
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		led_power_orange: power_orange {
-			label = "orange:power";
-			gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
-			default-state = "on";
-		};
-
-		wlan2g {
-			label = "blue:wlan2g";
-			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
-			linux,default-trigger = "phy1tpt";
-		};
-
-		wlan5g {
-			label = "blue:wlan5g";
-			gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
-			linux,default-trigger = "phy0tpt";
-		};
-
-		lan {
-			label = "blue:lan";
-			gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
-		};
-	};
-
-	keys {
-		compatible = "gpio-keys";
-
-		reset {
-			label = "reset";
-			linux,code = <KEY_RESTART>;
-			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
-		};
-	};
-};
-
-&pcie0 {
-	status = "okay";
-};
-
-&uart {
-	status = "okay";
-};
-
-&spi {
-	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 0x040000>;
-				read-only;
-			};
-
-			partition@40000 {
-				label = "u-boot-env";
-				reg = <0x040000 0x010000>;
-			};
-
-			partition@50000 {
-				compatible = "denx,uimage";
-				label = "firmware";
-				reg = <0x050000 0xf50000>;
-			};
-
-			partition@fa0000 {
-				label = "userconfig";
-				reg = <0xfa0000 0x050000>;
-				read-only;
-			};
-
-			art: partition@ff0000 {
-				label = "art";
-				reg = <0xff0000 0x010000>;
-				read-only;
-			};
-		};
-	};
-};
-
-&wmac {
-	status = "okay";
-
-	qca,no-eeprom;
-};
-
-&mdio0 {
-	status = "okay";
-
-	phy5: ethernet-phy@5 {
-		reg = <5>;
-		eee-broken-100tx;
-		eee-broken-1000t;
-	};
-};
-
-&eth0 {
-	status = "okay";
-
-	pll-data = <0x9a000000 0x80000101 0x80001313>;
-
-	phy-handle = <&phy5>;
-
-	gmac-config {
-		device = <&gmac>;
-		rgmii-gmac0 = <1>;
-		rxd-delay = <3>;
-		rxdv-delay = <3>;
-	};
 };
diff --git a/target/linux/ath79/dts/qca955x_engenius_ecb1xxx.dtsi b/target/linux/ath79/dts/qca955x_engenius_ecb1xxx.dtsi
new file mode 100644
index 0000000000..0051eb2508
--- /dev/null
+++ b/target/linux/ath79/dts/qca955x_engenius_ecb1xxx.dtsi
@@ -0,0 +1,137 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "qca955x.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+	aliases {
+		led-boot = &led_power;
+		led-failsafe = &led_power;
+		led-running = &led_power;
+		led-upgrade = &led_power;
+	};
+
+	keys {
+		compatible = "gpio-keys";
+
+		reset {
+			label = "reset";
+			debounce-interval = <60>;
+			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_RESTART>;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led_power: power {
+			label = "amber:power";
+			gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
+			default-state = "on";
+		};
+
+		wifi2g {
+			label = "blue:wifi2g";
+			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "phy1tpt";
+		};
+
+		wifi5g {
+			label = "blue:wifi5g";
+			gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "phy0tpt";
+		};
+	};
+};
+
+&uart {
+	status = "okay";
+};
+
+&spi {
+	status = "okay";
+
+	flash@0 {
+		compatible = "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <40000000>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition@0 {
+				label = "u-boot";
+				reg = <0x000000 0x040000>;
+				read-only;
+			};
+
+			partition@40000 {
+				label = "u-boot-env";
+				reg = <0x040000 0x010000>;
+			};
+
+			partition@50000 {
+				compatible = "denx,uimage";
+				label = "firmware";
+				reg = <0x050000 0xf50000>;
+			};
+
+			partition@fa0000 {
+				label = "userconfig";
+				reg = <0xfa0000 0x050000>;
+				read-only;
+			};
+
+			partition@ff0000 {
+				label = "art";
+				reg = <0xff0000 0x010000>;
+				read-only;
+			};
+		};
+	};
+};
+
+&mdio0 {
+	status = "okay";
+
+	phy5: ethernet-phy@5 {
+		reg = <5>;
+		eee-broken-100tx;
+		eee-broken-1000t;
+	};
+};
+
+&eth0 {
+	status = "okay";
+
+	phy-handle = <&phy5>;
+	phy-mode = "rgmii-id";
+
+	pll-data = <0x82000000 0x80000101 0x80001313>;
+
+	gmac-config {
+		device = <&gmac>;
+		rgmii-enabled = <1>;
+	};
+};
+
+&pcie0 {
+	status = "okay";
+
+	wifi@0,0,0 {
+		compatible = "qcom,ath10k";
+		reg = <0x0 0 0 0 0>;
+		qca,no-eeprom;
+	};
+};
+
+&wmac {
+	status = "okay";
+
+	qca,no-eeprom;
+};
-- 
2.30.2