Author: yongari
Date: Mon Nov  4 05:54:13 2013
New Revision: 257614
URL: http://svnweb.freebsd.org/changeset/base/257614

Log:
  MFC r257304:
    Add support for new Gigabit PHY of RealTek.
    I don't have a copy of data sheet so I'm not sure exact PHY model
    name. Vendor's web page indicates RTL8251 is latest PHY so I used
    the name. This PHY is used with RTL8168G, RTL8168GU and RTL8411B.

Modified:
  stable/9/sys/dev/mii/miidevs
  stable/9/sys/dev/mii/rgephy.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)

Modified: stable/9/sys/dev/mii/miidevs
==============================================================================
--- stable/9/sys/dev/mii/miidevs        Mon Nov  4 05:52:42 2013        
(r257613)
+++ stable/9/sys/dev/mii/miidevs        Mon Nov  4 05:54:13 2013        
(r257614)
@@ -299,6 +299,7 @@ model yyREALTEK RTL8201L    0x0020 RTL8201L
 model xxREALTEK RTL8169S       0x0011 RTL8169S/8110S/8211 1000BASE-T media 
interface
 model REALTEK RTL8305SC                0x0005 RTL8305SC 10/100 802.1q switch
 model REALTEK RTL8201E         0x0008 RTL8201E 10/100 media interface
+model REALTEK RTL8251          0x0000 RTL8251 1000BASE-T media interface
 model REALTEK RTL8169S         0x0011 RTL8169S/8110S/8211 1000BASE-T media 
interface
 
 /* Seeq Seeq PHYs */

Modified: stable/9/sys/dev/mii/rgephy.c
==============================================================================
--- stable/9/sys/dev/mii/rgephy.c       Mon Nov  4 05:52:42 2013        
(r257613)
+++ stable/9/sys/dev/mii/rgephy.c       Mon Nov  4 05:54:13 2013        
(r257614)
@@ -90,6 +90,7 @@ static void   rgephy_load_dspcode(struct m
 
 static const struct mii_phydesc rgephys[] = {
        MII_PHY_DESC(REALTEK, RTL8169S),
+       MII_PHY_DESC(REALTEK, RTL8251),
        MII_PHY_END
 };
 
@@ -406,7 +407,8 @@ rgephy_loop(struct mii_softc *sc)
 {
        int i;
 
-       if (sc->mii_mpd_rev < 2) {
+       if (sc->mii_mpd_model != MII_MODEL_REALTEK_RTL8251 &&
+           sc->mii_mpd_rev < 2) {
                PHY_WRITE(sc, RGEPHY_MII_BMCR, RGEPHY_BMCR_PDOWN);
                DELAY(1000);
        }
@@ -439,7 +441,8 @@ rgephy_load_dspcode(struct mii_softc *sc
 {
        int val;
 
-       if (sc->mii_mpd_rev >= 2)
+       if (sc->mii_mpd_model == MII_MODEL_REALTEK_RTL8251 ||
+           sc->mii_mpd_rev >= 2)
                return;
 
        PHY_WRITE(sc, 31, 0x0001);
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "[email protected]"

Reply via email to