From: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Date: Tue, 8 Dec 2020 14:33:32 +0000 (+0100)
Subject: ramips: mt7628: create shared DTSI for Xiaomi Mi Router 4A/4C
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=89e6cc5c76e675e94c070b920dbe1ff58cfd4436;p=openwrt%2Fstaging%2Fblogic.git

ramips: mt7628: create shared DTSI for Xiaomi Mi Router 4A/4C

The Xiaomi Mi Router 4A (100M) and 4C are relatively similar in
their specs. Create a shared DTSI for them.

Partitions are split in preparation for Mi Router 4AC.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
---

diff --git a/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi
new file mode 100644
index 000000000000..0f5897f5c593
--- /dev/null
+++ b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi
@@ -0,0 +1,102 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7628an.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+	aliases {
+		led-boot = &led_power_yellow;
+		led-failsafe = &led_power_yellow;
+		led-running = &led_power_blue;
+		led-upgrade = &led_power_yellow;
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,115200";
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led_power_blue: power_blue {
+			label = "blue:power";
+			gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+		};
+
+		led_power_yellow: power_yellow {
+			label = "yellow:power";
+			gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	keys {
+		compatible = "gpio-keys";
+
+		reset {
+			label = "reset";
+			gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_RESTART>;
+		};
+	};
+};
+
+&spi0 {
+	status = "okay";
+
+	flash0: flash@0 {
+		compatible = "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <10000000>;
+
+		partitions: partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition@0 {
+				label = "bootloader";
+				reg = <0x0 0x20000>;
+				read-only;
+			};
+
+			partition@20000 {
+				label = "config";
+				reg = <0x20000 0x10000>;
+				read-only;
+			};
+
+			factory: partition@30000 {
+				label = "factory";
+				reg = <0x30000 0x10000>;
+				read-only;
+			};
+
+			partition@40000 {
+				label = "crash";
+				reg = <0x40000 0x10000>;
+				read-only;
+			};
+
+			partition@50000 {
+				label = "cfg_bak";
+				reg = <0x50000 0x10000>;
+				read-only;
+			};
+
+			/* additional partitions in DTS */
+		};
+	};
+};
+
+&state_default {
+	gpio {
+		groups = "gpio", "wdt", "wled_an";
+		function = "gpio";
+	};
+};
+
+&wmac {
+	status = "okay";
+};
diff --git a/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4c.dts b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4c.dts
index f459ae03581b..4389a9daf4c9 100644
--- a/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4c.dts
+++ b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4c.dts
@@ -1,55 +1,31 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
-#include "mt7628an.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
+#include "mt7628an_xiaomi_mi-router-4.dtsi"
 
 / {
 	compatible = "xiaomi,mi-router-4c", "mediatek,mt7628an-soc";
 	model = "Xiaomi Mi Router 4C";
 
 	aliases {
-		led-boot = &led_power_yellow;
-		led-failsafe = &led_power_yellow;
-		led-running = &led_power_blue;
-		led-upgrade = &led_power_yellow;
 		label-mac-device = &ethernet;
 	};
+};
 
-	chosen {
-		bootargs = "console=ttyS0,115200";
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		led_power_blue: power_blue {
-			label = "blue:power";
-			gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
-		};
-
-		led_power_yellow: power_yellow {
-			label = "yellow:power";
-			gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
-		};
-	};
-
-	keys {
-		compatible = "gpio-keys";
+&flash0 {
+	spi-max-frequency = <40000000>;
+};
 
-		reset {
-			label = "reset";
-			gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_RESTART>;
-		};
+&partitions {
+	partition@60000 {
+		label = "overlay";
+		reg = <0x60000 0x100000>;
+		read-only;
 	};
-};
 
-&state_default {
-	gpio {
-		groups = "gpio", "wdt", "wled_an";
-		function = "gpio";
+	partition@160000 {
+		label = "firmware";
+		reg = <0x160000 0xea0000>;
+		compatible = "denx,uimage";
 	};
 };
 
@@ -61,73 +37,11 @@
 	status = "disabled";
 };
 
-&esw {
-	mediatek,portmap = <0x3d>;
-	mediatek,portdisable = <0x29>;
-};
-
-&wmac {
-	status = "okay";
-};
-
 &ethernet {
 	mtd-mac-address = <&factory 0x28>;
 };
 
-&spi0 {
-	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 = "bootloader";
-				reg = <0x0 0x20000>;
-				read-only;
-			};
-
-			partition@20000 {
-				label = "config";
-				reg = <0x20000 0x10000>;
-				read-only;
-			};
-
-			factory: partition@30000 {
-				label = "factory";
-				reg = <0x30000 0x10000>;
-				read-only;
-			};
-
-			partition@40000 {
-				label = "crash";
-				reg = <0x40000 0x10000>;
-				read-only;
-			};
-
-			partition@50000 {
-				label = "cfg_bak";
-				reg = <0x50000 0x10000>;
-				read-only;
-			};
-
-			partition@60000 {
-				label = "overlay";
-				reg = <0x60000 0x100000>;
-				read-only;
-			};
-
-			partition@160000 {
-				label = "firmware";
-				reg = <0x160000 0xea0000>;
-				compatible = "denx,uimage";
-			};
-		};
-	};
+&esw {
+	mediatek,portmap = <0x3d>;
+	mediatek,portdisable = <0x29>;
 };
diff --git a/target/linux/ramips/dts/mt7628an_xiaomi_mir4a-100m.dts b/target/linux/ramips/dts/mt7628an_xiaomi_mir4a-100m.dts
index c4912048f53a..a1a7dc7383f8 100644
--- a/target/linux/ramips/dts/mt7628an_xiaomi_mir4a-100m.dts
+++ b/target/linux/ramips/dts/mt7628an_xiaomi_mir4a-100m.dts
@@ -1,105 +1,23 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
-#include "mt7628an.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
+#include "mt7628an_xiaomi_mi-router-4.dtsi"
 
 / {
 	compatible = "xiaomi,mir4a-100m", "mediatek,mt7628an-soc";
 	model = "Xiaomi Mi Router 4A (100M Edition)";
-
-	chosen {
-		bootargs = "console=ttyS0,115200";
-	};
-
-	aliases {
-		led-boot = &power_yellow;
-		led-failsafe = &power_yellow;
-		led-running = &power_blue;
-		led-upgrade = &power_yellow;
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		power_blue: power_blue {
-			label = "blue:power";
-			gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
-		};
-
-		power_yellow: power_yellow {
-			label = "yellow:power";
-			gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
-		};
-	};
-
-	keys {
-		compatible = "gpio-keys";
-
-		reset {
-			label = "reset";
-			gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_RESTART>;
-		};
-	};
 };
 
-&spi0 {
-	status = "okay";
-
-	flash@0 {
-		compatible = "jedec,spi-nor";
-		reg = <0>;
-		spi-max-frequency = <10000000>;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			partition@0 {
-				label = "bootloader";
-				reg = <0x0 0x20000>;
-				read-only;
-			};
-
-			partition@20000 {
-				label = "config";
-				reg = <0x20000 0x10000>;
-				read-only;
-			};
-
-			factory: partition@30000 {
-				label = "factory";
-				reg = <0x30000 0x10000>;
-				read-only;
-			};
-
-			partition@40000 {
-				label = "crash";
-				reg = <0x40000 0x10000>;
-				read-only;
-			};
-
-			partition@50000 {
-				label = "cfg_bak";
-				reg = <0x50000 0x10000>;
-				read-only;
-			};
-
-			partition@60000 {
-				label = "overlay";
-				reg = <0x60000 0x100000>;
-				read-only;
-			};
+&partitions {
+	partition@60000 {
+		label = "overlay";
+		reg = <0x60000 0x100000>;
+		read-only;
+	};
 
-			partition@160000 {
-				label = "firmware";
-				reg = <0x160000 0xea0000>;
-				compatible = "denx,uimage";
-			};
-		};
+	partition@160000 {
+		label = "firmware";
+		reg = <0x160000 0xea0000>;
+		compatible = "denx,uimage";
 	};
 };
 
@@ -116,13 +34,6 @@
 	};
 };
 
-&state_default {
-	gpio {
-		groups = "gpio", "wdt", "wled_an";
-		function = "gpio";
-	};
-};
-
 &ethernet {
 	mtd-mac-address = <&factory 0x4>;
 	mtd-mac-address-increment = <(-1)>;
@@ -132,7 +43,3 @@
 	mediatek,portmap = <0x3e>;
 	mediatek,portdisable = <0x2a>;
 };
-
-&wmac {
-	status = "okay";
-};