Recognize 5720S PHY and treat it as 5708S PHY.
Unfortunately 5720S uses 5709S PHY id so add a hack to detect 5720S PHY by checking parent device name. 5720S PHY does not support 2500SX. Tested by: Geans Pin < geanspin <> broadcom dot com >
This commit is contained in:
parent
29fed1c37e
commit
0a75559c6c
@ -204,6 +204,13 @@ brgphy_attach(device_t dev)
|
||||
&brgphy_funcs, 0);
|
||||
|
||||
bsc->serdes_flags = 0;
|
||||
ifp = sc->mii_pdata->mii_ifp;
|
||||
|
||||
/* Find the MAC driver associated with this PHY. */
|
||||
if (strcmp(ifp->if_dname, "bge") == 0)
|
||||
bge_sc = ifp->if_softc;
|
||||
else if (strcmp(ifp->if_dname, "bce") == 0)
|
||||
bce_sc = ifp->if_softc;
|
||||
|
||||
/* Handle any special cases based on the PHY ID */
|
||||
switch (sc->mii_mpd_oui) {
|
||||
@ -235,22 +242,21 @@ brgphy_attach(device_t dev)
|
||||
sc->mii_flags |= MIIF_HAVEFIBER;
|
||||
break;
|
||||
case MII_MODEL_BROADCOM2_BCM5709S:
|
||||
bsc->serdes_flags |= BRGPHY_5709S;
|
||||
/*
|
||||
* XXX
|
||||
* 5720S and 5709S shares the same PHY id.
|
||||
* Assume 5720S PHY if parent device is bge(4).
|
||||
*/
|
||||
if (bge_sc != NULL)
|
||||
bsc->serdes_flags |= BRGPHY_5708S;
|
||||
else
|
||||
bsc->serdes_flags |= BRGPHY_5709S;
|
||||
sc->mii_flags |= MIIF_HAVEFIBER;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
ifp = sc->mii_pdata->mii_ifp;
|
||||
|
||||
/* Find the MAC driver associated with this PHY. */
|
||||
if (strcmp(ifp->if_dname, "bge") == 0) {
|
||||
bge_sc = ifp->if_softc;
|
||||
} else if (strcmp(ifp->if_dname, "bce") == 0) {
|
||||
bce_sc = ifp->if_softc;
|
||||
}
|
||||
|
||||
PHY_RESET(sc);
|
||||
|
||||
/* Read the PHY's capabilities. */
|
||||
|
@ -180,7 +180,7 @@ model BROADCOM2 BCM5722 0x002d BCM5722 1000BASE-T media interface
|
||||
model BROADCOM2 BCM5784 0x003a BCM5784 10/100/1000baseT PHY
|
||||
model BROADCOM2 BCM5709C 0x003c BCM5709 10/100/1000baseT PHY
|
||||
model BROADCOM2 BCM5761 0x003d BCM5761 10/100/1000baseT PHY
|
||||
model BROADCOM2 BCM5709S 0x003f BCM5709S 1000/2500baseSX PHY
|
||||
model BROADCOM2 BCM5709S 0x003f BCM5709S/5720S 1000/2500baseSX PHY
|
||||
model BROADCOM3 BCM57780 0x0019 BCM57780 1000BASE-T media interface
|
||||
model BROADCOM3 BCM5717C 0x0020 BCM5717C 1000BASE-T media interface
|
||||
model BROADCOM3 BCM5719C 0x0022 BCM5719C 1000BASE-T media interface
|
||||
|
Loading…
Reference in New Issue
Block a user