Re: [PATCH net-next 2/5] net: phy: realtek: simplify C22 reg access via MDIO_MMD_VEND2
From: Daniel Golle <daniel@makrotopia.org>
Date: 2026-01-09 22:21:51
Also in:
lkml
On Fri, Jan 09, 2026 at 09:32:18PM +0000, Russell King (Oracle) wrote:
On Fri, Jan 09, 2026 at 03:03:22AM +0000, Daniel Golle wrote:quoted
RealTek 2.5GE PHYs have all standard Clause-22 registers mapped also inside MDIO_MMD_VEND2 at offset 0xa400. This is used mainly in case the PHY is inside a copper SFP module which uses the RollBall MDIO-over-I2C method which *only* supports Clause-45.It isn't just Rollball. There are SoCs out there which have separate MDIO buses, one bus signals at 3.3V and can generate only clause 22 frames. The other operates at 1.2V and can only generate clause 45 frames. While hardware may elect to generate and recognise either frame types at either voltage, this goes some way to explain why there are implementations that only support one or the other on a particular pair of MDC/MDIO wires. Armada 8040 has this setup - there is one MDIO bus that only supports clause 22 frames, and there is a separate MDIO bus that only supports clause 45 frames.
Interesting. And a bit annoying. I wasn't aware of the electrical difference (signal voltage). Never the less, even with this change applied you now get a driver which uses *only* Clause-45 access in case phydev->is_45 is true, and only Clause-22 in case phydev->is_45 is false. From what I understood this was the intended outcome of having two dedicated drivers, and you can have the very same results now with a single driver. If you would like me to broaden the commit message and clarify this, please let me know.