[Midnightbsd-cvs] src [8665] trunk/sys/dev/mii: recognize 5720S PHY and treat it as 5708S PHY.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sun Sep 25 16:31:58 EDT 2016


Revision: 8665
          http://svnweb.midnightbsd.org/src/?rev=8665
Author:   laffer1
Date:     2016-09-25 16:31:58 -0400 (Sun, 25 Sep 2016)
Log Message:
-----------
recognize 5720S PHY and treat it as 5708S PHY.  need a hack because it uses the 5709S PHY id

Modified Paths:
--------------
    trunk/sys/dev/mii/brgphy.c
    trunk/sys/dev/mii/miidevs

Modified: trunk/sys/dev/mii/brgphy.c
===================================================================
--- trunk/sys/dev/mii/brgphy.c	2016-09-25 20:30:53 UTC (rev 8664)
+++ trunk/sys/dev/mii/brgphy.c	2016-09-25 20:31:58 UTC (rev 8665)
@@ -204,7 +204,14 @@
 	    &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) {
 	case MII_OUI_BROADCOM:
@@ -235,7 +242,15 @@
 			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;
 		}
@@ -242,15 +257,6 @@
 		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: trunk/sys/dev/mii/miidevs
===================================================================
--- trunk/sys/dev/mii/miidevs	2016-09-25 20:30:53 UTC (rev 8664)
+++ trunk/sys/dev/mii/miidevs	2016-09-25 20:31:58 UTC (rev 8665)
@@ -178,7 +178,7 @@
 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 Midnightbsd-cvs mailing list