Commit b818d1a7f72575eef17e00dc4085512c9cc8897d

Authored by Hector Palacios
Committed by David S. Miller
1 parent e5f2ef7ab4

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>

Showing 2 changed files with 15 additions and 0 deletions Side-by-side Diff

drivers/net/phy/micrel.c
... ... @@ -192,6 +192,19 @@
192 192 .config_intr = kszphy_config_intr,
193 193 .driver = { .owner = THIS_MODULE,},
194 194 }, {
  195 + .phy_id = PHY_ID_KSZ8031,
  196 + .phy_id_mask = 0x00ffffff,
  197 + .name = "Micrel KSZ8031",
  198 + .features = (PHY_BASIC_FEATURES | SUPPORTED_Pause |
  199 + SUPPORTED_Asym_Pause),
  200 + .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,
  201 + .config_init = ksz8021_config_init,
  202 + .config_aneg = genphy_config_aneg,
  203 + .read_status = genphy_read_status,
  204 + .ack_interrupt = kszphy_ack_interrupt,
  205 + .config_intr = kszphy_config_intr,
  206 + .driver = { .owner = THIS_MODULE,},
  207 +}, {
195 208 .phy_id = PHY_ID_KSZ8041,
196 209 .phy_id_mask = 0x00fffff0,
197 210 .name = "Micrel KSZ8041",
... ... @@ -325,6 +338,7 @@
325 338 { PHY_ID_KSZ8001, 0x00ffffff },
326 339 { PHY_ID_KS8737, 0x00fffff0 },
327 340 { PHY_ID_KSZ8021, 0x00ffffff },
  341 + { PHY_ID_KSZ8031, 0x00ffffff },
328 342 { PHY_ID_KSZ8041, 0x00fffff0 },
329 343 { PHY_ID_KSZ8051, 0x00fffff0 },
330 344 { PHY_ID_KSZ8061, 0x00fffff0 },
include/linux/micrel_phy.h
... ... @@ -19,6 +19,7 @@
19 19 #define PHY_ID_KSZ9021 0x00221610
20 20 #define PHY_ID_KS8737 0x00221720
21 21 #define PHY_ID_KSZ8021 0x00221555
  22 +#define PHY_ID_KSZ8031 0x00221556
22 23 #define PHY_ID_KSZ8041 0x00221510
23 24 #define PHY_ID_KSZ8051 0x00221550
24 25 /* same id: ks8001 Rev. A/B, and ks8721 Rev 3. */