File: ns9750_eth.h

package info (click to toggle)
softgun 0.14-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 3,040 kB
  • ctags: 11,989
  • sloc: ansic: 70,651; makefile: 232
file content (179 lines) | stat: -rw-r--r-- 5,709 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
#include <bus.h>
#include <phy.h>

#define NS9750_ETH_BASE		(0xa0600000)
#define NS9750_ETH_MAPSIZE	(0x2000)

#define NS9750_ETH_EGCR1	(0xa0600000)
#define NS9750_ETH_EGCR2	(0xa0600004)
#define NS9750_ETH_EGSR		(0xa0600008)
#define NS9750_ETH_ETSR		(0xa0600018)
#define NS9750_ETH_ERSR		(0xa060001c)
#define NS9750_ETH_MAC1		(0xa0600400)
#define NS9750_ETH_MAC2		(0xa0600404)
#define NS9750_ETH_IPGT		(0xa0600408)
#define NS9750_ETH_IPGR		(0xa060040c)
#define NS9750_ETH_CLRT		(0xa0600410)
#define NS9750_ETH_MAXF		(0xa0600414)
#define NS9750_ETH_SUPP		(0xa0600418)
#define NS9750_ETH_MCFG		(0xa0600420)
#define NS9750_ETH_MCMD		(0xa0600424)
#define NS9750_ETH_MADR		(0xa0600428)
#define NS9750_ETH_MWTD		(0xa060042c)
#define NS9750_ETH_MRDD		(0xa0600430)
#define NS9750_ETH_MIND		(0xa0600434)
#define NS9750_ETH_SA1		(0xa0600440)
#define NS9750_ETH_SA2		(0xa0600444)
#define NS9750_ETH_SA3		(0xa0600448)
#define NS9750_ETH_SAFR		(0xa0600500)
#define NS9750_ETH_HT1		(0xa0600504)
#define NS9750_ETH_HT2		(0xa0600508)

#define NS9750_ETH_TR64		(0xa0600680)
#define	NS9750_ETH_TR127	(0xa0600084)	
#define	NS9750_ETH_TR255	(0xa0600088)	
#define	NS9750_ETH_TR511	(0xa060008c)	
#define	NS9750_ETH_TR1K		(0xa0600090)	
#define	NS9750_ETH_TRMAX	(0xa0600094)	
#define	NS9750_ETH_TRMGV	(0xa0600098)
#define NS9750_ETH_RBYT		(0xa060069c)
#define NS9750_ETH_RPKT		(0xa06006a0)
#define NS9750_ETH_RFCS		(0xa06006a4)
#define NS9750_ETH_RMCA		(0xa06006a8)
#define NS9750_ETH_RBCA		(0xa06006ac)
#define NS9750_ETH_RXCF		(0xa06006b0)
#define NS9750_ETH_RXPF		(0xa06006b4)
#define NS9750_ETH_RXUO		(0xa06006b8)
#define NS9750_ETH_RALN		(0xa06006bc)
#define NS9750_ETH_RFLR		(0xa06006c0)
#define NS9750_ETH_RCDE		(0xa06006c4)
#define NS9750_ETH_RCSE		(0xa06006c8)
#define	NS9750_ETH_RUND		(0xa06006cc)
#define NS9750_ETH_ROVR		(0xa06006d0)
#define NS9750_ETH_RFRG		(0xa06006d4)
#define NS9750_ETH_RJBR		(0xa06006d8)
#define NS9750_ETH_TBYT		(0xa06006e0)
#define NS9750_ETH_TPKT		(0xa06006e4)
#define NS9750_ETH_TMCA		(0xa06006e8)
#define NS9750_ETH_TBCA		(0xa06006ec)
#define NS9750_ETH_TDFR		(0xa06006f4)
#define NS9750_ETH_TEDF		(0xa06006f8)
#define NS9750_ETH_TSCL		(0xa06006fc)
#define NS9750_ETH_TMCL		(0xa0600700)
#define NS9750_ETH_TLCL		(0xa0600704)
#define NS9750_ETH_TXCL		(0xa0600708)
#define NS9750_ETH_TNCL		(0xa060070c)
#define NS9750_ETH_TJBR		(0xa0600718)
#define NS9750_ETH_TFCS		(0xa060071c)
#define NS9750_ETH_TOVR		(0xa0600724)
#define NS9750_ETH_TUND		(0xa0600728)
#define NS9750_ETH_TFRG		(0xa060072c)
#define NS9750_ETH_CAR1		(0xa0600730)
#define		ETH_C164	(1<<31)
#define		ETH_C1127	(1<<30)
#define		ETH_C1255	(1<<29)
#define		ETH_C1511	(1<<28)
#define		ETH_C11K	(1<<27)
#define		ETH_C1MAX	(1<<26)
#define		ETH_C1MGV	(1<<25)
#define		ETH_C1RBY	(1<<16)
#define		ETH_C1RPK	(1<<15)
#define		ETH_C1RFC	(1<<14)
#define		ETH_C1RMC	(1<<13)
#define		ETH_C1RBC	(1<<12)
#define		ETH_C1RXC	(1<<11)
#define		ETH_C1RXP	(1<<10)
#define		ETH_C1RXU	(1<<9)
#define		ETH_C1RAL	(1<<8)
#define		ETH_C1RFL	(1<<7)
#define		ETH_C1RCD	(1<<6)
#define 	ETH_C1RCS	(1<<5)
#define		ETH_C1RUN	(1<<4)
#define		ETH_C1ROV	(1<<3)
#define 	ETH_C1RFR	(1<<2)
#define	 	ETH_C1RJB	(1<<1)

#define NS9750_ETH_CAR2		(0xa0600734)
#define		ETH_C2TJB	(1<<19)
#define		ETH_C2TFC	(1<<18)
#define		ETH_C2TOV	(1<<16)
#define		ETH_C2TUN	(1<<15)
#define		ETH_C2TFG	(1<<14)
#define		ETH_C2TBY	(1<<13)
#define		ETH_C2TPK	(1<<12)
#define		ETH_C2TMC	(1<<11)
#define		ETH_C2TBC	(1<<10)
#define		ETH_C2TDF	(1<<8)
#define		ETH_C2TED	(1<<7)
#define		ETH_C2TSC	(1<<6)
#define		ETH_C2TMA	(1<<5)
#define		ETH_C2TLC	(1<<4)
#define		ETH_C2TXC	(1<<3)
#define	 	ETH_C2TNC	(1<<2)
#define NS9750_ETH_CAM1		(0xa0600738)
#define		ETH_M164	(1<<31)
#define		ETH_M1127	(1<<30)
#define		ETH_M1255	(1<<29)
#define		ETH_M1511	(1<<28)
#define		ETH_M111K	(1<<27)
#define		ETH_M1MAX	(1<<26)
#define		ETH_M1MGV	(1<<25)
#define		ETH_M1RBY	(1<<16)
#define		ETH_M1RPK	(1<<15)
#define		ETH_M1RFC	(1<<14)
#define		ETH_M1RMC	(1<<13)
#define		ETH_M1RBC	(1<<12)
#define		ETH_M1RXC	(1<<11)
#define		ETH_M1RXP	(1<<10)
#define		ETH_M1RXU	(1<<9)
#define		ETH_M1RAL	(1<<8)
#define		ETH_M1RFL	(1<<7)
#define		ETH_M1RCD	(1<<6)
#define 	ETH_M1RCS	(1<<5)
#define		ETH_M1RUN	(1<<4)
#define		ETH_M1ROV	(1<<3)
#define 	ETH_M1RFR	(1<<2)
#define	 	ETH_M1RJB	(1<<1)
#define NS9750_ETH_CAM2		(0xa060073c)
#define		ETH_M2TJB	(1<<19)
#define		ETH_M2TFC	(1<<18)
#define		ETH_M2TOV	(1<<16)
#define		ETH_M2TUN	(1<<15)
#define		ETH_M2TFG	(1<<14)
#define		ETH_M2TBY	(1<<13)
#define		ETH_M2TPK	(1<<12)
#define		ETH_M2TMC	(1<<11)
#define		ETH_M2TBC	(1<<10)
#define		ETH_M2TDF	(1<<8)
#define		ETH_M2TED	(1<<7)
#define		ETH_M2TSC	(1<<6)
#define		ETH_M2TMA	(1<<5)
#define		ETH_M2TLC	(1<<4)
#define		ETH_M2TXC	(1<<3)
#define	 	ETH_M2TNC	(1<<2)

#define NS9750_ETH_RXAPTR	(0xa0600a00)
#define NS9750_ETH_RXBPTR	(0xa0600a04)
#define NS9750_ETH_RXCPTR	(0xa0600a08)
#define NS9750_ETH_RXDPTR	(0xa0600a0c)
#define NS9750_ETH_EINTR	(0xa0600a10)
#define NS9750_ETH_EINTREN	(0xa0600a14)
#define NS9750_ETH_TXPTR	(0xa0600a18)
#define NS9750_ETH_TXRPTR	(0xa0600a1c)
#define NS9750_ETH_TXERBD	(0xa0600a20)
#define	NS9750_ETH_TXSPTR	(0xa0600a24)
#define NS9750_ETH_RXAOFF	(0xa0600a28)
#define NS9750_ETH_RXBOFF	(0xa0600a2c)
#define NS9750_ETH_RXCOFF	(0xa0600a30)
#define NS9750_ETH_RXDOFF	(0xa0600a34)
#define NS9750_ETH_TXOFF	(0xa0600a38)
#define NS9750_ETH_RXFREE	(0xa0600a3c)
#define NS9750_ETH_TXBD		(0xa0601000)

/* System Controller Interrupt relative Interrupt numbers */
#define NS9750_IRQ_ETH_RECEIVE         4
#define NS9750_IRQ_ETH_TRANSMIT        5
#define NS9750_IRQ_ETH_PHY             6

BusDevice *NS9750_EthInit(const char *devname);
int NS9750_EthRegisterPhy(BusDevice *dev,PHY_Device *phy,unsigned int phy_addr);