net: phy: Add support for SMSC LAN8740 PHY
authorJoshua Henderson <joshua.henderson@microchip.com>
Sat, 9 Jan 2016 11:54:21 +0000 (04:54 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 11 Jan 2016 04:13:24 +0000 (23:13 -0500)
LAN8740 has a different phy_id than LAN8710/LAN8720.

Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/smsc.c

index ddb06135c21dfcb4d8d52465a50f7471b0ce2326..e485f2653c8208578d7994284dd12faabcc6c096 100644 (file)
@@ -252,6 +252,27 @@ static struct phy_driver smsc_phy_driver[] = {
        .ack_interrupt  = smsc_phy_ack_interrupt,
        .config_intr    = smsc_phy_config_intr,
 
+       .suspend        = genphy_suspend,
+       .resume         = genphy_resume,
+}, {
+       .phy_id         = 0x0007c110,
+       .phy_id_mask    = 0xfffffff0,
+       .name           = "SMSC LAN8740",
+
+       .features       = (PHY_BASIC_FEATURES | SUPPORTED_Pause
+                               | SUPPORTED_Asym_Pause),
+       .flags          = PHY_HAS_INTERRUPT | PHY_HAS_MAGICANEG,
+
+       /* basic functions */
+       .config_aneg    = genphy_config_aneg,
+       .read_status    = lan87xx_read_status,
+       .config_init    = smsc_phy_config_init,
+       .soft_reset     = smsc_phy_reset,
+
+       /* IRQ related */
+       .ack_interrupt  = smsc_phy_ack_interrupt,
+       .config_intr    = smsc_phy_config_intr,
+
        .suspend        = genphy_suspend,
        .resume         = genphy_resume,
 } };
@@ -268,6 +289,7 @@ static struct mdio_device_id __maybe_unused smsc_tbl[] = {
        { 0x0007c0c0, 0xfffffff0 },
        { 0x0007c0d0, 0xfffffff0 },
        { 0x0007c0f0, 0xfffffff0 },
+       { 0x0007c110, 0xfffffff0 },
        { }
 };