openwrtv3/target/linux/mpc85xx/patches-3.14/750-phy_reset_anenable.patch
John Crispin bd164f233c mpc85xx: add 3.14 kernel support for mpc85xx platform
This patch adds 3.14 kernel support for the mpc85xx platform.
Works fine here with a TL-WDR4900 which seems to be the only
supported device using this platform.
There might be differences depending on HW version, therefore
I'd ask others to test too.

Changes to 3.10
  missing config options added to 3.14 config file
  patch 001: rebased
  patch 100: rebased
  patch 110: rebased
  patch 120: rebased
  patch 130: rebased
  patch 140: minor adjustment
  patch 200: removed, change went upstream
  patch 210: rebased
  patch 220: removed, change went upstream
  patch 750: new, fixes an issue with ethernet port autoneg being
             disabled due to changes in kernel phy handling

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

SVN-Revision: 43308
2014-11-19 09:20:55 +00:00

30 lines
962 B
Diff

From b4da0f2e86748379fc43e82b83458eb054af8d19 Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Mon, 17 Nov 2014 21:41:56 +0100
Subject: net: phy: set BMCR_ANENABLE when phy is reset
Kernel 3.14 introduced an additional reset of the switch phys
causing autonegotiation to be disabled.
Change reset command to enable autonegotiation.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
drivers/net/phy/phy_device.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 25f7419..98445e6 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -539,7 +539,7 @@ int phy_init_hw(struct phy_device *phydev)
if (!phydev->drv || !phydev->drv->config_init)
return 0;
- ret = phy_write(phydev, MII_BMCR, BMCR_RESET);
+ ret = phy_write(phydev, MII_BMCR, BMCR_RESET | BMCR_ANENABLE);
if (ret < 0)
return ret;
--
2.1.3