diff options
| -rw-r--r-- | drivers/net/phy/marvell.c | 25 | ||||
| -rw-r--r-- | include/linux/marvell_phy.h | 1 |
2 files changed, 26 insertions, 0 deletions
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index df5a9f6d2864..2e91477362d4 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c | |||
| @@ -374,6 +374,17 @@ static int m88e1318_config_aneg(struct phy_device *phydev) | |||
| 374 | return m88e1121_config_aneg(phydev); | 374 | return m88e1121_config_aneg(phydev); |
| 375 | } | 375 | } |
| 376 | 376 | ||
| 377 | static int m88e1510_config_aneg(struct phy_device *phydev) | ||
| 378 | { | ||
| 379 | int err; | ||
| 380 | |||
| 381 | err = m88e1318_config_aneg(phydev); | ||
| 382 | if (err < 0) | ||
| 383 | return err; | ||
| 384 | |||
| 385 | return marvell_of_reg_init(phydev); | ||
| 386 | } | ||
| 387 | |||
| 377 | static int m88e1116r_config_init(struct phy_device *phydev) | 388 | static int m88e1116r_config_init(struct phy_device *phydev) |
| 378 | { | 389 | { |
| 379 | int temp; | 390 | int temp; |
| @@ -1004,6 +1015,19 @@ static struct phy_driver marvell_drivers[] = { | |||
| 1004 | .config_intr = &marvell_config_intr, | 1015 | .config_intr = &marvell_config_intr, |
| 1005 | .driver = { .owner = THIS_MODULE }, | 1016 | .driver = { .owner = THIS_MODULE }, |
| 1006 | }, | 1017 | }, |
| 1018 | { | ||
| 1019 | .phy_id = MARVELL_PHY_ID_88E1510, | ||
| 1020 | .phy_id_mask = MARVELL_PHY_ID_MASK, | ||
| 1021 | .name = "Marvell 88E1510", | ||
| 1022 | .features = PHY_GBIT_FEATURES, | ||
| 1023 | .flags = PHY_HAS_INTERRUPT, | ||
| 1024 | .config_aneg = &m88e1510_config_aneg, | ||
| 1025 | .read_status = &marvell_read_status, | ||
| 1026 | .ack_interrupt = &marvell_ack_interrupt, | ||
| 1027 | .config_intr = &marvell_config_intr, | ||
| 1028 | .did_interrupt = &m88e1121_did_interrupt, | ||
| 1029 | .driver = { .owner = THIS_MODULE }, | ||
| 1030 | }, | ||
| 1007 | }; | 1031 | }; |
| 1008 | 1032 | ||
| 1009 | static int __init marvell_init(void) | 1033 | static int __init marvell_init(void) |
| @@ -1032,6 +1056,7 @@ static struct mdio_device_id __maybe_unused marvell_tbl[] = { | |||
| 1032 | { MARVELL_PHY_ID_88E1240, MARVELL_PHY_ID_MASK }, | 1056 | { MARVELL_PHY_ID_88E1240, MARVELL_PHY_ID_MASK }, |
| 1033 | { MARVELL_PHY_ID_88E1318S, MARVELL_PHY_ID_MASK }, | 1057 | { MARVELL_PHY_ID_88E1318S, MARVELL_PHY_ID_MASK }, |
| 1034 | { MARVELL_PHY_ID_88E1116R, MARVELL_PHY_ID_MASK }, | 1058 | { MARVELL_PHY_ID_88E1116R, MARVELL_PHY_ID_MASK }, |
| 1059 | { MARVELL_PHY_ID_88E1510, MARVELL_PHY_ID_MASK }, | ||
| 1035 | { } | 1060 | { } |
| 1036 | }; | 1061 | }; |
| 1037 | 1062 | ||
diff --git a/include/linux/marvell_phy.h b/include/linux/marvell_phy.h index ec41025cb86e..8e9a029e093d 100644 --- a/include/linux/marvell_phy.h +++ b/include/linux/marvell_phy.h | |||
| @@ -15,6 +15,7 @@ | |||
| 15 | #define MARVELL_PHY_ID_88E1240 0x01410e30 | 15 | #define MARVELL_PHY_ID_88E1240 0x01410e30 |
| 16 | #define MARVELL_PHY_ID_88E1318S 0x01410e90 | 16 | #define MARVELL_PHY_ID_88E1318S 0x01410e90 |
| 17 | #define MARVELL_PHY_ID_88E1116R 0x01410e40 | 17 | #define MARVELL_PHY_ID_88E1116R 0x01410e40 |
| 18 | #define MARVELL_PHY_ID_88E1510 0x01410dd0 | ||
| 18 | 19 | ||
| 19 | /* struct phy_device dev_flags definitions */ | 20 | /* struct phy_device dev_flags definitions */ |
| 20 | #define MARVELL_PHY_M1145_FLAGS_RESISTANCE 0x00000001 | 21 | #define MARVELL_PHY_M1145_FLAGS_RESISTANCE 0x00000001 |
