소스 검색

phy: micrel: add Microchip KSZ 9477 Switch PHY support

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>
Woojung Huh 8 년 전
부모
커밋
fc3973a1fa
2개의 변경된 파일13개의 추가작업 그리고 0개의 파일을 삭제
  1. 11 0
      drivers/net/phy/micrel.c
  2. 2 0
      include/linux/micrel_phy.h

+ 11 - 0
drivers/net/phy/micrel.c

@@ -20,6 +20,7 @@
  *			   ksz8081, ksz8091,
  *			   ksz8081, ksz8091,
  *			   ksz8061,
  *			   ksz8061,
  *		Switch : ksz8873, ksz886x
  *		Switch : ksz8873, ksz886x
+ *			 ksz9477
  */
  */
 
 
 #include <linux/kernel.h>
 #include <linux/kernel.h>
@@ -996,6 +997,16 @@ static struct phy_driver ksphy_driver[] = {
 	.read_status	= ksz8873mll_read_status,
 	.read_status	= ksz8873mll_read_status,
 	.suspend	= genphy_suspend,
 	.suspend	= genphy_suspend,
 	.resume		= genphy_resume,
 	.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);
 module_phy_driver(ksphy_driver);

+ 2 - 0
include/linux/micrel_phy.h

@@ -37,6 +37,8 @@
 
 
 #define PHY_ID_KSZ8795		0x00221550
 #define PHY_ID_KSZ8795		0x00221550
 
 
+#define	PHY_ID_KSZ9477		0x00221631
+
 /* struct phy_device dev_flags definitions */
 /* struct phy_device dev_flags definitions */
 #define MICREL_PHY_50MHZ_CLK	0x00000001
 #define MICREL_PHY_50MHZ_CLK	0x00000001
 #define MICREL_PHY_FXEN		0x00000002
 #define MICREL_PHY_FXEN		0x00000002