generic: fix probe issues with RealTek RTL8221B PHYs
authorDaniel Golle <[email protected]>
Thu, 23 Jan 2025 03:36:10 +0000 (03:36 +0000)
committerDaniel Golle <[email protected]>
Sun, 26 Jan 2025 00:17:11 +0000 (00:17 +0000)
Import patch "net: phy: realtek: mark existing MMDs as present"

    When using Clause-45 mode to access RealTek RTL8221B 2.5G PHYs some
    versions of the PHY fail to report the MMDs present on the PHY.
    Mark MMDs PMAPMD, PCS and AN which are always existing according to
    the datasheet as present to fix that.

Fixes: #16823, #17183, #17232
Signed-off-by: Daniel Golle <[email protected]>
Tested-by: Aleksander Jan Bajkowski <[email protected]>
Tested-by: Juan Pedro Paredes Caballero <[email protected]>
target/linux/generic/pending-6.6/720-07-net-phy-realtek-mark-existing-MMDs-as-present.patch [new file with mode: 0644]

diff --git a/target/linux/generic/pending-6.6/720-07-net-phy-realtek-mark-existing-MMDs-as-present.patch b/target/linux/generic/pending-6.6/720-07-net-phy-realtek-mark-existing-MMDs-as-present.patch
new file mode 100644 (file)
index 0000000..1ef42e8
--- /dev/null
@@ -0,0 +1,27 @@
+From 1addfb042a9d27788a0fb2c2935045b56fd8560e Mon Sep 17 00:00:00 2001
+From: Daniel Golle <[email protected]>
+Date: Thu, 23 Jan 2025 03:25:29 +0000
+Subject: [PATCH] net: phy: realtek: mark existing MMDs as present
+
+When using Clause-45 mode to access RealTek RTL8221B 2.5G PHYs some
+versions of the PHY fail to report the MMDs present on the PHY.
+Mark MMDs PMAPMD, PCS and AN which are always existing according to
+the datasheet as present to fix that.
+
+Signed-off-by: Daniel Golle <[email protected]>
+---
+ drivers/net/phy/realtek/realtek_main.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/net/phy/realtek/realtek_main.c
++++ b/drivers/net/phy/realtek/realtek_main.c
+@@ -1034,6 +1034,9 @@ static int rtl822x_c45_get_features(stru
+       linkmode_set_bit(ETHTOOL_LINK_MODE_TP_BIT,
+                        phydev->supported);
++      phydev->c45_ids.mmds_present |= MDIO_DEVS_PMAPMD | MDIO_DEVS_PCS |
++                                      MDIO_DEVS_AN;
++
+       return genphy_c45_pma_read_abilities(phydev);
+ }