Skip to content

Commit dc855b3

Browse files
scagatedavem330
authored andcommitted
net: phy: vitesse: add support for VSC8572
Add support for the Vitesse VSC8572 which is functionally equivalent to the already supported VSC8574. As such, all the same handling functions are used since the VSC8572 merely has half the number of phy blocks internally. Signed-off-by: Stephen Agate <stephen.agate@uk.thalesgroup.com> Signed-off-by: Neill Whillans <neill.whillans@codethink.co.uk> Reviewed-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent b3b9fa0 commit dc855b3

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

drivers/net/phy/vitesse.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
#define PHY_ID_VSC8234 0x000fc620
7070
#define PHY_ID_VSC8244 0x000fc6c0
7171
#define PHY_ID_VSC8514 0x00070670
72+
#define PHY_ID_VSC8572 0x000704d0
7273
#define PHY_ID_VSC8574 0x000704a0
7374
#define PHY_ID_VSC8601 0x00070420
7475
#define PHY_ID_VSC8662 0x00070660
@@ -166,6 +167,7 @@ static int vsc82xx_config_intr(struct phy_device *phydev)
166167
(phydev->drv->phy_id == PHY_ID_VSC8234 ||
167168
phydev->drv->phy_id == PHY_ID_VSC8244 ||
168169
phydev->drv->phy_id == PHY_ID_VSC8514 ||
170+
phydev->drv->phy_id == PHY_ID_VSC8572 ||
169171
phydev->drv->phy_id == PHY_ID_VSC8574 ||
170172
phydev->drv->phy_id == PHY_ID_VSC8601) ?
171173
MII_VSC8244_IMASK_MASK :
@@ -290,6 +292,17 @@ static struct phy_driver vsc82xx_driver[] = {
290292
.read_status = &genphy_read_status,
291293
.ack_interrupt = &vsc824x_ack_interrupt,
292294
.config_intr = &vsc82xx_config_intr,
295+
}, {
296+
.phy_id = PHY_ID_VSC8572,
297+
.name = "Vitesse VSC8572",
298+
.phy_id_mask = 0x000ffff0,
299+
.features = PHY_GBIT_FEATURES,
300+
.flags = PHY_HAS_INTERRUPT,
301+
.config_init = &vsc824x_config_init,
302+
.config_aneg = &vsc82x4_config_aneg,
303+
.read_status = &genphy_read_status,
304+
.ack_interrupt = &vsc824x_ack_interrupt,
305+
.config_intr = &vsc82xx_config_intr,
293306
}, {
294307
.phy_id = PHY_ID_VSC8574,
295308
.name = "Vitesse VSC8574",
@@ -355,6 +368,7 @@ static struct mdio_device_id __maybe_unused vitesse_tbl[] = {
355368
{ PHY_ID_VSC8234, 0x000ffff0 },
356369
{ PHY_ID_VSC8244, 0x000fffc0 },
357370
{ PHY_ID_VSC8514, 0x000ffff0 },
371+
{ PHY_ID_VSC8572, 0x000ffff0 },
358372
{ PHY_ID_VSC8574, 0x000ffff0 },
359373
{ PHY_ID_VSC8662, 0x000ffff0 },
360374
{ PHY_ID_VSC8221, 0x000ffff0 },

0 commit comments

Comments
 (0)