diff options
author | Troy Kisky <troy.kisky@boundarydevices.com> | 2013-07-02 15:37:35 -0700 |
---|---|---|
committer | Eric Nelson <eric.nelson@boundarydevices.com> | 2013-09-03 14:13:19 -0700 |
commit | e8cc7ada5ada64885e2e601279dc29b04f587e44 (patch) | |
tree | 3a0fa9a6cbf7e431efbca38b8495a18441b4e680 /drivers | |
parent | d60ee4c19038dc0663a178e08c057c34178aa392 (diff) |
micrel: add ksz9031 support
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/phy/micrel.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index 60232a9f8a65..dc24a0d6eaf8 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -209,6 +209,21 @@ static struct phy_driver ksz9021_driver = { .driver = { .owner = THIS_MODULE, }, }; +static struct phy_driver ksz9031_driver = { + .phy_id = PHY_ID_KSZ9031, + .phy_id_mask = 0x00fffff0, + .name = "Micrel KSZ9031 Gigabit PHY", + .features = (PHY_GBIT_FEATURES | SUPPORTED_Pause + | SUPPORTED_Asym_Pause), + .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, + .config_init = kszphy_config_init, + .config_aneg = genphy_config_aneg, + .read_status = genphy_read_status, + .ack_interrupt = kszphy_ack_interrupt, + .config_intr = ksz9021_config_intr, + .driver = { .owner = THIS_MODULE, }, +}; + static int __init ksphy_init(void) { int ret; @@ -230,9 +245,14 @@ static int __init ksphy_init(void) ret = phy_driver_register(&ks8051_driver); if (ret) goto err5; + ret = phy_driver_register(&ksz9031_driver); + if (ret) + goto err6; return 0; +err6: + phy_driver_unregister(&ksz9031_driver); err5: phy_driver_unregister(&ks8041_driver); err4: @@ -250,6 +270,7 @@ static void __exit ksphy_exit(void) phy_driver_unregister(&ks8001_driver); phy_driver_unregister(&ks8737_driver); phy_driver_unregister(&ksz9021_driver); + phy_driver_unregister(&ksz9031_driver); phy_driver_unregister(&ks8041_driver); phy_driver_unregister(&ks8051_driver); } @@ -263,6 +284,7 @@ MODULE_LICENSE("GPL"); static struct mdio_device_id __maybe_unused micrel_tbl[] = { { PHY_ID_KSZ9021, 0x00ffffff }, + { PHY_ID_KSZ9031, 0x00fffff0 }, { PHY_ID_KS8001, 0x00ffffff }, { PHY_ID_KS8737, 0x00ffffff }, { PHY_ID_KS8041, 0x00ffffff }, |