Просмотр исходного кода

ramips: mt7621: create DTSI for Xiaomi NAND devices

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 <[email protected]>
Adrian Schmutzler 5 лет назад
Родитель
Сommit
93be5926a2

+ 1 - 104
target/linux/ramips/dts/mt7621_xiaomi_mi-router-3g.dts

@@ -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";
@@ -15,10 +12,6 @@
 		label-mac-device = &gmac0;
 	};
 
-	chosen {
-		bootargs = "console=ttyS0,115200n8";
-	};
-
 	leds {
 		compatible = "gpio-leds";
 
@@ -56,16 +49,6 @@
 		};
 	};
 
-	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";
@@ -80,92 +63,6 @@
 	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";
 };

+ 109 - 0
target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi

@@ -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>;
+		};
+	};
+};

+ 1 - 85
target/linux/ramips/dts/mt7621_xiaomi_router-ac2100.dtsi

@@ -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";