diff options
4 files changed, 204 insertions, 4 deletions
diff --git a/target/linux/ath79/dts/ar7161_trendnet_tew-673gru.dts b/target/linux/ath79/dts/ar7161_trendnet_tew-673gru.dts new file mode 100644 index 0000000000..8657e291bd --- /dev/null +++ b/target/linux/ath79/dts/ar7161_trendnet_tew-673gru.dts @@ -0,0 +1,180 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar7100.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +/ { + compatible = "trendnet,tew-673gru", "qca,ar7161"; + model = "TRENDNET TEW-673GRU"; + + aliases { + led-boot = &led_wps; + led-failsafe = &led_wps; + led-running = &led_wps; + led-upgrade = &led_wps; + }; + + extosc: ref { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-output-names = "ref"; + clock-frequency = <40000000>; + }; + + leds { + compatible = "gpio-leds"; + + led_wps: wps { + label = "blue:wps"; + gpios = <&gpio 9 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = <KEY_RESTART>; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + + wps { + label = "wps"; + linux,code = <KEY_WPS_BUTTON>; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + }; + }; + + rtl8366s { + compatible = "realtek,rtl8366s"; + gpio-sda = <&gpio 5 GPIO_ACTIVE_HIGH>; + gpio-sck = <&gpio 7 GPIO_ACTIVE_HIGH>; + realtek,initvals = <0x06 0x0108>; + + mdio-bus { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + phy4: ethernet-phy@4 { + reg = <4>; + phy-mode = "rgmii"; + }; + }; + }; + + virtual_flash { + compatible = "mtd-concat"; + devices = <&fwconcat0 &fwconcat1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x0 0x0>; + }; + }; + }; +}; + +&usb1 { + status = "okay"; +}; + +&usb2 { + status = "okay"; +}; + +&usb_phy { + status = "okay"; +}; + +&pcie0 { + status = "okay"; + + wifi@0,11 { + compatible = "pci168c,0029"; + reg = <0x8800 0 0 0 0>; + qca,no-eeprom; + }; + + wifi@0,12 { + compatible = "pci168c,0029"; + reg = <0x9000 0 0 0 0>; + qca,no-eeprom; + }; +}; + +&pll { + clocks = <&extosc>; +}; + +&spi { + 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 = "config"; + reg = <0x040000 0x010000>; + read-only; + }; + + fwconcat0: partition@50000 { + label = "fwconcat0"; + reg = <0x050000 0x610000>; + }; + + partition@660000 { + label = "caldata"; + reg = <0x660000 0x010000>; + read-only; + }; + + fwconcat1: partition@670000 { + label = "fwconcat1"; + reg = <0x670000 0x190000>; + }; + }; + }; +}; + +ð0 { + status = "okay"; + + pll-data = <0x11110000 0x00001099 0x00991099>; + + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +ð1 { + status = "okay"; + + pll-data = <0x11110000 0x00001099 0x00991099>; + + phy-handle = <&phy4>; +}; 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 1d8beaaa25..e47f66c2f2 100644 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -195,7 +195,8 @@ ath79_setup_interfaces() ;; buffalo,wzr-hp-g300nh-rb|\ buffalo,wzr-hp-g300nh-s|\ - dlink,dir-825-b1) + dlink,dir-825-b1|\ + trendnet,tew-673gru) ucidef_set_interface_wan "eth1" ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "3:lan" "5@eth0" @@ -605,7 +606,8 @@ ath79_setup_macs() dlink,dap-3662-a1) label_mac=$(mtd_get_mac_ascii bdcfg "wlanmac") ;; - dlink,dir-825-b1) + dlink,dir-825-b1|\ + trendnet,tew-673gru) lan_mac=$(mtd_get_mac_text "caldata" 0xffa0) wan_mac=$(mtd_get_mac_text "caldata" 0xffb4) label_mac=$wan_mac 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 04705aadf8..6dd237e1fa 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 @@ -160,7 +160,8 @@ case "$FIRMWARE" in netgear,wndap360) caldata_extract "art" 0x1000 0xeb8 ;; - dlink,dir-825-b1) + dlink,dir-825-b1|\ + trendnet,tew-673gru) caldata_extract "caldata" 0x1000 0xeb8 ath9k_patch_mac_crc $(mtd_get_mac_text "caldata" 0xffa0) 0x20c ;; @@ -179,7 +180,8 @@ case "$FIRMWARE" in netgear,wndap360) caldata_extract "art" 0x5000 0xeb8 ;; - dlink,dir-825-b1) + dlink,dir-825-b1|\ + trendnet,tew-673gru) caldata_extract "caldata" 0x5000 0xeb8 ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_text "caldata" 0xffb4) 1) 0x20c ;; diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 7b760abc3e..11c5669fe4 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -2554,6 +2554,22 @@ define Device/teltonika_rut955-h7v3c0 endef TARGET_DEVICES += teltonika_rut955-h7v3c0 +define Device/trendnet_tew-673gru + SOC := ar7161 + DEVICE_VENDOR := Trendnet + DEVICE_MODEL := TEW-673GRU + DEVICE_VARIANT := v1.0R + DEVICE_PACKAGES := -uboot-envtools kmod-usb-ohci kmod-usb2 \ + kmod-owl-loader kmod-switch-rtl8366s + IMAGE_SIZE := 7808k + FACTORY_SIZE := 6144k + IMAGES += factory.bin + IMAGE/factory.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \ + pad-rootfs | check-size $$$$(FACTORY_SIZE) | pad-to $$$$(FACTORY_SIZE) | \ + append-string AP94-AR7161-RT-080619-01 +endef +TARGET_DEVICES += trendnet_tew-673gru + define Device/trendnet_tew-823dru SOC := qca9558 DEVICE_VENDOR := Trendnet |