From f204c812e996d51f36972d5f4414ada3d4588c93 Mon Sep 17 00:00:00 2001 From: Jo Deisenhofer Date: Fri, 2 Dec 2022 16:41:13 +0100 Subject: [PATCH] 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@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 --- .../ramips/dts/mt7628an_xiaomi_mi-ra75.dts | 121 ++++++++++++++++++ target/linux/ramips/image/mt76x8.mk | 10 ++ 2 files changed, 131 insertions(+) create mode 100644 target/linux/ramips/dts/mt7628an_xiaomi_mi-ra75.dts 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 = ; + }; + wps { + label = "wps"; + gpios = <&gpio 67 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + +}; + +&partitions { + partition@60000 { + label = "overlay"; + reg = <0x60000 0x100000>; + read-only; + }; + + partition@160000 { + label = "firmware"; + reg = <0x160000 0xea0000>; + compatible = "denx,uimage"; + }; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x8000>; + ieee80211-freq-limit = <5000000 6000000>; + }; +}; + +ðernet { + 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@4 { + reg = <0x4 0x6>; + }; + + macaddr_factory_28: macaddr@28 { + reg = <0x28 0x6>; + }; + macaddr_factory_8004: macaddr@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 -- 2.30.2