[openwrt/openwrt] ramips: add support for xiaomi RA75 Range Extender

LEDE Commits lede-commits at lists.infradead.org
Sat Jan 14 10:04:23 PST 2023


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/f204c812e996d51f36972d5f4414ada3d4588c93

commit f204c812e996d51f36972d5f4414ada3d4588c93
Author: Jo Deisenhofer <jo.deisenhofer at gmail.com>
AuthorDate: Fri Dec 2 16:41:13 2022 +0100

    ramips: add support for xiaomi RA75 Range Extender
    
    This device is a 'Range extender' variant of the Xiaomi 4A router.
    Its identical to the 100m non-intl/chinese version as much as it can run
    the same firmware, differences being form factor, LEDs, WPS button
    and one 100M port only.
    The stock firmware differs significantly, being 'app managed only'.
    
    Device specification
    --------------------
    SoC:      MT7628DAN MIPS_24KEc at 580MHz 2.4G-n 2x2
    WiFi:     MT7612EN 5G-ac 80MHz 2T2R
    Flash:    16MB W25Q128BV
    DRAM:     64MB built-in SoC
    Switch:   built-in SoC
    Ethernet: 1x10/100 Mbps
    USB:      None
    Antennas: 2 x external, non-detachable
    LEDs:     2 programmable blue/amber
    Buttons:  WPS and reset (hidden)
    Housing:  Range Extender / Wall wart
    Serial:   115200,8n1
    
    MAC Addresses
    -------------
    All 3 MACs are read from flash and identical to stock.
    Label MAC is WIFI 2G
    
    Installation
    ------------
    No HTML UI on this device, serial console only. The serial connector
    is unpopulated but standard size and clearly marked. Flash from the
    U-Boot shell at boot by choosing (2) and flashing the sysupgrade file
    via tftp.
    
    Recovery/Debricking procedures of the xiaomi 4A and variants should
    work, but there currently is no official source for the stock firmware.
    
    Signed-off-by: Jo Deisenhofer <jo.deisenhofer at gmail.com>
---
 .../linux/ramips/dts/mt7628an_xiaomi_mi-ra75.dts   | 121 +++++++++++++++++++++
 target/linux/ramips/image/mt76x8.mk                |  10 ++
 2 files changed, 131 insertions(+)

diff --git a/target/linux/ramips/dts/mt7628an_xiaomi_mi-ra75.dts b/target/linux/ramips/dts/mt7628an_xiaomi_mi-ra75.dts
new file mode 100644
index 0000000000..7865334489
--- /dev/null
+++ b/target/linux/ramips/dts/mt7628an_xiaomi_mi-ra75.dts
@@ -0,0 +1,121 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7628an_xiaomi_mi-router-4.dtsi"
+
+/ {
+	compatible = "xiaomi,mi-ra75", "mediatek,mt7628an-soc";
+	model = "Xiaomi Mi AC1200 WLAN Range Extender RA75";
+	aliases {
+		led-boot = &led_system_amber;
+		led-failsafe = &led_system_amber;
+		led-running = &led_system_blue;
+		led-upgrade = &led_system_amber;
+		label-mac-device = ðernet;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led_system_blue: system_blue {
+			label = "blue:system";
+			gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
+		};
+		led_system_amber: system_amber {
+			label = "amber:system";
+			gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+		};
+		led_signal_blue: signal_blue {
+			label = "blue:signal";
+			gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+		};
+		led_signal_amber: signal_amber {
+			label = "amber:signal";
+			gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	keys {
+		compatible = "gpio-keys";
+
+		reset {
+			label = "reset";
+			gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_RESTART>;
+		};
+		wps {
+			label = "wps";
+			gpios = <&gpio 67 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_WPS_BUTTON>;
+		};
+	};
+
+};
+
+&partitions {
+	partition at 60000 {
+		label = "overlay";
+		reg = <0x60000 0x100000>;
+		read-only;
+	};
+
+	partition at 160000 {
+		label = "firmware";
+		reg = <0x160000 0xea0000>;
+		compatible = "denx,uimage";
+	};
+};
+
+&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>;
+	};
+};
+
+&ethernet {
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
+};
+
+&wmac {
+	ralink,mtd-eeprom = <&factory 0x0>;
+};
+
+
+&esw {
+	mediatek,portmap = <0x3e>;
+	mediatek,portdisable = <0x2a>;
+};
+
+&ehci {
+	status = "disabled";
+};
+
+&ohci {
+	status = "disabled";
+};
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr at 4 {
+		reg = <0x4 0x6>;
+	};
+
+	macaddr_factory_28: macaddr at 28 {
+		reg = <0x28 0x6>;
+	};
+	macaddr_factory_8004: macaddr at 8004 {
+		reg = <0x8004 0x6>;
+	};
+};
+
+
diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk
index 9db2d9e60c..f482872813 100644
--- a/target/linux/ramips/image/mt76x8.mk
+++ b/target/linux/ramips/image/mt76x8.mk
@@ -1011,6 +1011,16 @@ define Device/xiaomi_miwifi-nano
 endef
 TARGET_DEVICES += xiaomi_miwifi-nano
 
+define Device/xiaomi_mi-ra75
+  IMAGE_SIZE := 14976k
+  DEVICE_VENDOR := Xiaomi
+  DEVICE_MODEL := MiWiFi Range Extender AC1200 
+  DEVICE_VARIANT := RA75
+  DEVICE_PACKAGES := kmod-mt76x2
+  SUPPORTED_DEVICES += xiaomi,mira75
+endef
+TARGET_DEVICES += xiaomi_mi-ra75
+
 define Device/zbtlink_zbt-we1226
   IMAGE_SIZE := 7872k
   DEVICE_VENDOR := Zbtlink




More information about the lede-commits mailing list