]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: phy: motorcomm: Support YT8531S PHY in YT6801 Ethernet controller
authorYao Zi <me@ziyao.cc>
Fri, 9 Jan 2026 09:34:44 +0000 (09:34 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 13 Jan 2026 03:20:56 +0000 (19:20 -0800)
YT6801's internal PHY is confirmed as a GMII-capable variant of YT8531S
by a previous series[1] and reading PHY ID. Add support for
PHY_INTERFACE_MODE_GMII for YT8531S to allow the Ethernet driver to
reuse the PHY code for its internal PHY.

Link: https://lore.kernel.org/all/a48d76ac-db08-46d5-9528-f046a7b541dc@motor-comm.com/
Co-developed-by: Frank Sae <Frank.Sae@motor-comm.com>
Signed-off-by: Frank Sae <Frank.Sae@motor-comm.com>
Signed-off-by: Yao Zi <me@ziyao.cc>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/20260109093445.46791-3-me@ziyao.cc
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/motorcomm.c

index 89b5b19a9bd28337b3fd9cbe159c849481a628df..dc9569a39cb4983b4053d74625427f0a3aa27381 100644 (file)
@@ -910,6 +910,10 @@ static int ytphy_rgmii_clk_delay_config(struct phy_device *phydev)
                val |= FIELD_PREP(YT8521_RC1R_RX_DELAY_MASK, rx_reg) |
                       FIELD_PREP(YT8521_RC1R_GE_TX_DELAY_MASK, tx_reg);
                break;
+       case PHY_INTERFACE_MODE_GMII:
+               if (phydev->drv->phy_id != PHY_ID_YT8531S)
+                       return -EOPNOTSUPP;
+               return 0;
        default: /* do not support other modes */
                return -EOPNOTSUPP;
        }