Merge branch 'Add-Marvell-88E1340S-88E1548P-support'
Maxim Kochetkov says: ==================== Add Marvell 88E1340S, 88E1548P support This patch series add new PHY id support. Russell King asked to use single style for referencing functions. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
73f782d523
|
@ -2625,12 +2625,12 @@ static struct phy_driver marvell_drivers[] = {
|
|||
.name = "Marvell 88E1101",
|
||||
/* PHY_GBIT_FEATURES */
|
||||
.probe = marvell_probe,
|
||||
.config_init = &marvell_config_init,
|
||||
.config_aneg = &m88e1101_config_aneg,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
.resume = &genphy_resume,
|
||||
.suspend = &genphy_suspend,
|
||||
.config_init = marvell_config_init,
|
||||
.config_aneg = m88e1101_config_aneg,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
|
@ -2643,12 +2643,12 @@ static struct phy_driver marvell_drivers[] = {
|
|||
.name = "Marvell 88E1112",
|
||||
/* PHY_GBIT_FEATURES */
|
||||
.probe = marvell_probe,
|
||||
.config_init = &m88e1111_config_init,
|
||||
.config_aneg = &marvell_config_aneg,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
.resume = &genphy_resume,
|
||||
.suspend = &genphy_suspend,
|
||||
.config_init = m88e1111_config_init,
|
||||
.config_aneg = marvell_config_aneg,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
|
@ -2663,13 +2663,13 @@ static struct phy_driver marvell_drivers[] = {
|
|||
.name = "Marvell 88E1111",
|
||||
/* PHY_GBIT_FEATURES */
|
||||
.probe = marvell_probe,
|
||||
.config_init = &m88e1111_config_init,
|
||||
.config_aneg = &marvell_config_aneg,
|
||||
.read_status = &marvell_read_status,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
.resume = &genphy_resume,
|
||||
.suspend = &genphy_suspend,
|
||||
.config_init = m88e1111_config_init,
|
||||
.config_aneg = marvell_config_aneg,
|
||||
.read_status = marvell_read_status,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
|
@ -2684,12 +2684,12 @@ static struct phy_driver marvell_drivers[] = {
|
|||
.name = "Marvell 88E1118",
|
||||
/* PHY_GBIT_FEATURES */
|
||||
.probe = marvell_probe,
|
||||
.config_init = &m88e1118_config_init,
|
||||
.config_aneg = &m88e1118_config_aneg,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
.resume = &genphy_resume,
|
||||
.suspend = &genphy_suspend,
|
||||
.config_init = m88e1118_config_init,
|
||||
.config_aneg = m88e1118_config_aneg,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
|
@ -2701,15 +2701,15 @@ static struct phy_driver marvell_drivers[] = {
|
|||
.phy_id_mask = MARVELL_PHY_ID_MASK,
|
||||
.name = "Marvell 88E1121R",
|
||||
/* PHY_GBIT_FEATURES */
|
||||
.probe = &m88e1121_probe,
|
||||
.config_init = &marvell_config_init,
|
||||
.config_aneg = &m88e1121_config_aneg,
|
||||
.read_status = &marvell_read_status,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
.did_interrupt = &m88e1121_did_interrupt,
|
||||
.resume = &genphy_resume,
|
||||
.suspend = &genphy_suspend,
|
||||
.probe = m88e1121_probe,
|
||||
.config_init = marvell_config_init,
|
||||
.config_aneg = m88e1121_config_aneg,
|
||||
.read_status = marvell_read_status,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.did_interrupt = m88e1121_did_interrupt,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
|
@ -2724,16 +2724,16 @@ static struct phy_driver marvell_drivers[] = {
|
|||
.name = "Marvell 88E1318S",
|
||||
/* PHY_GBIT_FEATURES */
|
||||
.probe = marvell_probe,
|
||||
.config_init = &m88e1318_config_init,
|
||||
.config_aneg = &m88e1318_config_aneg,
|
||||
.read_status = &marvell_read_status,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
.did_interrupt = &m88e1121_did_interrupt,
|
||||
.get_wol = &m88e1318_get_wol,
|
||||
.set_wol = &m88e1318_set_wol,
|
||||
.resume = &genphy_resume,
|
||||
.suspend = &genphy_suspend,
|
||||
.config_init = m88e1318_config_init,
|
||||
.config_aneg = m88e1318_config_aneg,
|
||||
.read_status = marvell_read_status,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.did_interrupt = m88e1121_did_interrupt,
|
||||
.get_wol = m88e1318_get_wol,
|
||||
.set_wol = m88e1318_set_wol,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
|
@ -2746,13 +2746,13 @@ static struct phy_driver marvell_drivers[] = {
|
|||
.name = "Marvell 88E1145",
|
||||
/* PHY_GBIT_FEATURES */
|
||||
.probe = marvell_probe,
|
||||
.config_init = &m88e1145_config_init,
|
||||
.config_aneg = &m88e1101_config_aneg,
|
||||
.read_status = &genphy_read_status,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
.resume = &genphy_resume,
|
||||
.suspend = &genphy_suspend,
|
||||
.config_init = m88e1145_config_init,
|
||||
.config_aneg = m88e1101_config_aneg,
|
||||
.read_status = genphy_read_status,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
|
@ -2767,12 +2767,12 @@ static struct phy_driver marvell_drivers[] = {
|
|||
.name = "Marvell 88E1149R",
|
||||
/* PHY_GBIT_FEATURES */
|
||||
.probe = marvell_probe,
|
||||
.config_init = &m88e1149_config_init,
|
||||
.config_aneg = &m88e1118_config_aneg,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
.resume = &genphy_resume,
|
||||
.suspend = &genphy_suspend,
|
||||
.config_init = m88e1149_config_init,
|
||||
.config_aneg = m88e1118_config_aneg,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
|
@ -2785,12 +2785,12 @@ static struct phy_driver marvell_drivers[] = {
|
|||
.name = "Marvell 88E1240",
|
||||
/* PHY_GBIT_FEATURES */
|
||||
.probe = marvell_probe,
|
||||
.config_init = &m88e1111_config_init,
|
||||
.config_aneg = &marvell_config_aneg,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
.resume = &genphy_resume,
|
||||
.suspend = &genphy_suspend,
|
||||
.config_init = m88e1111_config_init,
|
||||
.config_aneg = marvell_config_aneg,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
|
@ -2803,11 +2803,11 @@ static struct phy_driver marvell_drivers[] = {
|
|||
.name = "Marvell 88E1116R",
|
||||
/* PHY_GBIT_FEATURES */
|
||||
.probe = marvell_probe,
|
||||
.config_init = &m88e1116r_config_init,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
.resume = &genphy_resume,
|
||||
.suspend = &genphy_suspend,
|
||||
.config_init = m88e1116r_config_init,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
|
@ -2822,17 +2822,17 @@ static struct phy_driver marvell_drivers[] = {
|
|||
.name = "Marvell 88E1510",
|
||||
.features = PHY_GBIT_FIBRE_FEATURES,
|
||||
.flags = PHY_POLL_CABLE_TEST,
|
||||
.probe = &m88e1510_probe,
|
||||
.config_init = &m88e1510_config_init,
|
||||
.config_aneg = &m88e1510_config_aneg,
|
||||
.read_status = &marvell_read_status,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
.did_interrupt = &m88e1121_did_interrupt,
|
||||
.get_wol = &m88e1318_get_wol,
|
||||
.set_wol = &m88e1318_set_wol,
|
||||
.resume = &marvell_resume,
|
||||
.suspend = &marvell_suspend,
|
||||
.probe = m88e1510_probe,
|
||||
.config_init = m88e1510_config_init,
|
||||
.config_aneg = m88e1510_config_aneg,
|
||||
.read_status = marvell_read_status,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.did_interrupt = m88e1121_did_interrupt,
|
||||
.get_wol = m88e1318_get_wol,
|
||||
.set_wol = m88e1318_set_wol,
|
||||
.resume = marvell_resume,
|
||||
.suspend = marvell_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
|
@ -2852,14 +2852,14 @@ static struct phy_driver marvell_drivers[] = {
|
|||
/* PHY_GBIT_FEATURES */
|
||||
.flags = PHY_POLL_CABLE_TEST,
|
||||
.probe = m88e1510_probe,
|
||||
.config_init = &marvell_config_init,
|
||||
.config_aneg = &m88e1510_config_aneg,
|
||||
.read_status = &marvell_read_status,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
.did_interrupt = &m88e1121_did_interrupt,
|
||||
.resume = &genphy_resume,
|
||||
.suspend = &genphy_suspend,
|
||||
.config_init = marvell_config_init,
|
||||
.config_aneg = m88e1510_config_aneg,
|
||||
.read_status = marvell_read_status,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.did_interrupt = m88e1121_did_interrupt,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
|
@ -2878,14 +2878,14 @@ static struct phy_driver marvell_drivers[] = {
|
|||
.probe = m88e1510_probe,
|
||||
/* PHY_GBIT_FEATURES */
|
||||
.flags = PHY_POLL_CABLE_TEST,
|
||||
.config_init = &marvell_config_init,
|
||||
.config_aneg = &m88e1510_config_aneg,
|
||||
.read_status = &marvell_read_status,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
.did_interrupt = &m88e1121_did_interrupt,
|
||||
.resume = &genphy_resume,
|
||||
.suspend = &genphy_suspend,
|
||||
.config_init = marvell_config_init,
|
||||
.config_aneg = m88e1510_config_aneg,
|
||||
.read_status = marvell_read_status,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.did_interrupt = m88e1121_did_interrupt,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
|
@ -2903,14 +2903,14 @@ static struct phy_driver marvell_drivers[] = {
|
|||
.name = "Marvell 88E3016",
|
||||
/* PHY_BASIC_FEATURES */
|
||||
.probe = marvell_probe,
|
||||
.config_init = &m88e3016_config_init,
|
||||
.aneg_done = &marvell_aneg_done,
|
||||
.read_status = &marvell_read_status,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
.did_interrupt = &m88e1121_did_interrupt,
|
||||
.resume = &genphy_resume,
|
||||
.suspend = &genphy_suspend,
|
||||
.config_init = m88e3016_config_init,
|
||||
.aneg_done = marvell_aneg_done,
|
||||
.read_status = marvell_read_status,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.did_interrupt = m88e1121_did_interrupt,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
|
@ -2924,14 +2924,14 @@ static struct phy_driver marvell_drivers[] = {
|
|||
/* PHY_GBIT_FEATURES */
|
||||
.flags = PHY_POLL_CABLE_TEST,
|
||||
.probe = m88e6390_probe,
|
||||
.config_init = &marvell_config_init,
|
||||
.config_aneg = &m88e6390_config_aneg,
|
||||
.read_status = &marvell_read_status,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
.did_interrupt = &m88e1121_did_interrupt,
|
||||
.resume = &genphy_resume,
|
||||
.suspend = &genphy_suspend,
|
||||
.config_init = marvell_config_init,
|
||||
.config_aneg = m88e6390_config_aneg,
|
||||
.read_status = marvell_read_status,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.did_interrupt = m88e1121_did_interrupt,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
|
@ -2943,6 +2943,50 @@ static struct phy_driver marvell_drivers[] = {
|
|||
.cable_test_tdr_start = marvell_vct5_cable_test_tdr_start,
|
||||
.cable_test_get_status = marvell_vct7_cable_test_get_status,
|
||||
},
|
||||
{
|
||||
.phy_id = MARVELL_PHY_ID_88E1340S,
|
||||
.phy_id_mask = MARVELL_PHY_ID_MASK,
|
||||
.name = "Marvell 88E1340S",
|
||||
.probe = m88e1510_probe,
|
||||
/* PHY_GBIT_FEATURES */
|
||||
.config_init = marvell_config_init,
|
||||
.config_aneg = m88e1510_config_aneg,
|
||||
.read_status = marvell_read_status,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.did_interrupt = m88e1121_did_interrupt,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
.get_strings = marvell_get_strings,
|
||||
.get_stats = marvell_get_stats,
|
||||
.get_tunable = m88e1540_get_tunable,
|
||||
.set_tunable = m88e1540_set_tunable,
|
||||
},
|
||||
{
|
||||
.phy_id = MARVELL_PHY_ID_88E1548P,
|
||||
.phy_id_mask = MARVELL_PHY_ID_MASK,
|
||||
.name = "Marvell 88E1548P",
|
||||
.probe = m88e1510_probe,
|
||||
.features = PHY_GBIT_FIBRE_FEATURES,
|
||||
.config_init = marvell_config_init,
|
||||
.config_aneg = m88e1510_config_aneg,
|
||||
.read_status = marvell_read_status,
|
||||
.ack_interrupt = marvell_ack_interrupt,
|
||||
.config_intr = marvell_config_intr,
|
||||
.did_interrupt = m88e1121_did_interrupt,
|
||||
.resume = genphy_resume,
|
||||
.suspend = genphy_suspend,
|
||||
.read_page = marvell_read_page,
|
||||
.write_page = marvell_write_page,
|
||||
.get_sset_count = marvell_get_sset_count,
|
||||
.get_strings = marvell_get_strings,
|
||||
.get_stats = marvell_get_stats,
|
||||
.get_tunable = m88e1540_get_tunable,
|
||||
.set_tunable = m88e1540_set_tunable,
|
||||
},
|
||||
};
|
||||
|
||||
module_phy_driver(marvell_drivers);
|
||||
|
@ -2963,6 +3007,8 @@ static struct mdio_device_id __maybe_unused marvell_tbl[] = {
|
|||
{ MARVELL_PHY_ID_88E1545, MARVELL_PHY_ID_MASK },
|
||||
{ MARVELL_PHY_ID_88E3016, MARVELL_PHY_ID_MASK },
|
||||
{ MARVELL_PHY_ID_88E6390, MARVELL_PHY_ID_MASK },
|
||||
{ MARVELL_PHY_ID_88E1340S, MARVELL_PHY_ID_MASK },
|
||||
{ MARVELL_PHY_ID_88E1548P, MARVELL_PHY_ID_MASK },
|
||||
{ }
|
||||
};
|
||||
|
||||
|
|
|
@ -15,10 +15,12 @@
|
|||
#define MARVELL_PHY_ID_88E1149R 0x01410e50
|
||||
#define MARVELL_PHY_ID_88E1240 0x01410e30
|
||||
#define MARVELL_PHY_ID_88E1318S 0x01410e90
|
||||
#define MARVELL_PHY_ID_88E1340S 0x01410dc0
|
||||
#define MARVELL_PHY_ID_88E1116R 0x01410e40
|
||||
#define MARVELL_PHY_ID_88E1510 0x01410dd0
|
||||
#define MARVELL_PHY_ID_88E1540 0x01410eb0
|
||||
#define MARVELL_PHY_ID_88E1545 0x01410ea0
|
||||
#define MARVELL_PHY_ID_88E1548P 0x01410ec0
|
||||
#define MARVELL_PHY_ID_88E3016 0x01410e60
|
||||
#define MARVELL_PHY_ID_88X3310 0x002b09a0
|
||||
#define MARVELL_PHY_ID_88E2110 0x002b09b0
|
||||
|
|
Loading…
Reference in New Issue
Block a user