[PATCH 2/2] ramips: add support for Wavlink WS-WN572HP3 4G
Arınç ÜNAL
arinc.unal at arinc9.com
Tue Nov 29 15:45:12 PST 2022
On 30.11.2022 01:12, Jan-Niklas Burfeind wrote:
> Wavlink WS-WN572HP3 4G is an 802.11ac
> dual-band outdoor router with LTE support.
>
> Specifications;
> * Soc: MT7621DAT
> * RAM: 128MiB
> * Flash: NOR 16MiB GD-25Q128ESIG3
> * Wi-Fi:
> * MT7613BEN: 5GHz
> * MT7603EN: 2.4GHz
> * Ethernet: 2x 1GbE
> * USB: None - only used internally
> * LTE Modem: Quectel EC200T-EU
> * UART: 115200 baud
> * LEDs:
> * 7 blue at the front
> * 1 Power
> * 2 LAN / WAN
> * 1 Status
> * 3 RSSI (annotated 4G)
> * 1 green at the bottom (4G LED)
> * Buttons: 1 reset button
>
> Installation:
> * press and hold the reset button while powering on the device
> * keep it pressed for ten seconds
> * connect to 192.168.10.1 via webbrowser (chromium/chrome works, at
> least Firefox 106.0.3 does not)
> * upload the sysupgrade image, confirm the checksum, wait 2 minutes
> until the device reboots
>
> Revert to stock firmware:
> * same as installation but use the recovery image for WL-WN572HP3
>
> Signed-off-by: Jan-Niklas Burfeind <git at aiyionpri.me>
> ---
> .../dts/mt7621_wavlink_ws-wn572hp3-4g.dts | 186 ++++++++++++++++++
> target/linux/ramips/image/mt7621.mk | 17 ++
> 2 files changed, 203 insertions(+)
> create mode 100644 target/linux/ramips/dts/mt7621_wavlink_ws-wn572hp3-4g.dts
>
> diff --git a/target/linux/ramips/dts/mt7621_wavlink_ws-wn572hp3-4g.dts b/target/linux/ramips/dts/mt7621_wavlink_ws-wn572hp3-4g.dts
> new file mode 100644
> index 0000000000..89f7bb218d
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7621_wavlink_ws-wn572hp3-4g.dts
> @@ -0,0 +1,186 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +
> +#include "mt7621.dtsi"
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> + compatible = "wavlink,ws-wn572hp3-4g", "mediatek,mt7621-soc";
> + model = "Wavlink WS-WN572HP3 4G";
> +
> + chosen {
> + bootargs = "console=ttyS0,115200";
> + };
> +
> + aliases {
> + led-boot = &led_status_blue;
> + led-failsafe = &led_status_blue;
> + led-running = &led_status_blue;
> + led-upgrade = &led_status_blue;
> + };
> +
> + keys {
> + compatible = "gpio-keys";
> +
> + reset {
> + label = "Reset Button";
> + gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_RESTART>;
> + };
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> +
> + rssihigh {
> + label = "blue:rssihigh";
> + gpios = <&gpio 68 GPIO_ACTIVE_LOW>;
> + };
> +
> + rssimedium {
> + label = "blue:rssimedium";
> + gpios = <&gpio 81 GPIO_ACTIVE_LOW>;
> + };
> +
> + rssilow {
> + label = "blue:rssilow";
> + gpios = <&gpio 80 GPIO_ACTIVE_LOW>;
> + };
> +
> + led_status_blue: status_blue {
> + label = "blue:status";
> + gpios = <&gpio 67 GPIO_ACTIVE_LOW>;
> + };
> +
> + // gpio 79 would be Quectels PWRKEY if used
> + };
> +};
> +
> +&spi0 {
> + status = "okay";
> +
> + flash at 0 {
> + compatible = "jedec,spi-nor";
> + reg = <0>;
> + spi-max-frequency = <40000000>;
> +
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + partition at 0 {
> + label = "u-boot";
> + reg = <0x0 0x30000>;
> + read-only;
> + };
> +
> + partition at 30000 {
> + label = "config";
> + reg = <0x30000 0x10000>;
> + read-only;
> + };
> +
> + factory: partition at 40000 {
> + label = "factory";
> + reg = <0x40000 0x10000>;
> + read-only;
> + };
> +
> + partition at 50000 {
> + compatible = "denx,fit";
> + label = "firmware";
> + reg = <0x50000 0xf30000>;
> + };
> +
> + partition at f00000 {
> + label = "vendor";
> + reg = <0xf80000 0x80000>;
> + read-only;
> + };
> + };
> + };
> +};
> +
> +&pcie {
> + status = "okay";
> +};
> +
> +&pcie0 {
> + wifi0: mt76 at 0,0 {
> + compatible = "mediatek,mt76";
> + reg = <0x0000 0 0 0 0>;
> + mediatek,mtd-eeprom = <&factory 0x0>;
> + };
> +};
> +
> +&pcie1 {
> + wifi1: mt76 at 0,0 {
> + compatible = "mediatek,mt76";
> + reg = <0x0000 0 0 0 0>;
> + mediatek,mtd-eeprom = <&factory 0x8000>;
> + };
> +};
> +
> +ðernet {
> + pinctrl-0 = <&mdio_pins>, <&rgmii1_pins>;
> +};
You don't want this when a switch phy is muxed to gmac1. Please remove.
> +
> +&gmac0 {
> + nvmem-cells = <&macaddr_factory_e000>;
> + nvmem-cell-names = "mac-address";
> +};
> +
> +&gmac1 {
> + status = "okay";
> + label = "wan";
> + phy-handle = <ðphy4>;
> +
> + nvmem-cells = <&macaddr_factory_e006>;
> + nvmem-cell-names = "mac-address";
> +};
> +
> +&mdio {
> + ethphy4: ethernet-phy at 4 {
> + reg = <4>;
> + };
> +};
> +
> +&switch0 {
> + ports {
> + port1: port at 1 {
You don't refer to port1 anywhere, why put a label in the first place?
> + status = "okay";
What's the port label supposed to be?
> + };
> + };
> +};
> +
> +&state_default {
> + gpio {
> + groups = "wdt";
> + function = "gpio";
> + };
> +};
> +
> +&factory {
> + compatible = "nvmem-cells";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + macaddr_factory_e000: macaddr at e000 {
> + reg = <0xe000 0x6>;
> + };
> +
> + macaddr_factory_e006: macaddr at e006 {
> + reg = <0xe006 0x6>;
> + };
> +};
> +
> +&wifi0{
> + ieee80211-freq-limit = <2400000 2500000>;
> +};
> +
> +&wifi1{
> + ieee80211-freq-limit = <5000000 6000000>;
> +};
> +
> diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
> index 943fc62ecd..4028e43e39 100644
> --- a/target/linux/ramips/image/mt7621.mk
> +++ b/target/linux/ramips/image/mt7621.mk
> @@ -2158,6 +2158,23 @@ define Device/wavlink_wl-wn533a8
> endef
> TARGET_DEVICES += wavlink_wl-wn533a8
>
> +define Device/wavlink_ws-wn572hp3-4g
> + $(Device/dsa-migration)
> + BLOCKSIZE := 64k
> + DEVICE_VENDOR := Wavlink
> + DEVICE_MODEL := WS-WN572HP3
> + DEVICE_VARIANT := 4G
> + IMAGE_SIZE := 15040k
> + KERNEL_LOADADDR := 0x82000000
> + KERNEL := kernel-bin | relocate-kernel 0x80001000 | lzma | \
> + fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
> + IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
> + append-rootfs | pad-rootfs | check-size | append-metadata
> + DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap \
> + kmod-usb3 kmod-usb-net-rndis comgt-ncm
> +endef
> +TARGET_DEVICES += wavlink_ws-wn572hp3-4g
> +
> define Device/wevo_11acnas
> $(Device/dsa-migration)
> $(Device/uimage-lzma-loader)
Don't you also need to add interface configuration at 02_network?
Arınç
More information about the openwrt-devel
mailing list