aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ath79/dts/ar9344_engenius_ecb600.dts203
-rwxr-xr-xtarget/linux/ath79/generic/base-files/etc/board.d/02_network1
-rw-r--r--target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom9
-rw-r--r--target/linux/ath79/image/generic.mk10
4 files changed, 219 insertions, 4 deletions
diff --git a/target/linux/ath79/dts/ar9344_engenius_ecb600.dts b/target/linux/ath79/dts/ar9344_engenius_ecb600.dts
new file mode 100644
index 0000000000..8f838607cc
--- /dev/null
+++ b/target/linux/ath79/dts/ar9344_engenius_ecb600.dts
@@ -0,0 +1,203 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "ar9344.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+ model = "EnGenius ECB600";
+ compatible = "engenius,ecb600", "qca,ar9344";
+
+ aliases {
+ label-mac-device = &eth0;
+ led-boot = &led_power;
+ led-failsafe = &led_power;
+ led-running = &led_power;
+ led-upgrade = &led_power;
+ serial0 = &uart;
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_power: power {
+ label = "amber:power";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+
+ wifi5g {
+ label = "blue:wifi5g";
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0tpt";
+ };
+ };
+
+ ath9k-leds {
+ compatible = "gpio-leds";
+
+ wifi2g {
+ label = "blue:wifi2g";
+ gpios = <&ath9k 0 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy1tpt";
+ };
+ };
+
+ virtual_flash {
+ compatible = "mtd-concat";
+
+ devices = <&firmware1 &firmware2>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ compatible = "openwrt,okli";
+ label = "firmware";
+ reg = <0x0 0x0>;
+ };
+ };
+ };
+};
+
+&ref {
+ clock-frequency = <40000000>;
+};
+
+&uart {
+ status = "okay";
+};
+
+&spi {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <40000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x000000 0x040000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "u-boot-env";
+ reg = <0x040000 0x010000>;
+ };
+
+ partition@50000 {
+ label = "custom";
+ reg = <0x050000 0x050000>;
+ read-only;
+ };
+
+ partition@a0000 {
+ label = "loader";
+ reg = <0x0a0000 0x010000>;
+ read-only;
+ };
+
+ firmware2: partition@b0000 {
+ label = "firmware2";
+ reg = <0x0b0000 0x170000>;
+ };
+
+ partition@220000 {
+ label = "fakeroot";
+ reg = <0x220000 0x010000>;
+ read-only;
+ };
+
+ firmware1: partition@230000 {
+ label = "firmware1";
+ reg = <0x230000 0xbc0000>;
+ };
+
+ partition@df0000 {
+ label = "failsafe";
+ reg = <0xdf0000 0x200000>;
+ read-only;
+ };
+
+ art: partition@ff0000 {
+ label = "art";
+ reg = <0xff0000 0x010000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&mdio0 {
+ status = "okay";
+
+ phy0: ethernet-phy@0 {
+ reg = <0>;
+ eee-broken-100tx;
+ eee-broken-1000t;
+ };
+};
+
+&eth0 {
+ status = "okay";
+
+ mtd-mac-address = <&art 0x0>;
+
+ phy-handle = <&phy0>;
+ phy-mode = "rgmii-id";
+
+ pll-data = <0x02000000 0x00000101 0x00001313>;
+
+ gmac-config {
+ device = <&gmac>;
+ rgmii-gmac0 = <1>;
+ rxdv-delay = <3>;
+ rxd-delay = <3>;
+ };
+};
+
+&pcie {
+ status = "okay";
+
+ ath9k: wifi@0,0,0 {
+ compatible = "pci168c,0030";
+ reg = <0x0 0 0 0 0>;
+ qca,no-eeprom;
+ qca,disable-5ghz;
+ mtd-mac-address = <&art 0x0>;
+ mtd-mac-address-increment = <(-2)>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+};
+
+&wmac {
+ status = "okay";
+
+ qca,disable-2ghz;
+
+ mtd-cal-data = <&art 0x1000>;
+ mtd-mac-address = <&art 0x0>;
+ mtd-mac-address-increment = <(-1)>;
+};
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 3ea0815ff2..a3b5d45ad2 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
@@ -32,6 +32,7 @@ ath79_setup_interfaces()
engenius,ecb1200|\
engenius,ecb1750|\
engenius,ecb350-v1|\
+ engenius,ecb600|\
enterasys,ws-ap3705i|\
glinet,gl-ar300m-lite|\
glinet,gl-usb150|\
diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
index 2746cf4137..867a1dac44 100644
--- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
+++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
@@ -88,10 +88,7 @@ case "$FIRMWARE" in
caldata_extract "art" 0x5000 0x440
ath9k_patch_mac $(macaddr_add $(mtd_get_mac_text "mac" 0x18) 1)
;;
- enterasys,ws-ap3705i)
- caldata_extract "calibrate" 0x5000 0x440
- ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env0 RADIOADDR0)
- ;;
+ engenius,ecb600|\
mercury,mw4530r-v1|\
ocedo,raccoon|\
tplink,tl-wdr3500-v1|\
@@ -104,6 +101,10 @@ case "$FIRMWARE" in
winchannel,wb2000)
caldata_extract "art" 0x5000 0x440
;;
+ enterasys,ws-ap3705i)
+ caldata_extract "calibrate" 0x5000 0x440
+ ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env0 RADIOADDR0)
+ ;;
netgear,wnr2200-8m|\
netgear,wnr2200-16m|\
pcs,cap324|\
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index ec2b1d2bde..064177fcaf 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -1002,6 +1002,16 @@ define Device/engenius_ecb350-v1
endef
TARGET_DEVICES += engenius_ecb350-v1
+define Device/engenius_ecb600
+ $(Device/engenius_loader_okli)
+ SOC := ar9344
+ DEVICE_MODEL := ECB600
+ IMAGE_SIZE := 12032k
+ LOADER_FLASH_OFFS := 0x230000
+ ENGENIUS_IMGNAME := senao-ecb600
+endef
+TARGET_DEVICES += engenius_ecb600
+
define Device/engenius_enh202-v1
$(Device/engenius_loader_okli)
SOC := ar7240