[openwrt/openwrt] ramips: add Xiaomi Mi Router 4A Gigabit explicitly

LEDE Commits lede-commits at lists.infradead.org
Thu Nov 12 11:18:40 EST 2020


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

commit a51e46e543ef2e923fb97fb092d04355dfca7d7d
Author: Adrian Schmutzler <freifunk at adrianschmutzler.de>
AuthorDate: Thu Nov 12 16:00:10 2020 +0100

    ramips: add Xiaomi Mi Router 4A Gigabit explicitly
    
    This device has previously been supported by the image
    for Xiaomi Mi Router 3G v2. Since this is not obvious, the
    4A is marketed as a new major revision and it also seems to
    have a different bootloader, this will be both more tidy and
    more helpful for the users.
    
    Apart from that, note that there also is a 100M version of
    the device that uses mt7628 platform, so a specifically named
    image will also prevent confusion in this area.
    
    Specifications:
    
    - SoC:      MediaTek MT7621
    - Flash:    16 MiB NOR SPI
    - RAM:      128 MiB DDR3
    - Ethernet: 3x 10/100/1000 Mbps (switched, 2xLAN + WAN)
    - WIFI0:    MT7603E 2.4GHz 802.11b/g/n
    - WIFI1:    MT7612E 5GHz 802.11ac
    - Antennas: 4x external (2 per radio), non-detachable
    - LEDs:     Programmable "power" LED (two-coloured, yellow/blue)
                Non-programmable "internet" LED (shows WAN activity)
    - Buttons:  Reset
    
    Installation:
    
    Bootloader won't accept any serial input unless "boot_wait" u-boot
    environment variable is changed to "on".
    
    Vendor firmware won't accept any serial input until "uart_en" is
    set to "1".
    
    Using the https://github.com/acecilia/OpenWRTInvasion exploit you
    can gain access to shell to enable these options:
    
    To enable uart keyboard actions - 'nvram set uart_en=1'
    To make uboot delay boot work - 'nvram set boot_wait=on'
    Set boot delay to 5 - 'nvram set bootdelay=5'
    
    Then run 'nvram commit' to make the changes permanent.
    
    Once in the shell (following the OpenWRTInvasion instructions) you
    can then run the following to flash OpenWrt and then reboot:
    
    'cd /tmp; curl https://downloads.openwrt.org/...-sysupgrade.bin
      --output firmware.bin; mtd -e OS1 -r write firmware.bin OS1'
    
    Suggested-by: David Bentham <db260179 at gmail.com>
    Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 ...2.dts => mt7621_xiaomi_mi-router-4a-3g-v2.dtsi} |   4 +-
 .../dts/mt7621_xiaomi_mi-router-4a-gigabit.dts     |   8 ++
 target/linux/ramips/dts/mt7621_xiaomi_mir3g-v2.dts | 157 +--------------------
 target/linux/ramips/image/mt7621.mk                |  14 +-
 .../mt7621/base-files/etc/board.d/02_network       |   3 +-
 5 files changed, 23 insertions(+), 163 deletions(-)

diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mir3g-v2.dts b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-3g-v2.dtsi
similarity index 96%
copy from target/linux/ramips/dts/mt7621_xiaomi_mir3g-v2.dts
copy to target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-3g-v2.dtsi
index 3df6931bd4..65b299e425 100644
--- a/target/linux/ramips/dts/mt7621_xiaomi_mir3g-v2.dts
+++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-3g-v2.dtsi
@@ -6,9 +6,6 @@
 #include <dt-bindings/input/input.h>
 
 / {
-	compatible = "xiaomi,mir3g-v2", "mediatek,mt7621-soc";
-	model = "Xiaomi Mi Router 3G v2";
-
 	aliases {
 		led-boot = &led_status_yellow;
 		led-failsafe = &led_status_yellow;
@@ -147,6 +144,7 @@
 			status = "okay";
 			label = "lan1";
 		};
+
 		wan: port at 4 {
 			status = "okay";
 			label = "wan";
diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-gigabit.dts b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-gigabit.dts
new file mode 100644
index 0000000000..4387d3b79f
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-gigabit.dts
@@ -0,0 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7621_xiaomi_mi-router-4a-3g-v2.dtsi"
+
+/ {
+	compatible = "xiaomi,mi-router-4a-gigabit", "mediatek,mt7621-soc";
+	model = "Xiaomi Mi Router 4A Gigabit Edition";
+};
diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mir3g-v2.dts b/target/linux/ramips/dts/mt7621_xiaomi_mir3g-v2.dts
index 3df6931bd4..50c5a7dafb 100644
--- a/target/linux/ramips/dts/mt7621_xiaomi_mir3g-v2.dts
+++ b/target/linux/ramips/dts/mt7621_xiaomi_mir3g-v2.dts
@@ -1,163 +1,8 @@
 // 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>
+#include "mt7621_xiaomi_mi-router-4a-3g-v2.dtsi"
 
 / {
 	compatible = "xiaomi,mir3g-v2", "mediatek,mt7621-soc";
 	model = "Xiaomi Mi Router 3G v2";
-
-	aliases {
-		led-boot = &led_status_yellow;
-		led-failsafe = &led_status_yellow;
-		led-running = &led_status_blue;
-		led-upgrade = &led_status_yellow;
-		label-mac-device = &wan;
-	};
-
-	chosen {
-		bootargs = "console=ttyS0,115200n8";
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		led_status_blue: status_blue {
-			label = "blue:status";
-			gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
-		};
-
-		led_status_yellow: status_yellow {
-			label = "yellow:status";
-			gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
-		};
-	};
-
-	keys {
-		compatible = "gpio-keys";
-
-		reset {
-			label = "reset";
-			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
-			linux,code = <KEY_RESTART>;
-		};
-	};
-};
-
-&spi0 {
-	status = "okay";
-
-	flash at 0 {
-		compatible = "jedec,spi-nor";
-		reg = <0>;
-		spi-max-frequency = <80000000>;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			partition at 0 {
-				label = "u-boot";
-				reg = <0x0 0x30000>;
-				read-only;
-			};
-
-			partition at 30000 {
-				label = "u-boot-env";
-				reg = <0x30000 0x10000>;
-				read-only;
-			};
-
-			partition at 40000 {
-				label = "Bdata";
-				reg = <0x40000 0x10000>;
-				read-only;
-			};
-
-			factory: partition at 50000 {
-				label = "factory";
-				reg = <0x50000 0x10000>;
-				read-only;
-			};
-
-			partition at 60000 {
-				label = "crash";
-				reg = <0x60000 0x10000>;
-				read-only;
-			};
-
-			partition at 70000 {
-				label = "cfg_bak";
-				reg = <0x70000 0x10000>;
-				read-only;
-			};
-
-			partition at 80000 {
-				label = "overlay";
-				reg = <0x80000 0x100000>;
-				read-only;
-			};
-
-			firmware: partition at 180000 {
-				compatible = "denx,uimage";
-				label = "firmware";
-				reg = <0x180000 0xe80000>;
-			};
-		};
-	};
-};
-
-&pcie {
-	status = "okay";
-};
-
-&pcie0 {
-	wifi at 0,0 {
-		compatible = "pci14c3,7662";
-		reg = <0x0000 0 0 0 0>;
-		mediatek,mtd-eeprom = <&factory 0x8000>;
-		ieee80211-freq-limit = <5000000 6000000>;
-	};
-};
-
-&pcie1 {
-	wifi at 0,0 {
-		compatible = "pci14c3,7603";
-		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 2 {
-			status = "okay";
-			label = "lan2";
-		};
-
-		port at 3 {
-			status = "okay";
-			label = "lan1";
-		};
-		wan: port at 4 {
-			status = "okay";
-			label = "wan";
-			mtd-mac-address = <&factory 0xe006>;
-		};
-	};
-};
-
-&state_default {
-	gpio {
-		groups = "jtag", "uart2", "uart3", "wdt";
-		function = "gpio";
-	};
 };
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index 7e5266a294..bac3185507 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -1225,9 +1225,6 @@ define Device/xiaomi_mir3g-v2
   DEVICE_VENDOR := Xiaomi
   DEVICE_MODEL := Mi Router 3G
   DEVICE_VARIANT := v2
-  DEVICE_ALT0_VENDOR := Xiaomi
-  DEVICE_ALT0_MODEL := Mi Router 4A
-  DEVICE_ALT0_VARIANT := Gigabit Edition
   DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2
 endef
 TARGET_DEVICES += xiaomi_mir3g-v2
@@ -1251,6 +1248,17 @@ define Device/xiaomi_mir3p
 endef
 TARGET_DEVICES += xiaomi_mir3p
 
+define Device/xiaomi_mi-router-4a-gigabit
+  $(Device/dsa-migration)
+  $(Device/uimage-lzma-loader)
+  IMAGE_SIZE := 14848k
+  DEVICE_VENDOR := Xiaomi
+  DEVICE_MODEL := Mi Router 4A
+  DEVICE_VARIANT := Gigabit Edition
+  DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2
+endef
+TARGET_DEVICES += xiaomi_mi-router-4a-gigabit
+
 define Device/xiaomi_redmi-router-ac2100
   $(Device/xiaomi-ac2100)
   DEVICE_MODEL := Redmi Router AC2100
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
index 26063470e8..fccd9c6985 100755
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
@@ -17,7 +17,8 @@ ramips_setup_interfaces()
 	lenovo,newifi-d1|\
 	mikrotik,routerboard-m33g|\
 	xiaomi,mir3g|\
-	xiaomi,mir3g-v2)
+	xiaomi,mir3g-v2|\
+	xiaomi,mi-router-4a-gigabit)
 		ucidef_set_interfaces_lan_wan "lan1 lan2" "wan"
 		;;
 	edimax,re23s|\



More information about the lede-commits mailing list