kernel: remove support for kernel 4.9
[openwrt/staging/dedeckeh.git] / target / linux / generic / pending-4.9 / 735-net-phy-at803x-fix-at8033-sgmii-mode.patch
diff --git a/target/linux/generic/pending-4.9/735-net-phy-at803x-fix-at8033-sgmii-mode.patch b/target/linux/generic/pending-4.9/735-net-phy-at803x-fix-at8033-sgmii-mode.patch
deleted file mode 100644 (file)
index 381b2d0..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-From: Roman Yeryomin <roman@advem.lv>
-Subject: kernel: add at803x fix for sgmii mode
-
-Some (possibly broken) bootloaders incorreclty initialize at8033
-phy. This patch enables sgmii autonegotiation mode.
-
-[john@phrozen.org: felix added this to his upstream queue]
-
-Signed-off-by: Roman Yeryomin <roman@advem.lv>
----
- drivers/net/phy/at803x.c | 25 +++++++++++++++++++++++++
- 1 file changed, 25 insertions(+)
-
---- a/drivers/net/phy/at803x.c
-+++ b/drivers/net/phy/at803x.c
-@@ -46,6 +46,7 @@
- #define AT803X_FUNC_DATA                      0x4003
- #define AT803X_REG_CHIP_CONFIG                        0x1f
- #define AT803X_BT_BX_REG_SEL                  0x8000
-+#define AT803X_SGMII_ANEG_EN                  0x1000
- #define AT803X_PCS_SMART_EEE_CTRL3                    0x805D
- #define AT803X_SMART_EEE_CTRL3_LPI_TX_DELAY_SEL_MASK  0x3
-@@ -295,6 +296,27 @@ static int at803x_config_init(struct phy
- {
-       struct at803x_platform_data *pdata;
-       int ret;
-+      u32 v;
-+
-+      if (phydev->drv->phy_id == ATH8031_PHY_ID &&
-+              phydev->interface == PHY_INTERFACE_MODE_SGMII)
-+      {
-+              v = phy_read(phydev, AT803X_REG_CHIP_CONFIG);
-+              /* select SGMII/fiber page */
-+              ret = phy_write(phydev, AT803X_REG_CHIP_CONFIG,
-+                                              v & ~AT803X_BT_BX_REG_SEL);
-+              if (ret)
-+                      return ret;
-+              /* enable SGMII autonegotiation */
-+              ret = phy_write(phydev, MII_BMCR, AT803X_SGMII_ANEG_EN);
-+              if (ret)
-+                      return ret;
-+              /* select copper page */
-+              ret = phy_write(phydev, AT803X_REG_CHIP_CONFIG,
-+                                              v | AT803X_BT_BX_REG_SEL);
-+              if (ret)
-+                      return ret;
-+      }
-       ret = genphy_config_init(phydev);
-       if (ret < 0)