diff options
| author | Hector Palacios <hector.palacios@digi.com> | 2013-03-10 22:50:02 +0000 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2013-03-12 06:50:58 -0400 | 
| commit | b818d1a7f72575eef17e00dc4085512c9cc8897d (patch) | |
| tree | 4372297b8f38a89859c8a657bc69b08ef59d6cf2 | |
| parent | e5f2ef7ab4690d2e8faaf5fd203c5ecd70c3abaf (diff) | |
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>
| -rw-r--r-- | drivers/net/phy/micrel.c | 14 | ||||
| -rw-r--r-- | include/linux/micrel_phy.h | 1 | 
2 files changed, 15 insertions, 0 deletions
| diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index abf7b6153d00..018af1852fe1 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -192,6 +192,19 @@ static struct phy_driver ksphy_driver[] = {  	.config_intr	= kszphy_config_intr,  	.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_mask	= 0x00fffff0,  	.name		= "Micrel KSZ8041", @@ -325,6 +338,7 @@ static struct mdio_device_id __maybe_unused micrel_tbl[] = {  	{ PHY_ID_KSZ8001, 0x00ffffff },  	{ PHY_ID_KS8737, 0x00fffff0 },  	{ PHY_ID_KSZ8021, 0x00ffffff }, +	{ PHY_ID_KSZ8031, 0x00ffffff },  	{ PHY_ID_KSZ8041, 0x00fffff0 },  	{ PHY_ID_KSZ8051, 0x00fffff0 },  	{ PHY_ID_KSZ8061, 0x00fffff0 }, diff --git a/include/linux/micrel_phy.h b/include/linux/micrel_phy.h index 9dbb41a4e250..8752dbbc6135 100644 --- a/include/linux/micrel_phy.h +++ b/include/linux/micrel_phy.h @@ -19,6 +19,7 @@  #define PHY_ID_KSZ9021		0x00221610  #define PHY_ID_KS8737		0x00221720  #define PHY_ID_KSZ8021		0x00221555 +#define PHY_ID_KSZ8031		0x00221556  #define PHY_ID_KSZ8041		0x00221510  #define PHY_ID_KSZ8051		0x00221550  /* same id: ks8001 Rev. A/B, and ks8721 Rev 3. */ | 
