Messages in this thread | | | Subject | Re: [PATCH RESEND net] net: phy: xgmiitorgmii: Support generic PHY status read | From | Michal Simek <> | Date | Mon, 11 Mar 2019 13:51:18 +0100 |
| |
On 11. 03. 19 13:27, Harini Katakam wrote: > 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.
In u-boot behavior and wiring is similar to fixed-link phy.
Thanks, Michal
| |