1
2
3
4
5#define SCSISEQ 0x00
6#define TEMODE 0x80
7#define ENSELO 0x40
8#define ENSELI 0x20
9#define ENRSELI 0x10
10#define ENAUTOATNO 0x08
11#define ENAUTOATNI 0x04
12#define ENAUTOATNP 0x02
13#define SCSIRSTO 0x01
14
15#define SXFRCTL0 0x01
16#define DFON 0x80
17#define DFPEXP 0x40
18#define FAST20 0x20
19#define CLRSTCNT 0x10
20#define SPIOEN 0x08
21#define SCAMEN 0x04
22#define CLRCHN 0x02
23
24#define SXFRCTL1 0x02
25#define BITBUCKET 0x80
26#define SWRAPEN 0x40
27#define ENSPCHK 0x20
28#define STIMESEL 0x18
29#define ENSTIMER 0x04
30#define ACTNEGEN 0x02
31#define STPWEN 0x01
32
33#define SCSISIGO 0x03
34#define CDO 0x80
35#define IOO 0x40
36#define MSGO 0x20
37#define ATNO 0x10
38#define SELO 0x08
39#define BSYO 0x04
40#define REQO 0x02
41#define ACKO 0x01
42
43#define SCSISIGI 0x03
44#define ATNI 0x10
45#define SELI 0x08
46#define BSYI 0x04
47#define REQI 0x02
48#define ACKI 0x01
49
50#define SCSIRATE 0x04
51#define WIDEXFER 0x80
52#define SXFR_ULTRA2 0x7f
53#define SXFR 0x70
54#define SOFS 0x0f
55
56#define SCSIID 0x05
57#define SCSIOFFSET 0x05
58#define SOFS_ULTRA2 0x7f
59
60#define SCSIDATL 0x06
61
62#define SCSIDATH 0x07
63
64#define STCNT 0x08
65
66#define OPTIONMODE 0x08
67#define AUTORATEEN 0x80
68#define AUTOACKEN 0x40
69#define ATNMGMNTEN 0x20
70#define BUSFREEREV 0x10
71#define EXPPHASEDIS 0x08
72#define SCSIDATL_IMGEN 0x04
73#define AUTO_MSGOUT_DE 0x02
74#define DIS_MSGIN_DUALEDGE 0x01
75
76#define CLRSINT0 0x0b
77#define CLRSELDO 0x40
78#define CLRSELDI 0x20
79#define CLRSELINGO 0x10
80#define CLRSWRAP 0x08
81#define CLRSPIORDY 0x02
82
83#define SSTAT0 0x0b
84#define TARGET 0x80
85#define SELDO 0x40
86#define SELDI 0x20
87#define SELINGO 0x10
88#define IOERR 0x08
89#define SWRAP 0x08
90#define SDONE 0x04
91#define SPIORDY 0x02
92#define DMADONE 0x01
93
94#define CLRSINT1 0x0c
95#define CLRSELTIMEO 0x80
96#define CLRATNO 0x40
97#define CLRSCSIRSTI 0x20
98#define CLRBUSFREE 0x08
99#define CLRSCSIPERR 0x04
100#define CLRPHASECHG 0x02
101#define CLRREQINIT 0x01
102
103#define SSTAT1 0x0c
104#define SELTO 0x80
105#define ATNTARG 0x40
106#define SCSIRSTI 0x20
107#define PHASEMIS 0x10
108#define BUSFREE 0x08
109#define SCSIPERR 0x04
110#define PHASECHG 0x02
111#define REQINIT 0x01
112
113#define SSTAT2 0x0d
114#define OVERRUN 0x80
115#define SHVALID 0x40
116#define WIDE_RES 0x20
117#define SFCNT 0x1f
118#define EXP_ACTIVE 0x10
119#define CRCVALERR 0x08
120#define CRCENDERR 0x04
121#define CRCREQERR 0x02
122#define DUAL_EDGE_ERROR 0x01
123
124#define SSTAT3 0x0e
125#define SCSICNT 0xf0
126#define OFFCNT 0x0f
127
128#define SCSIID_ULTRA2 0x0f
129#define OID 0x0f
130
131#define SIMODE0 0x10
132#define ENSELDO 0x40
133#define ENSELDI 0x20
134#define ENSELINGO 0x10
135#define ENIOERR 0x08
136#define ENSWRAP 0x08
137#define ENSDONE 0x04
138#define ENSPIORDY 0x02
139#define ENDMADONE 0x01
140
141#define SIMODE1 0x11
142#define ENSELTIMO 0x80
143#define ENATNTARG 0x40
144#define ENSCSIRST 0x20
145#define ENPHASEMIS 0x10
146#define ENBUSFREE 0x08
147#define ENSCSIPERR 0x04
148#define ENPHASECHG 0x02
149#define ENREQINIT 0x01
150
151#define SCSIBUSL 0x12
152
153#define SCSIBUSH 0x13
154
155#define SHADDR 0x14
156
157#define SELTIMER 0x18
158#define STAGE6 0x20
159#define STAGE5 0x10
160#define STAGE4 0x08
161#define STAGE3 0x04
162#define STAGE2 0x02
163#define STAGE1 0x01
164
165#define SELID 0x19
166#define SELID_MASK 0xf0
167#define ONEBIT 0x08
168
169#define SPIOCAP 0x1b
170#define SOFT1 0x80
171#define SOFT0 0x40
172#define SOFTCMDEN 0x20
173#define HAS_BRDCTL 0x10
174#define SEEPROM 0x08
175#define EEPROM 0x04
176#define ROM 0x02
177#define SSPIOCPS 0x01
178
179#define BRDCTL 0x1d
180#define BRDDAT7 0x80
181#define BRDDAT6 0x40
182#define BRDDAT5 0x20
183#define BRDDAT4 0x10
184#define BRDSTB 0x10
185#define BRDCS 0x08
186#define BRDDAT3 0x08
187#define BRDDAT2 0x04
188#define BRDRW 0x04
189#define BRDRW_ULTRA2 0x02
190#define BRDCTL1 0x02
191#define BRDSTB_ULTRA2 0x01
192#define BRDCTL0 0x01
193
194#define SEECTL 0x1e
195#define EXTARBACK 0x80
196#define EXTARBREQ 0x40
197#define SEEMS 0x20
198#define SEERDY 0x10
199#define SEECS 0x08
200#define SEECK 0x04
201#define SEEDO 0x02
202#define SEEDI 0x01
203
204#define SBLKCTL 0x1f
205#define DIAGLEDEN 0x80
206#define DIAGLEDON 0x40
207#define AUTOFLUSHDIS 0x20
208#define ENAB40 0x08
209#define ENAB20 0x04
210#define SELWIDE 0x02
211#define XCVR 0x01
212
213#define SRAM_BASE 0x20
214
215#define TARG_SCSIRATE 0x20
216
217#define ULTRA_ENB 0x30
218
219#define DISC_DSB 0x32
220
221#define MSG_OUT 0x34
222
223#define DMAPARAMS 0x35
224#define PRELOADEN 0x80
225#define WIDEODD 0x40
226#define SCSIEN 0x20
227#define SDMAENACK 0x10
228#define SDMAEN 0x10
229#define HDMAEN 0x08
230#define HDMAENACK 0x08
231#define DIRECTION 0x04
232#define FIFOFLUSH 0x02
233#define FIFORESET 0x01
234
235#define SEQ_FLAGS 0x36
236#define IDENTIFY_SEEN 0x80
237#define SCBPTR_VALID 0x20
238#define DPHASE 0x10
239#define AMTARGET 0x08
240#define WIDE_BUS 0x02
241#define TWIN_BUS 0x01
242
243#define SAVED_TCL 0x37
244
245#define SG_COUNT 0x38
246
247#define SG_NEXT 0x39
248
249#define LASTPHASE 0x3d
250#define P_MESGIN 0xe0
251#define PHASE_MASK 0xe0
252#define P_STATUS 0xc0
253#define P_MESGOUT 0xa0
254#define P_COMMAND 0x80
255#define CDI 0x80
256#define IOI 0x40
257#define P_DATAIN 0x40
258#define MSGI 0x20
259#define P_BUSFREE 0x01
260#define P_DATAOUT 0x00
261
262#define WAITING_SCBH 0x3e
263
264#define DISCONNECTED_SCBH 0x3f
265
266#define FREE_SCBH 0x40
267
268#define HSCB_ADDR 0x41
269
270#define SCBID_ADDR 0x45
271
272#define TMODE_CMDADDR 0x49
273
274#define KERNEL_QINPOS 0x4d
275
276#define QINPOS 0x4e
277
278#define QOUTPOS 0x4f
279
280#define TMODE_CMDADDR_NEXT 0x50
281
282#define ARG_1 0x51
283#define RETURN_1 0x51
284#define SEND_MSG 0x80
285#define SEND_SENSE 0x40
286#define SEND_REJ 0x20
287#define MSGOUT_PHASEMIS 0x10
288
289#define ARG_2 0x52
290#define RETURN_2 0x52
291
292#define LAST_MSG 0x53
293
294#define PREFETCH_CNT 0x54
295
296#define SCSICONF 0x5a
297#define TERM_ENB 0x80
298#define RESET_SCSI 0x40
299#define HWSCSIID 0x0f
300#define HSCSIID 0x07
301
302#define HOSTCONF 0x5d
303
304#define HA_274_BIOSCTRL 0x5f
305#define BIOSMODE 0x30
306#define BIOSDISABLED 0x30
307#define CHANNEL_B_PRIMARY 0x08
308
309#define SEQCTL 0x60
310#define PERRORDIS 0x80
311#define PAUSEDIS 0x40
312#define FAILDIS 0x20
313#define FASTMODE 0x10
314#define BRKADRINTEN 0x08
315#define STEP 0x04
316#define SEQRESET 0x02
317#define LOADRAM 0x01
318
319#define SEQRAM 0x61
320
321#define SEQADDR0 0x62
322
323#define SEQADDR1 0x63
324#define SEQADDR1_MASK 0x01
325
326#define ACCUM 0x64
327
328#define SINDEX 0x65
329
330#define DINDEX 0x66
331
332#define ALLONES 0x69
333
334#define ALLZEROS 0x6a
335
336#define NONE 0x6a
337
338#define FLAGS 0x6b
339#define ZERO 0x02
340#define CARRY 0x01
341
342#define SINDIR 0x6c
343
344#define DINDIR 0x6d
345
346#define FUNCTION1 0x6e
347
348#define STACK 0x6f
349
350#define TARG_OFFSET 0x70
351
352#define BCTL 0x84
353#define ACE 0x08
354#define ENABLE 0x01
355
356#define DSCOMMAND0 0x84
357#define INTSCBRAMSEL 0x08
358#define RAMPS 0x04
359#define USCBSIZE32 0x02
360#define CIOPARCKEN 0x01
361
362#define DSCOMMAND 0x84
363#define CACHETHEN 0x80
364#define DPARCKEN 0x40
365#define MPARCKEN 0x20
366#define EXTREQLCK 0x10
367
368#define BUSTIME 0x85
369#define BOFF 0xf0
370#define BON 0x0f
371
372#define BUSSPD 0x86
373#define DFTHRSH 0xc0
374#define STBOFF 0x38
375#define STBON 0x07
376
377#define DSPCISTATUS 0x86
378#define DFTHRSH_100 0xc0
379
380#define HCNTRL 0x87
381#define POWRDN 0x40
382#define SWINT 0x10
383#define IRQMS 0x08
384#define PAUSE 0x04
385#define INTEN 0x02
386#define CHIPRST 0x01
387#define CHIPRSTACK 0x01
388
389#define HADDR 0x88
390
391#define HCNT 0x8c
392
393#define SCBPTR 0x90
394
395#define INTSTAT 0x91
396#define SEQINT_MASK 0xf1
397#define DATA_OVERRUN 0xe1
398#define MSGIN_PHASEMIS 0xd1
399#define TRACEPOINT2 0xc1
400#define SEQ_SG_FIXUP 0xb1
401#define AWAITING_MSG 0xa1
402#define RESIDUAL 0x81
403#define BAD_STATUS 0x71
404#define REJECT_MSG 0x61
405#define WIDE_RESIDUE 0x51
406#define EXTENDED_MSG 0x41
407#define NO_MATCH 0x31
408#define NO_IDENT 0x21
409#define SEND_REJECT 0x11
410#define INT_PEND 0x0f
411#define BRKADRINT 0x08
412#define SCSIINT 0x04
413#define CMDCMPLT 0x02
414#define BAD_PHASE 0x01
415#define SEQINT 0x01
416
417#define CLRINT 0x92
418#define CLRPARERR 0x10
419#define CLRBRKADRINT 0x08
420#define CLRSCSIINT 0x04
421#define CLRCMDINT 0x02
422#define CLRSEQINT 0x01
423
424#define ERROR 0x92
425#define CIOPARERR 0x80
426#define PCIERRSTAT 0x40
427#define MPARERR 0x20
428#define DPARERR 0x10
429#define SQPARERR 0x08
430#define ILLOPCODE 0x04
431#define DSCTMOUT 0x02
432#define ILLSADDR 0x02
433#define ILLHADDR 0x01
434
435#define DFCNTRL 0x93
436
437#define DFSTATUS 0x94
438#define PRELOAD_AVAIL 0x80
439#define DWORDEMP 0x20
440#define MREQPEND 0x10
441#define HDONE 0x08
442#define DFTHRESH 0x04
443#define FIFOFULL 0x02
444#define FIFOEMP 0x01
445
446#define DFDAT 0x99
447
448#define SCBCNT 0x9a
449#define SCBAUTO 0x80
450#define SCBCNT_MASK 0x1f
451
452#define QINFIFO 0x9b
453
454#define QINCNT 0x9c
455
456#define SCSIDATL_IMG 0x9c
457
458#define QOUTFIFO 0x9d
459
460#define CRCCONTROL1 0x9d
461#define CRCONSEEN 0x80
462#define CRCVALCHKEN 0x40
463#define CRCENDCHKEN 0x20
464#define CRCREQCHKEN 0x10
465#define TARGCRCENDEN 0x08
466#define TARGCRCCNTEN 0x04
467
468#define SCSIPHASE 0x9e
469#define SP_STATUS 0x20
470#define SP_COMMAND 0x10
471#define SP_MSG_IN 0x08
472#define SP_MSG_OUT 0x04
473#define SP_DATA_IN 0x02
474#define SP_DATA_OUT 0x01
475
476#define QOUTCNT 0x9e
477
478#define SFUNCT 0x9f
479#define ALT_MODE 0x80
480
481#define SCB_CONTROL 0xa0
482#define MK_MESSAGE 0x80
483#define DISCENB 0x40
484#define TAG_ENB 0x20
485#define DISCONNECTED 0x04
486#define SCB_TAG_TYPE 0x03
487
488#define SCB_BASE 0xa0
489
490#define SCB_TCL 0xa1
491#define TID 0xf0
492#define SELBUSB 0x08
493#define LID 0x07
494
495#define SCB_TARGET_STATUS 0xa2
496
497#define SCB_SGCOUNT 0xa3
498
499#define SCB_SGPTR 0xa4
500
501#define SCB_RESID_SGCNT 0xa8
502
503#define SCB_RESID_DCNT 0xa9
504
505#define SCB_DATAPTR 0xac
506
507#define SCB_DATACNT 0xb0
508
509#define SCB_CMDPTR 0xb4
510
511#define SCB_CMDLEN 0xb8
512
513#define SCB_TAG 0xb9
514
515#define SCB_NEXT 0xba
516
517#define SCB_PREV 0xbb
518
519#define SCB_BUSYTARGETS 0xbc
520
521#define SEECTL_2840 0xc0
522#define CS_2840 0x04
523#define CK_2840 0x02
524#define DO_2840 0x01
525
526#define STATUS_2840 0xc1
527#define EEPROM_TF 0x80
528#define BIOS_SEL 0x60
529#define ADSEL 0x1e
530#define DI_2840 0x01
531
532#define CCHADDR 0xe0
533
534#define CCHCNT 0xe8
535
536#define CCSGRAM 0xe9
537
538#define CCSGADDR 0xea
539
540#define CCSGCTL 0xeb
541#define CCSGDONE 0x80
542#define CCSGEN 0x08
543#define FLAG 0x02
544#define CCSGRESET 0x01
545
546#define CCSCBRAM 0xec
547
548#define CCSCBADDR 0xed
549
550#define CCSCBCTL 0xee
551#define CCSCBDONE 0x80
552#define ARRDONE 0x40
553#define CCARREN 0x10
554#define CCSCBEN 0x08
555#define CCSCBDIR 0x04
556#define CCSCBRESET 0x01
557
558#define CCSCBCNT 0xef
559
560#define CCSCBPTR 0xf1
561
562#define HNSCB_QOFF 0xf4
563
564#define HESCB_QOFF 0xf5
565
566#define SNSCB_QOFF 0xf6
567
568#define SESCB_QOFF 0xf7
569
570#define SDSCB_QOFF 0xf8
571
572#define QOFF_CTLSTA 0xfa
573#define ESTABLISH_SCB_AVAIL 0x80
574#define SCB_AVAIL 0x40
575#define SNSCB_ROLLOVER 0x20
576#define SDSCB_ROLLOVER 0x10
577#define SESCB_ROLLOVER 0x08
578#define SCB_QSIZE 0x07
579#define SCB_QSIZE_256 0x06
580
581#define DFF_THRSH 0xfb
582#define WR_DFTHRSH 0x70
583#define WR_DFTHRSH_MAX 0x70
584#define WR_DFTHRSH_90 0x60
585#define WR_DFTHRSH_85 0x50
586#define WR_DFTHRSH_75 0x40
587#define WR_DFTHRSH_63 0x30
588#define WR_DFTHRSH_50 0x20
589#define WR_DFTHRSH_25 0x10
590#define RD_DFTHRSH_MAX 0x07
591#define RD_DFTHRSH 0x07
592#define RD_DFTHRSH_90 0x06
593#define RD_DFTHRSH_85 0x05
594#define RD_DFTHRSH_75 0x04
595#define RD_DFTHRSH_63 0x03
596#define RD_DFTHRSH_50 0x02
597#define RD_DFTHRSH_25 0x01
598#define WR_DFTHRSH_MIN 0x00
599#define RD_DFTHRSH_MIN 0x00
600
601#define SG_CACHEPTR 0xfc
602#define SG_USER_DATA 0xfc
603#define LAST_SEG 0x02
604#define LAST_SEG_DONE 0x01
605
606
607#define CMD_GROUP2_BYTE_DELTA 0xfa
608#define MAX_OFFSET_8BIT 0x0f
609#define BUS_16_BIT 0x01
610#define QINFIFO_OFFSET 0x02
611#define CMD_GROUP5_BYTE_DELTA 0x0b
612#define CMD_GROUP_CODE_SHIFT 0x05
613#define MAX_OFFSET_ULTRA2 0x7f
614#define MAX_OFFSET_16BIT 0x08
615#define BUS_8_BIT 0x00
616#define QOUTFIFO_OFFSET 0x01
617#define UNTAGGEDSCB_OFFSET 0x00
618#define CCSGRAM_MAXSEGS 0x10
619#define SCB_LIST_NULL 0xff
620#define SG_SIZEOF 0x08
621#define CMD_GROUP4_BYTE_DELTA 0x04
622#define CMD_GROUP0_BYTE_DELTA 0xfc
623#define HOST_MSG 0xff
624#define BUS_32_BIT 0x02
625#define CCSGADDR_MAX 0x80
626
627
628
629#define TMODE_NUMCMDS 0x00
630