Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: phy: vitesse: add support for VSC8601

This adds support for the Vitesse VSC8601 PHY. Generic functions are
used for everything except interrupt handling.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Måns Rullgård and committed by
David S. Miller
7729b053 0eae5982

+15 -1
+15 -1
drivers/net/phy/vitesse.c
··· 66 66 #define PHY_ID_VSC8244 0x000fc6c0 67 67 #define PHY_ID_VSC8514 0x00070670 68 68 #define PHY_ID_VSC8574 0x000704a0 69 + #define PHY_ID_VSC8601 0x00070420 69 70 #define PHY_ID_VSC8662 0x00070660 70 71 #define PHY_ID_VSC8221 0x000fc550 71 72 #define PHY_ID_VSC8211 0x000fc4b0 ··· 134 133 (phydev->drv->phy_id == PHY_ID_VSC8234 || 135 134 phydev->drv->phy_id == PHY_ID_VSC8244 || 136 135 phydev->drv->phy_id == PHY_ID_VSC8514 || 137 - phydev->drv->phy_id == PHY_ID_VSC8574) ? 136 + phydev->drv->phy_id == PHY_ID_VSC8574 || 137 + phydev->drv->phy_id == PHY_ID_VSC8601) ? 138 138 MII_VSC8244_IMASK_MASK : 139 139 MII_VSC8221_IMASK_MASK); 140 140 else { ··· 269 267 .flags = PHY_HAS_INTERRUPT, 270 268 .config_init = &vsc824x_config_init, 271 269 .config_aneg = &vsc82x4_config_aneg, 270 + .read_status = &genphy_read_status, 271 + .ack_interrupt = &vsc824x_ack_interrupt, 272 + .config_intr = &vsc82xx_config_intr, 273 + .driver = { .owner = THIS_MODULE,}, 274 + }, { 275 + .phy_id = PHY_ID_VSC8601, 276 + .name = "Vitesse VSC8601", 277 + .phy_id_mask = 0x000ffff0, 278 + .features = PHY_GBIT_FEATURES, 279 + .flags = PHY_HAS_INTERRUPT, 280 + .config_init = &genphy_config_init, 281 + .config_aneg = &genphy_config_aneg, 272 282 .read_status = &genphy_read_status, 273 283 .ack_interrupt = &vsc824x_ack_interrupt, 274 284 .config_intr = &vsc82xx_config_intr,