aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/boot/uboot-envtools/files/ath791
-rw-r--r--target/linux/ath79/dts/ar7240_engenius_enh202-v1.dts184
-rwxr-xr-xtarget/linux/ath79/generic/base-files/etc/board.d/01_leds8
-rwxr-xr-xtarget/linux/ath79/generic/base-files/etc/board.d/02_network30
-rw-r--r--target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom3
-rw-r--r--target/linux/ath79/image/generic.mk12
6 files changed, 225 insertions, 13 deletions
diff --git a/package/boot/uboot-envtools/files/ath79 b/package/boot/uboot-envtools/files/ath79
index 11fdb07272..d127714420 100644
--- a/package/boot/uboot-envtools/files/ath79
+++ b/package/boot/uboot-envtools/files/ath79
@@ -19,6 +19,7 @@ arduino,yun|\
buffalo,bhr-4grv2|\
devolo,magic-2-wifi|\
engenius,ecb1750|\
+engenius,enh202-v1|\
engenius,ens202ext-v1|\
etactica,eg200|\
glinet,gl-ar750s-nor|\
diff --git a/target/linux/ath79/dts/ar7240_engenius_enh202-v1.dts b/target/linux/ath79/dts/ar7240_engenius_enh202-v1.dts
new file mode 100644
index 0000000000..0f276c110d
--- /dev/null
+++ b/target/linux/ath79/dts/ar7240_engenius_enh202-v1.dts
@@ -0,0 +1,184 @@
+// 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 "ar7240.dtsi"
+
+/ {
+ compatible = "engenius,enh202-v1", "qca,ar7240";
+ model = "EnGenius ENH202 v1";
+
+ aliases {
+ led-boot = &led_rssihigh;
+ led-failsafe = &led_rssihigh;
+ led-running = &led_rssihigh;
+ led-upgrade = &led_rssihigh;
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&jtag_disable_pins &switch_led_disable_pins &clks_disable_pins>;
+
+ rssilow {
+ label = "enh202-v1:red:rssilow";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ };
+
+ rssimedium {
+ label = "enh202-v1:amber:rssimedium";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ };
+
+ led_rssihigh: rssihigh {
+ label = "enh202-v1:green:rssihigh";
+ gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+ };
+
+ lan {
+ label = "enh202-v1:amber:lan";
+ gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+ };
+
+ wan {
+ label = "enh202-v1:green:wan";
+ gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ ath9k-leds {
+ compatible = "gpio-leds";
+
+ wlan {
+ label = "enh202-v1:green:wlan";
+ gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0tpt";
+ };
+ };
+
+ 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>;
+ };
+ };
+ };
+};
+
+&uart {
+ status = "okay";
+};
+
+&spi {
+ status = "okay";
+
+ num-cs = <1>;
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <20000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0x40000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "u-boot-env";
+ reg = <0x40000 0x10000>;
+ };
+
+ partition@50000 {
+ label = "custom";
+ reg = <0x50000 0x50000>;
+ read-only;
+ };
+
+ partition@a0000 {
+ label = "loader";
+ reg = <0xa0000 0x10000>;
+ read-only;
+ };
+
+ firmware2: partition@b0000 {
+ label = "firmware2";
+ reg = <0xb0000 0xf0000>;
+ };
+
+ partition@1a0000 {
+ label = "fakeroot";
+ reg = <0x1a0000 0x10000>;
+ };
+
+ firmware1: partition@1b0000 {
+ label = "firmware1";
+ reg = <0x1b0000 0x4c0000>;
+ };
+
+ partition@670000 {
+ label = "failsafe";
+ reg = <0x670000 0x180000>;
+ read-only;
+ };
+
+ art: partition@7f0000 {
+ label = "art";
+ reg = <0x7f0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&eth0 {
+ mtd-mac-address = <&art 0x0>;
+};
+
+&eth1 {
+ status = "okay";
+
+ mtd-mac-address = <&art 0x0>;
+};
+
+&pcie {
+ status = "okay";
+
+ ath9k: wifi@0,0 {
+ compatible = "pci168c,002a";
+ reg = <0x0000 0 0 0 0>;
+ qca,no-eeprom;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+};
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 23d38aca22..decbb35096 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
@@ -144,6 +144,14 @@ dlink,dap-1365-a1)
dlink,dir-859-a1)
ucidef_set_led_switch "internet" "WAN" "$boardname:green:internet" "switch0" "0x20"
;;
+engenius,enh202-v1)
+ ucidef_set_led_switch "lan" "LAN" "$boardname:amber:lan" "switch0" "0x10"
+ ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth0"
+ ucidef_set_rssimon "wlan0" "200000" "1"
+ ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:red:rssilow" "wlan0" "1" "100"
+ ucidef_set_led_rssi "rssimedium" "RSSIMEDIUM" "$boardname:amber:rssimedium" "wlan0" "33" "100"
+ ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "$boardname:green:rssihigh" "wlan0" "67" "100"
+ ;;
engenius,ens202ext-v1)
ucidef_set_rssimon "wlan0" "200000" "1"
ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:red:rssilow" "wlan0" "1" "100"
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 601e66e886..34dd975e19 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
@@ -187,6 +187,11 @@ ath79_setup_interfaces()
ucidef_add_switch "switch0" \
"0@eth0" "1:wan" "2:lan:3" "3:lan:2"
;;
+ engenius,enh202-v1)
+ ucidef_set_interface_wan "eth0"
+ ucidef_add_switch "switch0" \
+ "0@eth1" "4:lan:1"
+ ;;
engenius,ens202ext-v1)
ucidef_set_interface_wan "eth1"
ucidef_add_switch "switch0" \
@@ -450,6 +455,19 @@ ath79_setup_macs()
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
label_mac=$(mtd_get_mac_ascii u-boot-env athaddr)
;;
+ engenius,enh202-v1|\
+ ubnt,airrouter|\
+ ubnt,bullet-m-ar7240|\
+ ubnt,bullet-m-ar7241|\
+ ubnt,nanobridge-m|\
+ ubnt,nanostation-loco-m|\
+ ubnt,nanostation-m|\
+ ubnt,picostation-m|\
+ ubnt,powerbridge-m|\
+ ubnt,rocket-m|\
+ ubnt,unifi)
+ label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
+ ;;
engenius,epg5000)
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
@@ -525,18 +543,6 @@ ath79_setup_macs()
wan_mac=$(mtd_get_mac_text mac 0x18)
label_mac=$wan_mac
;;
- ubnt,airrouter|\
- ubnt,bullet-m-ar7240|\
- ubnt,bullet-m-ar7241|\
- ubnt,nanobridge-m|\
- ubnt,nanostation-loco-m|\
- ubnt,nanostation-m|\
- ubnt,picostation-m|\
- ubnt,powerbridge-m|\
- ubnt,rocket-m|\
- ubnt,unifi)
- label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
- ;;
ubnt,litebeam-ac-gen2|\
ubnt,powerbeam-5ac-500|\
ubnt,powerbeam-5ac-gen2)
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 024f2eb02e..3871825682 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
@@ -74,7 +74,8 @@ case "$FIRMWARE" in
avm,fritz300e)
caldata_extract_reverse "urloader" 0x1541 0x440
;;
- buffalo,wzr-hp-g302h-a1a0)
+ buffalo,wzr-hp-g302h-a1a0|\
+ engenius,enh202-v1)
caldata_extract "art" 0x1000 0xeb8
;;
buffalo,wzr-hp-g450h)
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index e6995fa645..5dd1dacae4 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -836,6 +836,18 @@ define Device/engenius_loader_okli
check-size | engenius-tar-gz $$$$(ENGENIUS_IMGNAME)
endef
+define Device/engenius_enh202-v1
+ $(Device/engenius_loader_okli)
+ SOC := ar7240
+ DEVICE_MODEL := ENH202
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := rssileds
+ IMAGE_SIZE := 4864k
+ LOADER_FLASH_OFFS := 0x1b0000
+ ENGENIUS_IMGNAME := senao-enh202
+endef
+TARGET_DEVICES += engenius_enh202-v1
+
define Device/engenius_ens202ext-v1
$(Device/engenius_loader_okli)
SOC := ar9341