Author: imp
Date: Thu Jun 30 05:20:02 2011
New Revision: 223688
URL: http://svn.freebsd.org/changeset/base/223688

Log:
  Add detection for the Marvel 88E1149R and treat it just like the
  88E1149.

Modified:
  head/sys/dev/mii/e1000phy.c
  head/sys/dev/mii/miidevs

Modified: head/sys/dev/mii/e1000phy.c
==============================================================================
--- head/sys/dev/mii/e1000phy.c Wed Jun 29 22:12:43 2011        (r223687)
+++ head/sys/dev/mii/e1000phy.c Thu Jun 30 05:20:02 2011        (r223688)
@@ -107,6 +107,7 @@ static const struct mii_phydesc e1000phy
        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;

Modified: head/sys/dev/mii/miidevs
==============================================================================
--- head/sys/dev/mii/miidevs    Wed Jun 29 22:12:43 2011        (r223687)
+++ head/sys/dev/mii/miidevs    Thu Jun 30 05:20:02 2011        (r223688)
@@ -248,6 +248,7 @@ model xxMARVELL E1111               0x000c Marvell 88
 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
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to