[PATCH v3 1/2] ath79: mikrotik: stack ar9344 devices to single dtsi

Tomasz Maciej Nowak tmn505 at terefe.re
Wed Aug 24 09:05:57 PDT 2022


From: Tomasz Maciej Nowak <tmn505 at gmail.com>

Most of boards from MikroTik with AR9344 SoC (supported and
un-supported) replicate the same schematic, so stack common device nodes
to a single dtsi.

ar9344_mikrotik_routerboard-16m-nor.dtsi:
- remove include paragraph and wmac node, make it single nor flash node
  for others dts to include

ar9344_mikrotik_routerboard-lhg-5nd.dts:
- move all of the nodes to new file ar9344_mikrotik_routerboard.dtsi
  and leave only power, user and lan LEDs which differ from sxt-5nd-r2
  and other yet unsupported devices

ar9344_mikrotik_routerboard-sxt-5n.dtsi:
- remove, it made no sense to keep it, as only
  ar9344_mikrotik_routerboard-sxt-5nd-r2.dts included this file and
  added only compatible and model

ar9344_mikrotik_routerboard-sxt-5nd-r2.dts:
- include ar9344_mikrotik_routerboard.dtsi
- add nand gpio activating node, beeper, additional LEDs and flash chips
  which previously have been in ar9344_mikrotik_routerboard-sxt-5n.dtsi

ar9344_mikrotik_routerboard.dtsi:
- inherited most of the content from ar9344_mikrotik_routerboard-lhg-5nd.dts
  except three LEDs
- add wmac node, removed from ar9344_mikrotik_routerboard-16m-nor.dtsi

Signed-off-by: Tomasz Maciej Nowak <tmn505 at gmail.com>
---
v2 -> v3
describe in detail what went where

 .../ar9344_mikrotik_routerboard-16m-nor.dtsi  |   8 -
 .../ar9344_mikrotik_routerboard-lhg-5nd.dts   |  90 ++-------
 .../ar9344_mikrotik_routerboard-sxt-5n.dtsi   | 185 ------------------
 ...ar9344_mikrotik_routerboard-sxt-5nd-r2.dts | 108 +++++++++-
 .../dts/ar9344_mikrotik_routerboard.dtsi      |  78 ++++++++
 5 files changed, 198 insertions(+), 271 deletions(-)
 delete mode 100644 target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5n.dtsi
 create mode 100644 target/linux/ath79/dts/ar9344_mikrotik_routerboard.dtsi

diff --git a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-16m-nor.dtsi b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-16m-nor.dtsi
index 7cc4bb689cd8..b915dd5a723d 100644
--- a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-16m-nor.dtsi
+++ b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-16m-nor.dtsi
@@ -1,7 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
-#include "ar9344.dtsi"
-
 &spi {
 	status = "okay";
 
@@ -55,9 +53,3 @@
 		};
 	};
 };
-
-&wmac {
-	status = "okay";
-
-	qca,no-eeprom;
-};
diff --git a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-lhg-5nd.dts b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-lhg-5nd.dts
index 194a789fb216..b6de8c4b7b11 100644
--- a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-lhg-5nd.dts
+++ b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-lhg-5nd.dts
@@ -1,91 +1,27 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
+#include "ar9344_mikrotik_routerboard.dtsi"
 #include "ar9344_mikrotik_routerboard-16m-nor.dtsi"
 
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-
 / {
 	compatible = "mikrotik,routerboard-lhg-5nd", "qca,ar9344";
 	model = "MikroTik RouterBOARD LHG 5nD";
+};
 
-	aliases {
-		led-boot = &led_user;
-		led-failsafe = &led_user;
-		led-running = &led_user;
-		led-upgrade = &led_user;
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		power {
-			label = "blue:power";
-			gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
-			default-state = "on";
-		};
-
-		rssilow {
-			label = "green:rssilow";
-			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
-		};
-
-		rssimediumlow {
-			label = "green:rssimediumlow";
-			gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
-		};
-
-		rssimedium {
-			label = "green:rssimedium";
-			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
-		};
-
-		rssimediumhigh {
-			label = "green:rssimediumhigh";
-			gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
-		};
-
-		rssihigh {
-			label = "green:rssihigh";
-			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
-		};
-
-		led_user: user {
-			label = "white:user";
-			gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
-		};
-
-		lan {
-			label = "green:lan";
-			gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
-		};
+&leds {
+	power {
+		label = "blue:power";
+		gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
+		default-state = "on";
 	};
 
-	keys {
-		compatible = "gpio-keys";
-
-		reset {
-			label = "reset";
-			linux,code = <KEY_RESTART>;
-			gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
-			debounce-interval = <60>;
-		};
+	led_user: user {
+		label = "white:user";
+		gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
 	};
-};
-
-&eth0 {
-	status = "okay";
 
-	phy-handle = <&swphy0>;
-
-	gmac-config {
-		device = <&gmac>;
-		switch-phy-swap = <1>;
+	lan {
+		label = "green:lan";
+		gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
 	};
 };
-
-&eth1 {
-	status = "okay";
-
-	compatible = "syscon", "simple-mfd";
-};
diff --git a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5n.dtsi b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5n.dtsi
deleted file mode 100644
index 6cf84c98b3ac..000000000000
--- a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5n.dtsi
+++ /dev/null
@@ -1,185 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-
-#include "ar9344.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-
-/ {
-	compatible = "mikrotik,routerboard-sxt-5n", "qca,ar9344";
-	model = "MikroTik SXT 5N platform";
-
-	aliases {
-		led-boot = &led_user;
-		led-failsafe = &led_user;
-		led-running = &led_user;
-		led-upgrade = &led_user;
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		power {
-			label = "green:power";
-			gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
-			default-state = "on";
-		};
-
-		rssilow {
-			label = "green:rssilow";
-			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
-		};
-
-		rssimediumlow {
-			label = "green:rssimediumlow";
-			gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
-		};
-
-		rssimedium {
-			label = "green:rssimedium";
-			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
-		};
-
-		rssimediumhigh {
-			label = "green:rssimediumhigh";
-			gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
-		};
-
-		rssihigh {
-			label = "green:rssihigh";
-			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
-		};
-
-		led_user: user {
-			label = "green:user";
-			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
-		};
-	};
-
-	keys {
-		compatible = "gpio-keys";
-
-		reset {
-			label = "reset";
-			linux,code = <KEY_RESTART>;
-			gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
-			debounce-interval = <60>;
-		};
-	};
-
-	gpio-export {
-		compatible = "gpio-export";
-
-		gpio_nand_power {
-			gpio-export,name = "sxt5n:power:nand";
-			gpio-export,output = <0>;
-			gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
-		};
-	};
-
-	beeper {
-		compatible = "gpio-beeper";
-		gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
-	};
-};
-
-&spi {
-	status = "okay";
-
-	flash at 0 {
-		compatible = "jedec,spi-nor";
-		reg = <0>;
-		spi-max-frequency = <40000000>;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			partition at 0 {
-				label = "RouterBoot";
-				reg = <0x0 0x20000>;
-				compatible = "mikrotik,routerboot-partitions";
-				#address-cells = <1>;
-				#size-cells = <1>;
-
-				partition at 0 {
-					label = "bootloader1";
-					reg = <0x0 0x0>;
-					read-only;
-				};
-
-				hard_config {
-					read-only;
-				};
-
-				bios {
-					size = <0x1000>;
-					read-only;
-				};
-
-				soft_config {
-				};
-
-				partition at 10000 {
-					label = "bootloader2";
-					reg = <0x10000 0x10000>;
-					read-only;
-				};
-			};
-		};
-	};
-};
-
-&nand {
-	status = "okay";
-
-	nand-ecc-mode = "soft";
-	qca,nand-swap-dma;
-	qca,nand-scan-fixup;
-
-	partitions {
-		compatible = "fixed-partitions";
-		#address-cells = <1>;
-		#size-cells = <1>;
-
-		partition at 0 {
-			label = "booter";
-			reg = <0x0000000 0x0040000>;
-			read-only;
-		};
-
-		partition at 40000 {
-			label = "kernel";
-			reg = <0x0040000 0x03c0000>;
-		};
-
-		partition at 400000 {
-			label = "ubi";
-			reg = <0x0400000 0x7c00000>;
-		};
-	};
-};
-
-&eth0 {
-	status = "okay";
-
-	phy-handle = <&swphy0>;
-
-	gmac-config {
-		device = <&gmac>;
-		switch-phy-swap = <1>;
-	};
-};
-
-&eth1 {
-	status = "okay";
-
-	compatible = "syscon", "simple-mfd";
-};
-
-&wmac {
-	status = "okay";
-
-	qca,no-eeprom;
-};
diff --git a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5nd-r2.dts b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5nd-r2.dts
index 3d0b941c24c6..c8b1183d70c9 100644
--- a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5nd-r2.dts
+++ b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5nd-r2.dts
@@ -1,8 +1,114 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
-#include "ar9344_mikrotik_routerboard-sxt-5n.dtsi"
+#include "ar9344_mikrotik_routerboard.dtsi"
 
 / {
 	compatible = "mikrotik,routerboard-sxt-5nd-r2", "qca,ar9344";
 	model = "MikroTik RouterBOARD SXT 5nD r2 (SXT Lite5)";
+
+	gpio-export {
+		compatible = "gpio-export";
+
+		gpio_nand_power {
+			gpio-export,name = "sxt5n:power:nand";
+			gpio-export,output = <0>;
+			gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	beeper {
+		compatible = "gpio-beeper";
+		gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
+	};
+};
+
+&leds {
+	power {
+		label = "green:power";
+		gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
+		default-state = "on";
+	};
+
+	led_user: user {
+		label = "green:user";
+		gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+	};
+};
+
+&spi {
+	status = "okay";
+
+	flash at 0 {
+		compatible = "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <40000000>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition at 0 {
+				label = "RouterBoot";
+				reg = <0x0 0x20000>;
+				compatible = "mikrotik,routerboot-partitions";
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				partition at 0 {
+					label = "bootloader1";
+					reg = <0x0 0x0>;
+					read-only;
+				};
+
+				hard_config {
+					read-only;
+				};
+
+				bios {
+					size = <0x1000>;
+					read-only;
+				};
+
+				soft_config {
+				};
+
+				partition at 10000 {
+					label = "bootloader2";
+					reg = <0x10000 0x10000>;
+					read-only;
+				};
+			};
+		};
+	};
+};
+
+&nand {
+	status = "okay";
+
+	nand-ecc-mode = "soft";
+	qca,nand-swap-dma;
+	qca,nand-scan-fixup;
+
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		partition at 0 {
+			label = "booter";
+			reg = <0x0000000 0x0040000>;
+			read-only;
+		};
+
+		partition at 40000 {
+			label = "kernel";
+			reg = <0x0040000 0x03c0000>;
+		};
+
+		partition at 400000 {
+			label = "ubi";
+			reg = <0x0400000 0x7c00000>;
+		};
+	};
 };
diff --git a/target/linux/ath79/dts/ar9344_mikrotik_routerboard.dtsi b/target/linux/ath79/dts/ar9344_mikrotik_routerboard.dtsi
new file mode 100644
index 000000000000..10233e3d4eef
--- /dev/null
+++ b/target/linux/ath79/dts/ar9344_mikrotik_routerboard.dtsi
@@ -0,0 +1,78 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "ar9344.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+	aliases {
+		led-boot = &led_user;
+		led-failsafe = &led_user;
+		led-running = &led_user;
+		led-upgrade = &led_user;
+	};
+
+	keys {
+		compatible = "gpio-keys";
+
+		reset {
+			label = "reset";
+			linux,code = <KEY_RESTART>;
+			gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+			debounce-interval = <60>;
+		};
+	};
+
+	leds: leds {
+		compatible = "gpio-leds";
+
+		rssilow {
+			label = "green:rssilow";
+			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+		};
+
+		rssimediumlow {
+			label = "green:rssimediumlow";
+			gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+		};
+
+		rssimedium {
+			label = "green:rssimedium";
+			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+		};
+
+		rssimediumhigh {
+			label = "green:rssimediumhigh";
+			gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
+		};
+
+		rssihigh {
+			label = "green:rssihigh";
+			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+		};
+	};
+};
+
+&eth0 {
+	status = "okay";
+
+	phy-handle = <&swphy0>;
+
+	gmac-config {
+		device = <&gmac>;
+		switch-phy-swap = <1>;
+	};
+};
+
+&eth1 {
+	status = "okay";
+
+	compatible = "syscon", "simple-mfd";
+};
+
+&wmac {
+	status = "okay";
+
+	qca,no-eeprom;
+};
-- 
2.37.2




More information about the openwrt-devel mailing list