forked from openwrt/openwrt
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ath79: add support for TP-Link Archer A7
This patch adds support for TP-Link Archer A7 Specification: - SOC: QCA9563 - Flash: 16 MiB (SPI) - RAM: 128 MiB (DDR2) - Ethernet: 4x 1Gbps LAN + 1x 1Gbps WAN - Wireless: - 2.4GHz (bgn) SoC internal - 5GHz (ac) QCA988x - USB: 1x USB 2.0 port - Button: 1x power, 1x reset, 1x wps - LED: 10x LEDs - UART: holes in PCB - Vcc, GND, RX, TX from ethernet port side - 115200n8 Flash instructions: Upload openwrt-ath79-generic-tplink_archer-a7-v5-squashfs-factory.bin via the Webinterface. Flash instruction using tftp recovery: 1. Connect the computer to one of the LAN ports of the Archer A7 2. Set the computer IP to 192.168.0.66 3. Start a tftp server with the OpenWrt factory image in the tftp root directory renamed to ArcherC7v5_tp_recovery.bin 2. Connect power cable to Archer A7, press and hold the reset button and turn the router on 3. Keep the reset button pressed for ~5 seconds 4. Wait ~150 seconds to complete flashing Changes since first revision: - Flash instructions using stock image webinterface - Changed "Version 5" in model string to "v5" - Split DTS file in qca9563_tplink_archer-x7-v5.dtsi and qca9563_tplink_archer-a7-v5.dts - Firmware image is now build with dynamic partitioning - Default to ath10k-ct Changes since second revision: - Changed uboot@0 to uboot@20000 in DTS file - Fixed ordering issue in board led script - Specify firmware partition format in DTS file - Rebased Makefile device definition on common Device/tplink-safeloader-uimage definition - Merged switch section in network script (same configuration as tplink,tl-wdr3600 and tplink,tl-wdr4300) Signed-off-by: Karl-Felix Glatzer <karl.glatzer@gmx.de>
- Loading branch information
Showing
7 changed files
with
314 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||
/dts-v1/; | ||
|
||
#include "qca9563_tplink_archer-x7-v5.dtsi" | ||
|
||
/ { | ||
compatible = "tplink,archer-a7-v5", "qca,qca9563"; | ||
model = "TP-Link Archer A7 v5"; | ||
}; | ||
|
||
&mtdparts { | ||
factory-uboot@0 { | ||
label = "factory-uboot"; | ||
reg = <0x000000 0x020000>; | ||
read-only; | ||
}; | ||
|
||
uboot: u-boot@20000 { | ||
label = "u-boot"; | ||
reg = <0x020000 0x020000>; | ||
read-only; | ||
}; | ||
|
||
firmware@40000 { | ||
label = "firmware"; | ||
reg = <0x040000 0xec0000>; | ||
compatible = "denx,uimage"; | ||
}; | ||
|
||
info: info@f40000 { | ||
label = "info"; | ||
reg = <0xf40000 0x020000>; | ||
}; | ||
|
||
config: config@f60000 { | ||
label = "config"; | ||
reg = <0xf60000 0x050000>; | ||
}; | ||
|
||
partition@fc0000 { | ||
label = "partition-table"; | ||
reg = <0xfc0000 0x010000>; | ||
}; | ||
|
||
art: art@ff0000 { | ||
label = "art"; | ||
reg = <0xff0000 0x010000>; | ||
read-only; | ||
}; | ||
}; |
202 changes: 202 additions & 0 deletions
202
target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,202 @@ | ||
// 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 "qca956x.dtsi" | ||
|
||
/ { | ||
chosen { | ||
bootargs = "console=ttyS0,115200n8"; | ||
}; | ||
|
||
aliases { | ||
led-status = &system; | ||
}; | ||
|
||
gpio_leds: leds { | ||
compatible = "gpio-leds"; | ||
|
||
system: system { | ||
label = "tp-link:green:system"; | ||
gpios = <&gpio 6 GPIO_ACTIVE_LOW>; | ||
default-state = "on"; | ||
}; | ||
|
||
led_wlan2g: wlan2g { | ||
label = "tp-link:green:wlan2g"; | ||
gpios = <&gpio 14 GPIO_ACTIVE_LOW>; | ||
default-state = "off"; | ||
linux,default-trigger = "phy1tpt"; | ||
}; | ||
|
||
usb { | ||
label = "tp-link:green:usb"; | ||
gpios = <&gpio 7 GPIO_ACTIVE_LOW>; | ||
default-state = "off"; | ||
trigger-sources = <&hub_port0>; | ||
linux,default-trigger = "usbport"; | ||
}; | ||
}; | ||
|
||
gpio_keys: keys { | ||
compatible = "gpio-keys"; | ||
|
||
reset { | ||
label = "Reset button"; | ||
linux,code = <KEY_RESTART>; | ||
gpios = <&gpio 11 GPIO_ACTIVE_LOW>; | ||
debounce-interval = <60>; | ||
}; | ||
|
||
wps { | ||
label = "WPS button"; | ||
linux,code = <KEY_WPS_BUTTON>; | ||
gpios = <&gpio 2 GPIO_ACTIVE_LOW>; | ||
debounce-interval = <60>; | ||
}; | ||
}; | ||
|
||
gpio-export { | ||
compatible = "gpio-export"; | ||
|
||
gpio_usb_power { | ||
gpio-export,name = "tp-link:power:usb"; | ||
gpio-export,output = <1>; | ||
gpios = <&gpio 19 GPIO_ACTIVE_HIGH>; | ||
}; | ||
}; | ||
}; | ||
|
||
&pcie { | ||
status = "okay"; | ||
}; | ||
|
||
&uart { | ||
status = "okay"; | ||
}; | ||
|
||
&gpio { | ||
status = "okay"; | ||
}; | ||
|
||
&usb_phy0 { | ||
status = "okay"; | ||
}; | ||
|
||
&usb0 { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
status = "okay"; | ||
|
||
hub_port0: port@1 { | ||
reg = <1>; | ||
#trigger-source-cells = <0>; | ||
}; | ||
}; | ||
|
||
&gpio_leds { | ||
wlan5g { | ||
label = "tp-link:green:wlan5g"; | ||
gpios = <&gpio 9 GPIO_ACTIVE_LOW>; | ||
default-state = "off"; | ||
linux,default-trigger = "phy0tpt"; | ||
}; | ||
|
||
wan { | ||
label = "tp-link:green:wan"; | ||
gpios = <&gpio 21 GPIO_ACTIVE_LOW>; | ||
default-state = "off"; | ||
}; | ||
|
||
wan_fail { | ||
label = "tp-link:orange:wan"; | ||
gpios = <&gpio 20 GPIO_ACTIVE_LOW>; | ||
default-state = "off"; | ||
}; | ||
|
||
lan1 { | ||
label = "tp-link:green:lan1"; | ||
gpios = <&gpio 8 GPIO_ACTIVE_LOW>; | ||
default-state = "off"; | ||
}; | ||
|
||
lan2 { | ||
label = "tp-link:green:lan2"; | ||
gpios = <&gpio 17 GPIO_ACTIVE_LOW>; | ||
default-state = "off"; | ||
}; | ||
|
||
lan3 { | ||
label = "tp-link:green:lan3"; | ||
gpios = <&gpio 16 GPIO_ACTIVE_LOW>; | ||
default-state = "off"; | ||
}; | ||
|
||
lan4 { | ||
label = "tp-link:green:lan4"; | ||
gpios = <&gpio 15 GPIO_ACTIVE_LOW>; | ||
default-state = "off"; | ||
}; | ||
|
||
wps { | ||
label = "tp-link:green:wps"; | ||
gpios = <&gpio 1 GPIO_ACTIVE_LOW>; | ||
default-state = "off"; | ||
}; | ||
}; | ||
|
||
&spi { | ||
status = "okay"; | ||
num-cs = <1>; | ||
|
||
flash@0 { | ||
compatible = "jedec,spi-nor"; | ||
reg = <0>; | ||
spi-max-frequency = <25000000>; | ||
|
||
mtdparts: partitions { | ||
compatible = "fixed-partitions"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
}; | ||
}; | ||
}; | ||
|
||
&mdio0 { | ||
status = "okay"; | ||
|
||
phy-mask = <0>; | ||
|
||
phy0: ethernet-phy@0 { | ||
reg = <0>; | ||
phy-mode = "sgmii"; | ||
|
||
qca,ar8327-initvals = < | ||
0x04 0x00080080 /* PORT0 PAD MODE CTRL */ | ||
0x10 0x81000080 /* POWER_ON_STRIP */ | ||
0x50 0xcc35cc35 /* LED_CTRL0 */ | ||
0x54 0xcb37cb37 /* LED_CTRL1 */ | ||
0x58 0x00000000 /* LED_CTRL2 */ | ||
0x5c 0x00f3cf00 /* LED_CTRL3 */ | ||
0x7c 0x0000007e /* PORT0_STATUS */ | ||
>; | ||
}; | ||
}; | ||
|
||
ð0 { | ||
status = "okay"; | ||
|
||
pll-data = <0x03000101 0x00000101 0x00001919>; | ||
|
||
phy-mode = "sgmii"; | ||
mtd-mac-address = <&info 0x8>; | ||
phy-handle = <&phy0>; | ||
}; | ||
|
||
&wmac { | ||
status = "okay"; | ||
mtd-cal-data = <&art 0x1000>; | ||
mtd-mac-address = <&info 0x8>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters