[U-Boot] Ethernet support broken for Wandboard Quad on master
Fabio Estevam
festevam at gmail.com
Thu Jul 18 17:44:41 CEST 2013
Joe,
On Thu, Jul 18, 2013 at 8:41 AM, Fabio Estevam <festevam at 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?
More information about the U-Boot
mailing list