phy: micrel: add Microchip KSZ 9477 Switch PHY support
authorWoojung Huh <Woojung.Huh@microchip.com>
Wed, 31 May 2017 20:19:13 +0000 (20:19 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Jun 2017 00:56:31 +0000 (20:56 -0400)
Adding Microchip 9477 Phy included in KSZ9477 Switch.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Woojung Huh <Woojung.Huh@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/micrel.c
include/linux/micrel_phy.h

index 4cfd54182da215ede71a598f0d3a0dba2b0fed86..46e80bcc7a8a8b3ed2eea861baa6aa3d63f21e05 100644 (file)
@@ -20,6 +20,7 @@
  *                        ksz8081, ksz8091,
  *                        ksz8061,
  *             Switch : ksz8873, ksz886x
+ *                      ksz9477
  */
 
 #include <linux/kernel.h>
@@ -996,6 +997,16 @@ static struct phy_driver ksphy_driver[] = {
        .read_status    = ksz8873mll_read_status,
        .suspend        = genphy_suspend,
        .resume         = genphy_resume,
+}, {
+       .phy_id         = PHY_ID_KSZ9477,
+       .phy_id_mask    = MICREL_PHY_ID_MASK,
+       .name           = "Microchip KSZ9477",
+       .features       = PHY_GBIT_FEATURES,
+       .config_init    = kszphy_config_init,
+       .config_aneg    = genphy_config_aneg,
+       .read_status    = genphy_read_status,
+       .suspend        = genphy_suspend,
+       .resume         = genphy_resume,
 } };
 
 module_phy_driver(ksphy_driver);
index f541da68d1e7c50f1bb543c05e57a73001c86d28..472fa4d4ea629f19db545436aa6bb6b93b149ea8 100644 (file)
@@ -37,6 +37,8 @@
 
 #define PHY_ID_KSZ8795         0x00221550
 
+#define        PHY_ID_KSZ9477          0x00221631
+
 /* struct phy_device dev_flags definitions */
 #define MICREL_PHY_50MHZ_CLK   0x00000001
 #define MICREL_PHY_FXEN                0x00000002