aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarl Palsson <karlp@etactica.com>2018-05-07 16:08:00 +0000
committerJohn Crispin <john@phrozen.org>2018-06-08 09:56:27 +0200
commit1588114cf2a3a32e96e818e65b99392723184400 (patch)
tree9d21d797f169ea6af1ae8b302fc89ba84391bd31
parenta32c06f44d6340fd25d1eb276f62b8494de9f462 (diff)
downloadupstream-1588114cf2a3a32e96e818e65b99392723184400.tar.gz
upstream-1588114cf2a3a32e96e818e65b99392723184400.tar.bz2
upstream-1588114cf2a3a32e96e818e65b99392723184400.zip
ath79: add etactica-eg200 support
Based on original ar71xx eg200 board files Tested working: * usb hub, storage and serial port * ethernet * wifi * leds * button sysupgrade from self->self passes validity checks. sysupgrade from old ar71xx->ath79 passes. (however this doesn't migrate wireless driver configs) Only unknown issue is the existance of a /sys/class/leds/ath9k-phy0, which doesn't "exist" Signed-off-by: Karl Palsson <karlp@etactica.com>
-rwxr-xr-xtarget/linux/ath79/base-files/etc/board.d/01_leds6
-rwxr-xr-xtarget/linux/ath79/base-files/etc/board.d/02_network3
-rw-r--r--target/linux/ath79/dts/ar9331_etactica-eg200.dts142
-rw-r--r--target/linux/ath79/image/generic.mk9
4 files changed, 160 insertions, 0 deletions
diff --git a/target/linux/ath79/base-files/etc/board.d/01_leds b/target/linux/ath79/base-files/etc/board.d/01_leds
index 76b0257919..80e32d9e00 100755
--- a/target/linux/ath79/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/base-files/etc/board.d/01_leds
@@ -18,6 +18,12 @@ case "$board" in
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "$boardname:green:rssi3" "wlan0" "60" "100"
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "$boardname:green:rssi4" "wlan0" "80" "100"
;;
+"etactica,eg200")
+ ucidef_set_led_netdev "lan" "LAN" "$boardname:red:eth0" "eth0"
+ ucidef_set_led_wlan "wlan" "WLAN" "$boardname:red:wlan" "phy0tpt"
+ ucidef_set_led_oneshot "modbus" "Modbus" "$boardname:red:modbus" "100" "33"
+ ucidef_set_led_default "etactica" "etactica" "$boardname:red:etactica" "ignore"
+ ;;
"glinet,ar150")
ucidef_set_led_wlan "wlan" "WLAN" "gl-ar150:orange:wlan" "phy0tpt"
;;
diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network
index c02d9ff063..a2d6ab0049 100755
--- a/target/linux/ath79/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/base-files/etc/board.d/02_network
@@ -8,6 +8,9 @@ ath79_setup_interfaces()
local board="$1"
case "$board" in
+ "etactica,eg200")
+ ucidef_set_interface_lan "eth0" "dhcp"
+ ;;
"avm,fritz300e"|\
"tplink,tl-mr10u"|\
"tplink,tl-wr703n"|\
diff --git a/target/linux/ath79/dts/ar9331_etactica-eg200.dts b/target/linux/ath79/dts/ar9331_etactica-eg200.dts
new file mode 100644
index 0000000000..1dc96081c2
--- /dev/null
+++ b/target/linux/ath79/dts/ar9331_etactica-eg200.dts
@@ -0,0 +1,142 @@
+// 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 "ar9331.dtsi"
+
+/ {
+ model = "eTactica EG200";
+ compatible = "etactica,eg200", "rme-eg200";
+
+ aliases {
+ serial0 = &uart;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x4000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <50>;
+
+ restore {
+ linux,code = <KEY_WPS_BUTTON>;
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ modbus {
+ label = "eg200:red:modbus";
+ gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ etactica {
+ label = "eg200:red:etactica";
+ gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ eth0 {
+ label = "eg200:red:eth0";
+ gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+ default-state = "off";
+ };
+
+ wlan {
+ label = "eg200:red:wlan";
+ gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
+ default-state = "off";
+ };
+ };
+};
+
+&uart {
+ status = "okay";
+};
+
+&gpio {
+ status = "okay";
+};
+
+&usb {
+ dr_mode = "host";
+ status = "okay";
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&mdio0 {
+ status = "okay";
+ phy4: ethernet-phy@4 {
+ reg = <4>;
+ phy-mode = "mii";
+ };
+};
+
+&eth0 {
+ status = "okay";
+ mtd-mac-address = <&art 0x0>;
+ phy-handle = <&phy4>;
+
+ gmac-config {
+ device = <&gmac>;
+ switch-phy-addr-swap = <1>;
+ switch-phy-swap = <1>;
+ };
+};
+
+&spi {
+ num-chipselects = <1>;
+ status = "okay";
+
+ flash@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ spi-max-frequency = <50000000>;
+ reg = <0>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ uboot@0 {
+ reg = <0x0 0x40000>;
+ read-only;
+ };
+
+ uboot-env@40000 {
+ reg = <0x40000 0x10000>;
+ read-only;
+ };
+
+ firmware@50000 {
+ reg = <0x50000 0xfa0000>;
+ };
+
+ art: art@ff0000 {
+ reg = <0xff0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&wmac {
+ status = "okay";
+ mtd-cal-data = <&art 0x1000>;
+ mtd-mac-address = <&art 0x1002>;
+};
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index cb5dc38f62..9475d0ab33 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -44,6 +44,15 @@ define Device/embeddedwireless_dorin
endef
TARGET_DEVICES += embeddedwireless_dorin
+define Device/etactica-eg200
+ ATH_SOC := ar9331
+ DEVICE_TITLE := eTactica EG200
+ DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-ledtrig-oneshot \
+ kmod-usb-serial kmod-usb-serial-ftdi kmod-usb-storage kmod-fs-ext4
+ SUPPORTED_DEVICES += etactica,eg200 rme-eg200
+endef
+TARGET_DEVICES += etactica-eg200
+
define Device/glinet_ar150
ATH_SOC := ar9330
DEVICE_TITLE := GL.iNet GL-AR150