Messages in this thread | | | From | Harini Katakam <> | Date | Mon, 11 Mar 2019 17:57:03 +0530 | Subject | Re: [PATCH RESEND net] net: phy: xgmiitorgmii: Support generic PHY status read |
| |
Hi Andrew, On Mon, Mar 11, 2019 at 11:34 AM Harini Katakam <harinik@xilinx.com> wrote: > > Hi Andrew, > On Sat, Mar 9, 2019 at 9:53 PM Andrew Lunn <andrew@lunn.ch> wrote: > > > > > Related to this, I have a query on how the DT node for gmii2rgmii should look. > > > One of the users of gmii2rgmii is Cadence macb driver. In Xilinx tree, we use > > > this piece of code to register this mdiobus: > > > + mdio_np = of_get_child_by_name(np, "mdio"); > > > + if (mdio_np) { > > > + of_node_put(mdio_np); > > > + err = of_mdiobus_register(bp->mii_bus, mdio_np); > > > + if (err) > > > + goto err_out_unregister_bus; > > > > > > And the DT node looks like this: > > > ethernet { > > > phy-mode = "gmii"; > > > phy-handle = <&extphy>; > > > > > > mdio { > > > extphy { > > > reg = <x>; > > > }; > > > gmii_to_rgmii{ > > > compatible = "xlnx,gmii-to-rgmii-1.0"; > > > phy-handle = <&extphy>; > > > reg = <x>; > > > }; > > > }; > > > }; > > > > Hi Harini > > > > You have this setup: > > > > MAC <==> GMII2RGMII <==> RGMII_PHY > > > > So you want the MAC phy-handle to point to the gmii_to_rgmii 'PHY'. > > > > Feel free to submit a patch extending > > Documentation/devicetree/bindings/net/xilinx_gmii2rgmii.txt to include > > a MAC node, etc. > > Thank you, will do the same.
Thanks again for your input. So, I did some testing with this change. But the issue is that, if I point the phy-handle to gmi2rgmii, of_phy_connect will be called from the MAC and it will fail because gmii2rgmii is not a PHY driver and it does not have a standard PHY register set or ID. Which goes back to the discussion above whether this needs to changed in the IP.
But right now, it is a bridge device on the MDIO bus and has no PHY functionality. Moreover, any MAC is capable of accessing the external PHY with no interference in the MDIO path (the gmii2rgmii bridge just acts like another device on a common bus).
What Michal suggested below in uboot is that they register gmii2rgmii with a dummy PHY ID and then attach the external phy driver in its probe. I'm not sure if this will work in linux i.e. calling phy_connect_direct inside the gmii2rgmii probe.
Regards, Harini
| |