aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Balan <admin@kryma.net>2020-03-27 03:32:55 +0000
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-05-28 01:47:54 +0200
commitad84c095028f6ddef95a92e028760cce23d32f6c (patch)
treea0ff1685429d6d89a847852f4720d7ecc78bad63
parent2b92ee36ae93456b16ca2813612d663dfeb65832 (diff)
downloadupstream-ad84c095028f6ddef95a92e028760cce23d32f6c.tar.gz
upstream-ad84c095028f6ddef95a92e028760cce23d32f6c.tar.bz2
upstream-ad84c095028f6ddef95a92e028760cce23d32f6c.zip
ath79: add support for COMFAST CF-E130N v2
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. MAC address setup: The art partition contains four consecutive MAC addresses: 0x0 aa:bb:cc:xx:xx:c4 0x6 aa:bb:cc:xx:xx:c6 0x1002 aa:bb:cc:xx:xx:c5 0x5006 aa:bb:cc:xx:xx:c7 However, the manufacturer in its infinite wisdom decided that one address is enough and both eth0 and WiFi get the MAC address from 0x0 (yes, that's overwriting the existing and valid address in 0x1002). This is obviously also the address on the device's label. Signed-off-by: Pavel Balan <admin@kryma.net> [fix configs partition, fix IMAGE_SIZE, add MAC address comment, rename ATH_SOC to SOC] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
-rw-r--r--target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts150
-rwxr-xr-xtarget/linux/ath79/generic/base-files/etc/board.d/01_leds8
-rwxr-xr-xtarget/linux/ath79/generic/base-files/etc/board.d/02_network1
-rw-r--r--target/linux/ath79/image/generic.mk10
4 files changed, 169 insertions, 0 deletions
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..a6ef6ad99c
--- /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 = &eth1;
+ };
+
+ 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 {
+ label = "configs";
+ reg = <0x7e0000 0x010000>;
+ read-only;
+ };
+
+ partition@7f0000 {
+ label = "nvram";
+ reg = <0x7f0000 0x010000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&uart {
+ status = "okay";
+
+};
+
+&eth0 {
+ compatible = "syscon", "simple-mfd";
+};
+
+&eth1 {
+ 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 90adc3a97f..8e3b5e17af 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
@@ -57,6 +57,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 a99d5f6532..6fe76817ff 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
@@ -16,6 +16,7 @@ ath79_setup_interfaces()
avm,fritz1750e|\
avm,fritz300e|\
comfast,cf-wr752ac-v1|\
+ 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 7f06740c98..45dfc6bdad 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -304,6 +304,16 @@ define Device/comfast_cf-e120a-v3
endef
TARGET_DEVICES += comfast_cf-e120a-v3
+define Device/comfast_cf-e130n-v2
+ SOC := qca9531
+ DEVICE_VENDOR := COMFAST
+ DEVICE_MODEL := CF-E130N
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := rssileds kmod-leds-gpio -swconfig -uboot-envtools
+ IMAGE_SIZE := 7936k
+endef
+TARGET_DEVICES += comfast_cf-e130n-v2
+
define Device/comfast_cf-e313ac
SOC := qca9531
DEVICE_VENDOR := COMFAST