From 2d8fad26b3a392a7f379845e17e71ada086864f9 Mon Sep 17 00:00:00 2001 From: Bill Paul Date: Sun, 19 Sep 1999 21:56:08 +0000 Subject: [PATCH] Allow the AMD PHY driver to support the DM9101 PHY. The DM9101 and the AMD AM79c873 have identical registers. I'm not sure why; one is probably a clone of the other. --- sys/dev/mii/amphy.c | 13 ++++++++++--- 1 file 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 @@ -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); }