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