On Mon, 04 Nov 2024 09:52:32 +0100 Romain Gantois wrote: > The DP83869 PHY transceiver supports converting from RGMII to 1000base-x. > In this operation mode, autonegotiation can be performed, as described in > IEEE802.3. > > The DP83869 has a set of fiber-specific registers located at offset 0xc00. > When the transceiver is configured in RGMII-to-1000base-x mode, these > registers are mapped onto offset 0, which should, in theory, make reading > the autonegotiation status transparent. > > However, the fiber registers at offset 0xc04 and 0xc05 do not follow the > bit layout of their standard counterparts. Thus, genphy_read_status() > doesn't properly read the capabilities advertised by the link partner, > resulting in incorrect link parameters. > > Similarly, genphy_config_aneg() doesn't properly write advertised > capabilities. > > Fix the 1000base-x autonegotiation procedure by replacing > genphy_read_status() and genphy_config_aneg() with driver-specific > functions which take into account the nonstandard bit layout of the DP83869 > registers in 1000base-x mode. Could we get an ack from PHY maintainers?