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>
This commit is contained in:
Pavel Balan 2020-03-27 03:32:55 +00:00 committed by Adrian Schmutzler
parent 2b92ee36ae
commit ad84c09502
4 changed files with 169 additions and 0 deletions

View File

@ -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>;
};

View File

@ -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"

View File

@ -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|\

View File

@ -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