ramips: mt7628: create shared DTSI for Xiaomi Mi Router 4A/4C
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Tue, 8 Dec 2020 14:33:32 +0000 (15:33 +0100)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Tue, 8 Dec 2020 14:39:00 +0000 (15:39 +0100)
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>
target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi [new file with mode: 0644]
target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4c.dts
target/linux/ramips/dts/mt7628an_xiaomi_mir4a-100m.dts

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 (file)
index 0000000..0f5897f
--- /dev/null
@@ -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";
+};
index f459ae03581bef5637f57ab9905c0431c98aede0..4389a9daf4c9b08f352afd7c665ffaf10578ef4a 100644 (file)
@@ -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";
        };
 };
 
        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>;
 };
index c4912048f53adb5ae7ee4f66783939bbda5d736e..a1a7dc7383f8ce8dcff8b497fc34d395f85deae0 100644 (file)
 // 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";
        };
 };
 
        };
 };
 
-&state_default {
-       gpio {
-               groups = "gpio", "wdt", "wled_an";
-               function = "gpio";
-       };
-};
-
 &ethernet {
        mtd-mac-address = <&factory 0x4>;
        mtd-mac-address-increment = <(-1)>;
        mediatek,portmap = <0x3e>;
        mediatek,portdisable = <0x2a>;
 };
-
-&wmac {
-       status = "okay";
-};