summaryrefslogtreecommitdiff
path: root/sys/dev/mii
diff options
context:
space:
mode:
authorBill Paul <wpaul@FreeBSD.org>1999-09-19 21:56:08 +0000
committerBill Paul <wpaul@FreeBSD.org>1999-09-19 21:56:08 +0000
commit2d8fad26b3a392a7f379845e17e71ada086864f9 (patch)
tree3dca231ca898c30f7ea0e81979fa952c98b1bee1 /sys/dev/mii
parenteb0519dbda960b239ff096522b7c50b410c539ab (diff)
Notes
Diffstat (limited to 'sys/dev/mii')
-rw-r--r--sys/dev/mii/amphy.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/sys/dev/mii/amphy.c b/sys/dev/mii/amphy.c
index 8521f3291045..91eb7076ea0a 100644
--- a/sys/dev/mii/amphy.c
+++ b/sys/dev/mii/amphy.c
@@ -34,6 +34,8 @@
/*
* driver for AMD AM79c873 PHYs
+ * This driver also works for the Davicom DM9101 PHY, which appears to
+ * be an AM79c873 workalike.
*/
#include <sys/param.h>
@@ -92,11 +94,16 @@ static int amphy_probe(dev)
ma = device_get_ivars(dev);
- if (MII_OUI(ma->mii_id1, ma->mii_id2) != MII_OUI_xxAMD ||
- MII_MODEL(ma->mii_id2) != MII_MODEL_xxAMD_79C873)
+ if ((MII_OUI(ma->mii_id1, ma->mii_id2) != MII_OUI_xxAMD ||
+ MII_MODEL(ma->mii_id2) != MII_MODEL_xxAMD_79C873) &&
+ (MII_OUI(ma->mii_id1, ma->mii_id2) != MII_OUI_xxDAVICOM ||
+ MII_MODEL(ma->mii_id2) != MII_MODEL_xxDAVICOM_DM9101))
return(ENXIO);
- device_set_desc(dev, MII_STR_xxAMD_79C873);
+ if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_xxAMD)
+ device_set_desc(dev, MII_STR_xxAMD_79C873);
+ else if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_xxDAVICOM)
+ device_set_desc(dev, MII_STR_xxDAVICOM_DM9101);
return(0);
}