phy: Add Marvell 88E1510 phy ID
authorMichal Simek <michal.simek@xilinx.com>
Thu, 30 May 2013 20:08:27 +0000 (20:08 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 31 May 2013 07:48:22 +0000 (00:48 -0700)
Add support for this new phy ID.

Signed-off-by: Rick Hoover <RHoover@digilentinc.com>
Signed-off-by: Steven Wang <steven.wang@digilentinc.com>
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/marvell.c
include/linux/marvell_phy.h

index df5a9f6d2864e035963ac6c5159a6b30f9e7fa5f..2e91477362d4d70b15df3db59ad41dec990a3c57 100644 (file)
@@ -374,6 +374,17 @@ static int m88e1318_config_aneg(struct phy_device *phydev)
        return m88e1121_config_aneg(phydev);
 }
 
+static int m88e1510_config_aneg(struct phy_device *phydev)
+{
+       int err;
+
+       err = m88e1318_config_aneg(phydev);
+       if (err < 0)
+               return err;
+
+       return marvell_of_reg_init(phydev);
+}
+
 static int m88e1116r_config_init(struct phy_device *phydev)
 {
        int temp;
@@ -1004,6 +1015,19 @@ static struct phy_driver marvell_drivers[] = {
                .config_intr = &marvell_config_intr,
                .driver = { .owner = THIS_MODULE },
        },
+       {
+               .phy_id = MARVELL_PHY_ID_88E1510,
+               .phy_id_mask = MARVELL_PHY_ID_MASK,
+               .name = "Marvell 88E1510",
+               .features = PHY_GBIT_FEATURES,
+               .flags = PHY_HAS_INTERRUPT,
+               .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,
+               .driver = { .owner = THIS_MODULE },
+       },
 };
 
 static int __init marvell_init(void)
@@ -1032,6 +1056,7 @@ static struct mdio_device_id __maybe_unused marvell_tbl[] = {
        { MARVELL_PHY_ID_88E1240, MARVELL_PHY_ID_MASK },
        { MARVELL_PHY_ID_88E1318S, MARVELL_PHY_ID_MASK },
        { MARVELL_PHY_ID_88E1116R, MARVELL_PHY_ID_MASK },
+       { MARVELL_PHY_ID_88E1510, MARVELL_PHY_ID_MASK },
        { }
 };
 
index ec41025cb86e4b6197f9eb8e2ce0c5084bbbdfb0..8e9a029e093d6522b68c0929aad93704f47c3ad5 100644 (file)
@@ -15,6 +15,7 @@
 #define MARVELL_PHY_ID_88E1240         0x01410e30
 #define MARVELL_PHY_ID_88E1318S                0x01410e90
 #define MARVELL_PHY_ID_88E1116R                0x01410e40
+#define MARVELL_PHY_ID_88E1510         0x01410dd0
 
 /* struct phy_device dev_flags definitions */
 #define MARVELL_PHY_M1145_FLAGS_RESISTANCE     0x00000001