On Mon, Apr 04, 2016 at 10:18:30AM +0200, Petr Kulhavy wrote: > Hi, > > I'm experiencing a peculiar problem with PHY communication in the > current davinci-mdio.c driver. > After upgrading from kernel 3.17 to 4.5 my DT based AM1808 board > started having issues with the PHY communication. > The MAC is detected, the MDIO is detected, the PHY is detected > (twice?!?!), however there is no data being sent/received and the > after issuing "ifdown -a" the MDIO starts spitting out messages that > it cannot connect to the PHY: > > net eth0: could not connect to phy davinci_mdio.0:00 > davinci_mdio davinci_mdio.0: resetting idled controller > > > I'm using a single Micrel KSZ8081 PHY connected via RMII using the > default PHY address 0x01. > Here is the dmesg excerpt related to mdio: > > davinci_mdio davinci_mdio.0: Runtime PM disabled, clock forced on. > davinci_mdio davinci_mdio.0: davinci mdio revision 1.5 > davinci_mdio davinci_mdio.0: detected phy mask fffffffc > libphy: davinci_mdio.0: probed > davinci_mdio davinci_mdio.0: phy[0]: device davinci_mdio.0:00, > driver Micrel KSZ8081 or KSZ8091 > davinci_mdio davinci_mdio.0: phy[1]: device davinci_mdio.0:01, > driver Micrel KSZ8081 or KSZ8091 > davinci_mdio davinci_mdio.0: resetting idled controller > Micrel KSZ8081 or KSZ8091 davinci_mdio.0:00: failed to disable NAND > tree mode > Micrel KSZ8081 or KSZ8091 davinci_mdio.0:00: attached PHY driver > [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=davinci_mdio.0:00, > irq=-1) > > > After a soft-reboot the MDIO uses a different PHY mask fffffffd, > detects correctly only one PHY at address 1 (this is the default > address) and the networking works: 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