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>
This commit is contained in:
Karl Palsson 2018-05-07 16:08:00 +00:00 committed by John Crispin
parent a32c06f44d
commit 1588114cf2
4 changed files with 160 additions and 0 deletions

View file

@ -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"
;;

View file

@ -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"|\

View file

@ -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>;
};

View file

@ -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