ramips: Add Xiaomi Mi Router 4A 100M International

The international version of Mi Router 4A 100M is physically
identical to the non-international one, but appears to be
using a different partitioning scheme with the "overlay"
partition being 2MiB in size instead of 1MiB. This means
the following "firmware" partition starts at a different
address and the DTS needs to be adjusted for the firmware
to work.

Signed-off-by: Nita Vesa <werecatf@outlook.com>
This commit is contained in:
Nita Vesa 2022-04-29 13:57:24 +03:00 committed by Hauke Mehrtens
parent 4b0c433c39
commit 1a8c74da70
3 changed files with 69 additions and 1 deletions

View File

@ -0,0 +1,56 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "mt7628an_xiaomi_mi-router-4.dtsi"
/ {
compatible = "xiaomi,mi-router-4a-100m-intl", "mediatek,mt7628an-soc";
model = "Xiaomi Mi Router 4A (100M International Edition)";
};
&partitions {
partition@60000 {
label = "overlay";
reg = <0x60000 0x200000>;
read-only;
};
partition@260000 {
label = "firmware";
reg = <0x260000 0xda0000>;
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>;
};
};
&ethernet {
nvmem-cells = <&macaddr_factory_4>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>;
};
&esw {
mediatek,portmap = <0x3e>;
mediatek,portdisable = <0x2a>;
};
&factory {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_factory_4: macaddr@4 {
reg = <0x4 0x6>;
};
};

View File

@ -917,6 +917,16 @@ define Device/xiaomi_mi-router-4a-100m
endef endef
TARGET_DEVICES += xiaomi_mi-router-4a-100m TARGET_DEVICES += xiaomi_mi-router-4a-100m
define Device/xiaomi_mi-router-4a-100m-intl
IMAGE_SIZE := 14976k
DEVICE_VENDOR := Xiaomi
DEVICE_MODEL := Mi Router 4A
DEVICE_VARIANT := 100M International Edition
DEVICE_PACKAGES := kmod-mt76x2
SUPPORTED_DEVICES += xiaomi,mir4a-100m-intl
endef
TARGET_DEVICES += xiaomi_mi-router-4a-100m-intl
define Device/xiaomi_mi-router-4c define Device/xiaomi_mi-router-4c
IMAGE_SIZE := 14976k IMAGE_SIZE := 14976k
DEVICE_VENDOR := Xiaomi DEVICE_VENDOR := Xiaomi

View File

@ -152,7 +152,8 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \ ucidef_add_switch "switch0" \
"0:wan" "3:lan" "4:lan" "6@eth0" "0:wan" "3:lan" "4:lan" "6@eth0"
;; ;;
xiaomi,mi-router-4a-100m) xiaomi,mi-router-4a-100m|\
xiaomi,mi-router-4a-100m-intl)
ucidef_add_switch "switch0" \ ucidef_add_switch "switch0" \
"4:lan:1" "2:lan:2" "0:wan" "6@eth0" "4:lan:1" "2:lan:2" "0:wan" "6@eth0"
;; ;;
@ -280,6 +281,7 @@ ramips_setup_macs()
wan_mac=$(mtd_get_mac_binary factory 0x28) wan_mac=$(mtd_get_mac_binary factory 0x28)
;; ;;
xiaomi,mi-router-4a-100m|\ xiaomi,mi-router-4a-100m|\
xiaomi,mi-router-4a-100m-intl|\
xiaomi,mi-router-4c) xiaomi,mi-router-4c)
wan_mac=$(mtd_get_mac_binary factory 0x4) wan_mac=$(mtd_get_mac_binary factory 0x4)
;; ;;