aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/boot/uboot-envtools/files/ath791
-rw-r--r--target/linux/ath79/dts/qca9558_engenius_ews660ap.dts132
-rw-r--r--target/linux/ath79/generic/base-files/etc/board.d/02_network1
-rw-r--r--target/linux/ath79/generic/base-files/lib/upgrade/platform.sh1
-rw-r--r--target/linux/ath79/image/generic.mk12
5 files changed, 147 insertions, 0 deletions
diff --git a/package/boot/uboot-envtools/files/ath79 b/package/boot/uboot-envtools/files/ath79
index 71dd104f55..0510a4b51a 100644
--- a/package/boot/uboot-envtools/files/ath79
+++ b/package/boot/uboot-envtools/files/ath79
@@ -38,6 +38,7 @@ engenius,ecb600|\
engenius,enh202-v1|\
engenius,ens202ext-v1|\
engenius,enstationac-v1|\
+engenius,ews660ap|\
etactica,eg200|\
glinet,gl-ar750s-nor|\
glinet,gl-ar750s-nor-nand|\
diff --git a/target/linux/ath79/dts/qca9558_engenius_ews660ap.dts b/target/linux/ath79/dts/qca9558_engenius_ews660ap.dts
new file mode 100644
index 0000000000..eca3a6091f
--- /dev/null
+++ b/target/linux/ath79/dts/qca9558_engenius_ews660ap.dts
@@ -0,0 +1,132 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "qca955x_senao_loader.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "engenius,ews660ap", "qca,qca9558";
+ model = "EnGenius EWS660AP";
+
+ aliases {
+ label-mac-device = &eth0;
+ led-boot = &led_wifi5g;
+ led-failsafe = &led_wifi5g;
+ led-upgrade = &led_wifi5g;
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ wifi2g {
+ label = "green:wifi2g";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy1tpt";
+ };
+
+ led_wifi5g: wifi5g {
+ label = "green:wifi5g";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0tpt";
+ };
+ };
+};
+
+&partitions {
+ partition@ff0000 {
+ label = "art";
+ reg = <0xff0000 0x010000>;
+ read-only;
+
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_art_0: macaddr@0 {
+ reg = <0x0 0x6>;
+ };
+
+ calibration_art_1000: calibration@1000 {
+ reg = <0x1000 0x440>;
+ };
+
+ calibration_art_5000: calibration@5000 {
+ reg = <0x5000 0x844>;
+ };
+ };
+};
+
+&mdio0 {
+ status = "okay";
+
+ phy1: ethernet-phy@1 {
+ reg = <1>;
+ eee-broken-100tx;
+ eee-broken-1000t;
+ };
+
+ phy2: ethernet-phy@2 {
+ reg = <2>;
+ eee-broken-100tx;
+ eee-broken-1000t;
+ at803x-override-sgmii-link-check;
+ };
+};
+
+&eth0 {
+ status = "okay";
+
+ nvmem-cells = <&macaddr_art_0>;
+ nvmem-cell-names = "mac-address";
+
+ phy-handle = <&phy1>;
+ phy-mode = "rgmii-id";
+
+ pll-data = <0x82000000 0x80000101 0x80001313>;
+};
+
+&eth1 {
+ status = "okay";
+
+ nvmem-cells = <&macaddr_art_0>;
+ nvmem-cell-names = "mac-address";
+ mac-address-increment = <1>;
+
+ phy-handle = <&phy2>;
+
+ pll-data = <0x03000000 0x00000101 0x00001313>;
+
+ qca955x-sgmii-fixup;
+};
+
+&wmac {
+ status = "okay";
+
+ nvmem-cells = <&macaddr_art_0>, <&calibration_art_1000>;
+ nvmem-cell-names = "mac-address", "calibration";
+ mac-address-increment = <2>;
+};
+
+&ath10k_1 {
+ status = "okay";
+
+ nvmem-cells = <&macaddr_art_0>, <&calibration_art_5000>;
+ nvmem-cell-names = "mac-address", "calibration";
+ mac-address-increment = <3>;
+};
+
+&pcie1 {
+ status = "okay";
+};
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 610e70e500..5db3a2d3c4 100644
--- a/target/linux/ath79/generic/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network
@@ -136,6 +136,7 @@ ath79_setup_interfaces()
devolo,dvl1750e|\
engenius,enstationac-v1|\
engenius,ews511ap|\
+ engenius,ews660ap|\
ocedo,ursus|\
ruckus,zf7372|\
ubnt,unifi-ap-outdoor-plus)
diff --git a/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh b/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh
index d03163a8ea..67a3635075 100644
--- a/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh
@@ -42,6 +42,7 @@ platform_do_upgrade() {
engenius,ecb600|\
engenius,ens202ext-v1|\
engenius,enstationac-v1|\
+ engenius,ews660ap|\
watchguard,ap100|\
watchguard,ap200|\
watchguard,ap300)
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index 3e32a08295..b3b510a2ec 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -1308,6 +1308,18 @@ define Device/engenius_ews511ap
endef
TARGET_DEVICES += engenius_ews511ap
+define Device/engenius_ews660ap
+ $(Device/senao_loader_okli)
+ SOC := qca9558
+ DEVICE_VENDOR := EnGenius
+ DEVICE_MODEL := EWS660AP
+ DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
+ IMAGE_SIZE := 11584k
+ LOADER_FLASH_OFFS := 0x220000
+ SENAO_IMGNAME := ar71xx-generic-ews660ap
+endef
+TARGET_DEVICES += engenius_ews660ap
+
define Device/enterasys_ws-ap3705i
SOC := ar9344
DEVICE_VENDOR := Enterasys