[openwrt/openwrt] ath79: add support for Compex WPJ531 (16M)

LEDE Commits lede-commits at lists.infradead.org
Sat Jun 27 18:26:56 EDT 2020


adrian pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/e10dd48360721a13d9196f9c2c7d2b901dfcc455

commit e10dd48360721a13d9196f9c2c7d2b901dfcc455
Author: Leon M. George <leon at georgemail.eu>
AuthorDate: Thu Jul 25 03:06:32 2019 +0200

    ath79: add support for Compex WPJ531 (16M)
    
    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 at georgemail.eu>
    [commit title/message facelift, fix rssileds, add led aliases]
    Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 .../linux/ath79/dts/qca9531_compex_wpj531-16m.dts  | 141 +++++++++++++++++++++
 .../ath79/generic/base-files/etc/board.d/01_leds   |   7 +
 .../generic/base-files/etc/board.d/02_network      |   1 +
 target/linux/ath79/image/generic.mk                |  11 ++
 4 files changed, 160 insertions(+)

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
index 0000000000..343a02e38a
--- /dev/null
+++ b/target/linux/ath79/dts/qca9531_compex_wpj531-16m.dts
@@ -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 at 0 {
+		compatible = "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <25000000>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			uboot: partition at 0 {
+				label = "u-boot";
+				reg = <0x000000 0x030000>;
+				read-only;
+			};
+
+			partition at 30000 {
+				label = "firmware";
+				reg = <0x030000 0xfc0000>;
+				compatible = "denx,uimage";
+			};
+
+			art: partition at 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 at 0,0 {
+		compatible = "pci168c,003c";
+		reg = <0x0000 0 0 0 0>;
+	};
+};
+
+&usb_phy {
+	status = "okay";
+};
+
+&usb0 {
+	status = "okay";
+};
diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
index 398c9ed495..aaa830c6ea 100755
--- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
@@ -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"
 	;;
diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network
index 4b74565aa3..d0e73a5d3f 100755
--- a/target/linux/ath79/generic/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network
@@ -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|\
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index 9f296adaa7..35def34250 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -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



More information about the lede-commits mailing list