[U-Boot] [PATCH] net: phy: marvell: Fix up reset ordering
Nathan Rossi
nathan at nathanrossi.com
Wed Jun 1 18:22:44 CEST 2016
Commit a058052c "net: phy: do not read configuration register on reset",
changes the behaviour of the phy_reset function such that the state of
the BMCR register is not preserved during reset.
Reorder the phy_reset and genphy_config_aneg calls for some of the
marvell phy drivers so that auto-negotiation occurs after reset.
Signed-off-by: Nathan Rossi <nathan at nathanrossi.com>
Cc: Joe Hershberger <joe.hershberger at ni.com>
Cc: Michal Simek <michal.simek at xilinx.com>
Cc: Stefan Roese <sr at denx.de>
---
drivers/net/phy/marvell.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index d2e68d4..40284a5 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -414,10 +414,10 @@ static int m88e1145_config(struct phy_device *phydev)
MIIM_M88E1145_RGMII_TX_DELAY;
phy_write(phydev, MDIO_DEVAD_NONE, MIIM_88E1145_PHY_EXT_CR, reg);
- genphy_config_aneg(phydev);
-
phy_reset(phydev);
+ genphy_config_aneg(phydev);
+
return 0;
}
@@ -443,10 +443,10 @@ static int m88e1149_config(struct phy_device *phydev)
phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x0);
phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x100);
- genphy_config_aneg(phydev);
-
phy_reset(phydev);
+ genphy_config_aneg(phydev);
+
return 0;
}
@@ -476,9 +476,10 @@ static int m88e1310_config(struct phy_device *phydev)
/* Ensure to return to page 0 */
phy_write(phydev, MDIO_DEVAD_NONE, MIIM_88E1310_PHY_PAGE, 0x0000);
- genphy_config_aneg(phydev);
phy_reset(phydev);
+ genphy_config_aneg(phydev);
+
return 0;
}
--
2.8.1
More information about the U-Boot
mailing list