xref: /OK3568_Linux_fs/kernel/drivers/scsi/aic7xxx/aic7xxx_reg.h_shipped (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * DO NOT EDIT - This file is automatically generated
3*4882a593Smuzhiyun *		 from the following source files:
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.seq#58 $
6*4882a593Smuzhiyun * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#40 $
7*4882a593Smuzhiyun */
8*4882a593Smuzhiyuntypedef int (ahc_reg_print_t)(u_int, u_int *, u_int);
9*4882a593Smuzhiyuntypedef struct ahc_reg_parse_entry {
10*4882a593Smuzhiyun	char	*name;
11*4882a593Smuzhiyun	uint8_t	 value;
12*4882a593Smuzhiyun	uint8_t	 mask;
13*4882a593Smuzhiyun} ahc_reg_parse_entry_t;
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
16*4882a593Smuzhiyunahc_reg_print_t ahc_scsiseq_print;
17*4882a593Smuzhiyun#else
18*4882a593Smuzhiyun#define ahc_scsiseq_print(regvalue, cur_col, wrap) \
19*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SCSISEQ", 0x00, regvalue, cur_col, wrap)
20*4882a593Smuzhiyun#endif
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
23*4882a593Smuzhiyunahc_reg_print_t ahc_sxfrctl0_print;
24*4882a593Smuzhiyun#else
25*4882a593Smuzhiyun#define ahc_sxfrctl0_print(regvalue, cur_col, wrap) \
26*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SXFRCTL0", 0x01, regvalue, cur_col, wrap)
27*4882a593Smuzhiyun#endif
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
30*4882a593Smuzhiyunahc_reg_print_t ahc_scsisigi_print;
31*4882a593Smuzhiyun#else
32*4882a593Smuzhiyun#define ahc_scsisigi_print(regvalue, cur_col, wrap) \
33*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SCSISIGI", 0x03, regvalue, cur_col, wrap)
34*4882a593Smuzhiyun#endif
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
37*4882a593Smuzhiyunahc_reg_print_t ahc_scsirate_print;
38*4882a593Smuzhiyun#else
39*4882a593Smuzhiyun#define ahc_scsirate_print(regvalue, cur_col, wrap) \
40*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SCSIRATE", 0x04, regvalue, cur_col, wrap)
41*4882a593Smuzhiyun#endif
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
44*4882a593Smuzhiyunahc_reg_print_t ahc_sstat0_print;
45*4882a593Smuzhiyun#else
46*4882a593Smuzhiyun#define ahc_sstat0_print(regvalue, cur_col, wrap) \
47*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SSTAT0", 0x0b, regvalue, cur_col, wrap)
48*4882a593Smuzhiyun#endif
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
51*4882a593Smuzhiyunahc_reg_print_t ahc_sstat1_print;
52*4882a593Smuzhiyun#else
53*4882a593Smuzhiyun#define ahc_sstat1_print(regvalue, cur_col, wrap) \
54*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SSTAT1", 0x0c, regvalue, cur_col, wrap)
55*4882a593Smuzhiyun#endif
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
58*4882a593Smuzhiyunahc_reg_print_t ahc_sstat2_print;
59*4882a593Smuzhiyun#else
60*4882a593Smuzhiyun#define ahc_sstat2_print(regvalue, cur_col, wrap) \
61*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SSTAT2", 0x0d, regvalue, cur_col, wrap)
62*4882a593Smuzhiyun#endif
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
65*4882a593Smuzhiyunahc_reg_print_t ahc_sstat3_print;
66*4882a593Smuzhiyun#else
67*4882a593Smuzhiyun#define ahc_sstat3_print(regvalue, cur_col, wrap) \
68*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SSTAT3", 0x0e, regvalue, cur_col, wrap)
69*4882a593Smuzhiyun#endif
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
72*4882a593Smuzhiyunahc_reg_print_t ahc_simode0_print;
73*4882a593Smuzhiyun#else
74*4882a593Smuzhiyun#define ahc_simode0_print(regvalue, cur_col, wrap) \
75*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SIMODE0", 0x10, regvalue, cur_col, wrap)
76*4882a593Smuzhiyun#endif
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
79*4882a593Smuzhiyunahc_reg_print_t ahc_simode1_print;
80*4882a593Smuzhiyun#else
81*4882a593Smuzhiyun#define ahc_simode1_print(regvalue, cur_col, wrap) \
82*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SIMODE1", 0x11, regvalue, cur_col, wrap)
83*4882a593Smuzhiyun#endif
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
86*4882a593Smuzhiyunahc_reg_print_t ahc_scsibusl_print;
87*4882a593Smuzhiyun#else
88*4882a593Smuzhiyun#define ahc_scsibusl_print(regvalue, cur_col, wrap) \
89*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SCSIBUSL", 0x12, regvalue, cur_col, wrap)
90*4882a593Smuzhiyun#endif
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
93*4882a593Smuzhiyunahc_reg_print_t ahc_sblkctl_print;
94*4882a593Smuzhiyun#else
95*4882a593Smuzhiyun#define ahc_sblkctl_print(regvalue, cur_col, wrap) \
96*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SBLKCTL", 0x1f, regvalue, cur_col, wrap)
97*4882a593Smuzhiyun#endif
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
100*4882a593Smuzhiyunahc_reg_print_t ahc_seq_flags_print;
101*4882a593Smuzhiyun#else
102*4882a593Smuzhiyun#define ahc_seq_flags_print(regvalue, cur_col, wrap) \
103*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SEQ_FLAGS", 0x3c, regvalue, cur_col, wrap)
104*4882a593Smuzhiyun#endif
105*4882a593Smuzhiyun
106*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
107*4882a593Smuzhiyunahc_reg_print_t ahc_lastphase_print;
108*4882a593Smuzhiyun#else
109*4882a593Smuzhiyun#define ahc_lastphase_print(regvalue, cur_col, wrap) \
110*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "LASTPHASE", 0x3f, regvalue, cur_col, wrap)
111*4882a593Smuzhiyun#endif
112*4882a593Smuzhiyun
113*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
114*4882a593Smuzhiyunahc_reg_print_t ahc_seqctl_print;
115*4882a593Smuzhiyun#else
116*4882a593Smuzhiyun#define ahc_seqctl_print(regvalue, cur_col, wrap) \
117*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SEQCTL", 0x60, regvalue, cur_col, wrap)
118*4882a593Smuzhiyun#endif
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
121*4882a593Smuzhiyunahc_reg_print_t ahc_sram_base_print;
122*4882a593Smuzhiyun#else
123*4882a593Smuzhiyun#define ahc_sram_base_print(regvalue, cur_col, wrap) \
124*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SRAM_BASE", 0x70, regvalue, cur_col, wrap)
125*4882a593Smuzhiyun#endif
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
128*4882a593Smuzhiyunahc_reg_print_t ahc_error_print;
129*4882a593Smuzhiyun#else
130*4882a593Smuzhiyun#define ahc_error_print(regvalue, cur_col, wrap) \
131*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "ERROR", 0x92, regvalue, cur_col, wrap)
132*4882a593Smuzhiyun#endif
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
135*4882a593Smuzhiyunahc_reg_print_t ahc_dfcntrl_print;
136*4882a593Smuzhiyun#else
137*4882a593Smuzhiyun#define ahc_dfcntrl_print(regvalue, cur_col, wrap) \
138*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "DFCNTRL", 0x93, regvalue, cur_col, wrap)
139*4882a593Smuzhiyun#endif
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
142*4882a593Smuzhiyunahc_reg_print_t ahc_dfstatus_print;
143*4882a593Smuzhiyun#else
144*4882a593Smuzhiyun#define ahc_dfstatus_print(regvalue, cur_col, wrap) \
145*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "DFSTATUS", 0x94, regvalue, cur_col, wrap)
146*4882a593Smuzhiyun#endif
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
149*4882a593Smuzhiyunahc_reg_print_t ahc_scsiphase_print;
150*4882a593Smuzhiyun#else
151*4882a593Smuzhiyun#define ahc_scsiphase_print(regvalue, cur_col, wrap) \
152*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SCSIPHASE", 0x9e, regvalue, cur_col, wrap)
153*4882a593Smuzhiyun#endif
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
156*4882a593Smuzhiyunahc_reg_print_t ahc_scb_base_print;
157*4882a593Smuzhiyun#else
158*4882a593Smuzhiyun#define ahc_scb_base_print(regvalue, cur_col, wrap) \
159*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SCB_BASE", 0xa0, regvalue, cur_col, wrap)
160*4882a593Smuzhiyun#endif
161*4882a593Smuzhiyun
162*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
163*4882a593Smuzhiyunahc_reg_print_t ahc_scb_control_print;
164*4882a593Smuzhiyun#else
165*4882a593Smuzhiyun#define ahc_scb_control_print(regvalue, cur_col, wrap) \
166*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SCB_CONTROL", 0xb8, regvalue, cur_col, wrap)
167*4882a593Smuzhiyun#endif
168*4882a593Smuzhiyun
169*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
170*4882a593Smuzhiyunahc_reg_print_t ahc_scb_scsiid_print;
171*4882a593Smuzhiyun#else
172*4882a593Smuzhiyun#define ahc_scb_scsiid_print(regvalue, cur_col, wrap) \
173*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SCB_SCSIID", 0xb9, regvalue, cur_col, wrap)
174*4882a593Smuzhiyun#endif
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
177*4882a593Smuzhiyunahc_reg_print_t ahc_scb_lun_print;
178*4882a593Smuzhiyun#else
179*4882a593Smuzhiyun#define ahc_scb_lun_print(regvalue, cur_col, wrap) \
180*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SCB_LUN", 0xba, regvalue, cur_col, wrap)
181*4882a593Smuzhiyun#endif
182*4882a593Smuzhiyun
183*4882a593Smuzhiyun#if AIC_DEBUG_REGISTERS
184*4882a593Smuzhiyunahc_reg_print_t ahc_scb_tag_print;
185*4882a593Smuzhiyun#else
186*4882a593Smuzhiyun#define ahc_scb_tag_print(regvalue, cur_col, wrap) \
187*4882a593Smuzhiyun    ahc_print_register(NULL, 0, "SCB_TAG", 0xbb, regvalue, cur_col, wrap)
188*4882a593Smuzhiyun#endif
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun
191*4882a593Smuzhiyun#define	SCSISEQ         		0x00
192*4882a593Smuzhiyun#define		TEMODE          	0x80
193*4882a593Smuzhiyun#define		SCSIRSTO        	0x01
194*4882a593Smuzhiyun
195*4882a593Smuzhiyun#define	SXFRCTL0        		0x01
196*4882a593Smuzhiyun#define		DFON            	0x80
197*4882a593Smuzhiyun#define		DFPEXP          	0x40
198*4882a593Smuzhiyun#define		FAST20          	0x20
199*4882a593Smuzhiyun#define		CLRSTCNT        	0x10
200*4882a593Smuzhiyun#define		SPIOEN          	0x08
201*4882a593Smuzhiyun#define		SCAMEN          	0x04
202*4882a593Smuzhiyun#define		CLRCHN          	0x02
203*4882a593Smuzhiyun
204*4882a593Smuzhiyun#define	SXFRCTL1        		0x02
205*4882a593Smuzhiyun#define		STIMESEL        	0x18
206*4882a593Smuzhiyun#define		BITBUCKET       	0x80
207*4882a593Smuzhiyun#define		SWRAPEN         	0x40
208*4882a593Smuzhiyun#define		ENSTIMER        	0x04
209*4882a593Smuzhiyun#define		ACTNEGEN        	0x02
210*4882a593Smuzhiyun#define		STPWEN          	0x01
211*4882a593Smuzhiyun
212*4882a593Smuzhiyun#define	SCSISIGO        		0x03
213*4882a593Smuzhiyun#define		CDO             	0x80
214*4882a593Smuzhiyun#define		IOO             	0x40
215*4882a593Smuzhiyun#define		MSGO            	0x20
216*4882a593Smuzhiyun#define		ATNO            	0x10
217*4882a593Smuzhiyun#define		SELO            	0x08
218*4882a593Smuzhiyun#define		BSYO            	0x04
219*4882a593Smuzhiyun#define		REQO            	0x02
220*4882a593Smuzhiyun#define		ACKO            	0x01
221*4882a593Smuzhiyun
222*4882a593Smuzhiyun#define	SCSISIGI        		0x03
223*4882a593Smuzhiyun#define		P_DATAIN_DT     	0x60
224*4882a593Smuzhiyun#define		P_DATAOUT_DT    	0x20
225*4882a593Smuzhiyun#define		ATNI            	0x10
226*4882a593Smuzhiyun#define		SELI            	0x08
227*4882a593Smuzhiyun#define		BSYI            	0x04
228*4882a593Smuzhiyun#define		REQI            	0x02
229*4882a593Smuzhiyun#define		ACKI            	0x01
230*4882a593Smuzhiyun
231*4882a593Smuzhiyun#define	SCSIRATE        		0x04
232*4882a593Smuzhiyun#define		SXFR            	0x70
233*4882a593Smuzhiyun#define		SOFS            	0x0f
234*4882a593Smuzhiyun#define		SXFR_ULTRA2     	0x0f
235*4882a593Smuzhiyun#define		WIDEXFER        	0x80
236*4882a593Smuzhiyun#define		ENABLE_CRC      	0x40
237*4882a593Smuzhiyun#define		SINGLE_EDGE     	0x10
238*4882a593Smuzhiyun
239*4882a593Smuzhiyun#define	SCSIID          		0x05
240*4882a593Smuzhiyun#define	SCSIOFFSET      		0x05
241*4882a593Smuzhiyun#define		SOFS_ULTRA2     	0x7f
242*4882a593Smuzhiyun
243*4882a593Smuzhiyun#define	SCSIDATL        		0x06
244*4882a593Smuzhiyun
245*4882a593Smuzhiyun#define	SCSIDATH        		0x07
246*4882a593Smuzhiyun
247*4882a593Smuzhiyun#define	OPTIONMODE      		0x08
248*4882a593Smuzhiyun#define		OPTIONMODE_DEFAULTS	0x03
249*4882a593Smuzhiyun#define		AUTORATEEN      	0x80
250*4882a593Smuzhiyun#define		AUTOACKEN       	0x40
251*4882a593Smuzhiyun#define		ATNMGMNTEN      	0x20
252*4882a593Smuzhiyun#define		BUSFREEREV      	0x10
253*4882a593Smuzhiyun#define		EXPPHASEDIS     	0x08
254*4882a593Smuzhiyun#define		SCSIDATL_IMGEN  	0x04
255*4882a593Smuzhiyun#define		AUTO_MSGOUT_DE  	0x02
256*4882a593Smuzhiyun#define		DIS_MSGIN_DUALEDGE	0x01
257*4882a593Smuzhiyun
258*4882a593Smuzhiyun#define	STCNT           		0x08
259*4882a593Smuzhiyun
260*4882a593Smuzhiyun#define	TARGCRCCNT      		0x0a
261*4882a593Smuzhiyun
262*4882a593Smuzhiyun#define	CLRSINT0        		0x0b
263*4882a593Smuzhiyun#define		CLRSELDO        	0x40
264*4882a593Smuzhiyun#define		CLRSELDI        	0x20
265*4882a593Smuzhiyun#define		CLRSELINGO      	0x10
266*4882a593Smuzhiyun#define		CLRIOERR        	0x08
267*4882a593Smuzhiyun#define		CLRSWRAP        	0x08
268*4882a593Smuzhiyun#define		CLRSPIORDY      	0x02
269*4882a593Smuzhiyun
270*4882a593Smuzhiyun#define	SSTAT0          		0x0b
271*4882a593Smuzhiyun#define		TARGET          	0x80
272*4882a593Smuzhiyun#define		SELDO           	0x40
273*4882a593Smuzhiyun#define		SELDI           	0x20
274*4882a593Smuzhiyun#define		SELINGO         	0x10
275*4882a593Smuzhiyun#define		SWRAP           	0x08
276*4882a593Smuzhiyun#define		IOERR           	0x08
277*4882a593Smuzhiyun#define		SDONE           	0x04
278*4882a593Smuzhiyun#define		SPIORDY         	0x02
279*4882a593Smuzhiyun#define		DMADONE         	0x01
280*4882a593Smuzhiyun
281*4882a593Smuzhiyun#define	CLRSINT1        		0x0c
282*4882a593Smuzhiyun#define		CLRSELTIMEO     	0x80
283*4882a593Smuzhiyun#define		CLRATNO         	0x40
284*4882a593Smuzhiyun#define		CLRSCSIRSTI     	0x20
285*4882a593Smuzhiyun#define		CLRBUSFREE      	0x08
286*4882a593Smuzhiyun#define		CLRSCSIPERR     	0x04
287*4882a593Smuzhiyun#define		CLRPHASECHG     	0x02
288*4882a593Smuzhiyun#define		CLRREQINIT      	0x01
289*4882a593Smuzhiyun
290*4882a593Smuzhiyun#define	SSTAT1          		0x0c
291*4882a593Smuzhiyun#define		SELTO           	0x80
292*4882a593Smuzhiyun#define		ATNTARG         	0x40
293*4882a593Smuzhiyun#define		SCSIRSTI        	0x20
294*4882a593Smuzhiyun#define		PHASEMIS        	0x10
295*4882a593Smuzhiyun#define		BUSFREE         	0x08
296*4882a593Smuzhiyun#define		SCSIPERR        	0x04
297*4882a593Smuzhiyun#define		PHASECHG        	0x02
298*4882a593Smuzhiyun#define		REQINIT         	0x01
299*4882a593Smuzhiyun
300*4882a593Smuzhiyun#define	SSTAT2          		0x0d
301*4882a593Smuzhiyun#define		SFCNT           	0x1f
302*4882a593Smuzhiyun#define		OVERRUN         	0x80
303*4882a593Smuzhiyun#define		SHVALID         	0x40
304*4882a593Smuzhiyun#define		EXP_ACTIVE      	0x10
305*4882a593Smuzhiyun#define		CRCVALERR       	0x08
306*4882a593Smuzhiyun#define		CRCENDERR       	0x04
307*4882a593Smuzhiyun#define		CRCREQERR       	0x02
308*4882a593Smuzhiyun#define		DUAL_EDGE_ERR   	0x01
309*4882a593Smuzhiyun
310*4882a593Smuzhiyun#define	SSTAT3          		0x0e
311*4882a593Smuzhiyun#define		SCSICNT         	0xf0
312*4882a593Smuzhiyun#define		U2OFFCNT        	0x7f
313*4882a593Smuzhiyun#define		OFFCNT          	0x0f
314*4882a593Smuzhiyun
315*4882a593Smuzhiyun#define	SCSIID_ULTRA2   		0x0f
316*4882a593Smuzhiyun
317*4882a593Smuzhiyun#define	SIMODE0         		0x10
318*4882a593Smuzhiyun#define		ENSELDO         	0x40
319*4882a593Smuzhiyun#define		ENSELDI         	0x20
320*4882a593Smuzhiyun#define		ENSELINGO       	0x10
321*4882a593Smuzhiyun#define		ENIOERR         	0x08
322*4882a593Smuzhiyun#define		ENSWRAP         	0x08
323*4882a593Smuzhiyun#define		ENSDONE         	0x04
324*4882a593Smuzhiyun#define		ENSPIORDY       	0x02
325*4882a593Smuzhiyun#define		ENDMADONE       	0x01
326*4882a593Smuzhiyun
327*4882a593Smuzhiyun#define	SIMODE1         		0x11
328*4882a593Smuzhiyun#define		ENSELTIMO       	0x80
329*4882a593Smuzhiyun#define		ENATNTARG       	0x40
330*4882a593Smuzhiyun#define		ENSCSIRST       	0x20
331*4882a593Smuzhiyun#define		ENPHASEMIS      	0x10
332*4882a593Smuzhiyun#define		ENBUSFREE       	0x08
333*4882a593Smuzhiyun#define		ENSCSIPERR      	0x04
334*4882a593Smuzhiyun#define		ENPHASECHG      	0x02
335*4882a593Smuzhiyun#define		ENREQINIT       	0x01
336*4882a593Smuzhiyun
337*4882a593Smuzhiyun#define	SCSIBUSL        		0x12
338*4882a593Smuzhiyun
339*4882a593Smuzhiyun#define	SCSIBUSH        		0x13
340*4882a593Smuzhiyun
341*4882a593Smuzhiyun#define	SXFRCTL2        		0x13
342*4882a593Smuzhiyun#define		ASYNC_SETUP     	0x07
343*4882a593Smuzhiyun#define		AUTORSTDIS      	0x10
344*4882a593Smuzhiyun#define		CMDDMAEN        	0x08
345*4882a593Smuzhiyun
346*4882a593Smuzhiyun#define	SHADDR          		0x14
347*4882a593Smuzhiyun
348*4882a593Smuzhiyun#define	SELTIMER        		0x18
349*4882a593Smuzhiyun#define	TARGIDIN        		0x18
350*4882a593Smuzhiyun#define		STAGE6          	0x20
351*4882a593Smuzhiyun#define		STAGE5          	0x10
352*4882a593Smuzhiyun#define		STAGE4          	0x08
353*4882a593Smuzhiyun#define		STAGE3          	0x04
354*4882a593Smuzhiyun#define		STAGE2          	0x02
355*4882a593Smuzhiyun#define		STAGE1          	0x01
356*4882a593Smuzhiyun
357*4882a593Smuzhiyun#define	SELID           		0x19
358*4882a593Smuzhiyun#define		SELID_MASK      	0xf0
359*4882a593Smuzhiyun#define		ONEBIT          	0x08
360*4882a593Smuzhiyun
361*4882a593Smuzhiyun#define	SCAMCTL         		0x1a
362*4882a593Smuzhiyun#define		SCAMLVL         	0x03
363*4882a593Smuzhiyun#define		ENSCAMSELO      	0x80
364*4882a593Smuzhiyun#define		CLRSCAMSELID    	0x40
365*4882a593Smuzhiyun#define		ALTSTIM         	0x20
366*4882a593Smuzhiyun#define		DFLTTID         	0x10
367*4882a593Smuzhiyun
368*4882a593Smuzhiyun#define	SPIOCAP         		0x1b
369*4882a593Smuzhiyun#define		SOFT1           	0x80
370*4882a593Smuzhiyun#define		SOFT0           	0x40
371*4882a593Smuzhiyun#define		SOFTCMDEN       	0x20
372*4882a593Smuzhiyun#define		EXT_BRDCTL      	0x10
373*4882a593Smuzhiyun#define		SEEPROM         	0x08
374*4882a593Smuzhiyun#define		EEPROM          	0x04
375*4882a593Smuzhiyun#define		ROM             	0x02
376*4882a593Smuzhiyun#define		SSPIOCPS        	0x01
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun#define	TARGID          		0x1b
379*4882a593Smuzhiyun
380*4882a593Smuzhiyun#define	BRDCTL          		0x1d
381*4882a593Smuzhiyun#define		BRDDAT7         	0x80
382*4882a593Smuzhiyun#define		BRDDAT6         	0x40
383*4882a593Smuzhiyun#define		BRDDAT5         	0x20
384*4882a593Smuzhiyun#define		BRDSTB          	0x10
385*4882a593Smuzhiyun#define		BRDDAT4         	0x10
386*4882a593Smuzhiyun#define		BRDDAT3         	0x08
387*4882a593Smuzhiyun#define		BRDCS           	0x08
388*4882a593Smuzhiyun#define		BRDDAT2         	0x04
389*4882a593Smuzhiyun#define		BRDRW           	0x04
390*4882a593Smuzhiyun#define		BRDRW_ULTRA2    	0x02
391*4882a593Smuzhiyun#define		BRDCTL1         	0x02
392*4882a593Smuzhiyun#define		BRDCTL0         	0x01
393*4882a593Smuzhiyun#define		BRDSTB_ULTRA2   	0x01
394*4882a593Smuzhiyun
395*4882a593Smuzhiyun#define	SEECTL          		0x1e
396*4882a593Smuzhiyun#define		EXTARBACK       	0x80
397*4882a593Smuzhiyun#define		EXTARBREQ       	0x40
398*4882a593Smuzhiyun#define		SEEMS           	0x20
399*4882a593Smuzhiyun#define		SEERDY          	0x10
400*4882a593Smuzhiyun#define		SEECS           	0x08
401*4882a593Smuzhiyun#define		SEECK           	0x04
402*4882a593Smuzhiyun#define		SEEDO           	0x02
403*4882a593Smuzhiyun#define		SEEDI           	0x01
404*4882a593Smuzhiyun
405*4882a593Smuzhiyun#define	SBLKCTL         		0x1f
406*4882a593Smuzhiyun#define		DIAGLEDEN       	0x80
407*4882a593Smuzhiyun#define		DIAGLEDON       	0x40
408*4882a593Smuzhiyun#define		AUTOFLUSHDIS    	0x20
409*4882a593Smuzhiyun#define		SELBUSB         	0x08
410*4882a593Smuzhiyun#define		ENAB40          	0x08
411*4882a593Smuzhiyun#define		ENAB20          	0x04
412*4882a593Smuzhiyun#define		SELWIDE         	0x02
413*4882a593Smuzhiyun#define		XCVR            	0x01
414*4882a593Smuzhiyun
415*4882a593Smuzhiyun#define	BUSY_TARGETS    		0x20
416*4882a593Smuzhiyun#define	TARG_SCSIRATE   		0x20
417*4882a593Smuzhiyun
418*4882a593Smuzhiyun#define	ULTRA_ENB       		0x30
419*4882a593Smuzhiyun#define	CMDSIZE_TABLE   		0x30
420*4882a593Smuzhiyun
421*4882a593Smuzhiyun#define	DISC_DSB        		0x32
422*4882a593Smuzhiyun
423*4882a593Smuzhiyun#define	CMDSIZE_TABLE_TAIL		0x34
424*4882a593Smuzhiyun
425*4882a593Smuzhiyun#define	MWI_RESIDUAL    		0x38
426*4882a593Smuzhiyun
427*4882a593Smuzhiyun#define	NEXT_QUEUED_SCB 		0x39
428*4882a593Smuzhiyun
429*4882a593Smuzhiyun#define	MSG_OUT         		0x3a
430*4882a593Smuzhiyun
431*4882a593Smuzhiyun#define	DMAPARAMS       		0x3b
432*4882a593Smuzhiyun#define		PRELOADEN       	0x80
433*4882a593Smuzhiyun#define		WIDEODD         	0x40
434*4882a593Smuzhiyun#define		SCSIEN          	0x20
435*4882a593Smuzhiyun#define		SDMAEN          	0x10
436*4882a593Smuzhiyun#define		SDMAENACK       	0x10
437*4882a593Smuzhiyun#define		HDMAEN          	0x08
438*4882a593Smuzhiyun#define		HDMAENACK       	0x08
439*4882a593Smuzhiyun#define		DIRECTION       	0x04
440*4882a593Smuzhiyun#define		FIFOFLUSH       	0x02
441*4882a593Smuzhiyun#define		FIFORESET       	0x01
442*4882a593Smuzhiyun
443*4882a593Smuzhiyun#define	SEQ_FLAGS       		0x3c
444*4882a593Smuzhiyun#define		NOT_IDENTIFIED  	0x80
445*4882a593Smuzhiyun#define		NO_CDB_SENT     	0x40
446*4882a593Smuzhiyun#define		TARGET_CMD_IS_TAGGED	0x40
447*4882a593Smuzhiyun#define		DPHASE          	0x20
448*4882a593Smuzhiyun#define		TARG_CMD_PENDING	0x10
449*4882a593Smuzhiyun#define		CMDPHASE_PENDING	0x08
450*4882a593Smuzhiyun#define		DPHASE_PENDING  	0x04
451*4882a593Smuzhiyun#define		SPHASE_PENDING  	0x02
452*4882a593Smuzhiyun#define		NO_DISCONNECT   	0x01
453*4882a593Smuzhiyun
454*4882a593Smuzhiyun#define	SAVED_SCSIID    		0x3d
455*4882a593Smuzhiyun
456*4882a593Smuzhiyun#define	SAVED_LUN       		0x3e
457*4882a593Smuzhiyun
458*4882a593Smuzhiyun#define	LASTPHASE       		0x3f
459*4882a593Smuzhiyun#define		P_MESGIN        	0xe0
460*4882a593Smuzhiyun#define		PHASE_MASK      	0xe0
461*4882a593Smuzhiyun#define		P_STATUS        	0xc0
462*4882a593Smuzhiyun#define		P_MESGOUT       	0xa0
463*4882a593Smuzhiyun#define		P_COMMAND       	0x80
464*4882a593Smuzhiyun#define		P_DATAIN        	0x40
465*4882a593Smuzhiyun#define		P_BUSFREE       	0x01
466*4882a593Smuzhiyun#define		P_DATAOUT       	0x00
467*4882a593Smuzhiyun#define		CDI             	0x80
468*4882a593Smuzhiyun#define		IOI             	0x40
469*4882a593Smuzhiyun#define		MSGI            	0x20
470*4882a593Smuzhiyun
471*4882a593Smuzhiyun#define	WAITING_SCBH    		0x40
472*4882a593Smuzhiyun
473*4882a593Smuzhiyun#define	DISCONNECTED_SCBH		0x41
474*4882a593Smuzhiyun
475*4882a593Smuzhiyun#define	FREE_SCBH       		0x42
476*4882a593Smuzhiyun
477*4882a593Smuzhiyun#define	COMPLETE_SCBH   		0x43
478*4882a593Smuzhiyun
479*4882a593Smuzhiyun#define	HSCB_ADDR       		0x44
480*4882a593Smuzhiyun
481*4882a593Smuzhiyun#define	SHARED_DATA_ADDR		0x48
482*4882a593Smuzhiyun
483*4882a593Smuzhiyun#define	KERNEL_QINPOS   		0x4c
484*4882a593Smuzhiyun
485*4882a593Smuzhiyun#define	QINPOS          		0x4d
486*4882a593Smuzhiyun
487*4882a593Smuzhiyun#define	QOUTPOS         		0x4e
488*4882a593Smuzhiyun
489*4882a593Smuzhiyun#define	KERNEL_TQINPOS  		0x4f
490*4882a593Smuzhiyun
491*4882a593Smuzhiyun#define	TQINPOS         		0x50
492*4882a593Smuzhiyun
493*4882a593Smuzhiyun#define	ARG_1           		0x51
494*4882a593Smuzhiyun#define	RETURN_1        		0x51
495*4882a593Smuzhiyun#define		SEND_MSG        	0x80
496*4882a593Smuzhiyun#define		SEND_SENSE      	0x40
497*4882a593Smuzhiyun#define		SEND_REJ        	0x20
498*4882a593Smuzhiyun#define		MSGOUT_PHASEMIS 	0x10
499*4882a593Smuzhiyun#define		EXIT_MSG_LOOP   	0x08
500*4882a593Smuzhiyun#define		CONT_MSG_LOOP   	0x04
501*4882a593Smuzhiyun#define		CONT_TARG_SESSION	0x02
502*4882a593Smuzhiyun
503*4882a593Smuzhiyun#define	ARG_2           		0x52
504*4882a593Smuzhiyun#define	RETURN_2        		0x52
505*4882a593Smuzhiyun
506*4882a593Smuzhiyun#define	LAST_MSG        		0x53
507*4882a593Smuzhiyun#define	TARG_IMMEDIATE_SCB		0x53
508*4882a593Smuzhiyun
509*4882a593Smuzhiyun#define	SCSISEQ_TEMPLATE		0x54
510*4882a593Smuzhiyun#define		ENSELO          	0x40
511*4882a593Smuzhiyun#define		ENSELI          	0x20
512*4882a593Smuzhiyun#define		ENRSELI         	0x10
513*4882a593Smuzhiyun#define		ENAUTOATNO      	0x08
514*4882a593Smuzhiyun#define		ENAUTOATNI      	0x04
515*4882a593Smuzhiyun#define		ENAUTOATNP      	0x02
516*4882a593Smuzhiyun
517*4882a593Smuzhiyun#define	HA_274_BIOSGLOBAL		0x56
518*4882a593Smuzhiyun#define	INITIATOR_TAG   		0x56
519*4882a593Smuzhiyun#define		HA_274_EXTENDED_TRANS	0x01
520*4882a593Smuzhiyun
521*4882a593Smuzhiyun#define	SEQ_FLAGS2      		0x57
522*4882a593Smuzhiyun#define		TARGET_MSG_PENDING	0x02
523*4882a593Smuzhiyun#define		SCB_DMA         	0x01
524*4882a593Smuzhiyun
525*4882a593Smuzhiyun#define	SCSICONF        		0x5a
526*4882a593Smuzhiyun#define		HWSCSIID        	0x0f
527*4882a593Smuzhiyun#define		HSCSIID         	0x07
528*4882a593Smuzhiyun#define		TERM_ENB        	0x80
529*4882a593Smuzhiyun#define		RESET_SCSI      	0x40
530*4882a593Smuzhiyun#define		ENSPCHK         	0x20
531*4882a593Smuzhiyun
532*4882a593Smuzhiyun#define	INTDEF          		0x5c
533*4882a593Smuzhiyun#define		VECTOR          	0x0f
534*4882a593Smuzhiyun#define		EDGE_TRIG       	0x80
535*4882a593Smuzhiyun
536*4882a593Smuzhiyun#define	HOSTCONF        		0x5d
537*4882a593Smuzhiyun
538*4882a593Smuzhiyun#define	HA_274_BIOSCTRL 		0x5f
539*4882a593Smuzhiyun#define		BIOSDISABLED    	0x30
540*4882a593Smuzhiyun#define		BIOSMODE        	0x30
541*4882a593Smuzhiyun#define		CHANNEL_B_PRIMARY	0x08
542*4882a593Smuzhiyun
543*4882a593Smuzhiyun#define	SEQCTL          		0x60
544*4882a593Smuzhiyun#define		PERRORDIS       	0x80
545*4882a593Smuzhiyun#define		PAUSEDIS        	0x40
546*4882a593Smuzhiyun#define		FAILDIS         	0x20
547*4882a593Smuzhiyun#define		FASTMODE        	0x10
548*4882a593Smuzhiyun#define		BRKADRINTEN     	0x08
549*4882a593Smuzhiyun#define		STEP            	0x04
550*4882a593Smuzhiyun#define		SEQRESET        	0x02
551*4882a593Smuzhiyun#define		LOADRAM         	0x01
552*4882a593Smuzhiyun
553*4882a593Smuzhiyun#define	SEQRAM          		0x61
554*4882a593Smuzhiyun
555*4882a593Smuzhiyun#define	SEQADDR0        		0x62
556*4882a593Smuzhiyun
557*4882a593Smuzhiyun#define	SEQADDR1        		0x63
558*4882a593Smuzhiyun#define		SEQADDR1_MASK   	0x01
559*4882a593Smuzhiyun
560*4882a593Smuzhiyun#define	ACCUM           		0x64
561*4882a593Smuzhiyun
562*4882a593Smuzhiyun#define	SINDEX          		0x65
563*4882a593Smuzhiyun
564*4882a593Smuzhiyun#define	DINDEX          		0x66
565*4882a593Smuzhiyun
566*4882a593Smuzhiyun#define	ALLONES         		0x69
567*4882a593Smuzhiyun
568*4882a593Smuzhiyun#define	ALLZEROS        		0x6a
569*4882a593Smuzhiyun
570*4882a593Smuzhiyun#define	NONE            		0x6a
571*4882a593Smuzhiyun
572*4882a593Smuzhiyun#define	FLAGS           		0x6b
573*4882a593Smuzhiyun#define		ZERO            	0x02
574*4882a593Smuzhiyun#define		CARRY           	0x01
575*4882a593Smuzhiyun
576*4882a593Smuzhiyun#define	SINDIR          		0x6c
577*4882a593Smuzhiyun
578*4882a593Smuzhiyun#define	DINDIR          		0x6d
579*4882a593Smuzhiyun
580*4882a593Smuzhiyun#define	FUNCTION1       		0x6e
581*4882a593Smuzhiyun
582*4882a593Smuzhiyun#define	STACK           		0x6f
583*4882a593Smuzhiyun
584*4882a593Smuzhiyun#define	TARG_OFFSET     		0x70
585*4882a593Smuzhiyun
586*4882a593Smuzhiyun#define	SRAM_BASE       		0x70
587*4882a593Smuzhiyun
588*4882a593Smuzhiyun#define	BCTL            		0x84
589*4882a593Smuzhiyun#define		ACE             	0x08
590*4882a593Smuzhiyun#define		ENABLE          	0x01
591*4882a593Smuzhiyun
592*4882a593Smuzhiyun#define	DSCOMMAND0      		0x84
593*4882a593Smuzhiyun#define		CACHETHEN       	0x80
594*4882a593Smuzhiyun#define		DPARCKEN        	0x40
595*4882a593Smuzhiyun#define		MPARCKEN        	0x20
596*4882a593Smuzhiyun#define		EXTREQLCK       	0x10
597*4882a593Smuzhiyun#define		INTSCBRAMSEL    	0x08
598*4882a593Smuzhiyun#define		RAMPS           	0x04
599*4882a593Smuzhiyun#define		USCBSIZE32      	0x02
600*4882a593Smuzhiyun#define		CIOPARCKEN      	0x01
601*4882a593Smuzhiyun
602*4882a593Smuzhiyun#define	BUSTIME         		0x85
603*4882a593Smuzhiyun#define		BOFF            	0xf0
604*4882a593Smuzhiyun#define		BON             	0x0f
605*4882a593Smuzhiyun
606*4882a593Smuzhiyun#define	DSCOMMAND1      		0x85
607*4882a593Smuzhiyun#define		DSLATT          	0xfc
608*4882a593Smuzhiyun#define		HADDLDSEL1      	0x02
609*4882a593Smuzhiyun#define		HADDLDSEL0      	0x01
610*4882a593Smuzhiyun
611*4882a593Smuzhiyun#define	BUSSPD          		0x86
612*4882a593Smuzhiyun#define		DFTHRSH         	0xc0
613*4882a593Smuzhiyun#define		DFTHRSH_75      	0x80
614*4882a593Smuzhiyun#define		STBOFF          	0x38
615*4882a593Smuzhiyun#define		STBON           	0x07
616*4882a593Smuzhiyun
617*4882a593Smuzhiyun#define	HS_MAILBOX      		0x86
618*4882a593Smuzhiyun#define		HOST_MAILBOX    	0xf0
619*4882a593Smuzhiyun#define		HOST_TQINPOS    	0x80
620*4882a593Smuzhiyun#define		SEQ_MAILBOX     	0x0f
621*4882a593Smuzhiyun
622*4882a593Smuzhiyun#define	DSPCISTATUS     		0x86
623*4882a593Smuzhiyun#define		DFTHRSH_100     	0xc0
624*4882a593Smuzhiyun
625*4882a593Smuzhiyun#define	HCNTRL          		0x87
626*4882a593Smuzhiyun#define		POWRDN          	0x40
627*4882a593Smuzhiyun#define		SWINT           	0x10
628*4882a593Smuzhiyun#define		IRQMS           	0x08
629*4882a593Smuzhiyun#define		PAUSE           	0x04
630*4882a593Smuzhiyun#define		INTEN           	0x02
631*4882a593Smuzhiyun#define		CHIPRST         	0x01
632*4882a593Smuzhiyun#define		CHIPRSTACK      	0x01
633*4882a593Smuzhiyun
634*4882a593Smuzhiyun#define	HADDR           		0x88
635*4882a593Smuzhiyun
636*4882a593Smuzhiyun#define	HCNT            		0x8c
637*4882a593Smuzhiyun
638*4882a593Smuzhiyun#define	SCBPTR          		0x90
639*4882a593Smuzhiyun
640*4882a593Smuzhiyun#define	INTSTAT         		0x91
641*4882a593Smuzhiyun#define		SEQINT_MASK     	0xf1
642*4882a593Smuzhiyun#define		OUT_OF_RANGE    	0xe1
643*4882a593Smuzhiyun#define		NO_FREE_SCB     	0xd1
644*4882a593Smuzhiyun#define		SCB_MISMATCH    	0xc1
645*4882a593Smuzhiyun#define		MISSED_BUSFREE  	0xb1
646*4882a593Smuzhiyun#define		MKMSG_FAILED    	0xa1
647*4882a593Smuzhiyun#define		DATA_OVERRUN    	0x91
648*4882a593Smuzhiyun#define		PERR_DETECTED   	0x81
649*4882a593Smuzhiyun#define		BAD_STATUS      	0x71
650*4882a593Smuzhiyun#define		HOST_MSG_LOOP   	0x61
651*4882a593Smuzhiyun#define		PDATA_REINIT    	0x51
652*4882a593Smuzhiyun#define		IGN_WIDE_RES    	0x41
653*4882a593Smuzhiyun#define		NO_MATCH        	0x31
654*4882a593Smuzhiyun#define		PROTO_VIOLATION 	0x21
655*4882a593Smuzhiyun#define		SEND_REJECT     	0x11
656*4882a593Smuzhiyun#define		INT_PEND        	0x0f
657*4882a593Smuzhiyun#define		BAD_PHASE       	0x01
658*4882a593Smuzhiyun#define		BRKADRINT       	0x08
659*4882a593Smuzhiyun#define		SCSIINT         	0x04
660*4882a593Smuzhiyun#define		CMDCMPLT        	0x02
661*4882a593Smuzhiyun#define		SEQINT          	0x01
662*4882a593Smuzhiyun
663*4882a593Smuzhiyun#define	CLRINT          		0x92
664*4882a593Smuzhiyun#define		CLRPARERR       	0x10
665*4882a593Smuzhiyun#define		CLRBRKADRINT    	0x08
666*4882a593Smuzhiyun#define		CLRSCSIINT      	0x04
667*4882a593Smuzhiyun#define		CLRCMDINT       	0x02
668*4882a593Smuzhiyun#define		CLRSEQINT       	0x01
669*4882a593Smuzhiyun
670*4882a593Smuzhiyun#define	ERROR           		0x92
671*4882a593Smuzhiyun#define		CIOPARERR       	0x80
672*4882a593Smuzhiyun#define		PCIERRSTAT      	0x40
673*4882a593Smuzhiyun#define		MPARERR         	0x20
674*4882a593Smuzhiyun#define		DPARERR         	0x10
675*4882a593Smuzhiyun#define		SQPARERR        	0x08
676*4882a593Smuzhiyun#define		ILLOPCODE       	0x04
677*4882a593Smuzhiyun#define		ILLSADDR        	0x02
678*4882a593Smuzhiyun#define		ILLHADDR        	0x01
679*4882a593Smuzhiyun
680*4882a593Smuzhiyun#define	DFCNTRL         		0x93
681*4882a593Smuzhiyun
682*4882a593Smuzhiyun#define	DFSTATUS        		0x94
683*4882a593Smuzhiyun#define		PRELOAD_AVAIL   	0x80
684*4882a593Smuzhiyun#define		DFCACHETH       	0x40
685*4882a593Smuzhiyun#define		FIFOQWDEMP      	0x20
686*4882a593Smuzhiyun#define		MREQPEND        	0x10
687*4882a593Smuzhiyun#define		HDONE           	0x08
688*4882a593Smuzhiyun#define		DFTHRESH        	0x04
689*4882a593Smuzhiyun#define		FIFOFULL        	0x02
690*4882a593Smuzhiyun#define		FIFOEMP         	0x01
691*4882a593Smuzhiyun
692*4882a593Smuzhiyun#define	DFWADDR         		0x95
693*4882a593Smuzhiyun
694*4882a593Smuzhiyun#define	DFRADDR         		0x97
695*4882a593Smuzhiyun
696*4882a593Smuzhiyun#define	DFDAT           		0x99
697*4882a593Smuzhiyun
698*4882a593Smuzhiyun#define	SCBCNT          		0x9a
699*4882a593Smuzhiyun#define		SCBCNT_MASK     	0x1f
700*4882a593Smuzhiyun#define		SCBAUTO         	0x80
701*4882a593Smuzhiyun
702*4882a593Smuzhiyun#define	QINFIFO         		0x9b
703*4882a593Smuzhiyun
704*4882a593Smuzhiyun#define	QINCNT          		0x9c
705*4882a593Smuzhiyun
706*4882a593Smuzhiyun#define	QOUTFIFO        		0x9d
707*4882a593Smuzhiyun
708*4882a593Smuzhiyun#define	CRCCONTROL1     		0x9d
709*4882a593Smuzhiyun#define		CRCONSEEN       	0x80
710*4882a593Smuzhiyun#define		CRCVALCHKEN     	0x40
711*4882a593Smuzhiyun#define		CRCENDCHKEN     	0x20
712*4882a593Smuzhiyun#define		CRCREQCHKEN     	0x10
713*4882a593Smuzhiyun#define		TARGCRCENDEN    	0x08
714*4882a593Smuzhiyun#define		TARGCRCCNTEN    	0x04
715*4882a593Smuzhiyun
716*4882a593Smuzhiyun#define	QOUTCNT         		0x9e
717*4882a593Smuzhiyun
718*4882a593Smuzhiyun#define	SCSIPHASE       		0x9e
719*4882a593Smuzhiyun#define		DATA_PHASE_MASK 	0x03
720*4882a593Smuzhiyun#define		STATUS_PHASE    	0x20
721*4882a593Smuzhiyun#define		COMMAND_PHASE   	0x10
722*4882a593Smuzhiyun#define		MSG_IN_PHASE    	0x08
723*4882a593Smuzhiyun#define		MSG_OUT_PHASE   	0x04
724*4882a593Smuzhiyun#define		DATA_IN_PHASE   	0x02
725*4882a593Smuzhiyun#define		DATA_OUT_PHASE  	0x01
726*4882a593Smuzhiyun
727*4882a593Smuzhiyun#define	SFUNCT          		0x9f
728*4882a593Smuzhiyun#define		ALT_MODE        	0x80
729*4882a593Smuzhiyun
730*4882a593Smuzhiyun#define	SCB_BASE        		0xa0
731*4882a593Smuzhiyun
732*4882a593Smuzhiyun#define	SCB_CDB_PTR     		0xa0
733*4882a593Smuzhiyun#define	SCB_CDB_STORE   		0xa0
734*4882a593Smuzhiyun#define	SCB_RESIDUAL_DATACNT		0xa0
735*4882a593Smuzhiyun
736*4882a593Smuzhiyun#define	SCB_RESIDUAL_SGPTR		0xa4
737*4882a593Smuzhiyun
738*4882a593Smuzhiyun#define	SCB_SCSI_STATUS 		0xa8
739*4882a593Smuzhiyun
740*4882a593Smuzhiyun#define	SCB_TARGET_PHASES		0xa9
741*4882a593Smuzhiyun
742*4882a593Smuzhiyun#define	SCB_TARGET_DATA_DIR		0xaa
743*4882a593Smuzhiyun
744*4882a593Smuzhiyun#define	SCB_TARGET_ITAG 		0xab
745*4882a593Smuzhiyun
746*4882a593Smuzhiyun#define	SCB_DATAPTR     		0xac
747*4882a593Smuzhiyun
748*4882a593Smuzhiyun#define	SCB_DATACNT     		0xb0
749*4882a593Smuzhiyun#define		SG_HIGH_ADDR_BITS	0x7f
750*4882a593Smuzhiyun#define		SG_LAST_SEG     	0x80
751*4882a593Smuzhiyun
752*4882a593Smuzhiyun#define	SCB_SGPTR       		0xb4
753*4882a593Smuzhiyun#define		SG_RESID_VALID  	0x04
754*4882a593Smuzhiyun#define		SG_FULL_RESID   	0x02
755*4882a593Smuzhiyun#define		SG_LIST_NULL    	0x01
756*4882a593Smuzhiyun
757*4882a593Smuzhiyun#define	SCB_CONTROL     		0xb8
758*4882a593Smuzhiyun#define		SCB_TAG_TYPE    	0x03
759*4882a593Smuzhiyun#define		TARGET_SCB      	0x80
760*4882a593Smuzhiyun#define		STATUS_RCVD     	0x80
761*4882a593Smuzhiyun#define		DISCENB         	0x40
762*4882a593Smuzhiyun#define		TAG_ENB         	0x20
763*4882a593Smuzhiyun#define		MK_MESSAGE      	0x10
764*4882a593Smuzhiyun#define		ULTRAENB        	0x08
765*4882a593Smuzhiyun#define		DISCONNECTED    	0x04
766*4882a593Smuzhiyun
767*4882a593Smuzhiyun#define	SCB_SCSIID      		0xb9
768*4882a593Smuzhiyun#define		TID             	0xf0
769*4882a593Smuzhiyun#define		TWIN_TID        	0x70
770*4882a593Smuzhiyun#define		OID             	0x0f
771*4882a593Smuzhiyun#define		TWIN_CHNLB      	0x80
772*4882a593Smuzhiyun
773*4882a593Smuzhiyun#define	SCB_LUN         		0xba
774*4882a593Smuzhiyun#define		LID             	0x3f
775*4882a593Smuzhiyun#define		SCB_XFERLEN_ODD 	0x80
776*4882a593Smuzhiyun
777*4882a593Smuzhiyun#define	SCB_TAG         		0xbb
778*4882a593Smuzhiyun
779*4882a593Smuzhiyun#define	SCB_CDB_LEN     		0xbc
780*4882a593Smuzhiyun
781*4882a593Smuzhiyun#define	SCB_SCSIRATE    		0xbd
782*4882a593Smuzhiyun
783*4882a593Smuzhiyun#define	SCB_SCSIOFFSET  		0xbe
784*4882a593Smuzhiyun
785*4882a593Smuzhiyun#define	SCB_NEXT        		0xbf
786*4882a593Smuzhiyun
787*4882a593Smuzhiyun#define	SCB_64_SPARE    		0xc0
788*4882a593Smuzhiyun
789*4882a593Smuzhiyun#define	SEECTL_2840     		0xc0
790*4882a593Smuzhiyun#define		CS_2840         	0x04
791*4882a593Smuzhiyun#define		CK_2840         	0x02
792*4882a593Smuzhiyun#define		DO_2840         	0x01
793*4882a593Smuzhiyun
794*4882a593Smuzhiyun#define	STATUS_2840     		0xc1
795*4882a593Smuzhiyun#define		BIOS_SEL        	0x60
796*4882a593Smuzhiyun#define		ADSEL           	0x1e
797*4882a593Smuzhiyun#define		EEPROM_TF       	0x80
798*4882a593Smuzhiyun#define		DI_2840         	0x01
799*4882a593Smuzhiyun
800*4882a593Smuzhiyun#define	SCB_64_BTT      		0xd0
801*4882a593Smuzhiyun
802*4882a593Smuzhiyun#define	CCHADDR         		0xe0
803*4882a593Smuzhiyun
804*4882a593Smuzhiyun#define	CCHCNT          		0xe8
805*4882a593Smuzhiyun
806*4882a593Smuzhiyun#define	CCSGRAM         		0xe9
807*4882a593Smuzhiyun
808*4882a593Smuzhiyun#define	CCSGADDR        		0xea
809*4882a593Smuzhiyun
810*4882a593Smuzhiyun#define	CCSGCTL         		0xeb
811*4882a593Smuzhiyun#define		CCSGDONE        	0x80
812*4882a593Smuzhiyun#define		CCSGEN          	0x08
813*4882a593Smuzhiyun#define		SG_FETCH_NEEDED 	0x02
814*4882a593Smuzhiyun#define		CCSGRESET       	0x01
815*4882a593Smuzhiyun
816*4882a593Smuzhiyun#define	CCSCBRAM        		0xec
817*4882a593Smuzhiyun
818*4882a593Smuzhiyun#define	CCSCBADDR       		0xed
819*4882a593Smuzhiyun
820*4882a593Smuzhiyun#define	CCSCBCTL        		0xee
821*4882a593Smuzhiyun#define		CCSCBDONE       	0x80
822*4882a593Smuzhiyun#define		ARRDONE         	0x40
823*4882a593Smuzhiyun#define		CCARREN         	0x10
824*4882a593Smuzhiyun#define		CCSCBEN         	0x08
825*4882a593Smuzhiyun#define		CCSCBDIR        	0x04
826*4882a593Smuzhiyun#define		CCSCBRESET      	0x01
827*4882a593Smuzhiyun
828*4882a593Smuzhiyun#define	CCSCBCNT        		0xef
829*4882a593Smuzhiyun
830*4882a593Smuzhiyun#define	SCBBADDR        		0xf0
831*4882a593Smuzhiyun
832*4882a593Smuzhiyun#define	CCSCBPTR        		0xf1
833*4882a593Smuzhiyun
834*4882a593Smuzhiyun#define	HNSCB_QOFF      		0xf4
835*4882a593Smuzhiyun
836*4882a593Smuzhiyun#define	SNSCB_QOFF      		0xf6
837*4882a593Smuzhiyun
838*4882a593Smuzhiyun#define	SDSCB_QOFF      		0xf8
839*4882a593Smuzhiyun
840*4882a593Smuzhiyun#define	QOFF_CTLSTA     		0xfa
841*4882a593Smuzhiyun#define		SCB_QSIZE       	0x07
842*4882a593Smuzhiyun#define		SCB_QSIZE_256   	0x06
843*4882a593Smuzhiyun#define		SCB_AVAIL       	0x40
844*4882a593Smuzhiyun#define		SNSCB_ROLLOVER  	0x20
845*4882a593Smuzhiyun#define		SDSCB_ROLLOVER  	0x10
846*4882a593Smuzhiyun
847*4882a593Smuzhiyun#define	DFF_THRSH       		0xfb
848*4882a593Smuzhiyun#define		WR_DFTHRSH      	0x70
849*4882a593Smuzhiyun#define		WR_DFTHRSH_MAX  	0x70
850*4882a593Smuzhiyun#define		WR_DFTHRSH_90   	0x60
851*4882a593Smuzhiyun#define		WR_DFTHRSH_85   	0x50
852*4882a593Smuzhiyun#define		WR_DFTHRSH_75   	0x40
853*4882a593Smuzhiyun#define		WR_DFTHRSH_63   	0x30
854*4882a593Smuzhiyun#define		WR_DFTHRSH_50   	0x20
855*4882a593Smuzhiyun#define		WR_DFTHRSH_25   	0x10
856*4882a593Smuzhiyun#define		RD_DFTHRSH      	0x07
857*4882a593Smuzhiyun#define		RD_DFTHRSH_MAX  	0x07
858*4882a593Smuzhiyun#define		RD_DFTHRSH_90   	0x06
859*4882a593Smuzhiyun#define		RD_DFTHRSH_85   	0x05
860*4882a593Smuzhiyun#define		RD_DFTHRSH_75   	0x04
861*4882a593Smuzhiyun#define		RD_DFTHRSH_63   	0x03
862*4882a593Smuzhiyun#define		RD_DFTHRSH_50   	0x02
863*4882a593Smuzhiyun#define		RD_DFTHRSH_25   	0x01
864*4882a593Smuzhiyun#define		RD_DFTHRSH_MIN  	0x00
865*4882a593Smuzhiyun#define		WR_DFTHRSH_MIN  	0x00
866*4882a593Smuzhiyun
867*4882a593Smuzhiyun#define	SG_CACHE_SHADOW 		0xfc
868*4882a593Smuzhiyun#define		SG_ADDR_MASK    	0xf8
869*4882a593Smuzhiyun#define		LAST_SEG        	0x02
870*4882a593Smuzhiyun#define		LAST_SEG_DONE   	0x01
871*4882a593Smuzhiyun
872*4882a593Smuzhiyun#define	SG_CACHE_PRE    		0xfc
873*4882a593Smuzhiyun
874*4882a593Smuzhiyun
875*4882a593Smuzhiyun#define	TARGET_CMD_CMPLT	0xfe
876*4882a593Smuzhiyun#define	MAX_OFFSET_ULTRA2	0x7f
877*4882a593Smuzhiyun#define	MAX_OFFSET_16BIT	0x08
878*4882a593Smuzhiyun#define	BUS_8_BIT	0x00
879*4882a593Smuzhiyun#define	TID_SHIFT	0x04
880*4882a593Smuzhiyun#define	STATUS_QUEUE_FULL	0x28
881*4882a593Smuzhiyun#define	STATUS_BUSY	0x08
882*4882a593Smuzhiyun#define	SCB_DOWNLOAD_SIZE_64	0x30
883*4882a593Smuzhiyun#define	MAX_OFFSET_8BIT	0x0f
884*4882a593Smuzhiyun#define	HOST_MAILBOX_SHIFT	0x04
885*4882a593Smuzhiyun#define	CCSGADDR_MAX	0x80
886*4882a593Smuzhiyun#define	BUS_32_BIT	0x02
887*4882a593Smuzhiyun#define	SG_SIZEOF	0x08
888*4882a593Smuzhiyun#define	SEQ_MAILBOX_SHIFT	0x00
889*4882a593Smuzhiyun#define	SCB_LIST_NULL	0xff
890*4882a593Smuzhiyun#define	SCB_DOWNLOAD_SIZE	0x20
891*4882a593Smuzhiyun#define	CMD_GROUP_CODE_SHIFT	0x05
892*4882a593Smuzhiyun#define	CCSGRAM_MAXSEGS	0x10
893*4882a593Smuzhiyun#define	TARGET_DATA_IN	0x01
894*4882a593Smuzhiyun#define	STACK_SIZE	0x04
895*4882a593Smuzhiyun#define	SCB_UPLOAD_SIZE	0x20
896*4882a593Smuzhiyun#define	MAX_OFFSET	0x7f
897*4882a593Smuzhiyun#define	HOST_MSG	0xff
898*4882a593Smuzhiyun#define	BUS_16_BIT	0x01
899*4882a593Smuzhiyun
900*4882a593Smuzhiyun
901*4882a593Smuzhiyun/* Downloaded Constant Definitions */
902*4882a593Smuzhiyun#define	INVERTED_CACHESIZE_MASK	0x03
903*4882a593Smuzhiyun#define	SG_PREFETCH_ALIGN_MASK	0x05
904*4882a593Smuzhiyun#define	SG_PREFETCH_ADDR_MASK	0x06
905*4882a593Smuzhiyun#define	QOUTFIFO_OFFSET	0x00
906*4882a593Smuzhiyun#define	SG_PREFETCH_CNT	0x04
907*4882a593Smuzhiyun#define	QINFIFO_OFFSET	0x01
908*4882a593Smuzhiyun#define	CACHESIZE_MASK	0x02
909*4882a593Smuzhiyun#define	DOWNLOAD_CONST_COUNT	0x07
910*4882a593Smuzhiyun
911*4882a593Smuzhiyun
912*4882a593Smuzhiyun/* Exported Labels */
913