diff options
author | August Huber <auh@google.com> | 2020-01-26 11:55:11 -0500 |
---|---|---|
committer | Adrian Schmutzler <freifunk@adrianschmutzler.de> | 2020-02-03 16:18:08 +0100 |
commit | ae61d21ca30f3af2732f73f82a01bba7e4341459 (patch) | |
tree | aaecd35e672ede2a75d9c3e1be11aabf883d729d /target/linux/ath79/dts | |
parent | 3b99d6763996d4cf8d59361f25046cc8086da332 (diff) | |
download | upstream-ae61d21ca30f3af2732f73f82a01bba7e4341459.tar.gz upstream-ae61d21ca30f3af2732f73f82a01bba7e4341459.tar.bz2 upstream-ae61d21ca30f3af2732f73f82a01bba7e4341459.zip |
ath79: add support for COMFAST CF-E560AC
This commit adds support for the COMFAST CF-E560AC, an ap143 based
in-wall access point.
Specifications:
- SoC: Qualcomm Atheros QCA9531
- RAM: 128 MB DDR2 (Winbond W971GG6SB-25)
- Storage: 16 MB NOR (Winbond 25Q128JVSO)
- WAN: 1x 10/100 PoE ethernet (48v)
- LAN: 4x 10/100 ethernet
- WLAN1: QCA9531 - 802.11b/g/n - 2x SKY85303-21 FEM
- WLAN2: QCA9886 - 802.11ac/n/a - 2x SKY85735-11 FEM
- USB: one external USB2.0 port
- UART: 3.3v, 2.54mm headers already populated on board
- LED: 7x external
- Button: 1x external
- Boot: U-Boot 1.1.4 (pepe2k/u-boot_mod)
MAC addressing:
- stock
LAN *:40 (label)
WAN *:41
5G *:42
2.4G *:4a
- flash (art partition)
0x0 *:40 (label)
0x6 *:42
0x1002 *:41
0x5006 *:43
This device contains valid MAC addresses in art 0x0, 0x6, 0x1002 and
0x5006, however the vendor firmware only reads from art:0x0 for the LAN
interface and then increments in 02_network. They also jump 8 addresses
for the second wifi interface (2.4 GHz). This behavior has been duplicated
in the DTS and ath10k hotplug to align addresses with the vendor firmware
v2.6.0.
Recovery instructions:
This device contains built-in u-boot tftp recovery.
1. Configure PC with static IP 192.168.1.10/24 and tftp server.
2. Place desired image at /firmware_auto.bin at tftp root.
3. Connect device to PC, and power on.
4. Device will fetch flash from tftp, flash and reboot into new image.
Signed-off-by: August Huber <auh@google.com>
[move jtag_disable_pins, remove unnecessary statuses in DTS, remove
duplicate entry in 11-ath10k-caldata, remove hub_port0 label in DTS]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux/ath79/dts')
-rw-r--r-- | target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts b/target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts new file mode 100644 index 0000000000..d1c2628d87 --- /dev/null +++ b/target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts @@ -0,0 +1,174 @@ +// 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-e560ac", "qca,qca9531"; + model = "COMFAST CF-E560AC"; + + aliases { + serial0 = &uart; + label-mac-device = ð1; + led-boot = &led_system; + led-failsafe = &led_system; + led-upgrade = &led_system; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = <KEY_RESTART>; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + pinctrl-names = "default"; + pinctrl-0 = <&jtag_disable_pins>; + + lan1 { + label = "cf-e560ac:blue:lan1"; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + }; + + lan2 { + label = "cf-e560ac:blue:lan2"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + + lan3 { + label = "cf-e560ac:blue:lan3"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + lan4 { + label = "cf-e560ac:blue:lan4"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + }; + + led_system: system { + label = "cf-e560ac:blue:system"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + + wan { + label = "cf-e560ac:blue:wan"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + + wlan { + label = "cf-e560ac:blue:wlan"; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + }; + + watchdog { + compatible = "linux,wdt-gpio"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + hw_algo = "toggle"; + hw_margin_ms = <1200>; + always-running; + }; +}; + +&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 0xfc0000>; + }; + + partition@fe0000 { + label = "configs"; + reg = <0xfe0000 0x010000>; + read-only; + }; + + partition@ff0000 { + label = "nvram"; + reg = <0xff0000 0x010000>; + read-only; + }; + }; + }; +}; + +&pcie0 { + status = "okay"; +}; + +&uart { + status = "okay"; +}; + +&usb_phy { + status = "okay"; +}; + +&usb0 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; +}; + +ð0 { + status = "okay"; + + phy-handle = <&swphy4>; + + mtd-mac-address = <&art 0x0>; + mtd-mac-address-increment = <1>; +}; + +ð1 { + mtd-mac-address = <&art 0x0>; +}; + +&wmac { + status = "okay"; + + mtd-cal-data = <&art 0x1000>; + mtd-mac-address = <&art 0x0>; + mtd-mac-address-increment = <10>; +}; |