[PATCH RFC net-next] net: pcs: lynx: add support for 25GBASE-R

From: Vincent Jardin via B4 Relay

Date: Tue Aug 25 2026 - 10:44:46 EST


From: Vincent Jardin <vjardin@xxxxxxx>

The 25G is missing since commit 1cab8fba5073 ("phy: lynx-28g: add
support for 25GBASER").

Signed-off-by: Vincent Jardin <vjardin@xxxxxxx>
---
RFC to check if we apply NXP's intend.
---
drivers/net/pcs/pcs-lynx.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/pcs/pcs-lynx.c b/drivers/net/pcs/pcs-lynx.c
index a92081560e641..da4f99059eef7 100644
--- a/drivers/net/pcs/pcs-lynx.c
+++ b/drivers/net/pcs/pcs-lynx.c
@@ -46,6 +46,7 @@ static unsigned int lynx_pcs_inband_caps(struct phylink_pcs *pcs,
return LINK_INBAND_DISABLE | LINK_INBAND_ENABLE;

case PHY_INTERFACE_MODE_10GBASER:
+ case PHY_INTERFACE_MODE_25GBASER:
return LINK_INBAND_DISABLE;

case PHY_INTERFACE_MODE_USXGMII:
@@ -97,6 +98,7 @@ static void lynx_pcs_get_state(struct phylink_pcs *pcs, unsigned int neg_mode,
lynx_pcs_get_state_usxgmii(lynx->mdio, state);
break;
case PHY_INTERFACE_MODE_10GBASER:
+ case PHY_INTERFACE_MODE_25GBASER:
phylink_mii_c45_pcs_get_state(lynx->mdio, state);
break;
default:
@@ -188,7 +190,8 @@ static int lynx_pcs_config(struct phylink_pcs *pcs, unsigned int neg_mode,
return lynx_pcs_config_usxgmii(lynx->mdio, ifmode, advertising,
neg_mode);
case PHY_INTERFACE_MODE_10GBASER:
- /* Nothing to do here for 10GBASER */
+ case PHY_INTERFACE_MODE_25GBASER:
+ /* Nothing to do here for 10GBASER and 25GBASER */
break;
default:
return -EOPNOTSUPP;
@@ -279,6 +282,7 @@ static const phy_interface_t lynx_interfaces[] = {
PHY_INTERFACE_MODE_1000BASEX,
PHY_INTERFACE_MODE_2500BASEX,
PHY_INTERFACE_MODE_10GBASER,
+ PHY_INTERFACE_MODE_25GBASER,
PHY_INTERFACE_MODE_USXGMII,
PHY_INTERFACE_MODE_10G_QXGMII,
};

---
base-commit: 66498c75b4f8017f62d720d9b59675bdf3abce91
change-id: 20260825-for-upstream-lynx-25gbaser-v1-30097d909d09

Best regards,
--
Vincent Jardin <vjardin@xxxxxxx>