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>
		
			
				
	
	
		
			175 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			175 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
// 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>;
 | 
						|
};
 |