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 10d0b74027..14ecea5676 100755 --- a/target/linux/ath79/base-files/etc/board.d/02_network +++ b/target/linux/ath79/base-files/etc/board.d/02_network @@ -49,6 +49,7 @@ ath79_setup_interfaces() glinet,ar300m) ucidef_set_interfaces_lan_wan "eth1" "eth0" ;; + iodata,etg3-r|\ iodata,wn-ac1167dgr|\ iodata,wn-ac1600dgr2|\ pcs,cr5000) @@ -165,6 +166,10 @@ ath79_setup_macs() lan_mac=$(mtd_get_mac_text "caldata" 65440) wan_mac=$(mtd_get_mac_text "caldata" 65460) ;; + iodata,etg3-r) + lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr) + wan_mac=$(macaddr_add "$lan_mac" -1) + ;; iodata,wn-ac1167dgr|\ iodata,wn-ac1600dgr2) lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr) diff --git a/target/linux/ath79/dts/ar9342_iodata_etg3-r.dts b/target/linux/ath79/dts/ar9342_iodata_etg3-r.dts new file mode 100644 index 0000000000..f674cf46d1 --- /dev/null +++ b/target/linux/ath79/dts/ar9342_iodata_etg3-r.dts @@ -0,0 +1,129 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include +#include + +#include "ar9344.dtsi" + +/ { + compatible = "iodata,etg3-r", "qca,ar9344"; + model = "I-O DATA ETG3-R"; + + aliases { + led-boot = &power; + led-failsafe = &power; + led-running = &power; + led-upgrade = &power; + }; + + leds { + compatible = "gpio-leds"; + + power: power { + label = "etg3-r:green:power"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + + notification { + label = "etg3-r:green:notification"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <20>; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; +}; + +&spi { + num-cs = <1>; + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + 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 = "firmware"; + reg = <0x050000 0x780000>; + }; + + partition@7d0000 { + label = "Config"; + reg = <0x07d0000 0x10000>; + read-only; + }; + + partition@7e0000 { + label = "Rsv"; + reg = <0x07e0000 0x10000>; + read-only; + }; + + partition@7f0000 { + label = "ART"; + reg = <0x7f0000 0x010000>; + read-only; + }; + }; + }; +}; + +&mdio0 { + status = "okay"; + + phy0: ethernet-phy@0 { + reg = <0>; + phy-mode = "rgmii"; + + qca,ar8327-initvals = < + 0x04 0x07600000 /* PORT0 PAD MODE CTRL */ + 0x50 0xffb7ffb7 /* LED_CTRL0 */ + 0x54 0xffb7ffb7 /* LED_CTRL1 */ + 0x58 0xffb7ffb7 /* LED_CTRL2 */ + 0x5c 0x03ffff00 /* LED_CTRL3 */ + 0x7c 0x0000007e /* PORT0_STATUS */ + >; + }; +}; + +ð0 { + status = "okay"; + + pll-data = <0x06000000 0x00000101 0x00001616>; + + phy-mode = "rgmii"; + phy-handle = <&phy0>; +}; + +&uart { + status = "okay"; +}; diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 18138dd497..e35a3568a8 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -80,6 +80,13 @@ define Device/glinet_ar300m_nor endef TARGET_DEVICES += glinet_ar300m_nor +define Device/iodata_etg3-r + ATH_SOC := ar9342 + DEVICE_TITLE := I-O DATA ETG3-R + IMAGE_SIZE := 7680k +endef +TARGET_DEVICES += iodata_etg3-r + define Device/iodata_wn-ac1167dgr ATH_SOC := qca9557 DEVICE_TITLE := I-O DATA WN-AC1167DGR