diff options
author | jlemon <jlemon@FreeBSD.org> | 2001-05-11 20:34:38 +0000 |
---|---|---|
committer | jlemon <jlemon@FreeBSD.org> | 2001-05-11 20:34:38 +0000 |
commit | 921577656548ff6638905e58c70bad5734500465 (patch) | |
tree | 7f3690b356e9c0270de866bdd1b2aadc8a6f744a /sys/dev/mii | |
parent | 6acb6330ee1ee4236e7bfb8bbf932750f61a62e3 (diff) | |
download | FreeBSD-src-921577656548ff6638905e58c70bad5734500465.zip FreeBSD-src-921577656548ff6638905e58c70bad5734500465.tar.gz |
Correctly recognize the i82562{EM} PHYs.
Obtained from: OpenBSD
Diffstat (limited to 'sys/dev/mii')
-rw-r--r-- | sys/dev/mii/inphy.c | 31 | ||||
-rw-r--r-- | sys/dev/mii/miidevs | 4 |
2 files changed, 20 insertions, 15 deletions
diff --git a/sys/dev/mii/inphy.c b/sys/dev/mii/inphy.c index 79b40d2..09bcd5a 100644 --- a/sys/dev/mii/inphy.c +++ b/sys/dev/mii/inphy.c @@ -87,20 +87,6 @@ inphy_probe(device_t dev) ma = device_get_ivars(dev); parent = device_get_parent(device_get_parent(dev)); - /* Intel 82555 */ - if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_INTEL && - MII_MODEL(ma->mii_id2) == MII_MODEL_INTEL_I82555) { - device_set_desc(dev, MII_STR_INTEL_I82555); - return (0); - } - - /* Intel 82553 C stepping */ - if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_INTEL && - MII_MODEL(ma->mii_id2) == MII_MODEL_INTEL_I82553C) { - device_set_desc(dev, MII_STR_INTEL_I82553C); - return (0); - } - /* Intel 82553 A/B steppings */ if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_xxINTEL && MII_MODEL(ma->mii_id2) == MII_MODEL_xxINTEL_I82553AB) { @@ -108,6 +94,23 @@ inphy_probe(device_t dev) return (0); } + if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_INTEL) { + switch (MII_MODEL(ma->mii_id2)) { + case MII_MODEL_INTEL_I82555: + device_set_desc(dev, MII_STR_INTEL_I82555); + return (0); + case MII_MODEL_INTEL_I82553C: + device_set_desc(dev, MII_STR_INTEL_I82553C); + return (0); + case MII_MODEL_INTEL_I82562EM: + device_set_desc(dev, MII_STR_INTEL_I82562EM); + return (0); + case MII_MODEL_INTEL_I82562ET: + device_set_desc(dev, MII_STR_INTEL_I82562ET); + return (0); + } + } + return (ENXIO); } diff --git a/sys/dev/mii/miidevs b/sys/dev/mii/miidevs index 27221c8..1d20d86 100644 --- a/sys/dev/mii/miidevs +++ b/sys/dev/mii/miidevs @@ -113,8 +113,10 @@ model xxICS 1890 0x0002 ICS1890 10/100 media interface /* Intel PHYs */ model xxINTEL I82553AB 0x0000 i83553 10/100 media interface -model INTEL I82553C 0x0035 i82553 10/100 media interface model INTEL I82555 0x0015 i82555 10/100 media interface +model INTEL I82562EM 0x0032 i82562EM 10/100 media interface +model INTEL I82562ET 0x0033 i82562ET 10/100 media interface +model INTEL I82553C 0x0035 i82553 10/100 media interface /* Level 1 PHYs */ model xxLEVEL1 LXT970 0x0000 LXT970 10/100 media interface |