ramips: add support for Wavlink WL-WN570HA1

This commit adds support for the Wavlink WL-WN570HA1, a dual-band PoE
wireless router with the following specifications:

 - CPU: MediaTek MT7688AN 580MHz
 - Flash: 8MB
 - RAM: 64MB
 - Ethernet: 1x 10/100Mbps
 - 2.4 GHz: 802.11b/g/n SoC, 1T1R, 27 dBm
 - 5 GHz: 802.11a/n/ac MT7610E, 1T1R, 25 dBm
 - Antennas: 2x external (1 per radio), detachable
 - LEDs: 3 programmable + Wi-Fi, WAN/LAN, Power
 - Buttons: Reset

Flashing instructions:

Factory U-boot launches a TFTP client if reset button is pressed during power-on.
Rename the sysupgrade file and configure TFTP as follows:

 - Client (WL-WN570HA1) IP: 192.168.10.101
 - Server IP: 192.168.10.100
 - Filename: firmware.bin

Signed-off-by: Thomas Vincent-Cross <me@tvc.id.au>
[use generic board detection, add firmware partition compatible]
Signed-off-by: Mathias Kresin <dev@kresin.me>
This commit is contained in:
Thomas Vincent-Cross 2018-10-23 02:21:16 +11:00 committed by Mathias Kresin
parent 31469aebd4
commit a160f50d4f
5 changed files with 154 additions and 0 deletions

View file

@ -370,6 +370,14 @@ vocore-16M)
w502u)
set_wifi_led "rt2800pci-phy0::radio"
;;
wavlink,wl-wn570ha1)
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
ucidef_set_rssimon "wlan0" "200000" "1"
ucidef_set_led_rssi "wifi-low" "wifi-low" "$boardname:green:wifi-low" "wlan0" "1" "49"
ucidef_set_led_rssi "wifi-med" "wifi-med" "$boardname:green:wifi-med" "wlan0" "50" "84"
ucidef_set_led_rssi "wifi-high" "wifi-high" "$boardname:green:wifi-high" "wlan0" "85" "100"
set_wifi_led "$boardname:green:wifi"
;;
we1026-5g-16m)
ucidef_set_led_netdev "lan" "LAN" "we1026-5g:green:lan" "eth0"
set_wifi_led "we1026-5g:green:wifi"

View file

@ -117,6 +117,7 @@ ramips_setup_interfaces()
sk-wb8|\
u7621-06-256M-16M|\
vr500|\
wavlink,wl-wn570ha1|\
wf-2881|\
whr-g300n|\
mqmaker,witi-256m|\

View file

@ -178,6 +178,7 @@ platform_check_image() {
w306r-v20|\
w502u|\
ravpower,wd03|\
wavlink,wl-wn570ha1|\
wf-2881|\
whr-1166d|\
whr-300hp2|\

View file

@ -0,0 +1,136 @@
/dts-v1/;
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include "mt7628an.dtsi"
/ {
compatible = "wavlink,wl-wn570ha1", "mediatek,mt7628an-soc";
model = "Wavlink WL-WN570HA1";
chosen {
bootargs = "console=ttyS0,57600";
};
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
power {
label = "wl-wn570ha1:green:power";
gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
wan {
label = "wl-wn570ha1:green:wan";
gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
};
wifi-high {
label = "wl-wn570ha1:green:wifi-high";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
};
wifi-med {
label = "wl-wn570ha1:green:wifi-med";
gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
};
wifi-low {
label = "wl-wn570ha1:green:wifi-low";
gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
};
wifi {
label = "wl-wn570ha1:green:wifi";
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "wled_an", "p0led_an", "wdt", "refclk";
ralink,function = "gpio";
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
wifi@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
};
};
&spi0 {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
m25p,chunked-io = <32>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "u-boot-env";
reg = <0x30000 0x10000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0x7b0000>;
};
};
};
};
&wmac {
status = "okay";
};
&ethernet {
mtd-mac-address = <&factory 0x2e>;
mediatek,portmap = "llllw";
};

View file

@ -321,6 +321,14 @@ define Device/vocore2lite
endef
TARGET_DEVICES += vocore2lite
define Device/wavlink_wl-wn570ha1
DTS := WL-WN570HA1
IMAGE_SIZE := $(ralink_default_fw_size_8M)
DEVICE_TITLE := Wavlink WL-WN570HA1
DEVICE_PACKAGES := kmod-mt76x0e
endef
TARGET_DEVICES += wavlink_wl-wn570ha1
define Device/wcr-1166ds
DTS := WCR-1166DS
BUFFALO_TAG_PLATFORM := MTK