Add support for newer Realtek RTL8105E ethernet card revision

* backport from recent FreeBSD rt driver
* tested working on my HP Pavillion g7
* aka scalpel vs chainsaw
This commit is contained in:
Alexander von Gluck IV
2011-11-29 15:12:22 -06:00
parent d8b712244f
commit 0fa9729668
4 changed files with 12 additions and 0 deletions
@@ -96,6 +96,7 @@ static void rgephy_load_dspcode(struct mii_softc *);
static const struct mii_phydesc rgephys[] = {
MII_PHY_DESC(xxREALTEK, RTL8169S),
MII_PHY_DESC(xxREALTEK, RTL8201E),
MII_PHY_END
};
@@ -212,6 +212,8 @@ static struct rl_hwrev re_hwrevs[] = {
{ RL_HWREV_8102EL, RL_8169, "8102EL"},
{ RL_HWREV_8102EL_SPIN1, RL_8169, "8102EL"},
{ RL_HWREV_8103E, RL_8169, "8103E"},
{ RL_HWREV_8105E, RL_8169, "8105E"},
{ RL_HWREV_8105E_SPIN1, RL_8169, "8105E"},
{ RL_HWREV_8168_SPIN2, RL_8169, "8168"},
{ RL_HWREV_8168_SPIN3, RL_8169, "8168"},
{ RL_HWREV_8168C, RL_8169, "8168C/8111C"},
@@ -1280,6 +1282,12 @@ re_attach(device_t dev)
RL_FLAG_FASTETHER | RL_FLAG_CMDSTOP | RL_FLAG_AUTOPAD |
RL_FLAG_MACSLEEP;
break;
case RL_HWREV_8105E:
case RL_HWREV_8105E_SPIN1:
sc->rl_flags |= RL_FLAG_PHYWAKE | RL_FLAG_PHYWAKE_PM |
RL_FLAG_PAR | RL_FLAG_DESCV2 | RL_FLAG_MACSTAT |
RL_FLAG_FASTETHER | RL_FLAG_CMDSTOP | RL_FLAG_AUTOPAD;
break;
case RL_HWREV_8168_SPIN1:
case RL_HWREV_8168_SPIN2:
sc->rl_flags |= RL_FLAG_WOLRXENB;
@@ -169,6 +169,8 @@
#define RL_HWREV_8101E 0x34000000
#define RL_HWREV_8102E 0x34800000
#define RL_HWREV_8103E 0x34C00000
#define RL_HWREV_8105E 0x40800000
#define RL_HWREV_8105E_SPIN1 0x40C00000
#define RL_HWREV_8168_SPIN2 0x38000000
#define RL_HWREV_8168_SPIN3 0x38400000
#define RL_HWREV_8168C 0x3C000000
@@ -214,6 +214,7 @@ model QUALSEMI QS6612 0x0000 QS6612 10/100 media interface
/* RealTek Semiconductor PHYs */
model REALTEK RTL8201L 0x0020 RTL8201L 10/100 media interface
model xxREALTEK RTL8305SC 0x0005 RTL8305SC 10/100 802.1q switch
model xxREALTEK RTL8201E 0x0008 RTL8201E 10/100 media interface
model xxREALTEK RTL8169S 0x0011 RTL8169S/8110S/8211B media interface
/* Seeq PHYs */