[openwrt/openwrt] ramips: mt7621: create DTSI for Xiaomi NAND devices

LEDE Commits lede-commits at lists.infradead.org
Thu Jan 21 16:54:01 EST 2021


adrian pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/93be5926a2c2ebda05486a43f998a2ee38d32e61

commit 93be5926a2c2ebda05486a43f998a2ee38d32e61
Author: Adrian Schmutzler <freifunk at adrianschmutzler.de>
AuthorDate: Tue Jan 19 18:48:48 2021 +0100

    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 <freifunk at adrianschmutzler.de>
---
 .../ramips/dts/mt7621_xiaomi_mi-router-3g.dts      | 105 +--------------------
 ...er-ac2100.dtsi => mt7621_xiaomi_nand_128m.dtsi} |  82 +++++-----------
 .../ramips/dts/mt7621_xiaomi_router-ac2100.dtsi    |  86 +----------------
 3 files changed, 25 insertions(+), 248 deletions(-)

diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-3g.dts b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-3g.dts
index 479cfc354c..40ea6625d4 100644
--- a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-3g.dts
+++ b/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 at 0 {
-			label = "Bootloader";
-			reg = <0x0 0x80000>;
-			read-only;
-		};
-
-		partition at 80000 {
-			label = "Config";
-			reg = <0x80000 0x40000>;
-		};
-
-		partition at c0000 {
-			label = "Bdata";
-			reg = <0xc0000 0x40000>;
-			read-only;
-		};
-
-		factory: partition at 100000 {
-			label = "factory";
-			reg = <0x100000 0x40000>;
-			read-only;
-		};
-
-		partition at 140000 {
-			label = "crash";
-			reg = <0x140000 0x40000>;
-		};
-
-		partition at 180000 {
-			label = "crash_syslog";
-			reg = <0x180000 0x40000>;
-		};
-
-		partition at 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 at 200000 {
-			label = "kernel_stock";
-			reg = <0x200000 0x400000>;
-		};
-
-		partition at 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 at a00000 {
-			label = "ubi";
-			reg = <0xa00000 0x7580000>;
-		};
-	};
-};
-
 &pcie {
 	status = "okay";
 };
diff --git a/target/linux/ramips/dts/mt7621_xiaomi_router-ac2100.dtsi b/target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi
similarity index 59%
copy from target/linux/ramips/dts/mt7621_xiaomi_router-ac2100.dtsi
copy to target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi
index 8241517c73..12e6bccc2e 100644
--- a/target/linux/ramips/dts/mt7621_xiaomi_router-ac2100.dtsi
+++ b/target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi
@@ -10,7 +10,7 @@
 		bootargs = "console=ttyS0,115200n8";
 	};
 
-	keys {
+	keys: keys {
 		compatible = "gpio-keys";
 
 		reset {
@@ -68,6 +68,20 @@
 			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 at 200000 {
 			label = "kernel_stock";
@@ -79,67 +93,17 @@
 			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 at a00000 {
 			label = "ubi";
 			reg = <0xa00000 0x7580000>;
 		};
 	};
 };
-
-&pcie {
-	status = "okay";
-};
-
-&pcie0 {
-	wifi at 0,0 {
-		compatible = "mediatek,mt76";
-		reg = <0x0000 0 0 0 0>;
-		mediatek,mtd-eeprom = <&factory 0x8000>;
-		ieee80211-freq-limit = <5000000 6000000>;
-	};
-};
-
-&pcie1 {
-	wifi at 0,0 {
-		compatible = "mediatek,mt76";
-		reg = <0x0000 0 0 0 0>;
-		mediatek,mtd-eeprom = <&factory 0x0000>;
-		ieee80211-freq-limit = <2400000 2500000>;
-	};
-};
-
-&gmac0 {
-	mtd-mac-address = <&factory 0xe000>;
-};
-
-&switch0 {
-	ports {
-		port at 0 {
-			status = "okay";
-			label = "wan";
-			mtd-mac-address = <&factory 0xe006>;
-		};
-
-		port at 2 {
-			status = "okay";
-			label = "lan1";
-		};
-
-		port at 3 {
-			status = "okay";
-			label = "lan2";
-		};
-
-		port at 4 {
-			status = "okay";
-			label = "lan3";
-		};
-	};
-};
-
-&state_default {
-	gpio {
-		groups = "uart2", "uart3", "wdt";
-		function = "gpio";
-	};
-};
diff --git a/target/linux/ramips/dts/mt7621_xiaomi_router-ac2100.dtsi b/target/linux/ramips/dts/mt7621_xiaomi_router-ac2100.dtsi
index 8241517c73..7e6b3afcdf 100644
--- a/target/linux/ramips/dts/mt7621_xiaomi_router-ac2100.dtsi
+++ b/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 at 0 {
-			label = "Bootloader";
-			reg = <0x0 0x80000>;
-			read-only;
-		};
-
-		partition at 80000 {
-			label = "Config";
-			reg = <0x80000 0x40000>;
-		};
-
-		partition at c0000 {
-			label = "Bdata";
-			reg = <0xc0000 0x40000>;
-			read-only;
-		};
-
-		factory: partition at 100000 {
-			label = "factory";
-			reg = <0x100000 0x40000>;
-			read-only;
-		};
-
-		partition at 140000 {
-			label = "crash";
-			reg = <0x140000 0x40000>;
-		};
-
-		partition at 180000 {
-			label = "crash_syslog";
-			reg = <0x180000 0x40000>;
-		};
-
-		partition at 1c0000 {
-			label = "reserved0";
-			reg = <0x1c0000 0x40000>;
-			read-only;
-		};
-
-		/* We keep stock xiaomi firmware (kernel0) here */
-		partition at 200000 {
-			label = "kernel_stock";
-			reg = <0x200000 0x400000>;
-		};
-
-		partition at 600000 {
-			label = "kernel";
-			reg = <0x600000 0x400000>;
-		};
-
-		partition at a00000 {
-			label = "ubi";
-			reg = <0xa00000 0x7580000>;
-		};
-	};
-};
+#include "mt7621_xiaomi_nand_128m.dtsi"
 
 &pcie {
 	status = "okay";



More information about the lede-commits mailing list