diff mbox series

[01/02] net: phy: marvell: Add Marvell 88E1340 support

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

Commit Message

Maxim Kochetkov June 16, 2020, 7:01 a.m. UTC
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(+)

Comments

Andrew Lunn June 16, 2020, 2:54 p.m. UTC | #1
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
Maxim Kochetkov June 17, 2020, 4:49 a.m. UTC | #2
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 mbox series

Patch

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