ath79: add support for Yuncore XD3200
authorThibaut VARÈNE <hacks@slashdirt.org>
Thu, 14 Apr 2022 10:39:03 +0000 (12:39 +0200)
committerPetr Štetiar <ynezz@true.cz>
Fri, 15 Apr 2022 05:11:18 +0000 (07:11 +0200)
Specification:

- QCA9563 (775MHz), 128MB RAM, 16MB SPI NOR
- 2T2R 802.11b/g/n 2.4GHz
- 2T2R 802.11n/ac 5GHz
- 2x 10/100/1000 Mbps Ethernet, with 802.3at PoE support (WAN port)

LED for 5 GHz WLAN is currently not supported as it is connected directly
to the QCA9882 radio chip.

Flash instructions:

If your device comes with generic QSDK based firmware, you can login
over telnet (login: root, empty password, default IP: 192.168.188.253),
issue first (important!) 'fw_setenv' command and then perform regular
upgrade, using 'sysupgrade -n -F ...' (you can use 'wget' to download
image to the device, SSH server is not available):

  fw_setenv bootcmd "bootm 0x9f050000 || bootm 0x9fe80000"
  sysupgrade -n -F openwrt-...-yuncore_...-squashfs-sysupgrade.bin

In case your device runs firmware with YunCore custom GUI, you can use
U-Boot recovery mode:

1. Set a static IP 192.168.0.141/24 on PC and start TFTP server with
   'tftp' image renamed to 'upgrade.bin'
2. Power the device with reset button pressed and release it after 5-7
   seconds, recovery mode should start downloading image from server
   (unfortunately, there is no visible indication that recovery got
   enabled - in case of problems check TFTP server logs)

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
package/boot/uboot-envtools/files/ath79
target/linux/ath79/dts/qca9563_yuncore_xd3200.dts [new file with mode: 0644]
target/linux/ath79/generic/base-files/etc/board.d/01_leds
target/linux/ath79/generic/base-files/etc/board.d/02_network
target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
target/linux/ath79/image/generic.mk

index 230f2fe417eaece4ae79a80e9ae7c26222db8e97..ace5cab30fd46ea621e1d59948033422def1e80e 100644 (file)
@@ -69,6 +69,7 @@ samsung,wam250|\
 ubnt,nanostation-m|\
 yuncore,a770|\
 yuncore,a782|\
+yuncore,xd3200|\
 yuncore,xd4200|\
 ziking,cpe46b|\
 zyxel,nbg6616)
diff --git a/target/linux/ath79/dts/qca9563_yuncore_xd3200.dts b/target/linux/ath79/dts/qca9563_yuncore_xd3200.dts
new file mode 100644 (file)
index 0000000..5c87752
--- /dev/null
@@ -0,0 +1,32 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "qca9563_yuncore_xd4200.dtsi"
+
+/ {
+       compatible = "yuncore,xd3200", "qca,qca9563";
+       model = "YunCore XD3200";
+
+       aliases {
+               label-mac-device = &eth0;
+               led-boot = &led_system;
+               led-failsafe = &led_system;
+               led-running = &led_system;
+               led-upgrade = &led_system;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led_system: system {
+                       label = "green:system";
+                       gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+                       default-state = "keep";
+               };
+
+               wlan2g {
+                       label = "blue:wlan2g";
+                       gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "phy1tpt";
+               };
+       };
+};
index e22cee51a3e54d875b586c66be983377fffaa743..12a54f3bd5733ea5591b90fc46f76f805c0cfcef 100644 (file)
@@ -246,7 +246,8 @@ glinet,gl-x750)
 hak5,lan-turtle)
        ucidef_set_led_netdev "wan" "WAN" "orange:system" "eth1"
        ;;
-joyit,jt-or750i)
+joyit,jt-or750i|\
+yuncore,xd3200)
        ucidef_set_led_default "ath10k" "ath10k-disable" "ath10k-phy0" "0"
        ;;
 meraki,mr12|\
index 2f0208b288a17009c8a729ce215d06ec07eccbfb..03e6434422b09bb37a4e4d7aae4ec210cc456948 100644 (file)
@@ -365,6 +365,7 @@ ath79_setup_interfaces()
        ubnt,nanobeam-ac-gen2|\
        ubnt,nanostation-ac|\
        yuncore,a782|\
+       yuncore,xd3200|\
        yuncore,xd4200)
                ucidef_add_switch "switch0" \
                        "0@eth0" "2:lan" "3:wan"
index 348b8839b6d59b4592ff8b44279dd79402b0a976..17121d961868f79012367c0e8a2292376a7f54d1 100644 (file)
@@ -46,7 +46,8 @@ case "$FIRMWARE" in
        ubnt,powerbeam-5ac-gen2|\
        ubnt,rocket-5ac-lite|\
        ubnt,unifiac-pro|\
-       yuncore,a770)
+       yuncore,a770|\
+       yuncore,xd3200)
                caldata_extract "art" 0x5000 0x844
                ;;
        avm,fritz1750e|\
index 769c0ee1dab531ed1b194592b5ea71073c573cb2..33a72358b3ac6b33535fa901213431874af2bee6 100644 (file)
@@ -2528,6 +2528,17 @@ define Device/yuncore_a782
 endef
 TARGET_DEVICES += yuncore_a782
 
+define Device/yuncore_xd3200
+  SOC := qca9563
+  DEVICE_VENDOR := YunCore
+  DEVICE_MODEL := XD3200
+  DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
+  IMAGE_SIZE := 16000k
+  IMAGES += tftp.bin
+  IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
+endef
+TARGET_DEVICES += yuncore_xd3200
+
 define Device/yuncore_xd4200
   SOC := qca9563
   DEVICE_VENDOR := YunCore