diff options
6 files changed, 287 insertions, 3 deletions
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 dd9fa3c36b..466a0ee684 100755 --- a/target/linux/ath79/base-files/etc/board.d/02_network +++ b/target/linux/ath79/base-files/etc/board.d/02_network @@ -111,6 +111,12 @@ ath79_setup_interfaces() ubnt,routerstation) ucidef_set_interfaces_lan_wan "eth1" "eth0" ;; + comfast,cf-wr650ac-v1|\ + comfast,cf-wr650ac-v2) + ucidef_set_interfaces_lan_wan "eth0" "eth1" + ucidef_add_switch "switch0" \ + "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth1" + ;; devolo,dvl1200e|\ devolo,dvl1750e|\ ocedo,ursus) diff --git a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 501053e9d7..6f50a47271 100644 --- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -87,6 +87,11 @@ board=$(board_name) case "$FIRMWARE" in "ath10k/cal-pci-0000:00:00.0.bin") case $board in + comfast,cf-wr650ac-v1|\ + comfast,cf-wr650ac-v2|\ + yuncore,a770) + ath10kcal_extract "art" 20480 2116 + ;; devolo,dvl1200e|\ devolo,dvl1200i|\ devolo,dvl1750c|\ @@ -182,9 +187,6 @@ case "$FIRMWARE" in ubnt,unifiac-pro) ath10kcal_extract "EEPROM" 20480 2116 ;; - yuncore,a770) - ath10kcal_extract "art" 20480 2116 - ;; esac ;; "ath10k/pre-cal-pci-0000:00:00.0.bin") diff --git a/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v1.dts b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v1.dts new file mode 100644 index 0000000000..ff0fc0fe33 --- /dev/null +++ b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v1.dts @@ -0,0 +1,80 @@ +// 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 "qca9558_comfast_cf-wr650ac.dtsi" + +/ { + compatible = "comfast,cf-wr650ac-v1", "qca,qca9558"; + model = "Comfast CF-WR650AC v1"; + + leds { + compatible = "gpio-leds"; + + wps { + label = "cf-wr650ac-v1:blue:wps"; + gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + }; + + network { + label = "cf-wr650ac-v1:blue:network"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + + wlan2g { + label = "cf-wr650ac-v1:blue:wlan2"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + + wlan5g { + label = "cf-wr650ac-v1:blue:wlan5"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + }; + +}; + +&spi { + status = "okay"; + num-cs = <1>; + + 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 0x020000>; + read-only; + }; + + art: partition@20000 { + label = "art"; + reg = <0x020000 0x010000>; + read-only; + }; + + partition@30000 { + label = "firmware"; + compatible = "denx,uimage"; + reg = <0x030000 0xfc0000>; + }; + + partition@ff0000 { + label = "nvram"; + reg = <0xff0000 0x010000>; + read-only; + }; + }; + }; +}; diff --git a/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v2.dts b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v2.dts new file mode 100644 index 0000000000..fc461d16d0 --- /dev/null +++ b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v2.dts @@ -0,0 +1,80 @@ +// 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 "qca9558_comfast_cf-wr650ac.dtsi" + +/ { + compatible = "comfast,cf-wr650ac-v2", "qca,qca9558"; + model = "Comfast CF-WR650AC v2"; + + leds { + compatible = "gpio-leds"; + + wps { + label = "cf-wr650ac-v2:blue:wps"; + gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + }; + + network { + label = "cf-wr650ac-v2:blue:network"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + + wlan2g { + label = "cf-wr650ac-v2:blue:wlan2"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + + wlan5g { + label = "cf-wr650ac-v2:blue:wlan5"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + }; + +}; + +&spi { + status = "okay"; + num-cs = <1>; + + 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; + }; + + art: partition@40000 { + label = "art"; + reg = <0x040000 0x010000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + compatible = "denx,uimage"; + reg = <0x050000 0xfa0000>; + }; + + partition@ff0000 { + label = "nvram"; + reg = <0xff0000 0x010000>; + read-only; + }; + }; + }; +}; diff --git a/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac.dtsi b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac.dtsi new file mode 100644 index 0000000000..5f7498a06e --- /dev/null +++ b/target/linux/ath79/dts/qca9558_comfast_cf-wr650ac.dtsi @@ -0,0 +1,98 @@ +// 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 "qca9557.dtsi" + +/ { + chosen { + bootargs = "console=ttyS0,115200n8"; + }; + + keys { + compatible = "gpio-keys"; + + button0 { + label = "reset"; + linux,code = <KEY_RESTART>; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; + + watchdog { + compatible = "linux,wdt-gpio"; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + hw_algo = "toggle"; + hw_margin_ms = <500>; + always-running; + }; +}; + +&pcie0 { + status = "okay"; +}; + +&uart { + status = "okay"; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb0 { + status = "okay"; +}; + +&mdio0 { + status = "okay"; + + switch0@1f { + compatible = "qca,ar8327"; + reg = <0x1f>; + qca,ar8327-initvals = < + 0x04 0x87600000 /* PORT0 PAD MODE CTRL */ + 0x0c 0x00080080 /* PORT6 PAD MODE CTRL */ + 0x10 0x81000080 /* POWER_ON_STRIP */ + 0x7c 0x0000007e /* PORT0_STATUS */ + 0x94 0x0000007e /* PORT6 STATUS */ + >; + }; +}; + +ð0 { + status = "okay"; + + pll-data = <0xa6000000 0x00000101 0x00001616>; + mtd-mac-address = <&art 0x0>; + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +ð1 { + status = "okay"; + + pll-data = <0x03000101 0x00000101 0x00001616>; + mtd-mac-address = <&art 0x6>; + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +&wmac { + status = "okay"; + + mtd-cal-data = <&art 0x1000>; + mtd-mac-address = <&art 0x18>; +}; + +// This node is required for the Ethernet ports to work correctly. +&gpio { + status = "okay"; +}; diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 7ceb5a8867..149e4ed300 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -275,6 +275,24 @@ define Device/comfast_cf-e5 endef TARGET_DEVICES += comfast_cf-e5 +define Device/comfast_cf-wr650ac-v1 + ATH_SOC := qca9558 + DEVICE_VENDOR := COMFAST + DEVICE_MODEL := CF-WR650AC + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct +endef +TARGET_DEVICES += comfast_cf-wr650ac-v1 + +define Device/comfast_cf-wr650ac-v2 + ATH_SOC := qca9558 + DEVICE_VENDOR := COMFAST + DEVICE_MODEL := CF-WR650AC + DEVICE_VARIANT := v2 + DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct +endef +TARGET_DEVICES += comfast_cf-wr650ac-v2 + define Device/devolo_dvl1200e ATH_SOC := qca9558 DEVICE_VENDOR := devolo |