Message ID | 3fcbc447-877d-0e95-af39-86fc72a34e10@inbox.ru |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
Series | [01/02] net: phy: marvell: Add Marvell 88E1340 support | expand |
On Tue, Jun 16, 2020 at 10:01:11AM +0300, Maxim Kochetkov wrote: > Add Marvell 88E1340 support Hi Maxim Are you sure this is an 88E1340, not a 88E1340S? Marvells DSDT SDK has: MAD_88E1340S = 0x1C, /* 88E1340S */ MAD_88E1340 = 0x1e, /* 88E1340/x0a */ MAD_88E1340M = 0x1f, /* 88E1340M/x0a */ > #define MARVELL_PHY_ID_88E1149R 0x01410e50 > #define MARVELL_PHY_ID_88E1240 0x01410e30 > #define MARVELL_PHY_ID_88E1318S 0x01410e90 > +#define MARVELL_PHY_ID_88E1340 0x01410dc0 > #define MARVELL_PHY_ID_88E1116R 0x01410e40 > #define MARVELL_PHY_ID_88E1510 0x01410dd0 > #define MARVELL_PHY_ID_88E1540 0x01410eb0 For 88E1340 i would expect the ID to be 0x01410de0 Andrew
Yes. This is 88E1340S. My mistake. 16.06.2020 17:54, Andrew Lunn wrote: > On Tue, Jun 16, 2020 at 10:01:11AM +0300, Maxim Kochetkov wrote: >> Add Marvell 88E1340 support > > Hi Maxim > > Are you sure this is an 88E1340, not a 88E1340S? > > Marvells DSDT SDK has: > > MAD_88E1340S = 0x1C, /* 88E1340S */ > MAD_88E1340 = 0x1e, /* 88E1340/x0a */ > MAD_88E1340M = 0x1f, /* 88E1340M/x0a */ > >> #define MARVELL_PHY_ID_88E1149R 0x01410e50 >> #define MARVELL_PHY_ID_88E1240 0x01410e30 >> #define MARVELL_PHY_ID_88E1318S 0x01410e90 >> +#define MARVELL_PHY_ID_88E1340 0x01410dc0 >> #define MARVELL_PHY_ID_88E1116R 0x01410e40 >> #define MARVELL_PHY_ID_88E1510 0x01410dd0 >> #define MARVELL_PHY_ID_88E1540 0x01410eb0 > > For 88E1340 i would expect the ID to be 0x01410de0 > > Andrew >
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 7fc8e10c5f33..4cc4e25fed2d 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -2459,6 +2459,28 @@ static struct phy_driver marvell_drivers[] = { .get_tunable = m88e1540_get_tunable, .set_tunable = m88e1540_set_tunable, }, + { + .phy_id = MARVELL_PHY_ID_88E1340, + .phy_id_mask = MARVELL_PHY_ID_MASK, + .name = "Marvell 88E1340", + .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, + }, }; module_phy_driver(marvell_drivers); @@ -2479,6 +2501,7 @@ 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_88E1340, MARVELL_PHY_ID_MASK }, { } }; diff --git a/include/linux/marvell_phy.h b/include/linux/marvell_phy.h index af6b11d4d673..39e8c382defb 100644 --- a/include/linux/marvell_phy.h +++ b/include/linux/marvell_phy.h @@ -15,6 +15,7 @@ #define MARVELL_PHY_ID_88E1149R 0x01410e50 #define MARVELL_PHY_ID_88E1240 0x01410e30 #define MARVELL_PHY_ID_88E1318S 0x01410e90 +#define MARVELL_PHY_ID_88E1340 0x01410dc0 #define MARVELL_PHY_ID_88E1116R 0x01410e40 #define MARVELL_PHY_ID_88E1510 0x01410dd0 #define MARVELL_PHY_ID_88E1540 0x01410eb0
Add Marvell 88E1340 support Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru> --- drivers/net/phy/marvell.c | 23 +++++++++++++++++++++++ include/linux/marvell_phy.h | 1 + 2 files changed, 24 insertions(+)