ramips: mt7621: create DTSI for Xiaomi NAND devices
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Tue, 19 Jan 2021 17:48:48 +0000 (18:48 +0100)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Thu, 21 Jan 2021 21:52:02 +0000 (22:52 +0100)
This creates a DTSI for Xiaomi devices with 128M NAND.

This allows to consolidate the partitions and a few other nodes for
AC2100 family and Mi Router 3G.

Note that the Mi Router 3 Pro has 256M NAND and differently sized
partitions.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/ramips/dts/mt7621_xiaomi_mi-router-3g.dts
target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi [new file with mode: 0644]
target/linux/ramips/dts/mt7621_xiaomi_router-ac2100.dtsi

index 479cfc354c822719b12277342e4bc63c0495145e..40ea6625d4a3577de0e3904e688fd8206317b737 100644 (file)
@@ -1,7 +1,4 @@
-#include "mt7621.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
+#include "mt7621_xiaomi_nand_128m.dtsi"
 
 / {
        compatible = "xiaomi,mi-router-3g", "mediatek,mt7621-soc";
                label-mac-device = &gmac0;
        };
 
-       chosen {
-               bootargs = "console=ttyS0,115200n8";
-       };
-
        leds {
                compatible = "gpio-leds";
 
                };
        };
 
-       keys {
-               compatible = "gpio-keys";
-
-               reset {
-                       label = "reset";
-                       gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
-                       linux,code = <KEY_RESTART>;
-               };
-       };
-
        reg_usb_vbus: regulator {
                compatible = "regulator-fixed";
                regulator-name = "usb_vbus";
        vbus-supply = <&reg_usb_vbus>;
 };
 
-&nand {
-       status = "okay";
-
-       partitions {
-               compatible = "fixed-partitions";
-               #address-cells = <1>;
-               #size-cells = <1>;
-
-               partition@0 {
-                       label = "Bootloader";
-                       reg = <0x0 0x80000>;
-                       read-only;
-               };
-
-               partition@80000 {
-                       label = "Config";
-                       reg = <0x80000 0x40000>;
-               };
-
-               partition@c0000 {
-                       label = "Bdata";
-                       reg = <0xc0000 0x40000>;
-                       read-only;
-               };
-
-               factory: partition@100000 {
-                       label = "factory";
-                       reg = <0x100000 0x40000>;
-                       read-only;
-               };
-
-               partition@140000 {
-                       label = "crash";
-                       reg = <0x140000 0x40000>;
-               };
-
-               partition@180000 {
-                       label = "crash_syslog";
-                       reg = <0x180000 0x40000>;
-               };
-
-               partition@1c0000 {
-                       label = "reserved0";
-                       reg = <0x1c0000 0x40000>;
-                       read-only;
-               };
-
-               /* uboot expects to find kernels at 0x200000 & 0x600000
-                * referred to as system 1 & system 2 respectively.
-                * a kernel is considered suitable for handing control over
-                * if its linux magic number exists & uImage CRC are correct.
-                * If either of those conditions fail, a matching sys'n'_fail flag
-                * is set in uboot env & a restart performed in the hope that the
-                * alternate kernel is okay.
-                * if neither kernel checksums ok and both are marked failed, system 2
-                * is booted anyway.
-                *
-                * Note uboot's tftp flash install writes the transferred
-                * image to both kernel partitions.
-                */
-
-               partition@200000 {
-                       label = "kernel_stock";
-                       reg = <0x200000 0x400000>;
-               };
-
-               partition@600000 {
-                       label = "kernel";
-                       reg = <0x600000 0x400000>;
-               };
-
-               /* ubi partition is the result of squashing
-                * next consecutive stock partitions:
-                * - rootfs0 (rootfs partition for stock kernel0),
-                * - rootfs1 (rootfs partition for stock failsafe kernel1),
-                * - overlay (used as ubi overlay in stock fw)
-                * resulting 117,5MiB space for packages.
-                */
-
-               partition@a00000 {
-                       label = "ubi";
-                       reg = <0xa00000 0x7580000>;
-               };
-       };
-};
-
 &pcie {
        status = "okay";
 };
diff --git a/target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi b/target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi
new file mode 100644 (file)
index 0000000..12e6bcc
--- /dev/null
@@ -0,0 +1,109 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7621.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+       chosen {
+               bootargs = "console=ttyS0,115200n8";
+       };
+
+       keys: keys {
+               compatible = "gpio-keys";
+
+               reset {
+                       label = "reset";
+                       gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+               };
+       };
+};
+
+&nand {
+       status = "okay";
+
+       partitions {
+               compatible = "fixed-partitions";
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               partition@0 {
+                       label = "Bootloader";
+                       reg = <0x0 0x80000>;
+                       read-only;
+               };
+
+               partition@80000 {
+                       label = "Config";
+                       reg = <0x80000 0x40000>;
+               };
+
+               partition@c0000 {
+                       label = "Bdata";
+                       reg = <0xc0000 0x40000>;
+                       read-only;
+               };
+
+               factory: partition@100000 {
+                       label = "factory";
+                       reg = <0x100000 0x40000>;
+                       read-only;
+               };
+
+               partition@140000 {
+                       label = "crash";
+                       reg = <0x140000 0x40000>;
+               };
+
+               partition@180000 {
+                       label = "crash_syslog";
+                       reg = <0x180000 0x40000>;
+               };
+
+               partition@1c0000 {
+                       label = "reserved0";
+                       reg = <0x1c0000 0x40000>;
+                       read-only;
+               };
+
+               /* uboot expects to find kernels at 0x200000 & 0x600000
+                * referred to as system 1 & system 2 respectively.
+                * a kernel is considered suitable for handing control over
+                * if its linux magic number exists & uImage CRC are correct.
+                * If either of those conditions fail, a matching sys'n'_fail flag
+                * is set in uboot env & a restart performed in the hope that the
+                * alternate kernel is okay.
+                * if neither kernel checksums ok and both are marked failed, system 2
+                * is booted anyway.
+                *
+                * Note uboot's tftp flash install writes the transferred
+                * image to both kernel partitions.
+                */
+
+               /* We keep stock xiaomi firmware (kernel0) here */
+               partition@200000 {
+                       label = "kernel_stock";
+                       reg = <0x200000 0x400000>;
+               };
+
+               partition@600000 {
+                       label = "kernel";
+                       reg = <0x600000 0x400000>;
+               };
+
+               /* ubi partition is the result of squashing
+                * next consecutive stock partitions:
+                * - rootfs0 (rootfs partition for stock kernel0),
+                * - rootfs1 (rootfs partition for stock failsafe kernel1),
+                * - overlay (used as ubi overlay in stock fw)
+                * resulting 117,5MiB space for packages.
+                */
+
+               partition@a00000 {
+                       label = "ubi";
+                       reg = <0xa00000 0x7580000>;
+               };
+       };
+};
index 8241517c73be200a14dc99be2db01a68fb54ce9a..7e6b3afcdf008dc6506bd09b207ec64770a59bbf 100644 (file)
@@ -1,90 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
-#include "mt7621.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-
-/ {
-       chosen {
-               bootargs = "console=ttyS0,115200n8";
-       };
-
-       keys {
-               compatible = "gpio-keys";
-
-               reset {
-                       label = "reset";
-                       gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
-                       linux,code = <KEY_RESTART>;
-               };
-       };
-};
-
-&nand {
-       status = "okay";
-
-       partitions {
-               compatible = "fixed-partitions";
-               #address-cells = <1>;
-               #size-cells = <1>;
-
-               partition@0 {
-                       label = "Bootloader";
-                       reg = <0x0 0x80000>;
-                       read-only;
-               };
-
-               partition@80000 {
-                       label = "Config";
-                       reg = <0x80000 0x40000>;
-               };
-
-               partition@c0000 {
-                       label = "Bdata";
-                       reg = <0xc0000 0x40000>;
-                       read-only;
-               };
-
-               factory: partition@100000 {
-                       label = "factory";
-                       reg = <0x100000 0x40000>;
-                       read-only;
-               };
-
-               partition@140000 {
-                       label = "crash";
-                       reg = <0x140000 0x40000>;
-               };
-
-               partition@180000 {
-                       label = "crash_syslog";
-                       reg = <0x180000 0x40000>;
-               };
-
-               partition@1c0000 {
-                       label = "reserved0";
-                       reg = <0x1c0000 0x40000>;
-                       read-only;
-               };
-
-               /* We keep stock xiaomi firmware (kernel0) here */
-               partition@200000 {
-                       label = "kernel_stock";
-                       reg = <0x200000 0x400000>;
-               };
-
-               partition@600000 {
-                       label = "kernel";
-                       reg = <0x600000 0x400000>;
-               };
-
-               partition@a00000 {
-                       label = "ubi";
-                       reg = <0xa00000 0x7580000>;
-               };
-       };
-};
+#include "mt7621_xiaomi_nand_128m.dtsi"
 
 &pcie {
        status = "okay";