ramips: add xiaomi_miwifi-r3 support

Specification:
 - CPU: 580 MHz
 - Flash size: 128 MiB NAND
 - RAM size: 128 MiB DDR2
 - Wireless No1: SoC-integrated: MT7620A 2x2 MIMO 802.11b/g/n (2.4 GHz)
 - Wireless No2: On-board chip: MT7612E 2x2 MIMO 802.11a/n/ac (5 GHz)
 - Switch: MT7620 built-in 10/100 switch w/ vlan support
 - USB: 2.0 x1

Fixes: #7841

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
This commit is contained in:
Chen Minqiang 2017-11-18 21:35:39 +08:00 committed by AmadeusGhost
parent f08bdedec6
commit a70fee5f7d
4 changed files with 207 additions and 0 deletions

View File

@ -0,0 +1,175 @@
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "xiaomi,miwifi-r3", "ralink,mt7620a-soc";
model = "Xiaomi Mi Router R3";
aliases {
led-status = &led_status_blue;
};
chosen {
bootargs = "console=ttyS0,115200";
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
led_status_blue: blue {
label = "blue:status";
gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
default-state = "on";
};
yellow {
label = "yellow:status";
gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
};
red {
label = "red:status";
gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
};
};
nand {
status = "okay";
#address-cells = <1>;
#size-cells = <1>;
compatible = "mtk,mt7620-nand";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "Bootloader";
reg = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "Config";
reg = <0x40000 0x40000>;
};
partition@80000 {
label = "Bdata";
reg = <0x80000 0x40000>;
read-only;
};
factory: partition@0xc0000 {
label = "factory";
reg = <0xc0000 0x40000>;
read-only;
};
partition@100000 {
label = "crash";
reg = <0x100000 0x40000>;
read-only;
};
partition@140000 {
label = "crash_syslog";
reg = <0x140000 0x40000>;
read-only;
};
partition@180000 {
label = "reserved0";
reg = <0x180000 0x80000>;
read-only;
};
partition@200000 {
label = "kernel_stock";
reg = <0x200000 0x400000>;
};
partition@600000 {
label = "kernel";
reg = <0x600000 0x400000>;
};
/* ubi partition is the result of squashing
* next consequent stock partitions:
* - rootfs0 (rootfs partition for stock kernel0),
* - rootfs1 (rootfs partition for stock failsafe kernel1),
* - overlay (used as ubi overlay in stock fw)
* resulting 117,5MiB space for packages.
*/
partition@a00000 {
label = "ubi";
reg = <0xa00000 0x7600000>;
};
};
};
};
&gpio1 {
status = "okay";
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&ethernet {
pinctrl-names = "default";
pinctrl-0 = <&ephy_pins>;
mtd-mac-address = <&factory 0x28>;
mediatek,portmap = "llllw";
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&pcie {
status = "okay";
};
&pcie0 {
wifi@0,0 {
compatible = "pci14c3,7662";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
groups = "rgmii1";
function = "gpio";
};
pa {
groups = "pa";
function = "pa";
};
};
};

View File

@ -1123,6 +1123,23 @@ define Device/xiaomi_miwifi-mini
endef
TARGET_DEVICES += xiaomi_miwifi-mini
define Device/xiaomi_miwifi-r3
SOC := mt7620a
BLOCKSIZE := 128k
PAGESIZE := 2048
KERNEL_SIZE := 4096k
IMAGE_SIZE := 32768k
UBINIZE_OPTS := -E 5
IMAGES += kernel1.bin rootfs0.bin
IMAGE/kernel1.bin := append-kernel | check-size $$$$(KERNEL_SIZE)
IMAGE/rootfs0.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
DEVICE_VENDOR := Xiaomi
DEVICE_MODEL := Mi Router R3
DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci uboot-envtools
endef
TARGET_DEVICES += xiaomi_miwifi-r3
define Device/youku_yk-l1
SOC := mt7620a
IMAGE_SIZE := 32448k

View File

@ -230,6 +230,10 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "4:wan" "6@eth0"
;;
xiaomi,miwifi-r3)
ucidef_add_switch "switch0" \
"1:lan" "4:lan" "0:wan" "6@eth0"
;;
zbtlink,zbt-we1026-5g-16m)
ucidef_add_switch "switch0" \
"0:lan" "6t@eth0"
@ -367,6 +371,10 @@ ramips_setup_macs()
tplink,archer-mr200)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary rom 0xf100)" 1)
;;
xiaomi,miwifi-r3)
wan_mac=$(mtd_get_mac_binary factory 0x28)
lan_mac=$(macaddr_setbit_la "$wan_mac")
;;
zbtlink,zbt-we1026-5g-16m)
label_mac=$(mtd_get_mac_binary factory 0x4)
;;

View File

@ -30,6 +30,13 @@ platform_do_upgrade() {
}
default_do_upgrade "$1"
;;
xiaomi,miwifi-r3)
# this make it compatible with breed
dd if=/dev/mtd0 bs=64 count=1 2>/dev/null | grep -qi breed && CI_KERNPART_EXT="kernel_stock"
dd if=/dev/mtd7 bs=64 count=1 2>/dev/null | grep -o MIPS.*Linux | grep -qi X-WRT && CI_KERNPART_EXT="kernel_stock"
dd if=/dev/mtd7 bs=64 count=1 2>/dev/null | grep -o MIPS.*Linux | grep -qi NATCAP && CI_KERNPART_EXT="kernel0_rsvd"
nand_do_upgrade "$1"
;;
*)
default_do_upgrade "$1"
;;