Commit b818d1a7 authored by Hector Palacios's avatar Hector Palacios Committed by David S. Miller

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 212ea99a (phy/micrel: Implement support for KSZ8021).
Signed-off-by: default avatarHector Palacios <hector.palacios@digi.com>
Reviewed-by: default avatarMarek Vasut <marex@denx.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e5f2ef7a
...@@ -191,6 +191,19 @@ static struct phy_driver ksphy_driver[] = { ...@@ -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[] = { ...@@ -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 @@ ...@@ -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. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment