diff --git a/patches/openwrt/0004-ath79-add-support-for-TPlink-EAP-225ODv3.patch b/patches/openwrt/0004-ath79-add-support-for-TPlink-EAP-225ODv3.patch new file mode 100644 index 0000000000000000000000000000000000000000..4cb47e2afb708de61a2967727e1ddd953a8233da --- /dev/null +++ b/patches/openwrt/0004-ath79-add-support-for-TPlink-EAP-225ODv3.patch @@ -0,0 +1,189 @@ +From ee5008bb84549f63123e7a7d8f917e50806b8f10 Mon Sep 17 00:00:00 2001 +From: Paul Maruhn <paulmaruhn@posteo.de> +Date: Tue, 22 Mar 2022 21:06:42 +0100 +Subject: [PATCH] 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. + +Signed-off-by: Philipp Rothmann <philipprothmann@posteo.de> +--- + target/linux/ath79/config-5.10 | 1 + + .../dts/qca9563_tplink_eap225-outdoor-v3.dts | 92 +++++++++++++++++++ + .../dts/qca9563_tplink_eap2x5-1port.dtsi | 5 + + .../generic/base-files/etc/board.d/02_network | 1 + + .../etc/hotplug.d/firmware/11-ath10k-caldata | 1 + + target/linux/ath79/image/generic-tp-link.mk | 11 +++ + 6 files changed, 111 insertions(+) + create mode 100644 target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v3.dts + +diff --git a/target/linux/ath79/config-5.10 b/target/linux/ath79/config-5.10 +index 53f444c68b2b0..0533f6c40c8a5 100644 +--- a/target/linux/ath79/config-5.10 ++++ b/target/linux/ath79/config-5.10 +@@ -200,3 +200,4 @@ CONFIG_TICK_CPU_ACCOUNTING=y + CONFIG_TINY_SRCU=y + CONFIG_USB_SUPPORT=y + CONFIG_USE_OF=y ++CONFIG_REALTEK_PHY=y +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 0000000000000..94ea216922b38 +--- /dev/null ++++ b/target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v3.dts +@@ -0,0 +1,92 @@ ++// 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>; ++ }; ++ }; ++}; ++ ++ð0 { ++ phy-handle = <&phy6>; ++}; ++ ++&spi { ++ status = "okay"; ++ ++ 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 0x020000>; ++ read-only; ++ }; ++ ++ partition@20000 { ++ label = "partition-table"; ++ reg = <0x020000 0x010000>; ++ read-only; ++ }; ++ ++ info: partition@30000 { ++ label = "info"; ++ reg = <0x030000 0x010000>; ++ read-only; ++ }; ++ ++ partition@40000 { ++ compatible = "openwrt,elf"; ++ label = "firmware"; ++ reg = <0x040000 0xec0000>; ++ }; ++ ++ partition@f00000 { ++ label = "config"; ++ reg = <0xf00000 0x030000>; ++ read-only; ++ }; ++ ++ partition@f30000 { ++ label = "log"; ++ reg = <0xf30000 0x0c0000>; ++ read-only; ++ }; ++ ++ art: partition@ff0000 { ++ label = "art"; ++ reg = <0xff0000 0x010000>; ++ read-only; ++ }; ++ }; ++ }; ++}; +diff --git a/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi b/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi +index e10c5dbb73937..127741f64430c 100644 +--- a/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi ++++ b/target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi +@@ -105,6 +105,11 @@ + reg = <4>; + reset-gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + }; ++ ++ phy6: ethernet-phy@6 { ++ reg = <6>; ++ ++ }; + }; + + ð0 { +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 03e6434422b09..1b8e94efea315 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 +@@ -71,6 +71,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/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +index 17121d961868f..687239741eba0 100644 +--- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata ++++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +@@ -249,6 +249,7 @@ case "$FIRMWARE" in + /lib/firmware/ath10k/QCA9888/hw2.0/board.bin + ;; + tplink,eap225-outdoor-v1|\ ++ tplink,eap225-outdoor-v3|\ + tplink,eap225-v3|\ + tplink,eap225-wall-v2) + caldata_extract "art" 0x5000 0x2f20 +diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk +index 6479f6e26a852..27af64510b790 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 + diff --git a/targets/ath79-generic b/targets/ath79-generic index ac11f7d41ee3111e49e2eb2494249cecd0d604e2..ca7da1774e4ee7c6751be89fa6a87c7752e9229f 100644 --- a/targets/ath79-generic +++ b/targets/ath79-generic @@ -392,6 +392,10 @@ device('tp-link-eap225-outdoor-v1', 'tplink_eap225-outdoor-v1', { packages = ATH10K_PACKAGES_QCA9888, }) +device('tp-link-eap225-outdoor-v3', 'tplink_eap225-outdoor-v3', { + packages = ATH10K_PACKAGES_QCA9888, +}) + device('tp-link-tl-wdr3500-v1', 'tplink_tl-wdr3500-v1') device('tp-link-tl-wdr3600-v1', 'tplink_tl-wdr3600-v1') device('tp-link-tl-wdr4300-v1', 'tplink_tl-wdr4300-v1')