Home | History | Annotate | Line # | Download | only in isa
if_elreg.h revision 1.1
      1  1.1  hpeyerl /* Copyright (c) 1994, Matthew E. Kimmel.  Permission is hereby granted
      2  1.1  hpeyerl  * to use, copy, modify and distribute this software provided that both
      3  1.1  hpeyerl  * the copyright notice and this permission notice appear in all copies
      4  1.1  hpeyerl  * of the software, derivative works or modified versions, and any
      5  1.1  hpeyerl  * portions thereof.
      6  1.1  hpeyerl  */
      7  1.1  hpeyerl /* 3COM Etherlink 3C501 Register Definitions */
      8  1.1  hpeyerl 
      9  1.1  hpeyerl /* I/O Ports */
     10  1.1  hpeyerl #define EL_RXS	0x6	/* Receive status register */
     11  1.1  hpeyerl #define EL_RXC	0x6	/* Receive command register */
     12  1.1  hpeyerl #define EL_TXS	0x7	/* Transmit status register */
     13  1.1  hpeyerl #define EL_TXC	0x7	/* Transmit command register */
     14  1.1  hpeyerl #define EL_GPBL	0x8	/* GP buffer ptr low byte */
     15  1.1  hpeyerl #define EL_GPBH	0x9	/* GP buffer ptr high byte */
     16  1.1  hpeyerl #define EL_RBL	0xa	/* Receive buffer ptr low byte */
     17  1.1  hpeyerl #define EL_RBC	0xa	/* Receive buffer clear */
     18  1.1  hpeyerl #define EL_RBH	0xb	/* Receive buffer ptr high byte */
     19  1.1  hpeyerl #define EL_EAW	0xc	/* Ethernet address window */
     20  1.1  hpeyerl #define EL_AS	0xe	/* Auxillary status register */
     21  1.1  hpeyerl #define EL_AC	0xe	/* Auxillary command register */
     22  1.1  hpeyerl #define EL_BUF	0xf	/* Data buffer */
     23  1.1  hpeyerl 
     24  1.1  hpeyerl /* Receive status register bits */
     25  1.1  hpeyerl #define EL_RXS_OFLOW	0x01	/* Overflow error */
     26  1.1  hpeyerl #define EL_RXS_FCS	0x02	/* FCS error */
     27  1.1  hpeyerl #define EL_RXS_DRIB	0x04	/* Dribble error */
     28  1.1  hpeyerl #define EL_RXS_SHORT	0x08	/* Short frame */
     29  1.1  hpeyerl #define EL_RXS_NOFLOW	0x10	/* No overflow */
     30  1.1  hpeyerl #define	EL_RXS_GOOD	0x20	/* Received good frame */
     31  1.1  hpeyerl #define EL_RXS_STALE	0x80	/* Stale receive status */
     32  1.1  hpeyerl 
     33  1.1  hpeyerl /* Receive command register bits */
     34  1.1  hpeyerl #define EL_RXC_DISABLE	0x00	/* Receiver disabled */
     35  1.1  hpeyerl #define EL_RXC_DOFLOW	0x01	/* Detect overflow */
     36  1.1  hpeyerl #define EL_RXC_DFCS	0x02	/* Detect FCS errs */
     37  1.1  hpeyerl #define EL_RXC_DDRIB	0x04	/* Detect dribble errors */
     38  1.1  hpeyerl #define EL_RXC_DSHORT	0x08	/* Detect short frames */
     39  1.1  hpeyerl #define EL_RXC_DNOFLOW	0x10	/* Detect frames w/o overflow ??? */
     40  1.1  hpeyerl #define EL_RXC_AGF	0x20	/* Accept Good Frames */
     41  1.1  hpeyerl #define EL_RXC_PROMISC	0x40	/* Promiscuous mode */
     42  1.1  hpeyerl #define EL_RXC_ABROAD	0x80	/* Accept address, broadcast */
     43  1.1  hpeyerl #define EL_RXC_AMULTI	0xc0	/* Accept address, multicast */
     44  1.1  hpeyerl 
     45  1.1  hpeyerl /* Transmit status register bits */
     46  1.1  hpeyerl #define EL_TXS_UFLOW	0x01	/* Underflow */
     47  1.1  hpeyerl #define EL_TXS_COLL	0x02	/* Collision */
     48  1.1  hpeyerl #define EL_TXS_COLL16	0x04	/* Collision 16 */
     49  1.1  hpeyerl #define EL_TXS_READY	0x08	/* Ready for new frame */
     50  1.1  hpeyerl 
     51  1.1  hpeyerl /* Transmit command register bits */
     52  1.1  hpeyerl #define EL_TXC_DUFLOW	0x01	/* Detect underflow */
     53  1.1  hpeyerl #define EL_TXC_DCOLL	0x02	/* Detect collisions */
     54  1.1  hpeyerl #define EL_TXC_DCOLL16	0x04	/* Detect collision 16 */
     55  1.1  hpeyerl #define EL_TXC_DSUCCESS	0x08	/* Detect success */
     56  1.1  hpeyerl 
     57  1.1  hpeyerl /* Auxillary status register bits */
     58  1.1  hpeyerl #define EL_AS_RXBUSY	0x01	/* Receive busy */
     59  1.1  hpeyerl #define EL_AS_DMADONE	0x10	/* DMA finished */
     60  1.1  hpeyerl #define EL_AS_TXBUSY	0x80	/* Transmit busy */
     61  1.1  hpeyerl 
     62  1.1  hpeyerl /* Auxillary command register bits */
     63  1.1  hpeyerl #define EL_AC_HOST	0x00	/* System bus can access buffer */
     64  1.1  hpeyerl #define EL_AC_IRQE	0x01	/* IRQ enable */
     65  1.1  hpeyerl #define EL_AC_TXBAD	0x02	/* Transmit frames with bad FCS */
     66  1.1  hpeyerl #define EL_AC_TXFRX	0x04	/* Transmit followed by receive */
     67  1.1  hpeyerl #define EL_AC_RX	0x08	/* Receive */
     68  1.1  hpeyerl #define EL_AC_LB	0x0c	/* Loopback */
     69  1.1  hpeyerl #define EL_AC_DRQ	0x20	/* DMA request */
     70  1.1  hpeyerl #define EL_AC_RIDE	0x40	/* DRQ and IRQ enabled */
     71  1.1  hpeyerl #define EL_AC_RESET	0x80	/* Reset */
     72  1.1  hpeyerl 
     73  1.1  hpeyerl /* Packet buffer size */
     74  1.1  hpeyerl #define EL_BUFSIZ	2048
     75  1.1  hpeyerl 
     76  1.1  hpeyerl #define ETHER_ADDR_LEN	6
     77