1/*
2 * DO NOT EDIT - This file is automatically generated
3 *		 from the following source files:
4 *
5 * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.seq#58 $
6 * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#40 $
7 */
8
9#include "aic7xxx_osm.h"
10
11static const ahc_reg_parse_entry_t SCSISEQ_parse_table[] = {
12	{ "SCSIRSTO",		0x01, 0x01 },
13	{ "ENAUTOATNP",		0x02, 0x02 },
14	{ "ENAUTOATNI",		0x04, 0x04 },
15	{ "ENAUTOATNO",		0x08, 0x08 },
16	{ "ENRSELI",		0x10, 0x10 },
17	{ "ENSELI",		0x20, 0x20 },
18	{ "ENSELO",		0x40, 0x40 },
19	{ "TEMODE",		0x80, 0x80 }
20};
21
22int
23ahc_scsiseq_print(u_int regvalue, u_int *cur_col, u_int wrap)
24{
25	return (ahc_print_register(SCSISEQ_parse_table, 8, "SCSISEQ",
26	    0x00, regvalue, cur_col, wrap));
27}
28
29static const ahc_reg_parse_entry_t SXFRCTL0_parse_table[] = {
30	{ "CLRCHN",		0x02, 0x02 },
31	{ "SCAMEN",		0x04, 0x04 },
32	{ "SPIOEN",		0x08, 0x08 },
33	{ "CLRSTCNT",		0x10, 0x10 },
34	{ "FAST20",		0x20, 0x20 },
35	{ "DFPEXP",		0x40, 0x40 },
36	{ "DFON",		0x80, 0x80 }
37};
38
39int
40ahc_sxfrctl0_print(u_int regvalue, u_int *cur_col, u_int wrap)
41{
42	return (ahc_print_register(SXFRCTL0_parse_table, 7, "SXFRCTL0",
43	    0x01, regvalue, cur_col, wrap));
44}
45
46static const ahc_reg_parse_entry_t SCSISIGI_parse_table[] = {
47	{ "ACKI",		0x01, 0x01 },
48	{ "REQI",		0x02, 0x02 },
49	{ "BSYI",		0x04, 0x04 },
50	{ "SELI",		0x08, 0x08 },
51	{ "ATNI",		0x10, 0x10 },
52	{ "MSGI",		0x20, 0x20 },
53	{ "IOI",		0x40, 0x40 },
54	{ "CDI",		0x80, 0x80 },
55	{ "P_DATAOUT",		0x00, 0x00 },
56	{ "P_DATAOUT_DT",	0x20, 0x20 },
57	{ "P_DATAIN",		0x40, 0x40 },
58	{ "P_DATAIN_DT",	0x60, 0x60 },
59	{ "P_COMMAND",		0x80, 0x80 },
60	{ "P_MESGOUT",		0xa0, 0xa0 },
61	{ "P_STATUS",		0xc0, 0xc0 },
62	{ "PHASE_MASK",		0xe0, 0xe0 },
63	{ "P_MESGIN",		0xe0, 0xe0 }
64};
65
66int
67ahc_scsisigi_print(u_int regvalue, u_int *cur_col, u_int wrap)
68{
69	return (ahc_print_register(SCSISIGI_parse_table, 17, "SCSISIGI",
70	    0x03, regvalue, cur_col, wrap));
71}
72
73static const ahc_reg_parse_entry_t SCSIRATE_parse_table[] = {
74	{ "SINGLE_EDGE",	0x10, 0x10 },
75	{ "ENABLE_CRC",		0x40, 0x40 },
76	{ "WIDEXFER",		0x80, 0x80 },
77	{ "SXFR_ULTRA2",	0x0f, 0x0f },
78	{ "SOFS",		0x0f, 0x0f },
79	{ "SXFR",		0x70, 0x70 }
80};
81
82int
83ahc_scsirate_print(u_int regvalue, u_int *cur_col, u_int wrap)
84{
85	return (ahc_print_register(SCSIRATE_parse_table, 6, "SCSIRATE",
86	    0x04, regvalue, cur_col, wrap));
87}
88
89static const ahc_reg_parse_entry_t SSTAT0_parse_table[] = {
90	{ "DMADONE",		0x01, 0x01 },
91	{ "SPIORDY",		0x02, 0x02 },
92	{ "SDONE",		0x04, 0x04 },
93	{ "SWRAP",		0x08, 0x08 },
94	{ "IOERR",		0x08, 0x08 },
95	{ "SELINGO",		0x10, 0x10 },
96	{ "SELDI",		0x20, 0x20 },
97	{ "SELDO",		0x40, 0x40 },
98	{ "TARGET",		0x80, 0x80 }
99};
100
101int
102ahc_sstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
103{
104	return (ahc_print_register(SSTAT0_parse_table, 9, "SSTAT0",
105	    0x0b, regvalue, cur_col, wrap));
106}
107
108static const ahc_reg_parse_entry_t SSTAT1_parse_table[] = {
109	{ "REQINIT",		0x01, 0x01 },
110	{ "PHASECHG",		0x02, 0x02 },
111	{ "SCSIPERR",		0x04, 0x04 },
112	{ "BUSFREE",		0x08, 0x08 },
113	{ "PHASEMIS",		0x10, 0x10 },
114	{ "SCSIRSTI",		0x20, 0x20 },
115	{ "ATNTARG",		0x40, 0x40 },
116	{ "SELTO",		0x80, 0x80 }
117};
118
119int
120ahc_sstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
121{
122	return (ahc_print_register(SSTAT1_parse_table, 8, "SSTAT1",
123	    0x0c, regvalue, cur_col, wrap));
124}
125
126static const ahc_reg_parse_entry_t SSTAT2_parse_table[] = {
127	{ "DUAL_EDGE_ERR",	0x01, 0x01 },
128	{ "CRCREQERR",		0x02, 0x02 },
129	{ "CRCENDERR",		0x04, 0x04 },
130	{ "CRCVALERR",		0x08, 0x08 },
131	{ "EXP_ACTIVE",		0x10, 0x10 },
132	{ "SHVALID",		0x40, 0x40 },
133	{ "OVERRUN",		0x80, 0x80 },
134	{ "SFCNT",		0x1f, 0x1f }
135};
136
137int
138ahc_sstat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
139{
140	return (ahc_print_register(SSTAT2_parse_table, 8, "SSTAT2",
141	    0x0d, regvalue, cur_col, wrap));
142}
143
144static const ahc_reg_parse_entry_t SSTAT3_parse_table[] = {
145	{ "OFFCNT",		0x0f, 0x0f },
146	{ "U2OFFCNT",		0x7f, 0x7f },
147	{ "SCSICNT",		0xf0, 0xf0 }
148};
149
150int
151ahc_sstat3_print(u_int regvalue, u_int *cur_col, u_int wrap)
152{
153	return (ahc_print_register(SSTAT3_parse_table, 3, "SSTAT3",
154	    0x0e, regvalue, cur_col, wrap));
155}
156
157static const ahc_reg_parse_entry_t SIMODE0_parse_table[] = {
158	{ "ENDMADONE",		0x01, 0x01 },
159	{ "ENSPIORDY",		0x02, 0x02 },
160	{ "ENSDONE",		0x04, 0x04 },
161	{ "ENSWRAP",		0x08, 0x08 },
162	{ "ENIOERR",		0x08, 0x08 },
163	{ "ENSELINGO",		0x10, 0x10 },
164	{ "ENSELDI",		0x20, 0x20 },
165	{ "ENSELDO",		0x40, 0x40 }
166};
167
168int
169ahc_simode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
170{
171	return (ahc_print_register(SIMODE0_parse_table, 8, "SIMODE0",
172	    0x10, regvalue, cur_col, wrap));
173}
174
175static const ahc_reg_parse_entry_t SIMODE1_parse_table[] = {
176	{ "ENREQINIT",		0x01, 0x01 },
177	{ "ENPHASECHG",		0x02, 0x02 },
178	{ "ENSCSIPERR",		0x04, 0x04 },
179	{ "ENBUSFREE",		0x08, 0x08 },
180	{ "ENPHASEMIS",		0x10, 0x10 },
181	{ "ENSCSIRST",		0x20, 0x20 },
182	{ "ENATNTARG",		0x40, 0x40 },
183	{ "ENSELTIMO",		0x80, 0x80 }
184};
185
186int
187ahc_simode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
188{
189	return (ahc_print_register(SIMODE1_parse_table, 8, "SIMODE1",
190	    0x11, regvalue, cur_col, wrap));
191}
192
193int
194ahc_scsibusl_print(u_int regvalue, u_int *cur_col, u_int wrap)
195{
196	return (ahc_print_register(NULL, 0, "SCSIBUSL",
197	    0x12, regvalue, cur_col, wrap));
198}
199
200static const ahc_reg_parse_entry_t SBLKCTL_parse_table[] = {
201	{ "XCVR",		0x01, 0x01 },
202	{ "SELWIDE",		0x02, 0x02 },
203	{ "ENAB20",		0x04, 0x04 },
204	{ "SELBUSB",		0x08, 0x08 },
205	{ "ENAB40",		0x08, 0x08 },
206	{ "AUTOFLUSHDIS",	0x20, 0x20 },
207	{ "DIAGLEDON",		0x40, 0x40 },
208	{ "DIAGLEDEN",		0x80, 0x80 }
209};
210
211int
212ahc_sblkctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
213{
214	return (ahc_print_register(SBLKCTL_parse_table, 8, "SBLKCTL",
215	    0x1f, regvalue, cur_col, wrap));
216}
217
218static const ahc_reg_parse_entry_t SEQ_FLAGS_parse_table[] = {
219	{ "NO_DISCONNECT",	0x01, 0x01 },
220	{ "SPHASE_PENDING",	0x02, 0x02 },
221	{ "DPHASE_PENDING",	0x04, 0x04 },
222	{ "CMDPHASE_PENDING",	0x08, 0x08 },
223	{ "TARG_CMD_PENDING",	0x10, 0x10 },
224	{ "DPHASE",		0x20, 0x20 },
225	{ "NO_CDB_SENT",	0x40, 0x40 },
226	{ "TARGET_CMD_IS_TAGGED",0x40, 0x40 },
227	{ "NOT_IDENTIFIED",	0x80, 0x80 }
228};
229
230int
231ahc_seq_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
232{
233	return (ahc_print_register(SEQ_FLAGS_parse_table, 9, "SEQ_FLAGS",
234	    0x3c, regvalue, cur_col, wrap));
235}
236
237static const ahc_reg_parse_entry_t LASTPHASE_parse_table[] = {
238	{ "MSGI",		0x20, 0x20 },
239	{ "IOI",		0x40, 0x40 },
240	{ "CDI",		0x80, 0x80 },
241	{ "P_DATAOUT",		0x00, 0x00 },
242	{ "P_BUSFREE",		0x01, 0x01 },
243	{ "P_DATAIN",		0x40, 0x40 },
244	{ "P_COMMAND",		0x80, 0x80 },
245	{ "P_MESGOUT",		0xa0, 0xa0 },
246	{ "P_STATUS",		0xc0, 0xc0 },
247	{ "PHASE_MASK",		0xe0, 0xe0 },
248	{ "P_MESGIN",		0xe0, 0xe0 }
249};
250
251int
252ahc_lastphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
253{
254	return (ahc_print_register(LASTPHASE_parse_table, 11, "LASTPHASE",
255	    0x3f, regvalue, cur_col, wrap));
256}
257
258static const ahc_reg_parse_entry_t SEQCTL_parse_table[] = {
259	{ "LOADRAM",		0x01, 0x01 },
260	{ "SEQRESET",		0x02, 0x02 },
261	{ "STEP",		0x04, 0x04 },
262	{ "BRKADRINTEN",	0x08, 0x08 },
263	{ "FASTMODE",		0x10, 0x10 },
264	{ "FAILDIS",		0x20, 0x20 },
265	{ "PAUSEDIS",		0x40, 0x40 },
266	{ "PERRORDIS",		0x80, 0x80 }
267};
268
269int
270ahc_seqctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
271{
272	return (ahc_print_register(SEQCTL_parse_table, 8, "SEQCTL",
273	    0x60, regvalue, cur_col, wrap));
274}
275
276int
277ahc_sram_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
278{
279	return (ahc_print_register(NULL, 0, "SRAM_BASE",
280	    0x70, regvalue, cur_col, wrap));
281}
282
283static const ahc_reg_parse_entry_t ERROR_parse_table[] = {
284	{ "ILLHADDR",		0x01, 0x01 },
285	{ "ILLSADDR",		0x02, 0x02 },
286	{ "ILLOPCODE",		0x04, 0x04 },
287	{ "SQPARERR",		0x08, 0x08 },
288	{ "DPARERR",		0x10, 0x10 },
289	{ "MPARERR",		0x20, 0x20 },
290	{ "PCIERRSTAT",		0x40, 0x40 },
291	{ "CIOPARERR",		0x80, 0x80 }
292};
293
294int
295ahc_error_print(u_int regvalue, u_int *cur_col, u_int wrap)
296{
297	return (ahc_print_register(ERROR_parse_table, 8, "ERROR",
298	    0x92, regvalue, cur_col, wrap));
299}
300
301static const ahc_reg_parse_entry_t DFCNTRL_parse_table[] = {
302	{ "FIFORESET",		0x01, 0x01 },
303	{ "FIFOFLUSH",		0x02, 0x02 },
304	{ "DIRECTION",		0x04, 0x04 },
305	{ "HDMAEN",		0x08, 0x08 },
306	{ "HDMAENACK",		0x08, 0x08 },
307	{ "SDMAEN",		0x10, 0x10 },
308	{ "SDMAENACK",		0x10, 0x10 },
309	{ "SCSIEN",		0x20, 0x20 },
310	{ "WIDEODD",		0x40, 0x40 },
311	{ "PRELOADEN",		0x80, 0x80 }
312};
313
314int
315ahc_dfcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
316{
317	return (ahc_print_register(DFCNTRL_parse_table, 10, "DFCNTRL",
318	    0x93, regvalue, cur_col, wrap));
319}
320
321static const ahc_reg_parse_entry_t DFSTATUS_parse_table[] = {
322	{ "FIFOEMP",		0x01, 0x01 },
323	{ "FIFOFULL",		0x02, 0x02 },
324	{ "DFTHRESH",		0x04, 0x04 },
325	{ "HDONE",		0x08, 0x08 },
326	{ "MREQPEND",		0x10, 0x10 },
327	{ "FIFOQWDEMP",		0x20, 0x20 },
328	{ "DFCACHETH",		0x40, 0x40 },
329	{ "PRELOAD_AVAIL",	0x80, 0x80 }
330};
331
332int
333ahc_dfstatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
334{
335	return (ahc_print_register(DFSTATUS_parse_table, 8, "DFSTATUS",
336	    0x94, regvalue, cur_col, wrap));
337}
338
339static const ahc_reg_parse_entry_t SCSIPHASE_parse_table[] = {
340	{ "DATA_OUT_PHASE",	0x01, 0x01 },
341	{ "DATA_IN_PHASE",	0x02, 0x02 },
342	{ "MSG_OUT_PHASE",	0x04, 0x04 },
343	{ "MSG_IN_PHASE",	0x08, 0x08 },
344	{ "COMMAND_PHASE",	0x10, 0x10 },
345	{ "STATUS_PHASE",	0x20, 0x20 },
346	{ "DATA_PHASE_MASK",	0x03, 0x03 }
347};
348
349int
350ahc_scsiphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
351{
352	return (ahc_print_register(SCSIPHASE_parse_table, 7, "SCSIPHASE",
353	    0x9e, regvalue, cur_col, wrap));
354}
355
356int
357ahc_scb_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
358{
359	return (ahc_print_register(NULL, 0, "SCB_BASE",
360	    0xa0, regvalue, cur_col, wrap));
361}
362
363static const ahc_reg_parse_entry_t SCB_CONTROL_parse_table[] = {
364	{ "DISCONNECTED",	0x04, 0x04 },
365	{ "ULTRAENB",		0x08, 0x08 },
366	{ "MK_MESSAGE",		0x10, 0x10 },
367	{ "TAG_ENB",		0x20, 0x20 },
368	{ "DISCENB",		0x40, 0x40 },
369	{ "TARGET_SCB",		0x80, 0x80 },
370	{ "STATUS_RCVD",	0x80, 0x80 },
371	{ "SCB_TAG_TYPE",	0x03, 0x03 }
372};
373
374int
375ahc_scb_control_print(u_int regvalue, u_int *cur_col, u_int wrap)
376{
377	return (ahc_print_register(SCB_CONTROL_parse_table, 8, "SCB_CONTROL",
378	    0xb8, regvalue, cur_col, wrap));
379}
380
381static const ahc_reg_parse_entry_t SCB_SCSIID_parse_table[] = {
382	{ "TWIN_CHNLB",		0x80, 0x80 },
383	{ "OID",		0x0f, 0x0f },
384	{ "TWIN_TID",		0x70, 0x70 },
385	{ "TID",		0xf0, 0xf0 }
386};
387
388int
389ahc_scb_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
390{
391	return (ahc_print_register(SCB_SCSIID_parse_table, 4, "SCB_SCSIID",
392	    0xb9, regvalue, cur_col, wrap));
393}
394
395static const ahc_reg_parse_entry_t SCB_LUN_parse_table[] = {
396	{ "SCB_XFERLEN_ODD",	0x80, 0x80 },
397	{ "LID",		0x3f, 0x3f }
398};
399
400int
401ahc_scb_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
402{
403	return (ahc_print_register(SCB_LUN_parse_table, 2, "SCB_LUN",
404	    0xba, regvalue, cur_col, wrap));
405}
406
407int
408ahc_scb_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
409{
410	return (ahc_print_register(NULL, 0, "SCB_TAG",
411	    0xbb, regvalue, cur_col, wrap));
412}
413
414