• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* mostly stolen from FreeBSD if_de.c, if_devar.h */
2 
3 #define TULIP_CSR_READ(csr)		(membase[csr*2])
4 #define CSR_READ(csr)			(membase[csr*2])
5 #define TULIP_CSR_WRITE(csr, val)	(membase[csr*2] = val)
6 #define CSR_WRITE(csr, val)		(membase[csr*2] = val)
7 
8 #define csr_0			0
9 #define csr_1			1
10 #define csr_2			2
11 #define csr_3			3
12 #define csr_4			4
13 #define csr_5			5
14 #define csr_6			6
15 #define csr_7			7
16 #define csr_8			8
17 #define csr_9			9
18 #define csr_10			10
19 #define csr_11			11
20 #define csr_12			12
21 #define csr_13			13
22 #define csr_14			14
23 #define csr_15			15
24 
25 #define csr_busmode		csr_0
26 #define csr_txpoll		csr_1
27 #define csr_rxpoll		csr_2
28 #define csr_rxlist		csr_3
29 #define csr_txlist		csr_4
30 #define csr_status		csr_5
31 #define csr_command		csr_6
32 #define csr_intr		csr_7
33 #define csr_missed_frames	csr_8
34 #define csr_enetrom		csr_9		/* 21040 */
35 #define csr_reserved		csr_10		/* 21040 */
36 #define csr_full_duplex		csr_11		/* 21040 */
37 #define csr_bootrom		csr_10		/* 21041/21140A/?? */
38 #define csr_gp			csr_12		/* 21140* */
39 #define csr_watchdog		csr_15		/* 21140* */
40 #define csr_gp_timer		csr_11		/* 21041/21140* */
41 #define csr_srom_mii		csr_9		/* 21041/21140* */
42 #define csr_sia_status		csr_12		/* 2104x */
43 #define csr_sia_connectivity	csr_13		/* 2104x */
44 #define csr_sia_tx_rx		csr_14		/* 2104x */
45 #define csr_sia_general		csr_15		/* 2104x */
46 
47 #define SROMSEL		0x0800
48 #define SROMCS		0x0001
49 #define SROMCLKON	0x0002
50 #define SROMCLKOFF	0x0002
51 #define SROMRD		0x4000
52 #define SROMWR		0x2000
53 #define SROM_BITWIDTH	6
54 #define SROMCMD_RD	6
55 #define SROMCSON	0x0001
56 #define SROMDOUT	0x0004
57 #define SROMDIN		0x0008
58 
59 
60 struct txdesc {
61 	unsigned long	status;		/* owner, status */
62 	unsigned long	buf1sz:11,	/* size of buffer 1 */
63 			buf2sz:11,	/* size of buffer 2 */
64 			control:10;	/* control bits */
65 	const unsigned char *buf1addr;	/* buffer 1 address */
66 	const unsigned char *buf2addr;	/* buffer 2 address */
67 };
68 
69 struct rxdesc {
70 	unsigned long	status;		/* owner, status */
71 	unsigned long	buf1sz:11,	/* size of buffer 1 */
72 			buf2sz:11,	/* size of buffer 2 */
73 			control:10;	/* control bits */
74 	unsigned char	*buf1addr;	/* buffer 1 address */
75 	unsigned char	*buf2addr;	/* buffer 2 address */
76 };
77