diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/phy/vitesse.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/net/phy/vitesse.c b/drivers/net/phy/vitesse.c index 508e4359338b..14372c65a7e8 100644 --- a/drivers/net/phy/vitesse.c +++ b/drivers/net/phy/vitesse.c | |||
| @@ -64,6 +64,7 @@ | |||
| 64 | 64 | ||
| 65 | #define PHY_ID_VSC8234 0x000fc620 | 65 | #define PHY_ID_VSC8234 0x000fc620 |
| 66 | #define PHY_ID_VSC8244 0x000fc6c0 | 66 | #define PHY_ID_VSC8244 0x000fc6c0 |
| 67 | #define PHY_ID_VSC8514 0x00070670 | ||
| 67 | #define PHY_ID_VSC8574 0x000704a0 | 68 | #define PHY_ID_VSC8574 0x000704a0 |
| 68 | #define PHY_ID_VSC8662 0x00070660 | 69 | #define PHY_ID_VSC8662 0x00070660 |
| 69 | #define PHY_ID_VSC8221 0x000fc550 | 70 | #define PHY_ID_VSC8221 0x000fc550 |
| @@ -131,6 +132,7 @@ static int vsc82xx_config_intr(struct phy_device *phydev) | |||
| 131 | err = phy_write(phydev, MII_VSC8244_IMASK, | 132 | err = phy_write(phydev, MII_VSC8244_IMASK, |
| 132 | (phydev->drv->phy_id == PHY_ID_VSC8234 || | 133 | (phydev->drv->phy_id == PHY_ID_VSC8234 || |
| 133 | phydev->drv->phy_id == PHY_ID_VSC8244 || | 134 | phydev->drv->phy_id == PHY_ID_VSC8244 || |
| 135 | phydev->drv->phy_id == PHY_ID_VSC8514 || | ||
| 134 | phydev->drv->phy_id == PHY_ID_VSC8574) ? | 136 | phydev->drv->phy_id == PHY_ID_VSC8574) ? |
| 135 | MII_VSC8244_IMASK_MASK : | 137 | MII_VSC8244_IMASK_MASK : |
| 136 | MII_VSC8221_IMASK_MASK); | 138 | MII_VSC8221_IMASK_MASK); |
| @@ -246,6 +248,18 @@ static struct phy_driver vsc82xx_driver[] = { | |||
| 246 | .config_intr = &vsc82xx_config_intr, | 248 | .config_intr = &vsc82xx_config_intr, |
| 247 | .driver = { .owner = THIS_MODULE,}, | 249 | .driver = { .owner = THIS_MODULE,}, |
| 248 | }, { | 250 | }, { |
| 251 | .phy_id = PHY_ID_VSC8514, | ||
| 252 | .name = "Vitesse VSC8514", | ||
| 253 | .phy_id_mask = 0x000ffff0, | ||
| 254 | .features = PHY_GBIT_FEATURES, | ||
| 255 | .flags = PHY_HAS_INTERRUPT, | ||
| 256 | .config_init = &vsc824x_config_init, | ||
| 257 | .config_aneg = &vsc82x4_config_aneg, | ||
| 258 | .read_status = &genphy_read_status, | ||
| 259 | .ack_interrupt = &vsc824x_ack_interrupt, | ||
| 260 | .config_intr = &vsc82xx_config_intr, | ||
| 261 | .driver = { .owner = THIS_MODULE,}, | ||
| 262 | }, { | ||
| 249 | .phy_id = PHY_ID_VSC8574, | 263 | .phy_id = PHY_ID_VSC8574, |
| 250 | .name = "Vitesse VSC8574", | 264 | .name = "Vitesse VSC8574", |
| 251 | .phy_id_mask = 0x000ffff0, | 265 | .phy_id_mask = 0x000ffff0, |
| @@ -315,6 +329,7 @@ module_exit(vsc82xx_exit); | |||
| 315 | static struct mdio_device_id __maybe_unused vitesse_tbl[] = { | 329 | static struct mdio_device_id __maybe_unused vitesse_tbl[] = { |
| 316 | { PHY_ID_VSC8234, 0x000ffff0 }, | 330 | { PHY_ID_VSC8234, 0x000ffff0 }, |
| 317 | { PHY_ID_VSC8244, 0x000fffc0 }, | 331 | { PHY_ID_VSC8244, 0x000fffc0 }, |
| 332 | { PHY_ID_VSC8514, 0x000ffff0 }, | ||
| 318 | { PHY_ID_VSC8574, 0x000ffff0 }, | 333 | { PHY_ID_VSC8574, 0x000ffff0 }, |
| 319 | { PHY_ID_VSC8662, 0x000ffff0 }, | 334 | { PHY_ID_VSC8662, 0x000ffff0 }, |
| 320 | { PHY_ID_VSC8221, 0x000ffff0 }, | 335 | { PHY_ID_VSC8221, 0x000ffff0 }, |
