|
@@ -52,6 +52,7 @@
|
|
|
#define MII_M1011_PHY_SCR_MDI_X 0x0020
|
|
|
#define MII_M1011_PHY_SCR_AUTO_CROSS 0x0060
|
|
|
|
|
|
+#define MII_M1145_PHY_EXT_ADDR_PAGE 0x16
|
|
|
#define MII_M1145_PHY_EXT_SR 0x1b
|
|
|
#define MII_M1145_PHY_EXT_CR 0x14
|
|
|
#define MII_M1145_RGMII_RX_DELAY 0x0080
|
|
@@ -552,6 +553,16 @@ static int m88e1111_config_init(struct phy_device *phydev)
|
|
|
err = phy_write(phydev, MII_M1111_PHY_EXT_SR, temp);
|
|
|
if (err < 0)
|
|
|
return err;
|
|
|
+
|
|
|
+ /* make sure copper is selected */
|
|
|
+ err = phy_read(phydev, MII_M1145_PHY_EXT_ADDR_PAGE);
|
|
|
+ if (err < 0)
|
|
|
+ return err;
|
|
|
+
|
|
|
+ err = phy_write(phydev, MII_M1145_PHY_EXT_ADDR_PAGE,
|
|
|
+ err & (~0xff));
|
|
|
+ if (err < 0)
|
|
|
+ return err;
|
|
|
}
|
|
|
|
|
|
if (phydev->interface == PHY_INTERFACE_MODE_RTBI) {
|