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