diff options
author | Karl Palsson <karlp@etactica.com> | 2018-05-07 16:08:00 +0000 |
---|---|---|
committer | John Crispin <john@phrozen.org> | 2018-06-08 09:56:27 +0200 |
commit | 1588114cf2a3a32e96e818e65b99392723184400 (patch) | |
tree | 9d21d797f169ea6af1ae8b302fc89ba84391bd31 | |
parent | a32c06f44d6340fd25d1eb276f62b8494de9f462 (diff) | |
download | upstream-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-x | target/linux/ath79/base-files/etc/board.d/01_leds | 6 | ||||
-rwxr-xr-x | target/linux/ath79/base-files/etc/board.d/02_network | 3 | ||||
-rw-r--r-- | target/linux/ath79/dts/ar9331_etactica-eg200.dts | 142 | ||||
-rw-r--r-- | target/linux/ath79/image/generic.mk | 9 |
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"; + }; +}; + +ð0 { + 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 |