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