ath79: add support for Compex WPJ531 (16M)
authorLeon M. George <leon@georgemail.eu>
Thu, 25 Jul 2019 01:06:32 +0000 (03:06 +0200)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Sat, 27 Jun 2020 22:26:39 +0000 (00:26 +0200)
Specifications:

SoC: QCA9531
DRAM: 128MB DDR2
Flash: 16MB SPI-NOR
2 100MBit ethernet ports
2×2 2.4GHz on-board radio
miniPCIe slot that supports 5GHz radio
PoE 24V - 48V IEEE 802.3af optional
USB 2.0 header

Installation:

To install, start a tftp server in bin/targets/ath79/generic/ and use the
u-boot prompt over UART:

tftpboot 0x80500000 openwrt-ath79-generic-compex_wpj531-16m-squashfs-sysupgrade.bin
erase 0x9f030000 +$filesize
erase 0x9f680000 +1
cp.b $fileaddr 0x9f030000 $filesize
boot

The cpximg file can be used with sysupgrade in the stock firmware (add SSH key
in luci for root access).

Another way is to hold the reset button during power up or running 'cpximg' in
the u-boot prompt.
Once the last LED starts flashing regularly, a TFTP-server under 192.168.1.1
will accept the image appropriate for the board revision that is etched on the
board.

For example, if the board is labelled '7A04':

tftp -v -m binary 192.168.1.1 -c put openwrt-ath79-generic-compex_wpj531-16m-squashfs-cpximg-7A04.bin

MAC addresses:

<&uboot 0x2e010>  *:cb  (label)
<&uboot 0x2e018>  *:cc
<&uboot 0x2e020>  *:cd
<&uboot 0x2e028>  *:ce

Only the first two are used (for ethernet), the WiFi modules have
separate (valid) addresses. The latter two addresses are not used.

Signed-off-by: Leon M. George <leon@georgemail.eu>
[commit title/message facelift, fix rssileds, add led aliases]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/ath79/dts/qca9531_compex_wpj531-16m.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/image/generic.mk

diff --git a/target/linux/ath79/dts/qca9531_compex_wpj531-16m.dts b/target/linux/ath79/dts/qca9531_compex_wpj531-16m.dts
new file mode 100644 (file)
index 0000000..343a02e
--- /dev/null
@@ -0,0 +1,141 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+#include "qca953x.dtsi"
+
+/ {
+       compatible = "compex,wpj531-16m", "qca,qca9531";
+       model = "Compex WPJ531 (16MB flash)";
+
+       aliases {
+               label-mac-device = &eth0;
+               led-boot = &led_sig4;
+               led-failsafe = &led_sig4;
+               led-running = &led_sig4;
+               led-upgrade = &led_sig4;
+       };
+
+       beeper {
+               compatible = "gpio-beeper";
+               gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
+       };
+
+       keys {
+               compatible = "gpio-keys";
+
+               reset {
+                       label = "reset";
+                       linux,code = <KEY_RESTART>;
+                       gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinmux_led_eth_pins>;
+
+               sig1 {
+                       label = "wpj531:red:sig1";
+                       gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+               };
+
+               sig2 {
+                       label = "wpj531:yellow:sig2";
+                       gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+               };
+
+               sig3 {
+                       label = "wpj531:green:sig3";
+                       gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+               };
+
+               led_sig4: sig4 {
+                       label = "wpj531:green:sig4";
+                       gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
+
+&uart {
+       status = "okay";
+};
+
+&pinmux {
+       pinmux_led_eth_pins: pinmux_led_eth_pins {
+               pinctrl-single,bits = <0x8 0x2b000000 0xff000000>, <0xc 0x00002d00 0x0000ff00>;
+       };
+};
+
+&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>;
+
+                       uboot: partition@0 {
+                               label = "u-boot";
+                               reg = <0x000000 0x030000>;
+                               read-only;
+                       };
+
+                       partition@30000 {
+                               label = "firmware";
+                               reg = <0x030000 0xfc0000>;
+                               compatible = "denx,uimage";
+                       };
+
+                       art: partition@ff0000 {
+                               label = "art";
+                               reg = <0xff0000 0x010000>;
+                               read-only;
+                       };
+               };
+       };
+};
+
+&eth1 {
+       mtd-mac-address = <&uboot 0x2e018>;
+};
+
+&eth0 {
+       status = "okay";
+
+       phy-handle = <&swphy4>;
+
+       mtd-mac-address = <&uboot 0x2e010>;
+};
+
+&wmac {
+       status = "okay";
+
+       mtd-cal-data = <&art 0x1000>;
+};
+
+&pcie0 {
+       status = "okay";
+
+       wifi@0,0 {
+               compatible = "pci168c,003c";
+               reg = <0x0000 0 0 0 0>;
+       };
+};
+
+&usb_phy {
+       status = "okay";
+};
+
+&usb0 {
+       status = "okay";
+};
index 398c9ed4953a1a77acaacf9905c48c8a3f3943ae..aaa830c6eaa67786ec1129900f36393dc33c2745 100755 (executable)
@@ -115,6 +115,13 @@ engenius,ecb1750|\
 enterasys,ws-ap3705i)
        ucidef_set_led_netdev "lan" "LAN" "$boardname:blue:lan" "eth0"
        ;;
+compex,wpj531-16m)
+       ucidef_set_rssimon "wlan0" "200000" "1"
+       ucidef_set_led_rssi "sig1" "SIG1" "wpj531:red:sig1" "wlan0" "85" "100"
+       ucidef_set_led_rssi "sig2" "SIG2" "wpj531:yellow:sig2" "wlan0" "75" "100"
+       ucidef_set_led_rssi "sig3" "SIG3" "wpj531:green:sig3" "wlan0" "65" "100"
+       ucidef_set_led_rssi "sig4" "SIG4" "wpj531:green:sig4" "wlan0" "50" "100"
+       ;;
 devolo,magic-2-wifi)
        ucidef_set_led_netdev "plcw" "dLAN" "devolo:white:dlan" "eth0.1" "rx"
        ;;
index 4b74565aa325e341830aa1c3d5f96fabc524865a..d0e73a5d3f99a4f72a4359f1f0acaec5d7a75862 100755 (executable)
@@ -108,6 +108,7 @@ ath79_setup_interfaces()
        comfast,cf-e110n-v2|\
        comfast,cf-e120a-v3|\
        comfast,cf-e314n-v2|\
+       compex,wpj531-16m|\
        tplink,cpe210-v1|\
        tplink,cpe220-v2|\
        tplink,cpe220-v3|\
index 9f296adaa754c5bd96944fe6c6f39031b20ad1d9..35def342502e2e7234dff4f7c2b264b68a136c5c 100644 (file)
@@ -418,6 +418,17 @@ define Device/comfast_cf-wr752ac-v1
 endef
 TARGET_DEVICES += comfast_cf-wr752ac-v1
 
+define Device/compex_wpj531-16m
+  SOC := qca9531
+  DEVICE_PACKAGES := kmod-usb2
+  IMAGE_SIZE := 16128k
+  DEVICE_VENDOR := Compex
+  DEVICE_MODEL := WPJ531
+  DEVICE_VARIANT := 16M
+  SUPPORTED_DEVICES += wpj531
+endef
+TARGET_DEVICES += compex_wpj531-16m
+
 define Device/devolo_dvl1200e
   SOC := qca9558
   DEVICE_VENDOR := devolo