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 #ifndef _IF_CASREG_H
34 #define _IF_CASREG_H
35
36
37
38
39
40
41
42
43
44
45 #define CAS_SEB_STATE 0x0000
46 #define CAS_CONFIG 0x0004
47 #define CAS_STATUS 0x000c
48
49 #define CAS_INTMASK 0x0010
50 #define CAS_INTACK 0x0014
51 #define CAS_STATUS_ALIAS 0x001c
52
53
54 #define CAS_ERROR_STATUS 0x1000
55 #define CAS_ERROR_MASK 0x0004
56 #define CAS_BIF_CONFIG 0x0008
57 #define CAS_BIF_DIAG 0x000c
58 #define CAS_RESET 0x1010
59
60
61 #define CAS_SEB_ARB 0x000000002
62 #define CAS_SEB_RXWON 0x000000004
63
64
65 #define CAS_CONFIG_BURST_64 0x000000000
66 #define CAS_CONFIG_BURST_INF 0x000000001
67 #define CAS_CONFIG_TXDMA_LIMIT 0x00000003e
68 #define CAS_CONFIG_RXDMA_LIMIT 0x0000007c0
69
70 #define CAS_CONFIG_TXDMA_LIMIT_SHIFT 1
71 #define CAS_CONFIG_RXDMA_LIMIT_SHIFT 6
72
73
74 #define CAS_STATUS_TX_COMPL 0xfff800000
75
76
77
78
79
80 #define CAS_INTR_TX_INTME 0x000000001
81 #define CAS_INTR_TX_EMPTY 0x000000002
82 #define CAS_INTR_TX_DONE 0x000000004
83 #define CAS_INTR_TX_TAG_ERR 0x000000008
84 #define CAS_INTR_RX_DONE 0x000000010
85 #define CAS_INTR_RX_NOBUF 0x000000020
86 #define CAS_INTR_RX_TAG_ERR 0x000000040
87 #define CAS_INTR_RX_COMP_FULL 0x000000080
88 #define CAS_INTR_PCS 0x000002000
89 #define CAS_INTR_TX_MAC 0x000004000
90 #define CAS_INTR_RX_MAC 0x000008000
91 #define CAS_INTR_MAC_CONTROL 0x000010000
92 #define CAS_INTR_MIF 0x000020000
93 #define CAS_INTR_BERR 0x000040000
94 #define CAS_INTR_BITS "\020" \
95 "\1INTME\2TXEMPTY\3TXDONE\4TX_TAG_ERR" \
96 "\5RXDONE\6RXNOBUF\7RX_TAG_ERR" \
97 "\10RX_COMP_FULL" \
98 "\16PCS\17TXMAC\20RXMAC" \
99 "\21MACCONTROL\22MIF\23BERR"
100
101
102 #define CAS_ERROR_STAT_BADACK 0x000000001
103 #define CAS_ERROR_STAT_DTRTO 0x000000002
104 #define CAS_ERROR_STAT_OTHERS 0x000000004
105
106
107 #define CAS_BIF_CONFIG_SLOWCLK 0x000000001
108 #define CAS_BIF_CONFIG_HOST_64 0x000000002
109 #define CAS_BIF_CONFIG_B64D_DIS 0x000000004
110 #define CAS_BIF_CONFIG_M66EN 0x000000008
111
112
113 #define CAS_RESET_TX 0x000000001
114 #define CAS_RESET_RX 0x000000002
115 #define CAS_RESET_RSTOUT 0x000000004
116
117
118 #define CAS_TX_CONFIG 0x2004
119
120 #define CAS_TX_FIFO_WR_PTR 0x2014
121 #define CAS_TX_FIFO_SDWR_PTR 0x2018
122 #define CAS_TX_FIFO_RD_PTR 0x201c
123 #define CAS_TX_FIFO_SDRD_PTR 0x2020
124 #define CAS_TX_FIFO_PKT_CNT 0x2024
125
126 #define CAS_TX_STATE_MACHINE 0x2028
127 #define CAS_TX_DATA_PTR 0x2030
128
129 #define CAS_TX_KICK1 0x2038
130 #define CAS_TX_KICK2 0x203c
131 #define CAS_TX_KICK3 0x2040
132 #define CAS_TX_KICK4 0x2044
133 #define CAS_TX_COMPLETION1 0x2048
134 #define CAS_TX_COMPLETION2 0x204c
135 #define CAS_TX_COMPLETION3 0x2050
136 #define CAS_TX_COMPLETION4 0x2054
137 #define CAS_TX_RING_PTR_LO1 0x2060
138 #define CAS_TX_RING_PTR_HI1 0x2064
139 #define CAS_TX_RING_PTR_LO2 0x2068
140 #define CAS_TX_RING_PTR_HI2 0x206c
141 #define CAS_TX_RING_PTR_LO3 0x2070
142 #define CAS_TX_RING_PTR_HI3 0x2074
143 #define CAS_TX_RING_PTR_LO4 0x2078
144 #define CAS_TX_RING_PTR_HI4 0x207c
145 #define CAS_TX_MAXBURST1 0x2080
146 #define CAS_TX_MAXBURST2 0x2084
147 #define CAS_TX_MAXBURST3 0x2088
148 #define CAS_TX_MAXBURST4 0x208c
149
150 #define CAS_TX_KICK CAS_TX_KICK3
151 #define CAS_TX_RING_PTR_LO CAS_TX_RING_PTR_LO3
152 #define CAS_TX_RING_PTR_HI CAS_TX_RING_PTR_HI3
153
154 #define CAS_TX_FIFO_ADDRESS 0x2104
155 #define CAS_TX_FIFO_TAG 0x2108
156 #define CAS_TX_FIFO_DATA_LO 0x210c
157 #define CAS_TX_FIFO_DATA_HI_T1 0x2110
158 #define CAS_TX_FIFO_DATA_HI_T0 0x2114
159 #define CAS_TX_FIFO_SIZE 0x2118
160 #define CAS_TX_DEBUG 0x3028
161
162
163 #define CAS_TX_CONFIG_TXDMA_EN 0x00000001
164 #define CAS_TX_CONFIG_TXRING_SZ 0x0000003c
165 #define CAS_TX_CONFIG_PACED 0x00100000
166
167 #define CAS_RING_SZ_32 0
168 #define CAS_RING_SZ_64 1
169 #define CAS_RING_SZ_128 2
170 #define CAS_RING_SZ_256 3
171 #define CAS_RING_SZ_512 4
172 #define CAS_RING_SZ_1024 5
173 #define CAS_RING_SZ_2048 6
174 #define CAS_RING_SZ_4096 7
175 #define CAS_RING_SZ_8192 8
176
177
178 #define CAS_TX_COMPLETION_MASK 0x00001fff
179
180
181 #define CAS_RX_CONFIG 0x4000
182 #define CAS_RX_PAGE_SIZE 0x4004
183 #define CAS_RX_FIFO_WR_PTR 0x4008
184 #define CAS_RX_FIFO_RD_PTR 0x400c
185 #define CAS_RX_IPPFIFO_WR_PTR 0x4010
186 #define CAS_RX_IPPFIFO_RD_PTR 0x4014
187 #define CAS_RX_IPPFIFO_SDWR_PTR 0x4018
188 #define CAS_RX_DEBUG 0x401c
189 #define CAS_RX_PAUSE_THRESH 0x4020
190 #define CAS_RX_KICK 0x4024
191 #define CAS_RX_DRING_PTR_LO 0x4028
192 #define CAS_RX_DRING_PTR_HI 0x402c
193 #define CAS_RX_CRING_PTR_LO 0x4030
194 #define CAS_RX_CRING_PTR_HI 0x4034
195 #define CAS_RX_COMPLETION 0x4038
196 #define CAS_RX_COMP_HEAD 0x403c
197 #define CAS_RX_COMP_TAIL 0x4040
198 #define CAS_RX_BLANKING 0x4044
199 #define CAS_RX_RED 0x404c
200
201 #define CAS_RX_IPP_PKT_CNT 0x4054
202
203 #define CAS_RX_FIFO_ADDRESS 0x4080
204 #define CAS_RX_FIFO_TAG 0x4084
205 #define CAS_RX_FIFO_DATA_LO 0x4088
206 #define CAS_RX_FIFO_DATA_HI_T0 0x408c
207 #define CAS_RX_FIFO_DATA_HI_T1 0x4090
208
209
210 #define CAS_RX_CONFIG_RXDMA_EN 0x00000001
211 #define CAS_RX_CONFIG_RXDRNG_SZ 0x0000001e
212 #define CAS_RX_CONFIG_RXCRNG_SZ 0x000001e0
213 #define CAS_RX_CONFIG_BATCH_DIS 0x00000200
214 #define CAS_RX_CONFIG_FBOFF 0x00001c00
215
216 #define CAS_RX_CONFIG_RXDRNG_SZ_SHIFT 1
217 #define CAS_RX_CONFIG_RXCRNG_SZ_SHIFT 5
218 #define CAS_RX_CONFIG_FBOFF_SHFT 10
219
220
221 #define CAS_RX_PAGE_SIZE_SZ 0x00000003
222 #define CAS_RX_PAGE_SIZE_COUNT 0x00007800
223 #define CAS_RX_PAGE_SIZE_STRIDE 0x18000000
224 #define CAS_RX_PAGE_SIZE_FBOFF 0xc0000000
225
226 #define CAS_RX_PAGE_SIZE_COUNT_SHIFT 11
227 #define CAS_RX_PAGE_SIZE_STRIDE_SHIFT 27
228 #define CAS_RX_PAGE_SIZE_FBOFF_SHIFT 30
229
230
231 #define CAS_RX_PTH_XOFF_THRESH 0x000001ff
232 #define CAS_RX_PTH_XON_THRESH 0x07fc0000
233
234
235 #define CAS_RX_BLANKING_PACKETS 0x000001ff
236 #define CAS_RX_BLANKING_TIME 0x03fc0000
237
238
239
240 #define CAS_MAC_TXRESET 0x6000
241 #define CAS_MAC_RXRESET 0x6004
242 #define CAS_MAC_SEND_PAUSE_CMD 0x6008
243 #define CAS_MAC_TX_STATUS 0x6010
244 #define CAS_MAC_RX_STATUS 0x6014
245 #define CAS_MAC_CONTROL_STATUS 0x6018
246 #define CAS_MAC_TX_MASK 0x6020
247 #define CAS_MAC_RX_MASK 0x6024
248 #define CAS_MAC_CONTROL_MASK 0x6028
249 #define CAS_MAC_TX_CONFIG 0x6030
250 #define CAS_MAC_RX_CONFIG 0x6034
251 #define CAS_MAC_CONTROL_CONFIG 0x6038
252 #define CAS_MAC_XIF_CONFIG 0x603c
253 #define CAS_MAC_IPG0 0x6040
254 #define CAS_MAC_IPG1 0x6044
255 #define CAS_MAC_IPG2 0x6048
256 #define CAS_MAC_SLOT_TIME 0x604c
257 #define CAS_MAC_MAC_MIN_FRAME 0x6050
258 #define CAS_MAC_MAC_MAX_FRAME 0x6054
259 #define CAS_MAC_PREAMBLE_LEN 0x6058
260 #define CAS_MAC_JAM_SIZE 0x605c
261 #define CAS_MAC_ATTEMPT_LIMIT 0x6060
262 #define CAS_MAC_CONTROL_TYPE 0x6064
263
264 #define CAS_MAC_ADDR0 0x6080
265 #define CAS_MAC_ADDR1 0x6084
266 #define CAS_MAC_ADDR2 0x6088
267 #define CAS_MAC_ADDR3 0x608c
268 #define CAS_MAC_ADDR4 0x6090
269 #define CAS_MAC_ADDR5 0x6094
270 #define CAS_MAC_ADDR42 0x6128
271 #define CAS_MAC_ADDR43 0x612c
272 #define CAS_MAC_ADDR44 0x6130
273
274 #define CAS_MAC_ADDR_FILTER0 0x614c
275 #define CAS_MAC_ADDR_FILTER1 0x6150
276 #define CAS_MAC_ADDR_FILTER2 0x6154
277 #define CAS_MAC_ADR_FLT_MASK1_2 0x6158
278 #define CAS_MAC_ADR_FLT_MASK0 0x615c
279
280 #define CAS_MAC_HASH0 0x6160
281 #define CAS_MAC_HASH1 0x6164
282 #define CAS_MAC_HASH2 0x6168
283 #define CAS_MAC_HASH3 0x616c
284 #define CAS_MAC_HASH4 0x6170
285 #define CAS_MAC_HASH5 0x6174
286 #define CAS_MAC_HASH6 0x6178
287 #define CAS_MAC_HASH7 0x617c
288 #define CAS_MAC_HASH8 0x6180
289 #define CAS_MAC_HASH9 0x6184
290 #define CAS_MAC_HASH10 0x6188
291 #define CAS_MAC_HASH11 0x618c
292 #define CAS_MAC_HASH12 0x6190
293 #define CAS_MAC_HASH13 0x6194
294 #define CAS_MAC_HASH14 0x6198
295 #define CAS_MAC_HASH15 0x619c
296
297 #define CAS_MAC_NORM_COLL_CNT 0x61a0
298 #define CAS_MAC_FIRST_COLL_CNT 0x61a4
299 #define CAS_MAC_EXCESS_COLL_CNT 0x61a8
300 #define CAS_MAC_LATE_COLL_CNT 0x61ac
301 #define CAS_MAC_DEFER_TMR_CNT 0x61b0
302 #define CAS_MAC_PEAK_ATTEMPTS 0x61b4
303 #define CAS_MAC_RX_FRAME_COUNT 0x61b8
304 #define CAS_MAC_RX_LEN_ERR_CNT 0x61bc
305 #define CAS_MAC_RX_ALIGN_ERR 0x61c0
306 #define CAS_MAC_RX_CRC_ERR_CNT 0x61c4
307 #define CAS_MAC_RX_CODE_VIOL 0x61c8
308 #define CAS_MAC_RANDOM_SEED 0x61cc
309 #define CAS_MAC_MAC_STATE 0x61d0
310
311
312 #define CAS_MAC_PAUSE_CMD_TIME 0x0000ffff
313 #define CAS_MAC_PAUSE_CMD_SEND 0x00010000
314
315
316 #define CAS_MAC_TX_XMIT_DONE 0x00000001
317 #define CAS_MAC_TX_UNDERRUN 0x00000002
318 #define CAS_MAC_TX_PKT_TOO_LONG 0x00000004
319 #define CAS_MAC_TX_NCC_EXP 0x00000008
320 #define CAS_MAC_TX_ECC_EXP 0x00000010
321 #define CAS_MAC_TX_LCC_EXP 0x00000020
322 #define CAS_MAC_TX_FCC_EXP 0x00000040
323 #define CAS_MAC_TX_DEFER_EXP 0x00000080
324 #define CAS_MAC_TX_PEAK_EXP 0x00000100
325
326
327 #define CAS_MAC_RX_DONE 0x00000001
328 #define CAS_MAC_RX_OVERFLOW 0x00000002
329 #define CAS_MAC_RX_FRAME_CNT 0x00000004
330 #define CAS_MAC_RX_ALIGN_EXP 0x00000008
331 #define CAS_MAC_RX_CRC_EXP 0x00000010
332 #define CAS_MAC_RX_LEN_EXP 0x00000020
333 #define CAS_MAC_RX_CVI_EXP 0x00000040
334
335
336 #define CAS_MAC_PAUSED 0x00000001
337 #define CAS_MAC_PAUSE 0x00000002
338 #define CAS_MAC_RESUME 0x00000004
339 #define CAS_MAC_PAUSE_TIME 0xffff0000
340
341
342 #define CAS_MAC_XIF_TX_MII_ENA 0x00000001
343 #define CAS_MAC_XIF_MII_LOOPBK 0x00000002
344 #define CAS_MAC_XIF_ECHO_DISABL 0x00000004
345 #define CAS_MAC_XIF_GMII_MODE 0x00000008
346 #define CAS_MAC_XIF_MII_BUF_ENA 0x00000010
347 #define CAS_MAC_XIF_LINK_LED 0x00000020
348 #define CAS_MAC_XIF_FDPLX_LED 0x00000040
349
350
351 #define CAS_MAC_SLOT_INT 0x40
352 #define CAS_MAC_SLOT_EXT 0x200
353
354
355 #define CAS_MAC_TX_ENABLE 0x00000001
356 #define CAS_MAC_TX_IGN_CARRIER 0x00000002
357 #define CAS_MAC_TX_IGN_COLLIS 0x00000004
358 #define CAS_MAC_TX_ENA_IPG0 0x00000008
359 #define CAS_MAC_TX_NGU 0x00000010
360 #define CAS_MAC_TX_NGU_LIMIT 0x00000020
361 #define CAS_MAC_TX_NO_BACKOFF 0x00000040
362 #define CAS_MAC_TX_SLOWDOWN 0x00000080
363 #define CAS_MAC_TX_NO_FCS 0x00000100
364 #define CAS_MAC_TX_CARR_EXTEND 0x00000200
365
366
367
368 #define CAS_MAC_RX_ENABLE 0x00000001
369 #define CAS_MAC_RX_STRIP_PAD 0x00000002
370 #define CAS_MAC_RX_STRIP_CRC 0x00000004
371 #define CAS_MAC_RX_PROMISCUOUS 0x00000008
372 #define CAS_MAC_RX_PROMISC_GRP 0x00000010
373 #define CAS_MAC_RX_HASH_FILTER 0x00000020
374 #define CAS_MAC_RX_ADDR_FILTER 0x00000040
375 #define CAS_MAC_RX_ERRCHK_DIS 0x00000080
376 #define CAS_MAC_RX_CARR_EXTEND 0x00000100
377
378
379
380
381
382
383 #define CAS_MAC_CC_TX_PAUSE 0x00000001
384 #define CAS_MAC_CC_RX_PAUSE 0x00000002
385 #define CAS_MAC_CC_PASS_PAUSE 0x00000004
386
387
388
389 #define CAS_MIF_BB_CLOCK 0x6200
390 #define CAS_MIF_BB_DATA 0x6204
391 #define CAS_MIF_BB_OUTPUT_ENAB 0x6208
392 #define CAS_MIF_FRAME 0x620c
393 #define CAS_MIF_CONFIG 0x6210
394 #define CAS_MIF_INTERRUPT_MASK 0x6214
395 #define CAS_MIF_BASIC_STATUS 0x6218
396 #define CAS_MIF_STATE_MACHINE 0x621c
397
398
399 #define CAS_MIF_FRAME_DATA 0x0000ffff
400 #define CAS_MIF_FRAME_TA0 0x00010000
401 #define CAS_MIF_FRAME_TA1 0x00020000
402 #define CAS_MIF_FRAME_REG_ADDR 0x007c0000
403 #define CAS_MIF_FRAME_PHY_ADDR 0x0f800000
404 #define CAS_MIF_FRAME_OP 0x30000000
405 #define CAS_MIF_FRAME_START 0xc0000000
406
407 #define CAS_MIF_FRAME_READ 0x60020000
408 #define CAS_MIF_FRAME_WRITE 0x50020000
409
410 #define CAS_MIF_REG_SHIFT 18
411 #define CAS_MIF_PHY_SHIFT 23
412
413
414 #define CAS_MIF_CONFIG_PHY_SEL 0x00000001
415 #define CAS_MIF_CONFIG_POLL_ENA 0x00000002
416 #define CAS_MIF_CONFIG_BB_ENA 0x00000004
417 #define CAS_MIF_CONFIG_REG_ADR 0x000000f8
418 #define CAS_MIF_CONFIG_MDI0 0x00000100
419 #define CAS_MIF_CONFIG_MDI1 0x00000200
420 #define CAS_MIF_CONFIG_PHY_ADR 0x00007c00
421
422
423
424 #define CAS_MIF_STATUS 0x0000ffff
425 #define CAS_MIF_BASIC 0xffff0000
426
427
428
429
430
431
432
433
434 #define CAS_MII_CONTROL 0x9000
435 #define CAS_MII_STATUS 0x9004
436 #define CAS_MII_ANAR 0x9008
437 #define CAS_MII_ANLPAR 0x900c
438 #define CAS_MII_CONFIG 0x9010
439 #define CAS_MII_STATE_MACHINE 0x9014
440 #define CAS_MII_INTERRUP_STATUS 0x9018
441 #define CAS_MII_DATAPATH_MODE 0x9050
442 #define CAS_MII_SLINK_CONTROL 0x9054
443 #define CAS_MII_OUTPUT_SELECT 0x9058
444 #define CAS_MII_SLINK_STATUS 0x905c
445
446
447 #define CAS_MII_CONTROL_RESET 0x00008000
448 #define CAS_MII_CONTROL_LOOPBK 0x00004000
449 #define CAS_MII_CONTROL_1000M 0x00002000
450 #define CAS_MII_CONTROL_AUTONEG 0x00001000
451 #define CAS_MII_CONTROL_POWERDN 0x00000800
452 #define CAS_MII_CONTROL_ISOLATE 0x00000400
453 #define CAS_MII_CONTROL_RAN 0x00000200
454 #define CAS_MII_CONTROL_FDUPLEX 0x00000100
455 #define CAS_MII_CONTROL_COL_TST 0x00000080
456
457
458 #define CAS_MII_STATUS_GB_FDX 0x00000400
459 #define CAS_MII_STATUS_GB_HDX 0x00000200
460 #define CAS_MII_STATUS_UNK 0x00000100
461 #define CAS_MII_STATUS_ANEG_CPT 0x00000020
462 #define CAS_MII_STATUS_REM_FLT 0x00000010
463 #define CAS_MII_STATUS_ACFG 0x00000008
464 #define CAS_MII_STATUS_LINK_STS 0x00000004
465 #define CAS_MII_STATUS_JABBER 0x00000002
466 #define CAS_MII_STATUS_EXTCAP 0x00000001
467
468
469 #define CAS_MII_ANEG_NP 0x00008000
470 #define CAS_MII_ANEG_ACK 0x00004000
471
472 #define CAS_MII_ANEG_RF 0x00003000
473 #define CAS_MII_ANEG_ASYM_PAUSE 0x00000100
474 #define CAS_MII_ANEG_SYM_PAUSE 0x00000080
475 #define CAS_MII_ANEG_HLF_DUPLX 0x00000040
476 #define CAS_MII_ANEG_FUL_DUPLX 0x00000020
477
478
479 #define CAS_MII_CONFIG_TIMER 0x0000000e
480 #define CAS_MII_CONFIG_ANTO 0x00000020
481 #define CAS_MII_CONFIG_JS 0x00000018
482
483 #define CAS_MII_CONFIG_SDL 0x00000004
484 #define CAS_MII_CONFIG_SDO 0x00000002
485 #define CAS_MII_CONFIG_ENABLE 0x00000001
486
487
488
489
490
491 #define CAS_MII_FSM_STOP 0x00000000
492 #define CAS_MII_FSM_RUN 0x00000001
493 #define CAS_MII_FSM_UNKWN 0x00000100
494 #define CAS_MII_FSM_DONE 0x00000101
495
496
497
498
499
500 #define CAS_MII_INTERRUP_LINK 0x00000002
501
502
503 #define CAS_MII_DATAPATH_SERIAL 0x00000001
504 #define CAS_MII_DATAPATH_SERDES 0x00000002
505 #define CAS_MII_DATAPATH_MII 0x00000004
506 #define CAS_MII_DATAPATH_MIIOUT 0x00000008
507
508
509 #define CAS_MII_SLINK_LOOPBACK 0x00000001
510
511 #define CAS_MII_SLINK_EN_SYNC_D 0x00000002
512 #define CAS_MII_SLINK_LOCK_REF 0x00000004
513 #define CAS_MII_SLINK_EMPHASIS 0x00000008
514 #define CAS_MII_SLINK_SELFTEST 0x000001c0
515 #define CAS_MII_SLINK_POWER_OFF 0x00000200
516
517
518 #define CAS_MII_SLINK_TEST 0x00000000
519 #define CAS_MII_SLINK_LOCKED 0x00000001
520 #define CAS_MII_SLINK_COMMA 0x00000002
521 #define CAS_MII_SLINK_SYNC 0x00000003
522
523
524 #define CAS_PHYAD_INTERNAL 1
525 #define CAS_PHYAD_EXTERNAL 0
526
527
528
529
530
531
532 struct cas_desc {
533 uint64_t cd_flags;
534 uint64_t cd_addr;
535 };
536
537
538 #define CAS_TD_BUFSIZE 0x0000000000007fffLL
539 #define CAS_TD_CXSUM_START 0x00000000001f8000LL
540 #define CAS_TD_CXSUM_STARTSHFT 15
541 #define CAS_TD_CXSUM_STUFF 0x000000001fe00000LL
542 #define CAS_TD_CXSUM_STUFFSHFT 21
543 #define CAS_TD_CXSUM_ENABLE 0x0000000020000000LL
544 #define CAS_TD_END_OF_PACKET 0x0000000040000000LL
545 #define CAS_TD_START_OF_PACKET 0x0000000080000000LL
546 #define CAS_TD_INTERRUPT_ME 0x0000000100000000LL
547 #define CAS_TD_NO_CRC 0x0000000200000000LL
548
549
550
551
552
553
554 struct cas_comp {
555 u_int64_t cc_word[4];
556 };
557
558 #define CAS_RC0_TYPE 0xc000000000000000ULL
559 #define CAS_RC0_RELEASE_HDR 0x2000000000000000ULL
560 #define CAS_RC0_RELEASE_DATA 0x1000000000000000ULL
561 #define CAS_RC0_SPLIT 0x0400000000000000ULL
562 #define CAS_RC0_SKIP_MASK 0x0180000000000000ULL
563 #define CAS_RC0_SKIP_SHIFT 55
564 #define CAS_RC0_DATA_IDX_MASK 0x007ffe0000000000ULL
565 #define CAS_RC0_DATA_IDX_SHIFT 41
566 #define CAS_RC0_DATA_OFF_MASK 0x000001fff8000000ULL
567 #define CAS_RC0_DATA_OFF_SHIFT 27
568 #define CAS_RC0_DATA_LEN_MASK 0x0000000007ffe000ULL
569 #define CAS_RC0_DATA_LEN_SHIFT 13
570
571 #define CAS_RC0_SKIP(w) \
572 (((w) & CAS_RC0_SKIP_MASK) >> CAS_RC0_SKIP_SHIFT)
573 #define CAS_RC0_DATA_IDX(w) \
574 (((w) & CAS_RC0_DATA_IDX_MASK) >> CAS_RC0_DATA_IDX_SHIFT)
575 #define CAS_RC0_DATA_OFF(w) \
576 (((w) & CAS_RC0_DATA_OFF_MASK) >> CAS_RC0_DATA_OFF_SHIFT)
577 #define CAS_RC0_DATA_LEN(w) \
578 (((w) & CAS_RC0_DATA_LEN_MASK) >> CAS_RC0_DATA_LEN_SHIFT)
579
580 #define CAS_RC1_HDR_IDX_MASK 0xfffc000000000000ULL
581 #define CAS_RC1_HDR_IDX_SHIFT 50
582 #define CAS_RC1_HDR_OFF_MASK 0x0003f00000000000ULL
583 #define CAS_RC1_HDR_OFF_SHIFT 44
584 #define CAS_RC1_HDR_LEN_MASK 0x00000ff800000000ULL
585 #define CAS_RC1_HDR_LEN_SHIFT 35
586
587 #define CAS_RC1_HDR_IDX(w) \
588 (((w) & CAS_RC1_HDR_IDX_MASK) >> CAS_RC1_HDR_IDX_SHIFT)
589 #define CAS_RC1_HDR_OFF(w) \
590 (((w) & CAS_RC1_HDR_OFF_MASK) >> CAS_RC1_HDR_OFF_SHIFT)
591 #define CAS_RC1_HDR_LEN(w) \
592 (((w) & CAS_RC1_HDR_LEN_MASK) >> CAS_RC1_HDR_LEN_SHIFT)
593
594 #define CAS_RC3_OWN 0x0000080000000000ULL
595
596 #endif