summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/mii/eephy.c14
-rw-r--r--sys/dev/mii/miidevs9
2 files changed, 19 insertions, 4 deletions
diff --git a/sys/dev/mii/eephy.c b/sys/dev/mii/eephy.c
index a0a685cfb96..0208b3ef719 100644
--- a/sys/dev/mii/eephy.c
+++ b/sys/dev/mii/eephy.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: eephy.c,v 1.3 2001/10/05 18:26:48 nate Exp $ */
+/* $OpenBSD: eephy.c,v 1.4 2002/04/02 13:05:09 nate Exp $ */
/*
* Principal Author: Parag Patel
* Copyright (c) 2001
@@ -82,6 +82,16 @@ eephymatch(struct device *parent, void *match, void *aux)
if (id == E1000_ID_88E1000 || id == E1000_ID_88E1000S) {
return(10);
}
+
+ if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_xxMARVELL &&
+ (MII_MODEL(ma->mii_id2) == MII_MODEL_xxMARVELL_E1000_3 ||
+ MII_MODEL(ma->mii_id2) == MII_MODEL_xxMARVELL_E1000_5 ))
+ return (10);
+
+ if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_MARVELL &&
+ MII_MODEL(ma->mii_id2) == MII_MODEL_MARVELL_E1000_3)
+ return (10);
+
return(0);
}
@@ -102,7 +112,7 @@ eephyattach(struct device *parent, struct device *self, void *aux)
sc->mii_status = eephy_status;
sc->mii_pdata = mii;
sc->mii_flags = mii->mii_flags;
- sc->mii_anegticks = 5;
+ sc->mii_anegticks = 10;
eephy_reset(sc);
diff --git a/sys/dev/mii/miidevs b/sys/dev/mii/miidevs
index 1d2efd2d33e..3e38c766f7a 100644
--- a/sys/dev/mii/miidevs
+++ b/sys/dev/mii/miidevs
@@ -1,4 +1,4 @@
-$OpenBSD: miidevs,v 1.26 2001/12/15 02:41:33 deraadt Exp $
+$OpenBSD: miidevs,v 1.27 2002/04/02 13:04:44 nate Exp $
/* $NetBSD: miidevs,v 1.3 1998/11/05 03:43:43 thorpej Exp $ */
/*-
@@ -87,6 +87,8 @@ oui xxDAVICOM 0x006040 Davicom Semiconductor
/* Contrived vendor for dcphy */
oui xxDEC 0x040440 Digital Clone
+oui xxMARVELL 0x000ac2 Marvell Semiconductor
+
/*
* List of known models. Grouped by oui.
*/
@@ -118,7 +120,10 @@ model ENABLESEMI 88E1000 0x0005 Enable 88E1000
model ENABLESEMI 88E1000S 0x0004 Enable 88E1000S
/* Marvell Semiconductor PHYs */
-model MARVELL E1000 0x0000 Marvell Semiconductor 88E1000* Gigabit
+model MARVELL E1000 0x0000 Marvell 88E1000* Gigabit PHY
+model MARVELL E1000_3 0x0003 Marvell 88E1000 Gigabit PHY
+model xxMARVELL E1000_3 0x0003 Marvell 88E1000 Gigabit PHY
+model xxMARVELL E1000_5 0x0005 Marvell 88E1000 Gigabit PHY
/* Contrived vendor/model for dcphy */
model xxDEC xxDC 0x0001 DC