aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPyun YongHyeon <yongari@FreeBSD.org>2008-10-17 05:26:51 +0000
committerPyun YongHyeon <yongari@FreeBSD.org>2008-10-17 05:26:51 +0000
commitb435227b7d319b347e6749fb2c4915e4bfebb7e3 (patch)
tree8f2bd729f70e2c7489522031e9847fada605b430
parent5a1760fc92363de032b9bbd3730ef245a0ad3db8 (diff)
Notes
-rw-r--r--sys/dev/mii/e1000phy.c14
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;