diff options
| author | Pyun YongHyeon <yongari@FreeBSD.org> | 2008-10-17 05:26:51 +0000 |
|---|---|---|
| committer | Pyun YongHyeon <yongari@FreeBSD.org> | 2008-10-17 05:26:51 +0000 |
| commit | b435227b7d319b347e6749fb2c4915e4bfebb7e3 (patch) | |
| tree | 8f2bd729f70e2c7489522031e9847fada605b430 | |
| parent | 5a1760fc92363de032b9bbd3730ef245a0ad3db8 (diff) | |
Notes
| -rw-r--r-- | sys/dev/mii/e1000phy.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/dev/mii/e1000phy.c b/sys/dev/mii/e1000phy.c index 7f389832c471..f38b4280f34a 100644 --- a/sys/dev/mii/e1000phy.c +++ b/sys/dev/mii/e1000phy.c @@ -153,6 +153,20 @@ e1000phy_attach(device_t dev) if (PHY_READ(sc, E1000_ESSR) & E1000_ESSR_FIBER_LINK) sc->mii_flags |= MIIF_HAVEFIBER; break; + case MII_MODEL_MARVELL_E1149: + /* + * Some 88E1149 PHY's page select is initialized to + * point to other bank instead of copper/fiber bank + * which in turn resulted in wrong registers were + * accessed during PHY operation. It is believed that + * page 0 should be used for copper PHY so reinitialize + * E1000_EADR to select default copper PHY. If parent + * device know the type of PHY(either copper or fiber), + * that information should be used to select default + * type of PHY. + */ + PHY_WRITE(sc, E1000_EADR, 0); + break; case MII_MODEL_MARVELL_E3082: /* 88E3082 10/100 Fast Ethernet PHY. */ sc->mii_anegticks = MII_ANEGTICKS; |
