diff --git a/sys/dev/mii/miidevs b/sys/dev/mii/miidevs index 017a0f03695e..30cd09c40719 100644 --- a/sys/dev/mii/miidevs +++ b/sys/dev/mii/miidevs @@ -102,6 +102,7 @@ oui xxREALTEK 0x000732 */ /* Agere Systems PHYs */ +model AGERE ET1011 0x0001 ET1011 10/100/1000baseT PHY model AGERE ET1011C 0x0004 ET1011C 10/100/1000baseT PHY /* Altima Communications PHYs */ diff --git a/sys/dev/mii/truephy.c b/sys/dev/mii/truephy.c index 4eba9d98aaec..069b2a0638bf 100644 --- a/sys/dev/mii/truephy.c +++ b/sys/dev/mii/truephy.c @@ -76,6 +76,7 @@ static device_method_t truephy_methods[] = { }; static const struct mii_phydesc truephys[] = { + MII_PHY_DESC(AGERE, ET1011), MII_PHY_DESC(AGERE, ET1011C), MII_PHY_END }; @@ -161,7 +162,10 @@ truephy_attach(device_t dev) mii->mii_instance++; - truephy_reset(sc); + if (MII_MODEL(ma->mii_id2) == MII_MODEL_AGERE_ET1011) + mii_phy_reset(sc); + else + truephy_reset(sc); sc->mii_capabilities = PHY_READ(sc, MII_BMSR) & ma->mii_capmask; if (sc->mii_capabilities & BMSR_EXTSTAT) {