Hello,

My A20-OLinuXino-LIME2 has a RTL8211CL network adapter and is affected by the 
same issue described for RTL8211F_PHY_FORCE_EEE_RXC_ON. In 
u-boot/drivers/net/phy/realtek.c I copied «phydev->flags |= 
PHY_RTL8211F_FORCE_EEE_RXC_ON;» inside rtl8211b_probe() and the following 
portion of code enabled by the fix at the beginning of rtl8211x_config():

if (phydev->flags & PHY_RTL8211F_FORCE_EEE_RXC_ON) {
    unsigned int reg;

    reg = phy_read_mmd(phydev, MDIO_MMD_PCS, MDIO_CTRL1);
    reg &= ~MDIO_PCS_CTRL1_CLKSTOP_EN;
    phy_write_mmd(phydev, MDIO_MMD_PCS, MDIO_CTRL1, reg);
}

When rebooting from GNU/Linux in Das U-Boot, issuing «dhcp» gives me this:

=> dhcp
ethernet@1c50000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@1c50000
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
The remote end did not respond in time.

If I issue the same command once again immediately after, it will instantly 
report the device as connected, with no delay at all, as if it was already 
connected the first time, but the driver failed to report the device as 
connected.

If you have no clue for a proper fix, I will try to set up a GDB environment to 
see what's going on. I am no expert though.

Reply via email to