Hi, comments inline. Nothing really serious ...
> -----Original Message----- > From: openwrt-devel [mailto:[email protected]] > On Behalf Of [email protected] > Sent: Donnerstag, 22. April 2021 21:24 > To: [email protected] > Cc: Thomas Aldrian <[email protected]> > Subject: [PATCH] ramips: add support for Wavlink WL-WN578A2 > > From: Thomas Aldrian <[email protected]> > > This commit adds support for the Wavlink WL-WN578A2 dual-band wall-plug > wireless router. This device is also sold under the name SilverCrest SWV 733 > A2. > > Device Specifications: > > - CPU: MediaTek MT7628AN (580MHz) > - Flash: 8MB > - RAM: 64MB > - Bootloader: U-Boot > - Ethernet: 2x 10/100 Mbps > - 2.4 GHz: 802.11b/g/n SoC > - 5 GHz: 802.11a/n/ac MT7610E > - Antennas: internal > - 4 green LEDs: WPS/Power, LAN, WAN, wifi-low, wifi-med, wifi-high > - Buttons: Reset, WPS > - Sliding mode switch: AP, repeater, client > - Small sliding power switch > > Flashing instructions: > > U-Boot launches TFTP client if WPS button is pressed during power-on. > Configure as follows: > > - Server IP: 192.168.10.100 > - Filename (rename sysupgrade file to this): firmware.bin > > Flashing should not take more than a minute, device will reboot > automatically. > > Signed-off-by: Thomas Aldrian <[email protected]> > --- > .../dts/mt7628an_wavlink_wl-wn578a2.dts | 165 ++++++++++++++++++ > target/linux/ramips/image/mt76x8.mk | 10 ++ > .../mt76x8/base-files/etc/board.d/01_leds | 8 + > .../mt76x8/base-files/etc/board.d/02_network | 6 +- > 4 files changed, 187 insertions(+), 2 deletions(-) create mode 100644 > target/linux/ramips/dts/mt7628an_wavlink_wl-wn578a2.dts > > diff --git a/target/linux/ramips/dts/mt7628an_wavlink_wl-wn578a2.dts > b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn578a2.dts > new file mode 100644 > index 0000000000..69a54c297b > --- /dev/null > +++ b/target/linux/ramips/dts/mt7628an_wavlink_wl-wn578a2.dts > @@ -0,0 +1,165 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT > + > +#include "mt7628an.dtsi" > + > +#include <dt-bindings/input/input.h> > +#include <dt-bindings/gpio/gpio.h> > + > +/ { > + compatible = "wavlink,wl-wn578a2", "mediatek,mt7628an-soc"; > + model = "Wavlink WL-WN578A2"; > + > + aliases { > + led-boot = &led_wps; > + led-failsafe = &led_wps; > + led-running = &led_wps; > + led-upgrade = &led_wps; > + }; > + > + keys { > + compatible = "gpio-keys"; > + > + reset { > + label = "reset"; > + gpios = <&gpio 43 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_RESTART>; > + }; > + > + wps { > + label = "wps"; > + gpios = <&gpio 38 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_WPS_BUTTON>; > + }; > + > + ap { > + label = "ap"; > + gpios = <&gpio 41 GPIO_ACTIVE_LOW>; > + linux,code = <BTN_0>; > + linux,input-type = <EV_SW>; > + }; > + > + repeater { > + label = "repeater"; > + gpios = <&gpio 42 GPIO_ACTIVE_LOW>; > + linux,code = <BTN_1>; > + linux,input-type = <EV_SW>; > + }; > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + wifi-high { > + label = "green:wifi-high"; > + gpios = <&gpio 37 GPIO_ACTIVE_LOW>; > + }; > + > + wifi-med { > + label = "green:wifi-med"; > + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; > + }; > + > + wifi-low { > + label = "green:wifi-low"; > + gpios = <&gpio 44 GPIO_ACTIVE_LOW>; > + }; > + > + lan { > + label = "green:lan"; > + gpios = <&gpio 40 GPIO_ACTIVE_LOW>; > + }; > + > + wan { > + label = "green:wan"; > + gpios = <&gpio 39 GPIO_ACTIVE_LOW>; > + }; > + > + led_wps: wps { > + label = "green:wps"; > + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; > + }; > + }; > +}; > + > +&state_default { > + gpio { > + groups = "i2c", "wdt", "wled_an", "p0led_an", "p1led_an", > "p2_led", "p3led_an", "p4led_an", "refclk"; > + function = "gpio"; > + }; p2led_an (typo) Apart from that, gpio 11 is missing ... And please wrap this long line. > +}; > + > +&pcie { > + status = "okay"; > +}; > + > +&pcie0 { > + mt76@0,0 { 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 = <40000000>; > + > + 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"; > +}; > + > +ðernet { > + mtd-mac-address = <&factory 0x28>; > +}; > + > +&esw { > + mediatek,portmap = <0x2f>; > +}; > + > +&usbphy { > + status = "disabled"; > +}; > + > +&ehci { > + status = "disabled"; > +}; > + > +&ohci { > + status = "disabled"; > +}; > diff --git a/target/linux/ramips/image/mt76x8.mk > b/target/linux/ramips/image/mt76x8.mk > index d5a9684dba..79221239e9 100644 > --- a/target/linux/ramips/image/mt76x8.mk > +++ b/target/linux/ramips/image/mt76x8.mk > @@ -733,6 +733,16 @@ define Device/wavlink_wl-wn577a2 endef > TARGET_DEVICES += wavlink_wl-wn577a2 > > +define Device/wavlink_wl-wn578a2 > + IMAGE_SIZE := 7872k > + DEVICE_VENDOR := Wavlink > + DEVICE_MODEL := WL-WN578A2 > + DEVICE_ALT0_VENDOR := SilverCrest > + DEVICE_ALT0_MODEL := SWV 733 A2 > + DEVICE_PACKAGES := rssileds kmod-mt76x0e endef TARGET_DEVICES += > +wavlink_wl-wn578a2 > + > define Device/widora_neo-16m > IMAGE_SIZE := 16064k > DEVICE_VENDOR := Widora > 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 fdef158ea8..00093a7cd7 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 > @@ -133,6 +133,14 @@ wavlink,wl-wn577a2) > ucidef_set_led_switch "lan" "lan" "green:lan" "switch0" "0x8" > ucidef_set_led_switch "wan" "wan" "green:wan" "switch0" "0x10" > ;; > +wavlink,wl-wn578a2) > + ucidef_set_led_switch "lan" "lan" "green:lan" "switch0" "0x8" > + ucidef_set_led_switch "wan" "wan" "green:wan" "switch0" "0x10" > + ucidef_set_rssimon "wlan1" "200000" "1" > + ucidef_set_led_rssi "wifi-low" "wifi-low" "green:wifi-low" "wlan1" > "1" "49" > + ucidef_set_led_rssi "wifi-med" "wifi-med" "green:wifi-med" "wlan1" > "50" "84" > + ucidef_set_led_rssi "wifi-high" "wifi-high" "green:wifi-high" "wlan1" > "85" "100" > + ;; Why wlan1? Is this chosen arbitrarily (than please drop the default setup), or is the vendor really also using only one specific radio for the RSSI leds? Best Adrian > zbtlink,zbt-we1226) > ucidef_set_led_netdev "wifi_led" "wifi" "green:wlan" "wlan0" > ucidef_set_led_switch "lan1" "LAN1" "green:lan1" "switch0" "0x01" > 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 5ce44d0e9b..d61a60591c 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 > @@ -46,7 +46,8 @@ ramips_setup_interfaces() > ;; > buffalo,wcr-1166ds|\ > elecom,wrc-1167fs|\ > - wavlink,wl-wn577a2) > + wavlink,wl-wn577a2|\ > + wavlink,wl-wn578a2) > ucidef_add_switch "switch0" \ > "3:lan" "4:wan" "6@eth0" > ;; > @@ -168,7 +169,8 @@ ramips_setup_macs() > ;; > cudy,wr1000|\ > hilink,hlk-7688a|\ > - wavlink,wl-wn577a2) > + wavlink,wl-wn577a2|\ > + wavlink,wl-wn578a2) > wan_mac=$(mtd_get_mac_binary factory 0x2e) > label_mac=$(mtd_get_mac_binary factory 0x4) > ;; > -- > 2.31.1 > > > _______________________________________________ > openwrt-devel mailing list > [email protected] > https://lists.openwrt.org/mailman/listinfo/openwrt-devel
openpgp-digital-signature.asc
Description: PGP signature
_______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
