From 39d87fd2fe9d2516296723583b262b351bb8c5e2 Mon Sep 17 00:00:00 2001 From: Nickolay Goppen Date: Sat, 6 Sep 2025 16:40:31 +0300 Subject: [PATCH] ramips: add support for Zbtlink ZBT-WG108 Specification: CPU: MediaTek MT7621 (880 MHz) Flash size: 16 MB NOR SPI RAM size: 128 MB Bootloader: Breed Wireless: MT7612EN 2x2 802.11an+ac(5 GHz) Wireless: MT7603EN 2x2 bgn(2.4 GHz) Ethernet: 1 x WAN (10/100/1000Mbps) and 4 x LAN (10/100/1000 Mbps) USB: 1x 2.0 Type-A port External storage: 1x microSD (SDXC) slot UART: console (115200 baud) LEDs: Power, Wan, Lan 1-4, WiFi 2.4G, WiFi 5G Buttons: Reset How to install: The original firmware is OpenWrt, so sysupgrade can be used. Signed-off-by: Nickolay Goppen Link: https://github.com/openwrt/openwrt/pull/19966 (cherry picked from commit 8dd3ee205a41324e06df656cc0b11b2166f50928) Link: https://github.com/openwrt/openwrt/pull/20124 Signed-off-by: Hauke Mehrtens --- .../ramips/dts/mt7621_zbtlink_zbt-wg108.dts | 181 ++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 10 + .../mt7621/base-files/etc/board.d/02_network | 1 + 3 files changed, 192 insertions(+) create mode 100644 target/linux/ramips/dts/mt7621_zbtlink_zbt-wg108.dts diff --git a/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg108.dts b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg108.dts new file mode 100644 index 00000000000..0e17e164a8b --- /dev/null +++ b/target/linux/ramips/dts/mt7621_zbtlink_zbt-wg108.dts @@ -0,0 +1,181 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +/dts-v1/; +#include "mt7621.dtsi" + +#include +#include + +/ { + compatible = "zbtlink,zbt-wg108", "mediatek,mt7621-soc"; + model = "Zbtlink ZBT-WG108"; + + aliases { + label-mac-device = &wifi1; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&state_default { + gpio + { + groups = "wdt"; + function = "gpio"; + }; +}; + +&spi0 { + status = "okay"; + + m25p80@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + + 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; + }; + + partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + eeprom_factory_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + + macaddr_factory_e006: macaddr@e006 { + reg = <0xe006 0x6>; + }; + }; + }; + + partition@50000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; +}; + +&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"; +}; + +ðphy4 { + /delete-property/ interrupts; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + wifi0: wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + nvmem-cells = <&eeprom_factory_8000>; + nvmem-cell-names = "eeprom"; + ieee80211-freq-limit = <5000000 6000000>; + + led { + led-sources = <2>; + led-active-low; + }; + }; +}; + +&pcie1 { + wifi1: wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + nvmem-cells = <&eeprom_factory_0>; + nvmem-cell-names = "eeprom"; + ieee80211-freq-limit = <2400000 2500000>; + + led { + led-sources = <0>; + led-active-low; + }; + }; +}; + +&sdhci { + status = "okay"; +}; + +&switch0 { + ports { + port@0 { + status = "okay"; + label = "lan1"; + }; + + port@1 { + status = "okay"; + label = "lan2"; + }; + + port@2 { + status = "okay"; + label = "lan3"; + }; + + port@3 { + status = "okay"; + label = "lan4"; + }; + }; +}; + diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index f6a05db8d31..adaa27908ff 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -3378,6 +3378,16 @@ define Device/zbtlink_zbt-we3526 endef TARGET_DEVICES += zbtlink_zbt-we3526 +define Device/zbtlink_zbt-wg108 + IMAGE_SIZE := 16064k + DEVICE_VENDOR := Zbtlink + DEVICE_MODEL := ZBT-WG108 + DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb2 kmod-usb3 \ + kmod-mmc-mtk -uboot-envtools + SUPPORTED_DEVICES += zbt-wg108 +endef +TARGET_DEVICES += zbtlink_zbt-wg108 + define Device/zbtlink_zbt-wg1602-16m $(Device/dsa-migration) $(Device/uimage-lzma-loader) diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index 9e4f139a4cc..337d3ad9041 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -199,6 +199,7 @@ ramips_setup_macs() wavlink,wl-wn533a8|\ winstars,ws-wn583a6|\ zbtlink,zbt-we1326|\ + zbtlink,zbt-wg108|\ zbtlink,zbt-wg3526-16m|\ zbtlink,zbt-wg3526-32m) label_mac=$(mtd_get_mac_binary factory 0x4) -- 2.47.3