summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authordrochner <drochner@NetBSD.org>1998-04-16 17:51:46 +0000
committerdrochner <drochner@NetBSD.org>1998-04-16 17:51:46 +0000
commit02157092d4e97fa305a3e6ac3ccbc4afc53ac545 (patch)
tree94c2f5d5024178461a2a13cce3ad04ed535da645 /sys/dev
parent10860a27c66abcfb9c24cef8c4d4f94f84818a68 (diff)
Make the ISA LANCE drivers work without BROKEN_INDIRECT_CONFIG.
DEPCA is now split out into a separate driver. Because there can be only one attachment of a device to a bus, for each card type a separate pseudo-bus was introduced which attaches to "isa" and where "le" attaches to.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/isa/files.isa15
-rw-r--r--sys/dev/isa/if_le_isa.c530
-rw-r--r--sys/dev/isa/if_levar.h22
3 files changed, 169 insertions, 398 deletions
diff --git a/sys/dev/isa/files.isa b/sys/dev/isa/files.isa
index 78030da62ab..a3f4736e4ff 100644
--- a/sys/dev/isa/files.isa
+++ b/sys/dev/isa/files.isa
@@ -1,4 +1,4 @@
-# $NetBSD: files.isa,v 1.57 1998/04/15 20:26:53 drochner Exp $
+# $NetBSD: files.isa,v 1.58 1998/04/16 17:51:46 drochner Exp $
#
# Config file and device description for machine-independent ISA code.
# Included by ports that need it. Requires that the SCSI files be
@@ -194,8 +194,17 @@ file dev/isa/if_iy.c iy
# AMD am7990 (Lance) -based boards
# (BICC Isolan, NE2100, DEPCA)
# device declaration in sys/conf/files
-attach le at isa with le_isa: isadma
-file dev/isa/if_le_isa.c le_isa
+device nele {}
+attach nele at isa
+attach le at nele with le_nele: isadma
+device bicc {}
+attach bicc at isa
+attach le at bicc with le_bicc: isadma
+file dev/isa/if_le_isa.c nele | bicc
+device depca {}
+attach depca at isa with depca_isa
+attach le at depca with le_depca
+file dev/isa/if_depca_isa.c depca
# DEC EtherWORKS III (LEMAC-based: DE203, DE204, DE205) cards
attach lc at isa with lc_isa
diff --git a/sys/dev/isa/if_le_isa.c b/sys/dev/isa/if_le_isa.c
index 68a745790e4..e3577191416 100644
--- a/sys/dev/isa/if_le_isa.c
+++ b/sys/dev/isa/if_le_isa.c
@@ -1,4 +1,4 @@
-/* $NetBSD: if_le_isa.c,v 1.16 1998/02/04 00:37:49 thorpej Exp $ */
+/* $NetBSD: if_le_isa.c,v 1.17 1998/04/16 17:51:46 drochner Exp $ */
/*-
* Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -109,30 +109,46 @@
#include <dev/isa/if_levar.h>
-static char *card_type[] =
- { "unknown", "BICC Isolan", "NE2100", "DEPCA", "PCnet-ISA" };
-
-int le_isa_probe __P((struct device *, void *, void *));
-void le_isa_attach __P((struct device *, struct device *, void *));
+int ne2100_isa_probe __P((struct device *, struct cfdata *, void *));
+int bicc_isa_probe __P((struct device *, struct cfdata *, void *));
+void le_dummyattach __P((struct device *, struct device *, void *));
+int le_dummyprobe __P((struct device *, struct cfdata *, void *));
+void le_ne2100_attach __P((struct device *, struct device *, void *));
+void le_bicc_attach __P((struct device *, struct device *, void *));
+
+struct cfattach nele_ca = {
+ sizeof(struct device), ne2100_isa_probe, le_dummyattach
+}, le_nele_ca = {
+ sizeof(struct le_softc), le_dummyprobe, le_ne2100_attach
+}, bicc_ca = {
+ sizeof(struct device), bicc_isa_probe, le_dummyattach
+}, le_bicc_ca = {
+ sizeof(struct le_softc), le_dummyprobe, le_bicc_attach
+};
-struct cfattach le_isa_ca = {
- sizeof(struct le_softc), le_isa_probe, le_isa_attach
+struct le_isa_params {
+ char *name;
+ int iosize, rap, rdp;
+ int macstart, macstride;
+} ne2100_params = {
+ "NE2100",
+ 24, NE2100_RAP, NE2100_RDP,
+ 0, 1
+}, bicc_params = {
+ "BICC Isolan",
+ 16, BICC_RAP, BICC_RDP,
+ 0, 2
};
-int depca_isa_probe __P((struct le_softc *, struct isa_attach_args *));
-int ne2100_isa_probe __P((struct le_softc *, struct isa_attach_args *));
-int bicc_isa_probe __P((struct le_softc *, struct isa_attach_args *));
-int lance_isa_probe __P((struct am7990_softc *));
+int lance_isa_probe __P((struct isa_attach_args *, struct le_isa_params *));
+void le_isa_attach __P((struct device *, struct le_softc *,
+ struct isa_attach_args *, struct le_isa_params *));
int le_isa_intredge __P((void *));
hide void le_isa_wrcsr __P((struct am7990_softc *, u_int16_t, u_int16_t));
hide u_int16_t le_isa_rdcsr __P((struct am7990_softc *, u_int16_t));
-void depca_copytobuf __P((struct am7990_softc *, void *, int, int));
-void depca_copyfrombuf __P((struct am7990_softc *, void *, int, int));
-void depca_zerobuf __P((struct am7990_softc *, int, int));
-
#define LE_ISA_MEMSIZE 16384
hide void
@@ -164,371 +180,179 @@ le_isa_rdcsr(sc, port)
}
int
-le_isa_probe(parent, match, aux)
+ne2100_isa_probe(parent, match, aux)
struct device *parent;
- void *match, *aux;
+ struct cfdata *match;
+ void *aux;
{
- struct le_softc *lesc = match;
- struct isa_attach_args *ia = aux;
-
- /* Disallow wildcarded i/o address. */
- if (ia->ia_iobase == ISACF_PORT_DEFAULT)
- return (0);
-
- if (bicc_isa_probe(lesc, ia))
- return (1);
- if (ne2100_isa_probe(lesc, ia))
- return (1);
- if (depca_isa_probe(lesc, ia))
- return (1);
+ return (lance_isa_probe(aux, &ne2100_params));
+}
- return (0);
+int
+bicc_isa_probe(parent, match, aux)
+ struct device *parent;
+ struct cfdata *match;
+ void *aux;
+{
+ return (lance_isa_probe(aux, &bicc_params));
}
+/*
+ * Determine which chip is present on the card.
+ */
int
-depca_isa_probe(lesc, ia)
- struct le_softc *lesc;
+lance_isa_probe(ia, p)
struct isa_attach_args *ia;
+ struct le_isa_params *p;
{
- struct am7990_softc *sc = &lesc->sc_am7990;
- int iobase = ia->ia_iobase, port;
bus_space_tag_t iot = ia->ia_iot;
bus_space_handle_t ioh;
- bus_space_handle_t memh;
- u_int8_t csr;
-#if 0
- u_int32_t sum, rom_sum;
- u_int8_t x;
-#endif
- int i;
+ int rap, rdp;
+ int rv = 0;
+
+ /* Disallow wildcarded i/o address. */
+ if (ia->ia_iobase == ISACF_PORT_DEFAULT)
+ return (0);
/* Map i/o space. */
- if (bus_space_map(iot, iobase, 16, 0, &ioh))
- return 0;
+ if (bus_space_map(iot, ia->ia_iobase, p->iosize, 0, &ioh))
+ return (0);
- if (ia->ia_maddr == MADDRUNK || ia->ia_msize == -1)
- goto bad;
+ rap = p->rap;
+ rdp = p->rdp;
- switch (ia->ia_msize) {
- case 65536:
- csr = DEPCA_CSR_SHE;
- break;
- case 32768:
- csr = DEPCA_CSR_SHE | DEPCA_CSR_LOW32K;
- break;
- default:
- goto bad;
- }
+ /* Stop the LANCE chip and put it in a known state. */
+ bus_space_write_2(iot, ioh, rap, LE_CSR0);
+ bus_space_write_2(iot, ioh, rdp, LE_C0_STOP);
+ delay(100);
- /* Map card RAM. */
- if (bus_space_map(ia->ia_memt, ia->ia_maddr, ia->ia_msize, 0, &memh))
+ bus_space_write_2(iot, ioh, rap, LE_CSR0);
+ if (bus_space_read_2(iot, ioh, rdp) != LE_C0_STOP)
goto bad;
- /* Just needed to check mapability; don't need it anymore. */
- bus_space_unmap(ia->ia_memt, memh, ia->ia_msize);
+ bus_space_write_2(iot, ioh, rap, LE_CSR3);
+ bus_space_write_2(iot, ioh, rdp, 0);
- lesc->sc_iot = iot;
- lesc->sc_ioh = ioh;
- lesc->sc_rap = DEPCA_RAP;
- lesc->sc_rdp = DEPCA_RDP;
- lesc->sc_card = DEPCA;
+ ia->ia_iosize = p->iosize;
+ rv = 1;
- if (lance_isa_probe(sc) == 0)
- goto bad;
-
- bus_space_write_1(iot, ioh, DEPCA_CSR, DEPCA_CSR_DUM);
+bad:
+ bus_space_unmap(iot, ioh, p->iosize);
+ return (rv);
+}
- /*
- * Extract the physical MAC address from the ROM.
- *
- * The address PROM is 32 bytes wide, and we access it through
- * a single I/O port. On each read, it rotates to the next
- * position. We find the ethernet address by looking for a
- * particular sequence of bytes (0xff, 0x00, 0x55, 0xaa, 0xff,
- * 0x00, 0x55, 0xaa), and then reading the next 8 bytes (the
- * ethernet address and a checksum).
- *
- * It appears that the PROM can be at one of two locations, so
- * we just try both.
- */
- port = DEPCA_ADP;
- for (i = 0; i < 32; i++)
- if (bus_space_read_1(iot, ioh, port) == 0xff &&
- bus_space_read_1(iot, ioh, port) == 0x00 &&
- bus_space_read_1(iot, ioh, port) == 0x55 &&
- bus_space_read_1(iot, ioh, port) == 0xaa &&
- bus_space_read_1(iot, ioh, port) == 0xff &&
- bus_space_read_1(iot, ioh, port) == 0x00 &&
- bus_space_read_1(iot, ioh, port) == 0x55 &&
- bus_space_read_1(iot, ioh, port) == 0xaa)
- goto found;
- port = DEPCA_ADP + 1;
- for (i = 0; i < 32; i++)
- if (bus_space_read_1(iot, ioh, port) == 0xff &&
- bus_space_read_1(iot, ioh, port) == 0x00 &&
- bus_space_read_1(iot, ioh, port) == 0x55 &&
- bus_space_read_1(iot, ioh, port) == 0xaa &&
- bus_space_read_1(iot, ioh, port) == 0xff &&
- bus_space_read_1(iot, ioh, port) == 0x00 &&
- bus_space_read_1(iot, ioh, port) == 0x55 &&
- bus_space_read_1(iot, ioh, port) == 0xaa)
- goto found;
- printf("%s: address not found\n", sc->sc_dev.dv_xname);
- goto bad;
-
-found:
- for (i = 0; i < sizeof(sc->sc_enaddr); i++)
- sc->sc_enaddr[i] = bus_space_read_1(iot, ioh, port);
-
-#if 0
- sum =
- (sc->sc_enaddr[0] << 2) +
- (sc->sc_enaddr[1] << 10) +
- (sc->sc_enaddr[2] << 1) +
- (sc->sc_enaddr[3] << 9) +
- (sc->sc_enaddr[4] << 0) +
- (sc->sc_enaddr[5] << 8);
- sum = (sum & 0xffff) + (sum >> 16);
- sum = (sum & 0xffff) + (sum >> 16);
-
- rom_sum = bus_space_read_1(iot, ioh, port);
- rom_sum |= bus_space_read_1(iot, ioh, port) << 8;
-
- if (sum != rom_sum) {
- printf("%s: checksum mismatch; calculated %04x != read %04x",
- sc->sc_dev.dv_xname, sum, rom_sum);
- goto bad;
- }
-#endif
+void
+le_dummyattach(parent, self, aux)
+ struct device *parent, *self;
+ void *aux;
+{
+ printf("\n");
- /*
- * XXX INDIRECT BROKENNESS!
- * XXX Should always unmap, and re-map in if_le_isa_attach().
- */
+ config_found(self, aux, 0);
+}
- bus_space_write_1(iot, ioh, DEPCA_CSR, DEPCA_CSR_DUM | DEPCA_CSR_IEN |
- csr);
+int
+le_dummyprobe(parent, match, aux)
+ struct device *parent;
+ struct cfdata *match;
+ void *aux;
+{
+ return (1);
+}
- ia->ia_iosize = 16;
- ia->ia_drq = DRQUNK;
- return 1;
+void
+le_ne2100_attach(parent, self, aux)
+ struct device *parent, *self;
+ void *aux;
+{
+ le_isa_attach(parent, (void *)self, aux, &ne2100_params);
+}
- bad:
- bus_space_unmap(iot, ioh, 16);
- return 0;
+void
+le_bicc_attach(parent, self, aux)
+ struct device *parent, *self;
+ void *aux;
+{
+ le_isa_attach(parent, (void *)self, aux, &bicc_params);
}
-int
-ne2100_isa_probe(lesc, ia)
+void
+le_isa_attach(parent, lesc, ia, p)
+ struct device *parent;
struct le_softc *lesc;
struct isa_attach_args *ia;
+ struct le_isa_params *p;
{
struct am7990_softc *sc = &lesc->sc_am7990;
- int iobase = ia->ia_iobase;
bus_space_tag_t iot = ia->ia_iot;
bus_space_handle_t ioh;
- int i;
+ bus_dma_tag_t dmat = lesc->sc_dmat;
+ bus_dma_segment_t seg;
+ int i, rseg;
- /* Map i/o space. */
- if (bus_space_map(iot, iobase, 24, 0, &ioh))
- return 0;
+ printf(": %s Ethernet\n", p->name);
- lesc->sc_iot = iot;
- lesc->sc_ioh = ioh;
- lesc->sc_rap = NE2100_RAP;
- lesc->sc_rdp = NE2100_RDP;
- lesc->sc_card = NE2100;
-
- if (lance_isa_probe(sc) == 0) {
- bus_space_unmap(iot, ioh, 24);
- return 0;
- }
+ if (bus_space_map(iot, ia->ia_iobase, p->iosize, 0, &ioh))
+ panic("%s: can't map io", sc->sc_dev.dv_xname);
/*
* Extract the physical MAC address from the ROM.
*/
for (i = 0; i < sizeof(sc->sc_enaddr); i++)
- sc->sc_enaddr[i] = bus_space_read_1(iot, ioh, i);
-
- /*
- * XXX INDIRECT BROKENNESS!
- * XXX Should always unmap, and re-map in if_le_isa_attach().
- */
-
- ia->ia_iosize = 24;
- return 1;
-}
-
-int
-bicc_isa_probe(lesc, ia)
- struct le_softc *lesc;
- struct isa_attach_args *ia;
-{
- struct am7990_softc *sc = &lesc->sc_am7990;
- int iobase = ia->ia_iobase;
- bus_space_tag_t iot = ia->ia_iot;
- bus_space_handle_t ioh;
- int i;
-
- /* Map i/o space. */
- if (bus_space_map(iot, iobase, 16, 0, &ioh))
- return 0;
+ sc->sc_enaddr[i] =
+ bus_space_read_1(iot, ioh, p->macstart + i * p->macstride);
lesc->sc_iot = iot;
lesc->sc_ioh = ioh;
- lesc->sc_rap = BICC_RAP;
- lesc->sc_rdp = BICC_RDP;
- lesc->sc_card = BICC;
-
- if (lance_isa_probe(sc) == 0) {
- bus_space_unmap(iot, ioh, 16);
- return 0;
- }
+ lesc->sc_dmat = ia->ia_dmat;
+ lesc->sc_rap = p->rap;
+ lesc->sc_rdp = p->rdp;
/*
- * Extract the physical MAC address from the ROM.
+ * Allocate a DMA area for the card.
*/
- for (i = 0; i < sizeof(sc->sc_enaddr); i++)
- sc->sc_enaddr[i] = bus_space_read_1(iot, ioh, i * 2);
+ if (bus_dmamem_alloc(dmat, LE_ISA_MEMSIZE, NBPG, 0, &seg, 1,
+ &rseg, BUS_DMA_NOWAIT)) {
+ printf("%s: couldn't allocate memory for card\n",
+ sc->sc_dev.dv_xname);
+ return;
+ }
+ if (bus_dmamem_map(dmat, &seg, rseg, LE_ISA_MEMSIZE,
+ (caddr_t *)&sc->sc_mem,
+ BUS_DMA_NOWAIT|BUS_DMA_COHERENT)) {
+ printf("%s: couldn't map memory for card\n",
+ sc->sc_dev.dv_xname);
+ return;
+ }
/*
- * XXX INDIRECT BROKENNESS!
- * XXX Should always unmap, and re-map in if_le_isa_attach().
+ * Create and load the DMA map for the DMA area.
*/
-
- ia->ia_iosize = 16;
- return 1;
-}
-
-/*
- * Determine which chip is present on the card.
- */
-int
-lance_isa_probe(sc)
- struct am7990_softc *sc;
-{
-
- /* Stop the LANCE chip and put it in a known state. */
- le_isa_wrcsr(sc, LE_CSR0, LE_C0_STOP);
- delay(100);
-
- if (le_isa_rdcsr(sc, LE_CSR0) != LE_C0_STOP)
- return 0;
-
- le_isa_wrcsr(sc, LE_CSR3, sc->sc_conf3);
- return 1;
-}
-
-void
-le_isa_attach(parent, self, aux)
- struct device *parent, *self;
- void *aux;
-{
- struct le_softc *lesc = (void *)self;
- struct am7990_softc *sc = &lesc->sc_am7990;
- struct isa_attach_args *ia = aux;
- bus_space_tag_t iot = ia->ia_iot;
- bus_space_tag_t memt = ia->ia_memt;
- bus_dma_tag_t dmat = ia->ia_dmat;
- bus_space_handle_t memh;
- bus_dma_segment_t seg;
- int rseg;
-
- printf(": %s Ethernet\n", card_type[lesc->sc_card]);
-
- lesc->sc_iot = iot;
- lesc->sc_memt = memt;
- lesc->sc_dmat = dmat;
-
- /* XXX SHOULD RE-MAP I/O SPACE HERE. */
-
- if (lesc->sc_card == DEPCA) {
- u_char val;
- int i;
-
- /* Map shared memory. */
- if (bus_space_map(memt, ia->ia_maddr, ia->ia_msize, 0, &memh)) {
- printf("%s: can't map mem space\n",
- sc->sc_dev.dv_xname);
- return;
- }
-
- lesc->sc_memh = memh;
-
- val = 0xff;
- for (;;) {
- bus_space_set_region_1(memt, memh, 0, val,
- ia->ia_msize);
- for (i = 0; i < ia->ia_msize; i++)
- if (bus_space_read_1(memt, memh, 1) != val) {
- printf("%s: failed to clear memory\n",
- sc->sc_dev.dv_xname);
- return;
- }
- if (val == 0x00)
- break;
- val -= 0x55;
- }
-
- sc->sc_conf3 = LE_C3_ACON;
- sc->sc_mem = 0; /* Not used. */
- sc->sc_addr = 0;
- sc->sc_memsize = ia->ia_msize;
- } else {
- /*
- * Allocate a DMA area for the card.
- */
- if (bus_dmamem_alloc(dmat, LE_ISA_MEMSIZE, NBPG, 0, &seg, 1,
- &rseg, BUS_DMA_NOWAIT)) {
- printf("%s: couldn't allocate memory for card\n",
- sc->sc_dev.dv_xname);
- return;
- }
- if (bus_dmamem_map(dmat, &seg, rseg, LE_ISA_MEMSIZE,
- (caddr_t *)&sc->sc_mem,
- BUS_DMA_NOWAIT|BUS_DMA_COHERENT)) {
- printf("%s: couldn't map memory for card\n",
- sc->sc_dev.dv_xname);
- return;
- }
-
- /*
- * Create and load the DMA map for the DMA area.
- */
- if (bus_dmamap_create(dmat, LE_ISA_MEMSIZE, 1,
- LE_ISA_MEMSIZE, 0, BUS_DMA_NOWAIT, &lesc->sc_dmam)) {
- printf("%s: couldn't create DMA map\n",
- sc->sc_dev.dv_xname);
- bus_dmamem_free(dmat, &seg, rseg);
- return;
- }
- if (bus_dmamap_load(dmat, lesc->sc_dmam,
- sc->sc_mem, LE_ISA_MEMSIZE, NULL, BUS_DMA_NOWAIT)) {
- printf("%s: coundn't load DMA map\n",
- sc->sc_dev.dv_xname);
- bus_dmamem_free(dmat, &seg, rseg);
- return;
- }
-
- sc->sc_conf3 = 0;
- sc->sc_addr = lesc->sc_dmam->dm_segs[0].ds_addr;
- sc->sc_memsize = LE_ISA_MEMSIZE;
+ if (bus_dmamap_create(dmat, LE_ISA_MEMSIZE, 1,
+ LE_ISA_MEMSIZE, 0, BUS_DMA_NOWAIT, &lesc->sc_dmam)) {
+ printf("%s: couldn't create DMA map\n",
+ sc->sc_dev.dv_xname);
+ bus_dmamem_free(dmat, &seg, rseg);
+ return;
}
-
- if (lesc->sc_card == DEPCA) {
- sc->sc_copytodesc = depca_copytobuf;
- sc->sc_copyfromdesc = depca_copyfrombuf;
- sc->sc_copytobuf = depca_copytobuf;
- sc->sc_copyfrombuf = depca_copyfrombuf;
- sc->sc_zerobuf = depca_zerobuf;
- } else {
- sc->sc_copytodesc = am7990_copytobuf_contig;
- sc->sc_copyfromdesc = am7990_copyfrombuf_contig;
- sc->sc_copytobuf = am7990_copytobuf_contig;
- sc->sc_copyfrombuf = am7990_copyfrombuf_contig;
- sc->sc_zerobuf = am7990_zerobuf_contig;
+ if (bus_dmamap_load(dmat, lesc->sc_dmam,
+ sc->sc_mem, LE_ISA_MEMSIZE, NULL, BUS_DMA_NOWAIT)) {
+ printf("%s: coundn't load DMA map\n",
+ sc->sc_dev.dv_xname);
+ bus_dmamem_free(dmat, &seg, rseg);
+ return;
}
+ sc->sc_conf3 = 0;
+ sc->sc_addr = lesc->sc_dmam->dm_segs[0].ds_addr;
+ sc->sc_memsize = LE_ISA_MEMSIZE;
+
+ sc->sc_copytodesc = am7990_copytobuf_contig;
+ sc->sc_copyfromdesc = am7990_copyfrombuf_contig;
+ sc->sc_copytobuf = am7990_copytobuf_contig;
+ sc->sc_copyfrombuf = am7990_copyfrombuf_contig;
+ sc->sc_zerobuf = am7990_zerobuf_contig;
+
sc->sc_rdcsr = le_isa_rdcsr;
sc->sc_wrcsr = le_isa_wrcsr;
sc->sc_hwinit = NULL;
@@ -537,7 +361,7 @@ le_isa_attach(parent, self, aux)
am7990_config(sc);
if (ia->ia_drq != DRQUNK)
- isa_dmacascade(parent, ia->ia_drq);
+ isa_dmacascade(parent->dv_parent, ia->ia_drq);
lesc->sc_ih = isa_intr_establish(ia->ia_ic, ia->ia_irq, IST_EDGE,
IPL_NET, le_isa_intredge, sc);
@@ -557,47 +381,3 @@ le_isa_intredge(arg)
if (am7990_intr(arg) == 0)
return (1);
}
-
-/*
- * DEPCA shared memory access functions.
- */
-
-void
-depca_copytobuf(sc, from, boff, len)
- struct am7990_softc *sc;
- void *from;
- int boff, len;
-{
- struct le_softc *lesc = (struct le_softc *)sc;
-
- bus_space_write_region_1(lesc->sc_memt, lesc->sc_memh, boff,
- from, len);
-}
-
-void
-depca_copyfrombuf(sc, to, boff, len)
- struct am7990_softc *sc;
- void *to;
- int boff, len;
-{
- struct le_softc *lesc = (struct le_softc *)sc;
-
- bus_space_read_region_1(lesc->sc_memt, lesc->sc_memh, boff,
- to, len);
-}
-
-void
-depca_zerobuf(sc, boff, len)
- struct am7990_softc *sc;
- int boff, len;
-{
- struct le_softc *lesc = (struct le_softc *)sc;
-
-#if 0 /* XXX !! */
- bus_space_set_region_1(lesc->sc_memt, lesc->sc_memh, boff,
- 0x00, len);
-#else
- for (; len != 0; boff++, len--)
- bus_space_write_1(lesc->sc_memt, lesc->sc_memh, boff, 0x00);
-#endif
-}
diff --git a/sys/dev/isa/if_levar.h b/sys/dev/isa/if_levar.h
index a95625824e9..6e571efafdf 100644
--- a/sys/dev/isa/if_levar.h
+++ b/sys/dev/isa/if_levar.h
@@ -1,4 +1,4 @@
-/* $NetBSD: if_levar.h,v 1.10 1997/09/10 03:05:40 mycroft Exp $ */
+/* $NetBSD: if_levar.h,v 1.11 1998/04/16 17:51:46 drochner Exp $ */
/*
* LANCE Ethernet driver header file
@@ -13,27 +13,12 @@
* for damages incurred with its use.
*/
-/* Board types */
-#define BICC 1
#define BICC_RDP 0xc
#define BICC_RAP 0xe
-#define NE2100 2
-#define PCnet_ISA 4
#define NE2100_RDP 0x10
#define NE2100_RAP 0x12
-#define DEPCA 3
-#define DEPCA_CSR 0x0
-#define DEPCA_CSR_SHE 0x80 /* Shared memory enabled */
-#define DEPCA_CSR_LOW32K 0x40 /* Map lower 32K chunk */
-#define DEPCA_CSR_DUM 0x08 /* rev E compatibility */
-#define DEPCA_CSR_IM 0x04 /* Interrupt masked */
-#define DEPCA_CSR_IEN 0x02 /* Interrupt enabled */
-#define DEPCA_RDP 0x4
-#define DEPCA_RAP 0x6
-#define DEPCA_ADP 0xc
-
/*
* Ethernet software status per interface.
*
@@ -46,11 +31,8 @@ struct le_softc {
void *sc_ih;
bus_space_tag_t sc_iot;
- bus_space_tag_t sc_memt;
bus_space_handle_t sc_ioh;
- bus_space_handle_t sc_memh;
- bus_dma_tag_t sc_dmat; /* DMA glue for non-DEPCA */
+ bus_dma_tag_t sc_dmat; /* DMA glue */
bus_dmamap_t sc_dmam;
- int sc_card;
int sc_rap, sc_rdp; /* offsets to LANCE registers */
};