[openwrt/openwrt] mediatek: add Motorcomm PHY support to Cudy AP3000 v1

LEDE Commits lede-commits at lists.infradead.org
Tue Feb 3 15:59:51 PST 2026


hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/31f30f5a6cffa2046328a933ed8063e9f8fc30b2

commit 31f30f5a6cffa2046328a933ed8063e9f8fc30b2
Author: Anton Danilov <frimen.c at gmail.com>
AuthorDate: Thu Jan 29 14:43:17 2026 +0300

    mediatek: add Motorcomm PHY support to Cudy AP3000 v1
    
    Newer Cudy AP3000 v1 routers feature a Motorcomm YT8821 PHY
    instead of the Realtek PHY [1]. Support for the YT8821
    was recently introduced for the Cudy WR3000H router [2].
    On the AP3000, the changes allow the PHY to be autodetected.
    
    [1]: https://forum.openwrt.org/t/cudy-ap3000-v1-indoor-wan-motorcomm-yt8821-support/245491
    [2]: https://github.com/openwrt/openwrt/pull/21399
    
    Signed-off-by: Anton Danilov <frimen.c at gmail.com>
    Link: https://github.com/openwrt/openwrt/pull/21776
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 target/linux/mediatek/dts/mt7981b-cudy-ap3000-v1.dts | 12 +++++++++---
 target/linux/mediatek/image/filogic.mk               |  2 +-
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/target/linux/mediatek/dts/mt7981b-cudy-ap3000-v1.dts b/target/linux/mediatek/dts/mt7981b-cudy-ap3000-v1.dts
index b4c4e9a5c0..7ebb90df9e 100644
--- a/target/linux/mediatek/dts/mt7981b-cudy-ap3000-v1.dts
+++ b/target/linux/mediatek/dts/mt7981b-cudy-ap3000-v1.dts
@@ -89,13 +89,19 @@
 };
 
 &mdio_bus {
+	/* We need to have the reset GPIO on the MDIO bus node,
+	 * otherwise the PHY would be held in reset during PHY detection */
+	reset-gpios = <&pio 39 GPIO_ACTIVE_LOW>;
+	reset-delay-us = <100000>;
+	reset-post-delay-us = <100000>;
+
 	phy1: phy at 1 {
+		/* Either Realtek RTL8221B-VB-CG or Motorcomm YT8821,
+		 * depending on HW revision */
+		compatible = "ethernet-phy-ieee802.3-c45";
 		reg = <1>;
 		interrupt-parent = <&pio>;
 		interrupts = <38 IRQ_TYPE_LEVEL_LOW>;
-		reset-gpios = <&pio 39 GPIO_ACTIVE_LOW>;
-		reset-assert-us = <100000>;
-		reset-deassert-us = <100000>;
 	};
 };
 
diff --git a/target/linux/mediatek/image/filogic.mk b/target/linux/mediatek/image/filogic.mk
index 7fefca3a11..5f15c7f9a9 100644
--- a/target/linux/mediatek/image/filogic.mk
+++ b/target/linux/mediatek/image/filogic.mk
@@ -1096,7 +1096,7 @@ define Device/cudy_ap3000-v1
   IMAGE_SIZE := 65536k
   KERNEL_IN_UBI := 1
   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
-  DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
+  DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware kmod-phy-motorcomm
 endef
 TARGET_DEVICES += cudy_ap3000-v1
 




More information about the lede-commits mailing list