ramips: mt7615 80211 driver support to dts for R3P

This commit is contained in:
coolsnowwolf 2019-04-20 21:02:35 +08:00
parent 8c4e69f34d
commit 6879801688
6 changed files with 246 additions and 4 deletions

View File

@ -23,7 +23,8 @@ PKG_CONFIG_DEPENDS += \
CONFIG_PACKAGE_kmod-mt76x2-common \
CONFIG_PACKAGE_kmod-mt76x2 \
CONFIG_PACKAGE_kmod-mt76x2u \
CONFIG_PACKAGE_kmod-mt7603
CONFIG_PACKAGE_kmod-mt7603 \
CONFIG_PACKAGE_kmod-mt7615
STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
@ -129,6 +130,15 @@ define KernelPackage/mt76x2
AUTOLOAD:=$(call AutoProbe,mt76x2e)
endef
define KernelPackage/mt7615
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7615 wireless driver
DEPENDS+=@PCI_SUPPORT +kmod-mt76-core
FILES:=\
$(PKG_BUILD_DIR)/mt7615/mt7615e.ko
AUTOLOAD:=$(call AutoProbe,mt7615e)
endef
define KernelPackage/mt7603
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7603 wireless driver
@ -178,6 +188,9 @@ endif
ifdef CONFIG_PACKAGE_kmod-mt76x2u
PKG_MAKE_FLAGS += CONFIG_MT76x2U=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7615
PKG_MAKE_FLAGS += CONFIG_MT7615E=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7603
PKG_MAKE_FLAGS += CONFIG_MT7603E=m
endif
@ -221,6 +234,12 @@ define KernelPackage/mt76x2u/install
ln -sf ../mt7662_rom_patch.bin $(1)/lib/firmware/mediatek/mt7662u_rom_patch.bin
endef
define KernelPackage/mt7615/install
$(INSTALL_DIR) $(1)/lib/firmware
cp $(PKG_BUILD_DIR)/firmware/mt7615_rom_patch.bin $(PKG_BUILD_DIR)/firmware/mt7615_n9.bin $(PKG_BUILD_DIR)/firmware/mt7615_cr4.bin \
$(1)/lib/firmware/
endef
define KernelPackage/mt7603/install
$(INSTALL_DIR) $(1)/lib/firmware
cp $(if $(CONFIG_TARGET_ramips_mt76x8), \
@ -243,5 +262,6 @@ $(eval $(call KernelPackage,mt76x0u))
$(eval $(call KernelPackage,mt76x2-common))
$(eval $(call KernelPackage,mt76x2u))
$(eval $(call KernelPackage,mt76x2))
$(eval $(call KernelPackage,mt7615))
$(eval $(call KernelPackage,mt7603))
$(eval $(call KernelPackage,mt76))
$(eval $(call KernelPackage,mt76))

View File

@ -223,6 +223,12 @@ mikrotik,rbm11g)
miniembplug)
set_wifi_led "$boardname:red:wlan"
;;
xiaomi,mir3p)
ucidef_set_led_switch "wan-amber" "WAN (amber)" "$boardname:amber:wan" "switch0" "0x10" "0x08"
ucidef_set_led_switch "lan1-amber" "LAN1 (amber)" "$boardname:amber:lan1" "switch0" "0x02" "0x08"
ucidef_set_led_switch "lan2-amber" "LAN2 (amber)" "$boardname:amber:lan2" "switch0" "0x04" "0x08"
ucidef_set_led_switch "lan3-amber" "LAN3 (amber)" "$boardname:amber:lan3" "switch0" "0x08" "0x08"
;;
mir3g)
ucidef_set_led_switch "wan-amber" "WAN (amber)" "$boardname:amber:wan" "switch0" "0x02" "0x08"
ucidef_set_led_switch "lan1-amber" "LAN1 (amber)" "$boardname:amber:lan1" "switch0" "0x08" "0x08"

View File

@ -428,6 +428,10 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \
"4:lan" "0:wan" "6@eth0"
;;
xiaomi,mir3p)
ucidef_add_switch "switch0" \
"1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
;;
xiaomi,miwifi-r3)
ucidef_add_switch "switch0" \
"1:lan" "4:lan" "0:wan" "6@eth0"
@ -551,7 +555,8 @@ ramips_setup_macs()
lan_mac=$(mtd_get_mac_binary factory_info 13)
wan_mac=$(macaddr_add "$lan_mac" 1)
;;
mir3g)
mir3g|\
xiaomi,mir3p)
lan_mac=$(mtd_get_mac_binary Factory 0xe006)
;;
mir4)

View File

@ -25,7 +25,8 @@ platform_nand_pre_upgrade() {
case "$board" in
ubnt-erx|\
ubnt-erx-sfp)
ubnt-erx-sfp|\
xiaomi,mir3p)
platform_upgrade_ubnt_erx "$ARGV"
;;
esac

View File

@ -0,0 +1,194 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "mt7621.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "xiaomi,mir3p", "mediatek,mt7621-soc";
model = "Xiaomi Mi Router 3 Pro";
aliases {
led-boot = &led_status_yellow;
led-failsafe = &led_status_red;
led-running = &led_status_blue;
led-upgrade = &led_status_yellow;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x1c000000>, <0x20000000 0x04000000>;
};
chosen {
bootargs = "console=ttyS0,115200n8";
};
leds {
compatible = "gpio-leds";
led_status_red: status_red {
label = "mir3p:red:status";
gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
};
led_status_blue: status_blue {
label = "mir3p:blue:status";
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
};
led_status_yellow: status_yellow {
label = "mir3p:yellow:status";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
};
wan_amber {
label = "mir3p:amber:wan";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
lan3_amber {
label = "mir3p:amber:lan3";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
lan2_amber {
label = "mir3p:amber:lan2";
gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
};
lan1_amber {
label = "mir3p:amber:lan1";
gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
};
};
button {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
reg_usb_vbus: regulator {
compatible = "regulator-fixed";
regulator-name = "usb_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&xhci {
vbus-supply = <&reg_usb_vbus>;
};
&nand {
status = "okay";
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@c0000 {
label = "Factory";
reg = <0x0c0000 0x40000>;
read-only;
};
partition@100000 {
label = "crash";
reg = <0x100000 0x40000>;
};
partition@140000 {
label = "crash_syslog";
reg = <0x140000 0x80000>;
};
partition@1c0000 {
label = "reserved0";
reg = <0x1c0000 0x40000>;
read-only;
};
/* We keep stock xiaomi firmware (kernel0) here */
partition@200000 {
label = "kernel_stock";
reg = <0x200000 0x400000>;
};
partition@600000 {
label = "kernel";
reg = <0x600000 0x400000>;
};
partition@a00000 {
label = "ubi";
reg = <0xa00000 0xf580000>;
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
wifi@0,0 {
compatible = "pci14c3,7615";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x0000>;
mediatek,5ghz = <0>;
ieee80211-freq-limit = <2400000 2500000>;
};
};
&pcie1 {
wifi@0,0 {
compatible = "pci14c3,7615";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
mediatek,2ghz = <0>;
ieee80211-freq-limit = <5000000 6000000>;
};
};
&ethernet {
mtd-mac-address = <&factory 0xe000>;
mediatek,portmap = "llllw";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "jtag", "uart2", "uart3", "wdt";
ralink,function = "gpio";
};
};
};

View File

@ -235,6 +235,22 @@ define Device/k2p
endef
TARGET_DEVICES += k2p
define Device/xiaomi_mir3p
DTS := MIR3P
BLOCKSIZE := 128k
PAGESIZE := 2048
KERNEL_SIZE:= 4096k
UBINIZE_OPTS := -E 5
IMAGE_SIZE := $(ralink_default_fw_size_32M)
DEVICE_TITLE := Xiaomi Mi Router 3 Pro
IMAGES += factory.bin
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
DEVICE_PACKAGES := \
kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic uboot-envtools
endef
TARGET_DEVICES += xiaomi_mir3p
define Device/mir3g
DTS := MIR3G
BLOCKSIZE := 128k