On Fri, Mar 23, 2018 at 03:11:23PM -0700, Florian Fainelli wrote: > On 03/23/2018 03:06 PM, Andrew Lunn wrote: > >>> That is the trade off of having a standalone MDIO bus driver. Maybe > >>> add a phandle to the internal MDIO bus? The switch driver could then > >>> follow the phandle, and direct connect the internal PHYs? > >> > >> This is more or less what patch 7 does, right? > > > > Patch 7 does it in DT. I'm suggesting it could be done in C. It is > > hard wired, so there is no need to describe it in DT. Use the phandle > > to get the mdio bus, mdiobus_get_phy(, port) to get the phydev and > > then use phy_connect(). > > That does not sound like a great idea. And to go back to your example > about DSA, it is partially true, you will see some switch bindings > defining the internal PHYs (e.g: qca8k), and most not doing it (b53, > mv88e6xxx, etc.). In either case, this resolves to the same thing > though. Being able to parse a phy-handle property is a lot more > flexible, and if it does matter that the PHY truly is internal, then the > 'phy-mode' property can help reflect that. Hi Florian With DSA, you can always provide a phy-handle. It is only when there is nothing specified that the fallback case is used to map internal PHYs to ports. Putting internal PHYs in DT is fine, but it is a nice simplification if it is not needed. Andrew