diff options
author | mdodd <mdodd@FreeBSD.org> | 1999-08-10 01:03:51 +0000 |
---|---|---|
committer | mdodd <mdodd@FreeBSD.org> | 1999-08-10 01:03:51 +0000 |
commit | edfdc36b7c3d745ae294cdb844d7886f4e2a57da (patch) | |
tree | cd6db765e9b3b7697d9aff0f349e559f0bfacc04 /sys/dev/lnc/if_lnc.c | |
parent | d69ca183f0e720874dd03db5d2d266d72d6161c4 (diff) | |
download | FreeBSD-src-edfdc36b7c3d745ae294cdb844d7886f4e2a57da.zip FreeBSD-src-edfdc36b7c3d745ae294cdb844d7886f4e2a57da.tar.gz |
Add support for the Am79C978. (AMD PCHome/PCI Ethernet adapter)
See: http://www.amd.com/products/npd/overview/homenetworking/intro.html
PR: kern/12275
Submitted by: Robert Watson <robert@cyrus.watson.org>
Diffstat (limited to 'sys/dev/lnc/if_lnc.c')
-rw-r--r-- | sys/dev/lnc/if_lnc.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sys/dev/lnc/if_lnc.c b/sys/dev/lnc/if_lnc.c index 5fc82330..d035311 100644 --- a/sys/dev/lnc/if_lnc.c +++ b/sys/dev/lnc/if_lnc.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_lnc.c,v 1.60 1999/05/09 23:24:47 peter Exp $ + * $Id: if_lnc.c,v 1.61 1999/07/06 19:22:50 des Exp $ */ /* @@ -151,6 +151,7 @@ static char const * const ic_ident[] = { "PCnet-PCI II", "PCnet-FAST", "PCnet-FAST+", + "PCnet-Home", }; static void lnc_setladrf __P((struct lnc_softc *sc)); @@ -1192,6 +1193,8 @@ pcnet_probe(struct lnc_softc *sc) return (PCnet_FAST); case Am79C972: return (PCnet_FASTplus); + case Am79C978: + return (PCnet_Home); default: break; } @@ -1491,6 +1494,15 @@ lnc_init(struct lnc_softc *sc) /* Give the LANCE the physical address of the initialisation block */ + if (sc->nic.ic == PCnet_Home) { + u_short media; + /* Set PHY_SEL to HomeRun */ + media = read_bcr(sc, BCR49); + media &= ~3; + media |= 1; + write_bcr(sc, BCR49, media); + } + write_csr(sc, CSR1, kvtop(sc->init_block)); write_csr(sc, CSR2, (kvtop(sc->init_block) >> 16) & 0xff); |