diff --git a/sys/arch/mac68k/dev/if_ae.c b/sys/arch/mac68k/dev/if_ae.c index 398a795d97ac..56158aabab47 100644 --- a/sys/arch/mac68k/dev/if_ae.c +++ b/sys/arch/mac68k/dev/if_ae.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_ae.c,v 1.32 1995/07/30 02:44:27 briggs Exp $ */ +/* $NetBSD: if_ae.c,v 1.33 1995/07/30 13:38:04 briggs Exp $ */ /* * Device driver for National Semiconductor DS8390/WD83C690 based ethernet @@ -214,6 +214,9 @@ ae_id_card(slot, sc) case NUBUS_DRSW_ASANTE: sc->vendor = AE_VENDOR_ASANTE; break; + case NUBUS_DRSW_FARALLON: + sc->vendor = AE_VENDOR_FARALLON; + break; case NUBUS_DRSW_GATOR: switch (slottype.drhw) { default: @@ -343,6 +346,19 @@ aeprobe(parent, match, aux) return (0); /* Since we don't work yet... */ break; + case AE_VENDOR_FARALLON: + sc->regs_rev = 1; + sc->rom_addr = addr + FE_ROM_OFFSET; + sc->nic_addr = addr + AE_NIC_OFFSET; + sc->mem_start = addr + AE_DATA_OFFSET; + if ((memsize = ae_size_card_memory(sc)) == 0) + return (0); + + /* Get station address from on-board ROM */ + for (i = 0; i < ETHER_ADDR_LEN; ++i) + sc->sc_arpcom.ac_enaddr[i] = *(sc->rom_addr + i); + break; + default: return (0); break; diff --git a/sys/arch/mac68k/dev/if_aereg.h b/sys/arch/mac68k/dev/if_aereg.h index 32ab54f7d929..ab42ac25748d 100644 --- a/sys/arch/mac68k/dev/if_aereg.h +++ b/sys/arch/mac68k/dev/if_aereg.h @@ -1,4 +1,4 @@ -/* $NetBSD: if_aereg.h,v 1.10 1995/06/28 04:31:10 cgd Exp $ */ +/* $NetBSD: if_aereg.h,v 1.11 1995/07/30 13:38:08 briggs Exp $ */ /* * National Semiconductor DS8390 NIC register definitions. @@ -30,6 +30,7 @@ struct ae_ring { #define AE_VENDOR_INTERLAN 0x01 /* Interlan A310 card (GatorCard) */ #define AE_VENDOR_DAYNA 0x02 /* DaynaPORT E/30s (and others?) */ #define AE_VENDOR_ASANTE 0x03 /* Asante MacCon II/E */ +#define AE_VENDOR_FARALLON 0x04 /* Farallon EtherMac II-TP */ /* * Compile-time config flags @@ -57,3 +58,5 @@ struct ae_ring { #define AE_ROM_OFFSET 0x000f0000 #define AE_DATA_OFFSET 0x000d0000 /* Offset to NIC memory */ #define AE_NIC_OFFSET 0x000e0000 /* Offset to NIC registers */ + +#define FE_ROM_OFFSET 0x000d0006 /* Determined empirically */