Re: [PATCH v2 2/4] dt-bindings: net: qcom: Add binding for shared mdio bus
From: Andrew Lunn <andrew@lunn.ch>
Date: 2018-09-18 12:35:45
Also in:
linux-devicetree
From: Andrew Lunn <andrew@lunn.ch>
Date: 2018-09-18 12:35:45
Also in:
linux-devicetree
quoted
If you want to describe the MDIO controller, then you embed a mdio subnode into your Ethernet MAC node: emac0: ethernet@feb20000 { mdio { #address-cells = <1>; #size-cells = <0>; phy0: ethernet-phy@0 { reg = <0>; }; }; }; And then each Ethernet MAC controller refers to their appropriate PHY device tree node using a phy-handle property to point to either their own MDIO controller, or another MAC's MDIO controller.
Sorry, I do not understand how phy-handle point to MDIO controller, because phy-handle is defined to point to a phy.
The MAC driver does not care what MDIO controller a PHY is on. All you
need to do to register the PHY is:
phy_node = of_parse_phandle(np, "phy-handle", 0);
phy_interface = of_get_phy_mode(np);
phydev = of_phy_connect(dev, phy_node,
&handle_link_change, 0,
phy_interface);
Andrew