summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2011-06-30 05:20:02 +0000
committerimp <imp@FreeBSD.org>2011-06-30 05:20:02 +0000
commitfd64a169760fe09529a861f3ff9f8157f18263d3 (patch)
treec8fd739ea152776549c68ec13ec0d2db0fe3f1b9
parent323608505b497082bb34811156188d8718eafa5a (diff)
downloadFreeBSD-src-fd64a169760fe09529a861f3ff9f8157f18263d3.zip
FreeBSD-src-fd64a169760fe09529a861f3ff9f8157f18263d3.tar.gz
Add detection for the Marvel 88E1149R and treat it just like the
88E1149.
-rw-r--r--sys/dev/mii/e1000phy.c6
-rw-r--r--sys/dev/mii/miidevs1
2 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/mii/e1000phy.c b/sys/dev/mii/e1000phy.c
index b0d7069..e657592 100644
--- a/sys/dev/mii/e1000phy.c
+++ b/sys/dev/mii/e1000phy.c
@@ -107,6 +107,7 @@ static const struct mii_phydesc e1000phys[] = {
MII_PHY_DESC(xxMARVELL, E1116),
MII_PHY_DESC(xxMARVELL, E1116R),
MII_PHY_DESC(xxMARVELL, E1118),
+ MII_PHY_DESC(xxMARVELL, E1149R),
MII_PHY_DESC(xxMARVELL, E3016),
MII_PHY_DESC(xxMARVELL, PHYG65G),
MII_PHY_END
@@ -147,6 +148,7 @@ e1000phy_attach(device_t dev)
sc->mii_flags |= MIIF_HAVEFIBER;
break;
case MII_MODEL_xxMARVELL_E1149:
+ case MII_MODEL_xxMARVELL_E1149R:
/*
* Some 88E1149 PHY's page select is initialized to
* point to other bank instead of copper/fiber bank
@@ -208,6 +210,7 @@ e1000phy_reset(struct mii_softc *sc)
case MII_MODEL_xxMARVELL_E1116:
case MII_MODEL_xxMARVELL_E1118:
case MII_MODEL_xxMARVELL_E1149:
+ case MII_MODEL_xxMARVELL_E1149R:
case MII_MODEL_xxMARVELL_PHYG65G:
/* Disable energy detect mode. */
reg &= ~E1000_SCR_EN_DETECT_MASK;
@@ -240,7 +243,8 @@ e1000phy_reset(struct mii_softc *sc)
PHY_WRITE(sc, E1000_SCR, reg);
if (sc->mii_mpd_model == MII_MODEL_xxMARVELL_E1116 ||
- sc->mii_mpd_model == MII_MODEL_xxMARVELL_E1149) {
+ sc->mii_mpd_model == MII_MODEL_xxMARVELL_E1149 ||
+ sc->mii_mpd_model == MII_MODEL_xxMARVELL_E1149R) {
PHY_WRITE(sc, E1000_EADR, 2);
reg = PHY_READ(sc, E1000_SCR);
reg |= E1000_SCR_RGMII_POWER_UP;
diff --git a/sys/dev/mii/miidevs b/sys/dev/mii/miidevs
index 5274940..1b98542 100644
--- a/sys/dev/mii/miidevs
+++ b/sys/dev/mii/miidevs
@@ -248,6 +248,7 @@ model xxMARVELL E1111 0x000c Marvell 88E1111 Gigabit PHY
model xxMARVELL E1116 0x0021 Marvell 88E1116 Gigabit PHY
model xxMARVELL E1116R 0x0024 Marvell 88E1116R Gigabit PHY
model xxMARVELL E1118 0x0022 Marvell 88E1118 Gigabit PHY
+model xxMARVELL E1149R 0x0025 Marvell 88E1149R Quad Gigabit PHY
model xxMARVELL E3016 0x0026 Marvell 88E3016 10/100 Fast Ethernet PHY
model xxMARVELL PHYG65G 0x0027 Marvell PHYG65G Gigabit PHY
model MARVELL E1000 0x0005 Marvell 88E1000 Gigabit PHY
OpenPOWER on IntegriCloud