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.
Approved by:	re (delphij)
This commit is contained in:
yongari 2013-11-04 05:52:33 +00:00
parent 821219af32
commit 2d1cef2d83
2 changed files with 6 additions and 2 deletions

View File

@ -304,6 +304,7 @@ model yyREALTEK RTL8201L 0x0020 RTL8201L 10/100 media interface
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 */

View File

@ -90,6 +90,7 @@ static void rgephy_load_dspcode(struct mii_softc *);
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);