aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorLeon M. George <leon@georgemail.eu>2019-07-25 03:06:32 +0200
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-06-28 00:26:39 +0200
commite10dd48360721a13d9196f9c2c7d2b901dfcc455 (patch)
treef48e6919843dc43e760610b45116d9c83bb3b32a /target/linux
parent143c81716dde81251fc9844f2fbe32846685de26 (diff)
downloadupstream-e10dd48360721a13d9196f9c2c7d2b901dfcc455.tar.gz
upstream-e10dd48360721a13d9196f9c2c7d2b901dfcc455.tar.bz2
upstream-e10dd48360721a13d9196f9c2c7d2b901dfcc455.zip
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@georgemail.eu> [commit title/message facelift, fix rssileds, add led aliases] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ath79/dts/qca9531_compex_wpj531-16m.dts141
-rwxr-xr-xtarget/linux/ath79/generic/base-files/etc/board.d/01_leds7
-rwxr-xr-xtarget/linux/ath79/generic/base-files/etc/board.d/02_network1
-rw-r--r--target/linux/ath79/image/generic.mk11
4 files changed, 160 insertions, 0 deletions
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@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";
+};
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