svn commit: r244482 - head/sys/dev/mii
Pyun YongHyeon
yongari at FreeBSD.org
Thu Dec 20 05:02:14 UTC 2012
Author: yongari
Date: Thu Dec 20 05:02:12 2012
New Revision: 244482
URL: http://svnweb.freebsd.org/changeset/base/244482
Log:
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 >
Modified:
head/sys/dev/mii/brgphy.c
head/sys/dev/mii/miidevs
Modified: head/sys/dev/mii/brgphy.c
==============================================================================
--- head/sys/dev/mii/brgphy.c Thu Dec 20 04:47:31 2012 (r244481)
+++ head/sys/dev/mii/brgphy.c Thu Dec 20 05:02:12 2012 (r244482)
@@ -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. */
Modified: head/sys/dev/mii/miidevs
==============================================================================
--- head/sys/dev/mii/miidevs Thu Dec 20 04:47:31 2012 (r244481)
+++ head/sys/dev/mii/miidevs Thu Dec 20 05:02:12 2012 (r244482)
@@ -180,7 +180,7 @@ model BROADCOM2 BCM5722 0x002d BCM5722
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
More information about the svn-src-all
mailing list