mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-20 22:48:22 +00:00
77 lines
2.1 KiB
C
77 lines
2.1 KiB
C
/* mostly stolen from FreeBSD if_de.c, if_devar.h */
|
|
|
|
#define TULIP_CSR_READ(csr) (membase[csr*2])
|
|
#define CSR_READ(csr) (membase[csr*2])
|
|
#define TULIP_CSR_WRITE(csr, val) (membase[csr*2] = val)
|
|
#define CSR_WRITE(csr, val) (membase[csr*2] = val)
|
|
|
|
#define csr_0 0
|
|
#define csr_1 1
|
|
#define csr_2 2
|
|
#define csr_3 3
|
|
#define csr_4 4
|
|
#define csr_5 5
|
|
#define csr_6 6
|
|
#define csr_7 7
|
|
#define csr_8 8
|
|
#define csr_9 9
|
|
#define csr_10 10
|
|
#define csr_11 11
|
|
#define csr_12 12
|
|
#define csr_13 13
|
|
#define csr_14 14
|
|
#define csr_15 15
|
|
|
|
#define csr_busmode csr_0
|
|
#define csr_txpoll csr_1
|
|
#define csr_rxpoll csr_2
|
|
#define csr_rxlist csr_3
|
|
#define csr_txlist csr_4
|
|
#define csr_status csr_5
|
|
#define csr_command csr_6
|
|
#define csr_intr csr_7
|
|
#define csr_missed_frames csr_8
|
|
#define csr_enetrom csr_9 /* 21040 */
|
|
#define csr_reserved csr_10 /* 21040 */
|
|
#define csr_full_duplex csr_11 /* 21040 */
|
|
#define csr_bootrom csr_10 /* 21041/21140A/?? */
|
|
#define csr_gp csr_12 /* 21140* */
|
|
#define csr_watchdog csr_15 /* 21140* */
|
|
#define csr_gp_timer csr_11 /* 21041/21140* */
|
|
#define csr_srom_mii csr_9 /* 21041/21140* */
|
|
#define csr_sia_status csr_12 /* 2104x */
|
|
#define csr_sia_connectivity csr_13 /* 2104x */
|
|
#define csr_sia_tx_rx csr_14 /* 2104x */
|
|
#define csr_sia_general csr_15 /* 2104x */
|
|
|
|
#define SROMSEL 0x0800
|
|
#define SROMCS 0x0001
|
|
#define SROMCLKON 0x0002
|
|
#define SROMCLKOFF 0x0002
|
|
#define SROMRD 0x4000
|
|
#define SROMWR 0x2000
|
|
#define SROM_BITWIDTH 6
|
|
#define SROMCMD_RD 6
|
|
#define SROMCSON 0x0001
|
|
#define SROMDOUT 0x0004
|
|
#define SROMDIN 0x0008
|
|
|
|
|
|
struct txdesc {
|
|
unsigned long status; /* owner, status */
|
|
unsigned long buf1sz:11, /* size of buffer 1 */
|
|
buf2sz:11, /* size of buffer 2 */
|
|
control:10; /* control bits */
|
|
const unsigned char *buf1addr; /* buffer 1 address */
|
|
const unsigned char *buf2addr; /* buffer 2 address */
|
|
};
|
|
|
|
struct rxdesc {
|
|
unsigned long status; /* owner, status */
|
|
unsigned long buf1sz:11, /* size of buffer 1 */
|
|
buf2sz:11, /* size of buffer 2 */
|
|
control:10; /* control bits */
|
|
unsigned char *buf1addr; /* buffer 1 address */
|
|
unsigned char *buf2addr; /* buffer 2 address */
|
|
};
|