Joe, On Thu, Jul 18, 2013 at 8:41 AM, Fabio Estevam <feste...@gmail.com> wrote:
> I have tried: > > --- a/drivers/net/phy/phy.c > +++ b/drivers/net/phy/phy.c > @@ -404,7 +404,7 @@ int genphy_config(struct phy_device *phydev) > if (val & ESTATUS_1000_XFULL) > features |= SUPPORTED_1000baseX_Full; > if (val & ESTATUS_1000_XHALF) > - features |= SUPPORTED_1000baseX_Full; > + features |= SUPPORTED_1000baseX_Half; > } > > phydev->supported = features; > > ,but it still did not fix the issue. > > Charles/Joe, > > Any ideas? Also tested on a mx6qsabresd and ethernet is also broken there as well. The following patch fixes it: --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -337,12 +337,8 @@ int genphy_parse_link(struct phy_device *phydev) estatus = phy_read(phydev, MDIO_DEVAD_NONE, MII_ESTATUS); - if (estatus & (ESTATUS_1000_XFULL | ESTATUS_1000_XHALF | - ESTATUS_1000_TFULL | ESTATUS_1000_THALF)) { - phydev->speed = SPEED_1000; - if (estatus & (ESTATUS_1000_XFULL | ESTATUS_1000_TFULL)) - phydev->duplex = DUPLEX_FULL; - } + if (estatus & (ESTATUS_1000_XFULL | ESTATUS_1000_TFULL)) + phydev->duplex = DUPLEX_FULL; } else { u32 bmcr = phy_read(phydev, MDIO_DEVAD_NONE, MII_BMCR); Is this the correct fix? _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot