diff --git a/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4a-100m-intl-v2.dts b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4a-100m-intl-v2.dts new file mode 100644 index 00000000000..b12901bd5b2 --- /dev/null +++ b/target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4a-100m-intl-v2.dts @@ -0,0 +1,94 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include + +#include "mt7628an_xiaomi_mi-router-4.dtsi" + +/ { + compatible = "xiaomi,mi-router-4a-100m-intl-v2", "mediatek,mt7628an-soc"; + model = "Xiaomi Mi Router 4A (100M International Edition V2)"; + + aliases { + led-boot = &led_power_yellow; + led-failsafe = &led_power_yellow; + led-running = &led_power_blue; + led-upgrade = &led_power_yellow; + label-mac-device = ðernet; + }; + + leds { + compatible = "gpio-leds"; + + led_power_blue: power_blue { + color = ; + function = LED_FUNCTION_POWER; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + }; + + led_power_yellow: power_yellow { + color = ; + function = LED_FUNCTION_POWER; + gpios = <&gpio 44 GPIO_ACTIVE_LOW>; + }; + + wan { + color = ; + function = LED_FUNCTION_WAN; + gpios = <&gpio 37 GPIO_ACTIVE_LOW>; + }; + }; + +}; + +&partitions { + partition@60000 { + label = "overlay"; + reg = <0x60000 0x100000>; + read-only; + }; + + partition@160000 { + label = "firmware"; + reg = <0x160000 0xea0000>; + compatible = "denx,uimage"; + }; +}; + +&pcie { + status = "okay"; +}; + +&eeprom_factory_8000 { + /* MT7613 has different eeprom size '0x4da8' */ + /* See https://github.com/openwrt/openwrt/pull/13587 */ + /* You can also see this in mt76/mt7615/eeprom.h: */ + /* MT7615_EEPROM_FULL_SIZE = MT7615_EEPROM_TXDPD_OFFSET + \ */ + /* MT7615_EEPROM_TXDPD_COUNT * MT7615_EEPROM_TXDPD_SIZE */ + /* where MT7615_EEPROM_TXDPD_OFFSET is 1024 + 256 * 34 = 9728: */ + /* MT7615_EEPROM_SIZE(1024 defined in mt7615.h) + \ */ + /* MT7615_EEPROM_DCOC_COUNT(34) * MT7615_EEPROM_DCOC_SIZE(256)*/ + /* where MT7615_EEPROM_TXDPD_COUNT = 44 + 3 = 47 */ + /* and MT7615_EEPROM_TXDPD_SIZE = 216. */ + /* Altogether it will be 19880 or 0x4da8. */ + reg = <0x8000 0x4da8>; +}; + +&pcie0 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + nvmem-cells = <&eeprom_factory_8000>; + nvmem-cell-names = "eeprom"; + ieee80211-freq-limit = <5000000 6000000>; + }; +}; + +ðernet { + nvmem-cells = <&macaddr_factory_4 (-1)>; + nvmem-cell-names = "mac-address"; +}; + +&esw { + mediatek,portmap = <0x3e>; + mediatek,portdisable = <0x2a>; +}; diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk index 7b360c6088f..867c0e377b8 100644 --- a/target/linux/ramips/image/mt76x8.mk +++ b/target/linux/ramips/image/mt76x8.mk @@ -1092,6 +1092,15 @@ define Device/xiaomi_mi-router-4a-100m-intl endef TARGET_DEVICES += xiaomi_mi-router-4a-100m-intl +define Device/xiaomi_mi-router-4a-100m-intl-v2 + IMAGE_SIZE := 14976k + DEVICE_VENDOR := Xiaomi + DEVICE_MODEL := Mi Router 4A + DEVICE_VARIANT := 100M International Edition V2 + DEVICE_PACKAGES := kmod-mt7615e kmod-mt7663-firmware-ap +endef +TARGET_DEVICES += xiaomi_mi-router-4a-100m-intl-v2 + define Device/xiaomi_mi-router-4c IMAGE_SIZE := 14976k DEVICE_VENDOR := Xiaomi diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds index 3e0b70cc20f..a42c9fe640b 100644 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds @@ -171,7 +171,8 @@ wavlink,wl-wn578a2) ucidef_set_led_switch "wan" "wan" "green:wan" "switch0" "0x10" ;; xiaomi,mi-router-4a-100m|\ -xiaomi,mi-router-4a-100m-intl) +xiaomi,mi-router-4a-100m-intl|\ +xiaomi,mi-router-4a-100m-intl-v2) ucidef_set_led_switch "wan" "WAN" "blue:wan" "switch0" "0x01" ;; xiaomi,mi-router-4c) diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network index c44361a439d..e5326dfe795 100644 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network @@ -186,7 +186,8 @@ ramips_setup_interfaces() "0:wan" "3:lan" "4:lan" "6@eth0" ;; xiaomi,mi-router-4a-100m|\ - xiaomi,mi-router-4a-100m-intl) + xiaomi,mi-router-4a-100m-intl|\ + xiaomi,mi-router-4a-100m-intl-v2) ucidef_add_switch "switch0" \ "4:lan:1" "2:lan:2" "0:wan" "6@eth0" ;; @@ -323,6 +324,7 @@ ramips_setup_macs() ;; xiaomi,mi-router-4a-100m|\ xiaomi,mi-router-4a-100m-intl|\ + xiaomi,mi-router-4a-100m-intl-v2|\ xiaomi,mi-router-4c) wan_mac=$(mtd_get_mac_binary factory 0x4) ;;