On 2024-05-06 21:53:58 +0200, Andrew Lunn wrote: > 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. Thanks for these hints. Using a compatible to indicate which PHY to use allows the RTSN driver to not implement C45 read/write functions and still operate. I will look into if I can extend the PHY driver with identification from register 2 and 3, but that will be a separate work item. Unrelated note: I use the ID 0x002b0980 instead of 0x002b0b20 as I have a 88Q2110 and not a 88Q2220 PHY, but both are handled by the same PHY driver. > > Andrew > > -- Kind Regards, Niklas Söderlund