aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/phy/aquantia.c
diff options
context:
space:
mode:
authorValentin-catalin Neacsu <valentin-catalin.neacsu@nxp.com>2019-02-13 09:14:53 +0000
committerJoe Hershberger <joe.hershberger@ni.com>2019-05-08 17:27:00 -0500
commitc940646ed11ed6580a2b7749d05c873e39ad7f42 (patch)
treeb8cdd32368d624400f222102cab4f0e29790fd66 /drivers/net/phy/aquantia.c
parent05eb6a698acbd6465c032d39ea77b79f831f05af (diff)
downloadu-boot-c940646ed11ed6580a2b7749d05c873e39ad7f42.zip
u-boot-c940646ed11ed6580a2b7749d05c873e39ad7f42.tar.gz
u-boot-c940646ed11ed6580a2b7749d05c873e39ad7f42.tar.bz2
net: phy: aquantia: Set only autoneg on in register 4.c441
For AQR405 in register 4.c441 bit 15 was override with 0. This caused the phy to not negotiate at 2.5GB rate with mac. To avoid this override it needed first to know the previous value of reg 4.c441 and set only bit 3. Signed-off-by: Valentin Catalin Neacsu <valentin-catalin.neacsu@nxp.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Diffstat (limited to 'drivers/net/phy/aquantia.c')
-rw-r--r--drivers/net/phy/aquantia.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/phy/aquantia.c b/drivers/net/phy/aquantia.c
index 12df098..5c3298d 100644
--- a/drivers/net/phy/aquantia.c
+++ b/drivers/net/phy/aquantia.c
@@ -303,9 +303,14 @@ int aquantia_config(struct phy_device *phydev)
AQUANTIA_SYSTEM_INTERFACE_SR);
/* If SI is USXGMII then start USXGMII autoneg */
if ((val & AQUANTIA_SI_IN_USE_MASK) == AQUANTIA_SI_USXGMII) {
+ reg_val1 = phy_read(phydev, MDIO_MMD_PHYXS,
+ AQUANTIA_VENDOR_PROVISIONING_REG);
+
+ reg_val1 |= AQUANTIA_USX_AUTONEG_CONTROL_ENA;
+
phy_write(phydev, MDIO_MMD_PHYXS,
AQUANTIA_VENDOR_PROVISIONING_REG,
- AQUANTIA_USX_AUTONEG_CONTROL_ENA);
+ reg_val1);
printf("%s: system interface USXGMII\n",
phydev->dev->name);
} else {