Re: [PATCH v2] net: macb: do not scan PHYs manually
From: Andrew Lunn <andrew@lunn.ch>
Date: 2016-04-28 21:23:21
Also in:
lkml
On Thu, Apr 28, 2016 at 04:03:57PM -0500, Josh Cartwright wrote:
On Thu, Apr 28, 2016 at 08:59:32PM +0200, Andrew Lunn wrote:quoted
On Thu, Apr 28, 2016 at 01:55:27PM -0500, Nathan Sullivan wrote:quoted
On Thu, Apr 28, 2016 at 08:43:03PM +0200, Andrew Lunn wrote:quoted
quoted
I agree that is a valid fix for AT91, however it won't solve our problem, since we have no children on the second ethernet MAC in our devices' device trees. I'm starting to feel like our second MAC shouldn't even really register the MDIO bus since it isn't being used - maybe adding a DT property to not have a bus is a better option?status = "disabled" would be the unusual way. AndrewOh, sorry, I meant we use both MACs on Zynq, however the PHYs are on the MDIO bus of the first MAC. So, the second MAC is used for ethernet but not for MDIO, and so it does not have any PHYs under its DT node. It would be nice if there were a way to tell macb not to bother with MDIO for the second MAC, since that's handled by the first MAC.Yes, exactly, add support for status = "disabled" in the mdio node.Unfortunately, the 'macb' doesn't have a "mdio node", or alternatively: the node representing the mdio bus is the same node which represents the macb instance itself. Setting 'status = "disabled"' on this node will just prevent the probing of the macb instance.
:-(
It is very common to have an mdio node within the MAC node, for example imx6sx-sdb.dtsi
&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet1>;
phy-supply = <®_enet_3v3>;
phy-mode = "rgmii";
phy-handle = <ðphy1>;
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy1: ethernet-phy@1 {
reg = <1>;
};
ethphy2: ethernet-phy@2 {
reg = <2>;
};
};
};
&fec2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet2>;
phy-mode = "rgmii";
phy-handle = <ðphy2>;
status = "okay";
};
This even has the two phys on one bus, as you described...
Andrew