[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 4 Apr 2016 15:58:13 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Petr Kulhavy <petr@...ix.com>
Cc: netdev@...r.kernel.org
Subject: Re: davinci-mdio: failing to connect to PHY
On Mon, Apr 04, 2016 at 03:50:02PM +0200, Petr Kulhavy wrote:
>
>
> On 04.04.2016 14:31, Andrew Lunn wrote:
> >Hi Petr
> >
> >You might want to take a look at:
> >
> >http://lxr.free-electrons.com/source/drivers/net/ethernet/ti/davinci_mdio.c#L137
> >
> >It seems to be asking the hardware about the phy mask.
> >
> > Andrew
>
> Hi Andrew,
>
> thanks a lot for the link. In the meantime I've understood the issue
> better. It is due to the fact that the PHY is pin-strapped to
> address 1 and broadcast (at address 0) is enabled. The Micrel
> driver's config_init() disables the broadcast and the PHY stops
> responding, which causes the troubles. The kernel 3.17 didn't
> disable the broadcast and therefore it worked.
>
> I'm wondering how to solve or workaround this...
One option is in your device tree is to explicitly list the phy on
your mdio bus. Something like:
&mdio {
status = "okay";
ethphy0: ethernet-phy@1 {
reg = <1>;
};
};
This alone might be sufficient. If not, you need to reference the phy
via a phandle in the ethernet node.
ð0 {
status = "okay";
phy-handle = <ðphy0>;
};
Andrew
Powered by blists - more mailing lists