summaryrefslogtreecommitdiff
path: root/drivers/net/phy
diff options
context:
space:
mode:
authorVladimir Oltean <vladimir.oltean@nxp.com>2020-05-07 01:11:51 +0300
committerTom Rini <trini@konsulko.com>2020-05-07 18:05:00 +0300
commit13114f38e2ccea9386726d8b9831dfc310589548 (patch)
tree367e99da27fa17eb69d67f732e6d1645054765d0 /drivers/net/phy
parenta234ae863a413d371a0abc36f9e0aa9c1726e331 (diff)
downloadu-boot-13114f38e2ccea9386726d8b9831dfc310589548.tar.xz
phy: atheros: Explicitly disable RGMII delays
To eliminate any doubts about the out-of-reset value of the PHY, that the driver previously relied on. If bisecting shows that this commit breaks your board you probably have a wrong PHY interface mode. You probably want the PHY_INTERFACE_MODE_RGMII_RXID or PHY_INTERFACE_MODE_RGMII_ID mode. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Diffstat (limited to 'drivers/net/phy')
-rw-r--r--drivers/net/phy/atheros.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/phy/atheros.c b/drivers/net/phy/atheros.c
index 1da18eb5d4..3e59c3f391 100644
--- a/drivers/net/phy/atheros.c
+++ b/drivers/net/phy/atheros.c
@@ -70,10 +70,14 @@ static int ar8031_config(struct phy_device *phydev)
if (phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID ||
phydev->interface == PHY_INTERFACE_MODE_RGMII_ID)
ar803x_enable_tx_delay(phydev, true);
+ else
+ ar803x_enable_tx_delay(phydev, false);
if (phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID ||
phydev->interface == PHY_INTERFACE_MODE_RGMII_ID)
ar803x_enable_rx_delay(phydev, true);
+ else
+ ar803x_enable_rx_delay(phydev, false);
phydev->supported = phydev->drv->features;
@@ -96,10 +100,14 @@ static int ar8035_config(struct phy_device *phydev)
if ((phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) ||
(phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID))
ar803x_enable_tx_delay(phydev, true);
+ else
+ ar803x_enable_tx_delay(phydev, false);
if ((phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) ||
(phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID))
ar803x_enable_rx_delay(phydev, true);
+ else
+ ar803x_enable_rx_delay(phydev, false);
phydev->supported = phydev->drv->features;