Re: [PATCH v2] of: property: fw_devlink: Add support for "phy-handle" property
From: Saravana Kannan <hidden>
Date: 2021-08-23 20:49:09
Also in:
linux-amlogic, linux-devicetree, lkml
On Mon, Aug 23, 2021 at 12:58 PM Andrew Lunn [off-list ref] wrote:
quoted
PHY seems to be one of those cases where it's okay to have the compatible property but also okay to not have it.Correct. They are like PCI or USB devices. You can ask it, what are you? There are two registers in standard locations which give you a vendor and product ID. We use that to find the correct driver.
For all the cases of PHYs that currently don't need any compatible string, requiring a compatible string of type "ethernet-phy-standard" would have been nice. That would have made PHYs consistent with the general DT norm of "you need a compatible string to be matched with the device". Anyway, it's too late to do that now. So I'll have to deal with this some other way (I have a bunch of ideas, so it's not the end of the world).
You only need a compatible when things are not so simple. 1) The IDs are wrong. Some silicon vendors do stupid things 2) Chicken/egg problems, you cannot read the ID registers until you load the driver and some resource is enabled. 3) It is a C45 devices, e.g. part of clause 45 of 802.3, which requires a different protocol to be talked over the bus. So the compatible string tells you to talk C45 to get the IDs. 4) It is not a PHY, but some sort of other MDIO device, and hence there are no ID registers.
Yeah, I was digging through of_mdiobus_child_is_phy() when I was doing the mdio-mux fixes and noticed this. But I missed/forgot the mdiobus doesn't probe part when I sent out the phy-handle patch. -Saravana