gluon/patches/openwrt/0013-ath79-support-for-TP-Link-EAP225-Outdoor-v3.patch
Sebastian Schaper 2ba88bf6a8 ath79-generic: add support for TP-Link EAP-225 Outdoor v3
backport from OpenWrt 7e4de89e631aaf56be5375662b7d5ed0f27e26f6
- don't build factory (needs newer version of tplink-safeloader)
- fix 5g wifi caldata (don't use nvmem-cells in v22.03)
2023-05-05 20:50:22 +02:00

151 lines
4.7 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From: Paul Maruhn <paulmaruhn@posteo.de>
Date: Tue, 22 Mar 2022 21:06:42 +0100
Subject: ath79: support for TP-Link EAP225-Outdoor v3
This model is almost identical to the EAP225-Outdoor v1.
Major difference is the RTL8211FS PHY Chipset.
Device specifications:
* SoC: QCA9563 @ 775MHz
* Memory: 128MiB DDR2
* Flash: 16MiB SPI-NOR
* Wireless 2.4GHz (SoC): b/g/n 2x2
* Wireless 5GHz (QCA9886): a/n/ac 2x2 MU-MIMO
* Ethernet (RTL8211FS): 1× 1GbE, PoE
Flashing instructions:
* ssh into target device with recent (>= v1.6.0) firmware
* run `cliclientd stopcs` on target device
* upload factory image via web interface
Debricking:
To recover the device, you need access to the serial port. This requires
fine soldering to test points, or the use of probe pins.
* Open the case and solder wires to the test points: RXD, TXD and TPGND4
* Use a 3.3V UART, 115200 baud, 8n1
* Interrupt bootloader by holding ctrl+B during boot
* upload initramfs via built-in tftp client and perform sysupgrade
setenv ipaddr 192.168.1.1 # default, change as required
setenv serverip 192.168.1.10 # default, change as required
tftp 0x80800000 initramfs.bin
bootelf $fileaddr
MAC addresses:
MAC address (as on device label) is stored in device info partition at
an offset of 8 bytes. ath9k device has same address as ethernet, ath10k
uses address incremented by 1.
From stock ifconfig:
ath0 Link encap:Ethernet HWaddr D8:...:2E
ath10 Link encap:Ethernet HWaddr D8:...:2F
br0 Link encap:Ethernet HWaddr D8:...:2E
eth0 Link encap:Ethernet HWaddr D8:...:2E
Signed-off-by: Paul Maruhn <paulmaruhn@posteo.de>
Co-developed-by: Philipp Rothmann <philipprothmann@posteo.de>
Signed-off-by: Philipp Rothmann <philipprothmann@posteo.de>
[Add pre-calibraton nvme-cells]
Tested-by: Tido Klaassen <tido_ff@4gh.eu>
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 7e4de89e631aaf56be5375662b7d5ed0f27e26f6)
diff --git a/target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v3.dts b/target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v3.dts
new file mode 100644
index 0000000000000000000000000000000000000000..e5914c9a55069e5baa5c7b989f3405c762e4d29d
--- /dev/null
+++ b/target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v3.dts
@@ -0,0 +1,59 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "qca9563_tplink_eap2x5-1port.dtsi"
+
+/ {
+ compatible = "tplink,eap225-outdoor-v3", "qca,qca9563";
+ model = "TP-Link EAP225-Outdoor v3";
+
+ aliases {
+ led-boot = &led_status_green;
+ led-failsafe = &led_status_amber;
+ led-running = &led_status_green;
+ led-upgrade = &led_status_amber;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_status_green: status_green {
+ label = "green:status";
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+
+ led_status_amber: status_amber {
+ label = "amber:status";
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&art {
+ precalibration_ath10k: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+};
+
+&eth0 {
+ phy-handle = <&phy6>;
+ phy-mode = "sgmii";
+};
+
+&mdio0 {
+ phy6: ethernet-phy@6 {
+ reg = <6>;
+ };
+};
+
+&pcie {
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0 0 0 0 0>;
+
+ mac-address-increment = <1>;
+
+ nvmem-cells = <&macaddr_info_8>, <&precalibration_ath10k>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
+ };
+};
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 8f9516b8c681fd09c37fb183a63c17cf84f94bfc..b17ef03afcdf12c7a2c51fa8b0eaf3c90ad6fdd9 100644
--- a/target/linux/ath79/generic/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network
@@ -78,6 +78,7 @@ ath79_setup_interfaces()
tplink,cpe610-v2|\
tplink,cpe710-v1|\
tplink,eap225-outdoor-v1|\
+ tplink,eap225-outdoor-v3|\
tplink,eap225-v1|\
tplink,eap225-v3|\
tplink,eap245-v1|\
diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk
index fed572c884c75bd21081c7c22dd4652ecefdd993..3d3a45711302b7a73c914d80ec0d309878813149 100644
--- a/target/linux/ath79/image/generic-tp-link.mk
+++ b/target/linux/ath79/image/generic-tp-link.mk
@@ -401,6 +401,17 @@ define Device/tplink_eap225-outdoor-v1
endef
TARGET_DEVICES += tplink_eap225-outdoor-v1
+define Device/tplink_eap225-outdoor-v3
+ $(Device/tplink-eap2x5)
+ SOC := qca9563
+ IMAGE_SIZE := 13824k
+ DEVICE_MODEL := EAP225-Outdoor
+ DEVICE_VARIANT := v3
+ DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
+ TPLINK_BOARD_ID := EAP225-V3
+endef
+TARGET_DEVICES += tplink_eap225-outdoor-v3
+
define Device/tplink_eap225-v1
$(Device/tplink-eap2x5)
SOC := qca9563