phy/micrel: Add support for KSZ8031
Micrel PHY KSZ8031 is similar to KSZ8021 and also requires the special
initialization of "Operation Mode Strap Override" in reg 0x16
introduced in 212ea99 (phy/micrel: Implement support for KSZ8021).
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
	
	
This commit is contained in:
		
					parent
					
						
							
								e5f2ef7ab4
							
						
					
				
			
			
				commit
				
					
						b818d1a7f7
					
				
			
		
					 2 changed files with 15 additions and 0 deletions
				
			
		| 
						 | 
					@ -191,6 +191,19 @@ static struct phy_driver ksphy_driver[] = {
 | 
				
			||||||
	.ack_interrupt	= kszphy_ack_interrupt,
 | 
						.ack_interrupt	= kszphy_ack_interrupt,
 | 
				
			||||||
	.config_intr	= kszphy_config_intr,
 | 
						.config_intr	= kszphy_config_intr,
 | 
				
			||||||
	.driver		= { .owner = THIS_MODULE,},
 | 
						.driver		= { .owner = THIS_MODULE,},
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
						.phy_id		= PHY_ID_KSZ8031,
 | 
				
			||||||
 | 
						.phy_id_mask	= 0x00ffffff,
 | 
				
			||||||
 | 
						.name		= "Micrel KSZ8031",
 | 
				
			||||||
 | 
						.features	= (PHY_BASIC_FEATURES | SUPPORTED_Pause |
 | 
				
			||||||
 | 
								   SUPPORTED_Asym_Pause),
 | 
				
			||||||
 | 
						.flags		= PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,
 | 
				
			||||||
 | 
						.config_init	= ksz8021_config_init,
 | 
				
			||||||
 | 
						.config_aneg	= genphy_config_aneg,
 | 
				
			||||||
 | 
						.read_status	= genphy_read_status,
 | 
				
			||||||
 | 
						.ack_interrupt	= kszphy_ack_interrupt,
 | 
				
			||||||
 | 
						.config_intr	= kszphy_config_intr,
 | 
				
			||||||
 | 
						.driver		= { .owner = THIS_MODULE,},
 | 
				
			||||||
}, {
 | 
					}, {
 | 
				
			||||||
	.phy_id		= PHY_ID_KSZ8041,
 | 
						.phy_id		= PHY_ID_KSZ8041,
 | 
				
			||||||
	.phy_id_mask	= 0x00fffff0,
 | 
						.phy_id_mask	= 0x00fffff0,
 | 
				
			||||||
| 
						 | 
					@ -325,6 +338,7 @@ static struct mdio_device_id __maybe_unused micrel_tbl[] = {
 | 
				
			||||||
	{ PHY_ID_KSZ8001, 0x00ffffff },
 | 
						{ PHY_ID_KSZ8001, 0x00ffffff },
 | 
				
			||||||
	{ PHY_ID_KS8737, 0x00fffff0 },
 | 
						{ PHY_ID_KS8737, 0x00fffff0 },
 | 
				
			||||||
	{ PHY_ID_KSZ8021, 0x00ffffff },
 | 
						{ PHY_ID_KSZ8021, 0x00ffffff },
 | 
				
			||||||
 | 
						{ PHY_ID_KSZ8031, 0x00ffffff },
 | 
				
			||||||
	{ PHY_ID_KSZ8041, 0x00fffff0 },
 | 
						{ PHY_ID_KSZ8041, 0x00fffff0 },
 | 
				
			||||||
	{ PHY_ID_KSZ8051, 0x00fffff0 },
 | 
						{ PHY_ID_KSZ8051, 0x00fffff0 },
 | 
				
			||||||
	{ PHY_ID_KSZ8061, 0x00fffff0 },
 | 
						{ PHY_ID_KSZ8061, 0x00fffff0 },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,6 +19,7 @@
 | 
				
			||||||
#define PHY_ID_KSZ9021		0x00221610
 | 
					#define PHY_ID_KSZ9021		0x00221610
 | 
				
			||||||
#define PHY_ID_KS8737		0x00221720
 | 
					#define PHY_ID_KS8737		0x00221720
 | 
				
			||||||
#define PHY_ID_KSZ8021		0x00221555
 | 
					#define PHY_ID_KSZ8021		0x00221555
 | 
				
			||||||
 | 
					#define PHY_ID_KSZ8031		0x00221556
 | 
				
			||||||
#define PHY_ID_KSZ8041		0x00221510
 | 
					#define PHY_ID_KSZ8041		0x00221510
 | 
				
			||||||
#define PHY_ID_KSZ8051		0x00221550
 | 
					#define PHY_ID_KSZ8051		0x00221550
 | 
				
			||||||
/* same id: ks8001 Rev. A/B, and ks8721 Rev 3. */
 | 
					/* same id: ks8001 Rev. A/B, and ks8721 Rev 3. */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue