Correctly recognize the i82562{EM} PHYs.

Obtained from: OpenBSD
This commit is contained in:
Jonathan Lemon 2001-05-11 20:34:38 +00:00
parent b680c0ae8b
commit dafdd7777b
2 changed files with 20 additions and 15 deletions

View File

@ -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);
}

View File

@ -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