summaryrefslogtreecommitdiffstats
path: root/sys/dev/mii
diff options
context:
space:
mode:
authorjlemon <jlemon@FreeBSD.org>2001-05-11 20:34:38 +0000
committerjlemon <jlemon@FreeBSD.org>2001-05-11 20:34:38 +0000
commit921577656548ff6638905e58c70bad5734500465 (patch)
tree7f3690b356e9c0270de866bdd1b2aadc8a6f744a /sys/dev/mii
parent6acb6330ee1ee4236e7bfb8bbf932750f61a62e3 (diff)
downloadFreeBSD-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.c31
-rw-r--r--sys/dev/mii/miidevs4
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
OpenPOWER on IntegriCloud