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

LEDE Commits lede-commits at lists.infradead.org
Sun Feb 8 15:37:19 PST 2026


hauke pushed a commit to openwrt/openwrt.git, branch openwrt-24.10:
https://git.openwrt.org/5774c8b316eff80070775ee695d998ad3ee828d1

commit 5774c8b316eff80070775ee695d998ad3ee828d1
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
    (cherry picked from commit 31f30f5a6cffa2046328a933ed8063e9f8fc30b2)
    Link: https://github.com/openwrt/openwrt/pull/21915
    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 7101c4bab0..d0866c7669 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 75b51c1d9e..b7f8ffd47c 100644
--- a/target/linux/mediatek/image/filogic.mk
+++ b/target/linux/mediatek/image/filogic.mk
@@ -704,7 +704,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