ath79: add support for KuWfi WB5G08

Short specifications:

- QCA9563+9886
- 1x 100/1000 Mbps Ethernet, passive PoE support
- 128 MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 2.4 GHz with external PA, up to 25 dBm (316mW)
- 2x internal 18 dBi antennas
- 8x LED, 1x button

Flash instructions

1. Connect PC with 192.168.0.141 to WAN port
2. Install a TFTP server on your PC ('atftp' is doing the job for instance)
3. Copy your firmware in the TFTP folder as upgrade.bin
4. Power up device pushing the 'reset' button
5. The device shall upload upgrade.bin, install it and reboot
6. Device shall be booting on 192.168.1.1 as default

Signed-off-by: Joan Moreau <jom@grosjo.net>
This commit is contained in:
Joan Moreau 2024-12-15 13:56:09 +00:00
parent 8a7239009c
commit e80922e7b0
3 changed files with 215 additions and 0 deletions

View File

@ -0,0 +1,197 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "qca956x.dtsi"
#include <dt-bindings/leds/common.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "kuwfi,wb5g08", "qca,qca9563";
model = "KuWfi WB5G08";
aliases {
label-mac-device = &wmac;
led-boot = &led_system;
led-failsafe = &led_system;
led-running = &led_system;
led-upgrade = &led_system;
};
leds {
compatible = "gpio-leds";
led_system: power {
function = LED_FUNCTION_POWER;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
default-state = "on";
};
wlan {
function = LED_FUNCTION_WLAN;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy0tpt";
};
link1 {
label = "green:signal0";
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
};
link2 {
label = "green:signal1";
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
link3 {
label = "green:signal2";
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
link4 {
label = "green:signal3";
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys";
reset {
label = "Reset button";
linux,code = <KEY_RESTART>;
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
};
&pcie {
status = "okay";
wifi@0,0 {
compatible = "qcom,ath10k";
reg = <0x0000 0 0 0 0>;
nvmem-cells = <&cal_art_5000>;
nvmem-cell-names = "calibration";
};
};
&gpio {
pcie-enable-dev {
gpio-hog;
line-name = "pcie-enable-dev";
gpios = <22 GPIO_ACTIVE_LOW>;
output-low;
};
};
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "sgmii";
qca,mib-poll-interval = <500>;
qca,ar8327-initvals = <
0x04 0x00080080 /* PORT0 PAD MODE CTRL */
0x10 0x81000080 /* POWER_ON_STRAP */
0x50 0xcf37cf37 /* LED_CTRL0 */
0x54 0xcf37cf37 /* LED_CTRL1 */
0x58 0xcf37cf37 /* LED_CTRL2 */
0x5c 0x0000c300 /* LED_CTRL3 */
0x7c 0x0000007e /* PORT0_STATUS */
>;
};
};
&gmac {
status = "okay";
};
&mdio1 {
status = "okay";
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x040000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x040000 0x010000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x050000 0xfa0000>;
};
partition@ff0000 {
label = "art";
reg = <0xff0000 0x010000>;
read-only;
nvmem-layout {
compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_1: macaddr@6{
reg = <0x6 0x6>;
};
cal_art_1000: calibration@1000 {
reg = <0x1000 0x440>;
};
cal_art_5000: calibration@5000 {
reg = <0x5000 0x2f20>;
};
};
};
};
};
};
&eth0 {
status = "okay";
nvmem-cells = <&macaddr_art_1>;
nvmem-cell-names = "mac-address";
phy-mode = "sgmii";
phy-handle = <&phy0>;
};
&wmac {
status = "okay";
// nvmem-cells = <&macaddr_art_0>, <&cal_art_1000>;
// nvmem-cell-names = "mac-address", "calibration";
};

View File

@ -298,6 +298,13 @@ kuwfi,c910)
ucidef_set_led_switch "lan1" "LAN1" "white:lan1" "switch0" "0x10"
ucidef_set_led_switch "lan2" "LAN2" "white:lan2" "switch0" "0x02"
;;
kuwfi,wb5g08)
ucidef_set_rssimon "wlan0" "200000" "1"
ucidef_set_led_rssi "rssilow" "RSSILOW" "green:link1" "wlan0" "1" "100"
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "green:link2" "wlan0" "26" "100"
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "green:link3" "wlan0" "51" "100"
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "green:link4" "wlan0" "76" "100"
;;
meraki,mr12|\
tplink,cpe210-v2|\
tplink,cpe210-v3)

View File

@ -1982,6 +1982,17 @@ define Device/kuwfi_n650
endef
TARGET_DEVICES += kuwfi_n650
define Device/kuwfi_wb5g08
SOC := qca9563
DEVICE_VENDOR := KuWfi
DEVICE_MODEL := WB 5G08
IMAGE_SIZE := 16000k
IMAGES += tftp.bin
IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
DEVICE_PACKAGES := -uboot-envtools swconfig kmod-switch-ar8xx kmod-ath10k ath10k-board-qca9888 ath10k-firmware-qca9888
endef
TARGET_DEVICES += kuwfi_wb5g08
define Device/letv_lba-047-ch
$(Device/loader-okli-uimage)
SOC := qca9531