|
@@ -339,6 +339,17 @@ static int ksz8041_config_aneg(struct phy_device *phydev)
|
|
|
return genphy_config_aneg(phydev);
|
|
return genphy_config_aneg(phydev);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+static int ksz8061_config_init(struct phy_device *phydev)
|
|
|
|
|
+{
|
|
|
|
|
+ int ret;
|
|
|
|
|
+
|
|
|
|
|
+ ret = phy_write_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_DEVID1, 0xB61A);
|
|
|
|
|
+ if (ret)
|
|
|
|
|
+ return ret;
|
|
|
|
|
+
|
|
|
|
|
+ return kszphy_config_init(phydev);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
static int ksz9021_load_values_from_of(struct phy_device *phydev,
|
|
static int ksz9021_load_values_from_of(struct phy_device *phydev,
|
|
|
const struct device_node *of_node,
|
|
const struct device_node *of_node,
|
|
|
u16 reg,
|
|
u16 reg,
|
|
@@ -934,7 +945,7 @@ static struct phy_driver ksphy_driver[] = {
|
|
|
.phy_id_mask = MICREL_PHY_ID_MASK,
|
|
.phy_id_mask = MICREL_PHY_ID_MASK,
|
|
|
.features = PHY_BASIC_FEATURES,
|
|
.features = PHY_BASIC_FEATURES,
|
|
|
.flags = PHY_HAS_INTERRUPT,
|
|
.flags = PHY_HAS_INTERRUPT,
|
|
|
- .config_init = kszphy_config_init,
|
|
|
|
|
|
|
+ .config_init = ksz8061_config_init,
|
|
|
.ack_interrupt = kszphy_ack_interrupt,
|
|
.ack_interrupt = kszphy_ack_interrupt,
|
|
|
.config_intr = kszphy_config_intr,
|
|
.config_intr = kszphy_config_intr,
|
|
|
.suspend = genphy_suspend,
|
|
.suspend = genphy_suspend,
|