summaryrefslogtreecommitdiff
path: root/sys/dev/ic/dc.c
diff options
context:
space:
mode:
authorHenning Brauer <henning@cvs.openbsd.org>2002-10-20 16:46:29 +0000
committerHenning Brauer <henning@cvs.openbsd.org>2002-10-20 16:46:29 +0000
commitdccdd51b88c74c7a74272545ae72bd99f77406ce (patch)
tree9e5af00ffa4c9aeb6a0214ca5192308d30113cb2 /sys/dev/ic/dc.c
parent11abdfebcfbd965d8eaf56da7e752c9e213f702f (diff)
add support for intel 21145
This chip is some strange abnormal 21143 variant. It really only works with 10 MBit/s halfduplex only and autonegotiation is totally broken in hardware. Should also have a HomePNA phy, but we don't support that. for now requires and explicit "media 10BaseT". if anybody has such a chip please mail me. nick@ is the only one who has the hardware and did an incredible amount of testing. Thanks for all the help, Nick! some hints and ok jason@
Diffstat (limited to 'sys/dev/ic/dc.c')
-rw-r--r--sys/dev/ic/dc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/ic/dc.c b/sys/dev/ic/dc.c
index 8ac6916f15c..8493b0d7e81 100644
--- a/sys/dev/ic/dc.c
+++ b/sys/dev/ic/dc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dc.c,v 1.51 2002/07/05 13:45:21 aaron Exp $ */
+/* $OpenBSD: dc.c,v 1.52 2002/10/20 16:46:27 henning Exp $ */
/*
* Copyright (c) 1997, 1998, 1999
@@ -1637,6 +1637,7 @@ void dc_attach(sc)
break;
case DC_TYPE_DM9102:
case DC_TYPE_21143:
+ case DC_TYPE_21145:
case DC_TYPE_ASIX:
dc_read_eeprom(sc, (caddr_t)&sc->sc_arpcom.ac_enaddr,
DC_EE_NODEADDR, 3, 0);
@@ -1759,6 +1760,8 @@ hasmac:
error = ENXIO;
ifmedia_add(&sc->sc_mii.mii_media, IFM_ETHER|IFM_NONE, 0, NULL);
ifmedia_set(&sc->sc_mii.mii_media, IFM_ETHER|IFM_NONE);
+ } else if (sc->dc_type == DC_TYPE_21145) {
+ ifmedia_set(&sc->sc_mii.mii_media, IFM_ETHER|IFM_10_T);
} else
ifmedia_set(&sc->sc_mii.mii_media, IFM_ETHER|IFM_AUTO);