Subject: [PATCH net-next v2 0/5] net: phy: realtek: various improvements for 2.5GE PHYs

From: Daniel Golle <[email-masked]>
Date: Mon, 5 Jan 2026 16:37:38 +0000

This series improves the RealTek PHY driver, mostly for 2.5GE PHYs.
It implements configuring SGMII and 2500Base-X in-band auto-negotiation
and improves using the PHYs in Clause-22-only mode.

Note that the rtl822x_serdes_write() function introduced by this series
is going to be reused to configure polarities of SerDes RX and TX lanes
once series "PHY polarity inversion via generic device tree properties"
has been applied.

Access to other registers on MDIO_MMD_VEND2 is important for more than
just configuring autonegotiation, it is also used to setup ALDPS or to
disable the PHY responding to the MDIO broadcast address 0. Both will be
implemented by follow-up patches.

The address translation function for registers on MDIO_MMD_VEND2 into
paged registers can potentially also be used to describe other paged
access in a more consistent way, but that mostly makes sense on PHYs
which also support Clause-45, so this series doesn't convert all the
existing paged access on RealTek's 1GE PHYs which do not support
Clause-45.
---
Changes since initial submission:
 - use mmd_phy_read and mmd_phy_write
 - fix return value in on error (oldpage vs. ret)
 - fix wrong parameter name (reg vs. mmdreg)

Daniel Golle (5):
  net: phy: realtek: fix whitespace in struct phy_driver initializers
  net: phy: realtek: implement configuring in-band an
  net: phy: move mmd_phy_read and mmd_phy_write to phylib.h
  net: phy: realtek: use paged access for MDIO_MMD_VEND2 in C22 mode
  net: phy: realtek: get rid of magic number in rtlgen_read_status()

 drivers/net/phy/phylib-internal.h      |   6 -
 drivers/net/phy/phylib.h               |   5 +
 drivers/net/phy/realtek/realtek_main.c | 307 ++++++++++++++++++-------
 3 files changed, 235 insertions(+), 83 deletions(-)

-- 
2.52.0