On Mon, May 06, 2024 at 04:05:33PM +0200, Niklas Söderlund wrote: > Hi Andrew, > > Thanks for this explanation, it helps understand what's going on. > > On 2024-05-06 03:51:45 +0200, Andrew Lunn wrote: > > > What PHY is this? Does it have C22 registers? Can it be identified via > > C22 registers 2 and 3? > > The PHY in question is mv88q2110 (drivers/net/phy/marvell-88q2xxx.c), > unfortunately I do not have a datasheet for it so I can't tell you much > about it. The mv88q2110 declares itself as 0x002b0b20. > > <snip> > > > > > So i would drop the compatible. See if C22 is sufficient to get the > > correct driver loaded. > > - Remove C45 compatible; Remove C45 read/write in driver > > The PHY is identified as "Generic PHY", and the correct PHY driver is > not used. I can't test more than that as the generic PHY driver do not > implement some quirks I need to get the link up. What ID does it return in registers 2 and 3? Anything like 0x002b0b20? If there is some usable value there, we can probably extend the driver to accept that ID as well. Another option it to use a compatible conforming to: - pattern: "^ethernet-phy-id[a-f0-9]{4}\\.[a-f0-9]{4}$" ethernet-phy-id002b.0b20 That will bypass reading ID registers for the ID, and just use the ID in the compatible. However, it would be better to read them from the PHY. Andrew