ramips: split Teltonika RUT9M SPI-NOR layout into separate dtsi
authorTil Kaiser <[email protected]>
Mon, 24 Nov 2025 14:49:09 +0000 (15:49 +0100)
committerHauke Mehrtens <[email protected]>
Sun, 30 Nov 2025 22:49:57 +0000 (23:49 +0100)
Introduce mt7628an_teltonika_rut9m.dtsi to hold the SPI-NOR flash
definition and partition layout specific to the RUT9M series.

This refactor prepares for supporting the Tetonika RUT976
(part of the RUTE series), which shares most hardware with
RUT9M devices but has a different flash layout.

Update RUT9x1 and RUT9x6 DTS files to include the new dtsi.
Existing RUT9M devices remain unchanged.

Signed-off-by: Til Kaiser <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20933
Signed-off-by: Hauke Mehrtens <[email protected]>
target/linux/ramips/dts/mt7628an_teltonika_rut9m.dtsi [new file with mode: 0644]
target/linux/ramips/dts/mt7628an_teltonika_rut9x1.dts
target/linux/ramips/dts/mt7628an_teltonika_rut9x6.dts
target/linux/ramips/dts/mt7628an_teltonika_rut9xx.dtsi

diff --git a/target/linux/ramips/dts/mt7628an_teltonika_rut9m.dtsi b/target/linux/ramips/dts/mt7628an_teltonika_rut9m.dtsi
new file mode 100644 (file)
index 0000000..622a12d
--- /dev/null
@@ -0,0 +1,70 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7628an_teltonika_rut9xx.dtsi"
+
+&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 = "u-boot";
+                               reg = <0x0 0x20000>;
+                               read-only;
+                       };
+
+                       partition@20000 {
+                               label = "config";
+                               reg = <0x020000 0x010000>;
+                               read-only;
+
+                               nvmem-layout {
+                                       compatible = "fixed-layout";
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+
+                                       macaddr_config_0: macaddr@0 {
+                                               reg = <0x0 0x6>;
+                                               compatible = "mac-base";
+                                               #nvmem-cell-cells = <1>;
+                                       };
+                               };
+                       };
+
+                       partition@30000 {
+                               label = "factory";
+                               reg = <0x030000 0x030000>;
+                               read-only;
+
+                               nvmem-layout {
+                                       compatible = "fixed-layout";
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+
+                                       eeprom_factory_0: eeprom@0 {
+                                               reg = <0x20000 0x400>;
+                                       };
+                               };
+                       };
+
+                       partition@60000 {
+                               compatible = "denx,uimage";
+                               label = "firmware";
+                               reg = <0x060000 0xf10000>;
+                       };
+
+                       partition@f70000 {
+                               label = "event-log";
+                               reg = <0xf70000 0x90000>;
+                       };
+               };
+       };
+};
index 4523be2c4f95c4f8469a4f294448bc63ed5b22e1..6dfc8551b5e70a0529758538e21c1b197f1d99f9 100644 (file)
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
-#include "mt7628an_teltonika_rut9xx.dtsi"
+#include "mt7628an_teltonika_rut9m.dtsi"
 
 / {
        compatible = "teltonika,rut9x1", "mediatek,mt7628an-soc";
index 4291d57ed7869b5281e53f4cb969684e983a33e9..f18178e7bae108768db014e12bba726ae601d76f 100644 (file)
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
-#include "mt7628an_teltonika_rut9xx.dtsi"
+#include "mt7628an_teltonika_rut9m.dtsi"
 
 / {
        compatible = "teltonika,rut9x6", "mediatek,mt7628an-soc";
index ed983e9ff4b9082fbcf5eebb408aae0279a69ed2..efab0f894bc147a5cffda1971cae9bc67725b924 100644 (file)
        };
 };
 
-&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 = "u-boot";
-                               reg = <0x0 0x20000>;
-                               read-only;
-                       };
-
-                       partition@20000 {
-                               label = "config";
-                               reg = <0x020000 0x010000>;
-                               read-only;
-
-                               nvmem-layout {
-                                       compatible = "fixed-layout";
-                                       #address-cells = <1>;
-                                       #size-cells = <1>;
-
-                                       macaddr_config_0: macaddr@0 {
-                                               reg = <0x0 0x6>;
-                                               compatible = "mac-base";
-                                               #nvmem-cell-cells = <1>;
-                                       };
-                               };
-                       };
-
-                       partition@30000 {
-                               label = "factory";
-                               reg = <0x030000 0x030000>;
-                               read-only;
-
-                               nvmem-layout {
-                                       compatible = "fixed-layout";
-                                       #address-cells = <1>;
-                                       #size-cells = <1>;
-
-                                       eeprom_factory_0: eeprom@0 {
-                                               reg = <0x20000 0x400>;
-                                       };
-                               };
-                       };
-
-                       partition@60000 {
-                               compatible = "denx,uimage";
-                               label = "firmware";
-                               reg = <0x060000 0xf10000>;
-                       };
-
-                       partition@f70000 {
-                               label = "event-log";
-                               reg = <0xf70000 0x90000>;
-                       };
-               };
-       };
-};
-
 &state_default {
        gpio {
                groups = "i2s", "p4led_an", "p3led_an", "p2led_an", "p1led_an", "p0led_an", "gpio", "wled_an", "perst", "refclk", "spi cs1";