From: Pavel Balan <[email protected]> This patch adds support for the COMFAST CF-E130N v2, an outdoor wireless CPE with a single Ethernet port and a 802.11bgn radio.
Specifications: - QCA9531 SoC - 1x 10/100 Mbps Ethernet with PoE-in support - 64 MB of RAM (DDR2) - 16 MB of FLASH - 5 dBi built-in antenna - POWER/LAN/WLAN green LEDs - 4x RSSI LEDs (2x red, 2x green) - UART (115200 8N1) and GPIO (J9) headers on PCB Flashing instructions: The original firmware is based on OpenWrt so a sysupgrade image can be installed via the stock web GUI. The U-boot bootloader also contains a backup TFTP client to upload the firmware from. Upon boot, it checks its ethernet network for the IP 192.168.1.10. Host a TFTP server and provide the image to be flashed as file firmware_auto.bin. Signed-off-by: Pavel Balan <[email protected]> --- Run-tested on hardware. Changes since v4: -Formatting fixes -Added the config partition (thank you Adrian!) -Confirmed the MAC address on the original firmware - both ethernet and wireless return the MAC on the physical device label, listed in <&art0x0>. -Another, cleaner attempt to disable eth0. Responses to Adrian's questions: -Re unused led: judging by the inside view, it is possible that they just did not bother to remove it from the PCB. There is an orderly array of LEDs along the panel, and leaving a gap of one might have not been worth the pain. --- .../ath79/dts/qca9531_comfast_cf-e130n-v2.dts | 150 ++++++++++++++++++ .../generic/base-files/etc/board.d/01_leds | 8 + .../generic/base-files/etc/board.d/02_network | 1 + target/linux/ath79/image/generic.mk | 10 ++ 4 files changed, 169 insertions(+) create mode 100644 target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts b/target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts new file mode 100644 index 0000000000..dc1e037307 --- /dev/null +++ b/target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts @@ -0,0 +1,150 @@ +// 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 "qca953x.dtsi" + +/ { + compatible = "comfast,cf-e130n-v2", "qca,qca9531"; + model = "COMFAST CF-E130N v2"; + + aliases { + serial0 = &uart; + led-boot = &led_rssihigh; + led-failsafe = &led_rssihigh; + led-upgrade = &led_rssihigh; + label-mac-device = ð1; + }; + + leds { + compatible = "gpio-leds"; + + pinctrl-names = "default"; + + wlan { + label = "cf-e130n-v2:green:wlan"; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + lan { + label = "cf-e130n-v2:green:lan"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + }; + + unused { + label = "cf-e130n-v2:green:unused"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + + rssilow { + label = "cf-e130n-v2:red:rssilow"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + }; + + rssimediumlow { + label = "cf-e130n-v2:red:rssimediumlow"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + + rssimediumhigh { + label = "cf-e130n-v2:green:rssimediumhigh"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + led_rssihigh: rssihigh { + label = "cf-e130n-v2:green:rssihigh"; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = <KEY_RESTART>; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; +}; + +&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 0x010000>; + read-only; + }; + + art: partition@10000 { + label = "art"; + reg = <0x010000 0x010000>; + read-only; + }; + + partition@20000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x020000 0x7c0000>; + }; + + partition@7e0000 { + compatible = "denx,uimage"; + label = "configs"; + reg = <0x7e0000 0x010000>; + }; + + partition@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + read-only; + }; + }; + }; +}; + +&uart { + status = "okay"; + +}; + +ð0 { + compatible = "syscon", "simple-mfd"; +}; + +ð1 { + status = "okay"; + + phy-handle = <&swphy0>; + + mtd-mac-address = <&art 0x0>; + + gmac-config { + device = <&gmac>; + switch-phy-swap = <1>; + }; +}; + +&wmac { + status = "okay"; + + mtd-mac-address = <&art 0x0>; + mtd-cal-data = <&art 0x1000>; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds index fbb0d0ea03..3046d34605 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds @@ -47,6 +47,14 @@ comfast,cf-e120a-v3) ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "$boardname:green:rssimediumhigh" "wlan0" "51" "100" ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "$boardname:green:rssihigh" "wlan0" "76" "100" ;; +comfast,cf-e130n-v2) + ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0" + ucidef_set_rssimon "wlan0" "200000" "1" + ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:red:rssilow" "wlan0" "1" "100" + ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "$boardname:red:rssimediumlow" "wlan0" "26" "100" + ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "$boardname:green:rssimediumhigh" "wlan0" "51" "100" + ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "$boardname:green:rssihigh" "wlan0" "76" "100" + ;; comfast,cf-e313ac) ucidef_set_led_switch "lan" "LAN" "$boardname:green:lan" "switch0" "0x02" ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth1" 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 10ca213e70..b1ecc066fd 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -14,6 +14,7 @@ ath79_setup_interfaces() alfa-network,ap121f|\ aruba,ap-105|\ avm,fritz300e|\ + comfast,cf-e130n-v2|\ devolo,dvl1200i|\ devolo,dvl1750c|\ devolo,dvl1750i|\ diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 70631c20d0..256481ece3 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -258,6 +258,16 @@ define Device/comfast_cf-e120a-v3 endef TARGET_DEVICES += comfast_cf-e120a-v3 +define Device/comfast_cf-e130n-v2 + ATH_SOC := qca9531 + DEVICE_VENDOR := COMFAST + DEVICE_MODEL := CF-E130N + DEVICE_VARIANT := v2 + DEVICE_PACKAGES := rssileds kmod-leds-gpio -swconfig -uboot-envtools + IMAGE_SIZE := 8000k +endef +TARGET_DEVICES += comfast_cf-e130n-v2 + define Device/comfast_cf-e313ac ATH_SOC := qca9531 DEVICE_VENDOR := COMFAST -- 2.17.1 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
