From: Til Kaiser Date: Mon, 24 Nov 2025 14:49:09 +0000 (+0100) Subject: ramips: split Teltonika RUT9M SPI-NOR layout into separate dtsi X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=93c29343adf705776c76590f28954cfa1bea3bd0;p=openwrt%2Fstaging%2Fldir.git ramips: split Teltonika RUT9M SPI-NOR layout into separate dtsi 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 Link: https://github.com/openwrt/openwrt/pull/20933 Signed-off-by: Hauke Mehrtens --- diff --git a/target/linux/ramips/dts/mt7628an_teltonika_rut9m.dtsi b/target/linux/ramips/dts/mt7628an_teltonika_rut9m.dtsi new file mode 100644 index 0000000000..622a12deaa --- /dev/null +++ b/target/linux/ramips/dts/mt7628an_teltonika_rut9m.dtsi @@ -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>; + }; + }; + }; +}; diff --git a/target/linux/ramips/dts/mt7628an_teltonika_rut9x1.dts b/target/linux/ramips/dts/mt7628an_teltonika_rut9x1.dts index 4523be2c4f..6dfc8551b5 100644 --- a/target/linux/ramips/dts/mt7628an_teltonika_rut9x1.dts +++ b/target/linux/ramips/dts/mt7628an_teltonika_rut9x1.dts @@ -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"; diff --git a/target/linux/ramips/dts/mt7628an_teltonika_rut9x6.dts b/target/linux/ramips/dts/mt7628an_teltonika_rut9x6.dts index 4291d57ed7..f18178e7ba 100644 --- a/target/linux/ramips/dts/mt7628an_teltonika_rut9x6.dts +++ b/target/linux/ramips/dts/mt7628an_teltonika_rut9x6.dts @@ -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"; diff --git a/target/linux/ramips/dts/mt7628an_teltonika_rut9xx.dtsi b/target/linux/ramips/dts/mt7628an_teltonika_rut9xx.dtsi index ed983e9ff4..efab0f894b 100644 --- a/target/linux/ramips/dts/mt7628an_teltonika_rut9xx.dtsi +++ b/target/linux/ramips/dts/mt7628an_teltonika_rut9xx.dtsi @@ -168,73 +168,6 @@ }; }; -&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";