diff options
Diffstat (limited to 'sound/oss/cs4281/cs4281_hwdefs.h')
-rw-r--r-- | sound/oss/cs4281/cs4281_hwdefs.h | 1234 |
1 files changed, 0 insertions, 1234 deletions
diff --git a/sound/oss/cs4281/cs4281_hwdefs.h b/sound/oss/cs4281/cs4281_hwdefs.h deleted file mode 100644 index 701d595e33f5..000000000000 --- a/sound/oss/cs4281/cs4281_hwdefs.h +++ /dev/null | |||
@@ -1,1234 +0,0 @@ | |||
1 | //**************************************************************************** | ||
2 | // | ||
3 | // HWDEFS.H - Definitions of the registers and data structures used by the | ||
4 | // CS4281 | ||
5 | // | ||
6 | // Copyright (c) 1999,2000,2001 Crystal Semiconductor Corp. | ||
7 | // | ||
8 | //**************************************************************************** | ||
9 | |||
10 | #ifndef _H_HWDEFS | ||
11 | #define _H_HWDEFS | ||
12 | |||
13 | //**************************************************************************** | ||
14 | // | ||
15 | // The following define the offsets of the registers located in the PCI | ||
16 | // configuration space of the CS4281 part. | ||
17 | // | ||
18 | //**************************************************************************** | ||
19 | #define PCICONFIG_DEVID_VENID 0x00000000L | ||
20 | #define PCICONFIG_STATUS_COMMAND 0x00000004L | ||
21 | #define PCICONFIG_CLASS_REVISION 0x00000008L | ||
22 | #define PCICONFIG_LATENCY_TIMER 0x0000000CL | ||
23 | #define PCICONFIG_BA0 0x00000010L | ||
24 | #define PCICONFIG_BA1 0x00000014L | ||
25 | #define PCICONFIG_SUBSYSID_SUBSYSVENID 0x0000002CL | ||
26 | #define PCICONFIG_INTERRUPT 0x0000003CL | ||
27 | |||
28 | //**************************************************************************** | ||
29 | // | ||
30 | // The following define the offsets of the registers accessed via base address | ||
31 | // register zero on the CS4281 part. | ||
32 | // | ||
33 | //**************************************************************************** | ||
34 | #define BA0_HISR 0x00000000L | ||
35 | #define BA0_HICR 0x00000008L | ||
36 | #define BA0_HIMR 0x0000000CL | ||
37 | #define BA0_IIER 0x00000010L | ||
38 | #define BA0_HDSR0 0x000000F0L | ||
39 | #define BA0_HDSR1 0x000000F4L | ||
40 | #define BA0_HDSR2 0x000000F8L | ||
41 | #define BA0_HDSR3 0x000000FCL | ||
42 | #define BA0_DCA0 0x00000110L | ||
43 | #define BA0_DCC0 0x00000114L | ||
44 | #define BA0_DBA0 0x00000118L | ||
45 | #define BA0_DBC0 0x0000011CL | ||
46 | #define BA0_DCA1 0x00000120L | ||
47 | #define BA0_DCC1 0x00000124L | ||
48 | #define BA0_DBA1 0x00000128L | ||
49 | #define BA0_DBC1 0x0000012CL | ||
50 | #define BA0_DCA2 0x00000130L | ||
51 | #define BA0_DCC2 0x00000134L | ||
52 | #define BA0_DBA2 0x00000138L | ||
53 | #define BA0_DBC2 0x0000013CL | ||
54 | #define BA0_DCA3 0x00000140L | ||
55 | #define BA0_DCC3 0x00000144L | ||
56 | #define BA0_DBA3 0x00000148L | ||
57 | #define BA0_DBC3 0x0000014CL | ||
58 | #define BA0_DMR0 0x00000150L | ||
59 | #define BA0_DCR0 0x00000154L | ||
60 | #define BA0_DMR1 0x00000158L | ||
61 | #define BA0_DCR1 0x0000015CL | ||
62 | #define BA0_DMR2 0x00000160L | ||
63 | #define BA0_DCR2 0x00000164L | ||
64 | #define BA0_DMR3 0x00000168L | ||
65 | #define BA0_DCR3 0x0000016CL | ||
66 | #define BA0_DLMR 0x00000170L | ||
67 | #define BA0_DLSR 0x00000174L | ||
68 | #define BA0_FCR0 0x00000180L | ||
69 | #define BA0_FCR1 0x00000184L | ||
70 | #define BA0_FCR2 0x00000188L | ||
71 | #define BA0_FCR3 0x0000018CL | ||
72 | #define BA0_FPDR0 0x00000190L | ||
73 | #define BA0_FPDR1 0x00000194L | ||
74 | #define BA0_FPDR2 0x00000198L | ||
75 | #define BA0_FPDR3 0x0000019CL | ||
76 | #define BA0_FCHS 0x0000020CL | ||
77 | #define BA0_FSIC0 0x00000210L | ||
78 | #define BA0_FSIC1 0x00000214L | ||
79 | #define BA0_FSIC2 0x00000218L | ||
80 | #define BA0_FSIC3 0x0000021CL | ||
81 | #define BA0_PCICFG00 0x00000300L | ||
82 | #define BA0_PCICFG04 0x00000304L | ||
83 | #define BA0_PCICFG08 0x00000308L | ||
84 | #define BA0_PCICFG0C 0x0000030CL | ||
85 | #define BA0_PCICFG10 0x00000310L | ||
86 | #define BA0_PCICFG14 0x00000314L | ||
87 | #define BA0_PCICFG18 0x00000318L | ||
88 | #define BA0_PCICFG1C 0x0000031CL | ||
89 | #define BA0_PCICFG20 0x00000320L | ||
90 | #define BA0_PCICFG24 0x00000324L | ||
91 | #define BA0_PCICFG28 0x00000328L | ||
92 | #define BA0_PCICFG2C 0x0000032CL | ||
93 | #define BA0_PCICFG30 0x00000330L | ||
94 | #define BA0_PCICFG34 0x00000334L | ||
95 | #define BA0_PCICFG38 0x00000338L | ||
96 | #define BA0_PCICFG3C 0x0000033CL | ||
97 | #define BA0_PCICFG40 0x00000340L | ||
98 | #define BA0_PMCS 0x00000344L | ||
99 | #define BA0_CWPR 0x000003E0L | ||
100 | #define BA0_EPPMC 0x000003E4L | ||
101 | #define BA0_GPIOR 0x000003E8L | ||
102 | #define BA0_SPMC 0x000003ECL | ||
103 | #define BA0_CFLR 0x000003F0L | ||
104 | #define BA0_IISR 0x000003F4L | ||
105 | #define BA0_TMS 0x000003F8L | ||
106 | #define BA0_SSVID 0x000003FCL | ||
107 | #define BA0_CLKCR1 0x00000400L | ||
108 | #define BA0_FRR 0x00000410L | ||
109 | #define BA0_SLT12O 0x0000041CL | ||
110 | #define BA0_SERMC 0x00000420L | ||
111 | #define BA0_SERC1 0x00000428L | ||
112 | #define BA0_SERC2 0x0000042CL | ||
113 | #define BA0_SLT12M 0x0000045CL | ||
114 | #define BA0_ACCTL 0x00000460L | ||
115 | #define BA0_ACSTS 0x00000464L | ||
116 | #define BA0_ACOSV 0x00000468L | ||
117 | #define BA0_ACCAD 0x0000046CL | ||
118 | #define BA0_ACCDA 0x00000470L | ||
119 | #define BA0_ACISV 0x00000474L | ||
120 | #define BA0_ACSAD 0x00000478L | ||
121 | #define BA0_ACSDA 0x0000047CL | ||
122 | #define BA0_JSPT 0x00000480L | ||
123 | #define BA0_JSCTL 0x00000484L | ||
124 | #define BA0_MIDCR 0x00000490L | ||
125 | #define BA0_MIDCMD 0x00000494L | ||
126 | #define BA0_MIDSR 0x00000494L | ||
127 | #define BA0_MIDWP 0x00000498L | ||
128 | #define BA0_MIDRP 0x0000049CL | ||
129 | #define BA0_AODSD1 0x000004A8L | ||
130 | #define BA0_AODSD2 0x000004ACL | ||
131 | #define BA0_CFGI 0x000004B0L | ||
132 | #define BA0_SLT12M2 0x000004DCL | ||
133 | #define BA0_ACSTS2 0x000004E4L | ||
134 | #define BA0_ACISV2 0x000004F4L | ||
135 | #define BA0_ACSAD2 0x000004F8L | ||
136 | #define BA0_ACSDA2 0x000004FCL | ||
137 | #define BA0_IOTGP 0x00000500L | ||
138 | #define BA0_IOTSB 0x00000504L | ||
139 | #define BA0_IOTFM 0x00000508L | ||
140 | #define BA0_IOTDMA 0x0000050CL | ||
141 | #define BA0_IOTAC0 0x00000500L | ||
142 | #define BA0_IOTAC1 0x00000504L | ||
143 | #define BA0_IOTAC2 0x00000508L | ||
144 | #define BA0_IOTAC3 0x0000050CL | ||
145 | #define BA0_IOTPCP 0x0000052CL | ||
146 | #define BA0_IOTCC 0x00000530L | ||
147 | #define BA0_IOTCR 0x0000058CL | ||
148 | #define BA0_PCPRR 0x00000600L | ||
149 | #define BA0_PCPGR 0x00000604L | ||
150 | #define BA0_PCPCR 0x00000608L | ||
151 | #define BA0_PCPCIEN 0x00000608L | ||
152 | #define BA0_SBMAR 0x00000700L | ||
153 | #define BA0_SBMDR 0x00000704L | ||
154 | #define BA0_SBRR 0x00000708L | ||
155 | #define BA0_SBRDP 0x0000070CL | ||
156 | #define BA0_SBWDP 0x00000710L | ||
157 | #define BA0_SBWBS 0x00000710L | ||
158 | #define BA0_SBRBS 0x00000714L | ||
159 | #define BA0_FMSR 0x00000730L | ||
160 | #define BA0_B0AP 0x00000730L | ||
161 | #define BA0_FMDP 0x00000734L | ||
162 | #define BA0_B1AP 0x00000738L | ||
163 | #define BA0_B1DP 0x0000073CL | ||
164 | #define BA0_SSPM 0x00000740L | ||
165 | #define BA0_DACSR 0x00000744L | ||
166 | #define BA0_ADCSR 0x00000748L | ||
167 | #define BA0_SSCR 0x0000074CL | ||
168 | #define BA0_FMLVC 0x00000754L | ||
169 | #define BA0_FMRVC 0x00000758L | ||
170 | #define BA0_SRCSA 0x0000075CL | ||
171 | #define BA0_PPLVC 0x00000760L | ||
172 | #define BA0_PPRVC 0x00000764L | ||
173 | #define BA0_PASR 0x00000768L | ||
174 | #define BA0_CASR 0x0000076CL | ||
175 | |||
176 | //**************************************************************************** | ||
177 | // | ||
178 | // The following define the offsets of the AC97 shadow registers, which appear | ||
179 | // as a virtual extension to the base address register zero memory range. | ||
180 | // | ||
181 | //**************************************************************************** | ||
182 | #define AC97_REG_OFFSET_MASK 0x0000007EL | ||
183 | #define AC97_CODEC_NUMBER_MASK 0x00003000L | ||
184 | |||
185 | #define BA0_AC97_RESET 0x00001000L | ||
186 | #define BA0_AC97_MASTER_VOLUME 0x00001002L | ||
187 | #define BA0_AC97_HEADPHONE_VOLUME 0x00001004L | ||
188 | #define BA0_AC97_MASTER_VOLUME_MONO 0x00001006L | ||
189 | #define BA0_AC97_MASTER_TONE 0x00001008L | ||
190 | #define BA0_AC97_PC_BEEP_VOLUME 0x0000100AL | ||
191 | #define BA0_AC97_PHONE_VOLUME 0x0000100CL | ||
192 | #define BA0_AC97_MIC_VOLUME 0x0000100EL | ||
193 | #define BA0_AC97_LINE_IN_VOLUME 0x00001010L | ||
194 | #define BA0_AC97_CD_VOLUME 0x00001012L | ||
195 | #define BA0_AC97_VIDEO_VOLUME 0x00001014L | ||
196 | #define BA0_AC97_AUX_VOLUME 0x00001016L | ||
197 | #define BA0_AC97_PCM_OUT_VOLUME 0x00001018L | ||
198 | #define BA0_AC97_RECORD_SELECT 0x0000101AL | ||
199 | #define BA0_AC97_RECORD_GAIN 0x0000101CL | ||
200 | #define BA0_AC97_RECORD_GAIN_MIC 0x0000101EL | ||
201 | #define BA0_AC97_GENERAL_PURPOSE 0x00001020L | ||
202 | #define BA0_AC97_3D_CONTROL 0x00001022L | ||
203 | #define BA0_AC97_MODEM_RATE 0x00001024L | ||
204 | #define BA0_AC97_POWERDOWN 0x00001026L | ||
205 | #define BA0_AC97_EXT_AUDIO_ID 0x00001028L | ||
206 | #define BA0_AC97_EXT_AUDIO_POWER 0x0000102AL | ||
207 | #define BA0_AC97_PCM_FRONT_DAC_RATE 0x0000102CL | ||
208 | #define BA0_AC97_PCM_SURR_DAC_RATE 0x0000102EL | ||
209 | #define BA0_AC97_PCM_LFE_DAC_RATE 0x00001030L | ||
210 | #define BA0_AC97_PCM_LR_ADC_RATE 0x00001032L | ||
211 | #define BA0_AC97_MIC_ADC_RATE 0x00001034L | ||
212 | #define BA0_AC97_6CH_VOL_C_LFE 0x00001036L | ||
213 | #define BA0_AC97_6CH_VOL_SURROUND 0x00001038L | ||
214 | #define BA0_AC97_RESERVED_3A 0x0000103AL | ||
215 | #define BA0_AC97_EXT_MODEM_ID 0x0000103CL | ||
216 | #define BA0_AC97_EXT_MODEM_POWER 0x0000103EL | ||
217 | #define BA0_AC97_LINE1_CODEC_RATE 0x00001040L | ||
218 | #define BA0_AC97_LINE2_CODEC_RATE 0x00001042L | ||
219 | #define BA0_AC97_HANDSET_CODEC_RATE 0x00001044L | ||
220 | #define BA0_AC97_LINE1_CODEC_LEVEL 0x00001046L | ||
221 | #define BA0_AC97_LINE2_CODEC_LEVEL 0x00001048L | ||
222 | #define BA0_AC97_HANDSET_CODEC_LEVEL 0x0000104AL | ||
223 | #define BA0_AC97_GPIO_PIN_CONFIG 0x0000104CL | ||
224 | #define BA0_AC97_GPIO_PIN_TYPE 0x0000104EL | ||
225 | #define BA0_AC97_GPIO_PIN_STICKY 0x00001050L | ||
226 | #define BA0_AC97_GPIO_PIN_WAKEUP 0x00001052L | ||
227 | #define BA0_AC97_GPIO_PIN_STATUS 0x00001054L | ||
228 | #define BA0_AC97_MISC_MODEM_AFE_STAT 0x00001056L | ||
229 | #define BA0_AC97_RESERVED_58 0x00001058L | ||
230 | #define BA0_AC97_CRYSTAL_REV_N_FAB_ID 0x0000105AL | ||
231 | #define BA0_AC97_TEST_AND_MISC_CTRL 0x0000105CL | ||
232 | #define BA0_AC97_AC_MODE 0x0000105EL | ||
233 | #define BA0_AC97_MISC_CRYSTAL_CONTROL 0x00001060L | ||
234 | #define BA0_AC97_LINE1_HYPRID_CTRL 0x00001062L | ||
235 | #define BA0_AC97_VENDOR_RESERVED_64 0x00001064L | ||
236 | #define BA0_AC97_VENDOR_RESERVED_66 0x00001066L | ||
237 | #define BA0_AC97_SPDIF_CONTROL 0x00001068L | ||
238 | #define BA0_AC97_VENDOR_RESERVED_6A 0x0000106AL | ||
239 | #define BA0_AC97_VENDOR_RESERVED_6C 0x0000106CL | ||
240 | #define BA0_AC97_VENDOR_RESERVED_6E 0x0000106EL | ||
241 | #define BA0_AC97_VENDOR_RESERVED_70 0x00001070L | ||
242 | #define BA0_AC97_VENDOR_RESERVED_72 0x00001072L | ||
243 | #define BA0_AC97_VENDOR_RESERVED_74 0x00001074L | ||
244 | #define BA0_AC97_CAL_ADDRESS 0x00001076L | ||
245 | #define BA0_AC97_CAL_DATA 0x00001078L | ||
246 | #define BA0_AC97_VENDOR_RESERVED_7A 0x0000107AL | ||
247 | #define BA0_AC97_VENDOR_ID1 0x0000107CL | ||
248 | #define BA0_AC97_VENDOR_ID2 0x0000107EL | ||
249 | |||
250 | //**************************************************************************** | ||
251 | // | ||
252 | // The following define the offsets of the registers and memories accessed via | ||
253 | // base address register one on the CS4281 part. | ||
254 | // | ||
255 | //**************************************************************************** | ||
256 | |||
257 | //**************************************************************************** | ||
258 | // | ||
259 | // The following defines are for the flags in the PCI device ID/vendor ID | ||
260 | // register. | ||
261 | // | ||
262 | //**************************************************************************** | ||
263 | #define PDV_VENID_MASK 0x0000FFFFL | ||
264 | #define PDV_DEVID_MASK 0xFFFF0000L | ||
265 | #define PDV_VENID_SHIFT 0L | ||
266 | #define PDV_DEVID_SHIFT 16L | ||
267 | #define VENID_CIRRUS_LOGIC 0x1013L | ||
268 | #define DEVID_CS4281 0x6005L | ||
269 | |||
270 | //**************************************************************************** | ||
271 | // | ||
272 | // The following defines are for the flags in the PCI status and command | ||
273 | // register. | ||
274 | // | ||
275 | //**************************************************************************** | ||
276 | #define PSC_IO_SPACE_ENABLE 0x00000001L | ||
277 | #define PSC_MEMORY_SPACE_ENABLE 0x00000002L | ||
278 | #define PSC_BUS_MASTER_ENABLE 0x00000004L | ||
279 | #define PSC_SPECIAL_CYCLES 0x00000008L | ||
280 | #define PSC_MWI_ENABLE 0x00000010L | ||
281 | #define PSC_VGA_PALETTE_SNOOP 0x00000020L | ||
282 | #define PSC_PARITY_RESPONSE 0x00000040L | ||
283 | #define PSC_WAIT_CONTROL 0x00000080L | ||
284 | #define PSC_SERR_ENABLE 0x00000100L | ||
285 | #define PSC_FAST_B2B_ENABLE 0x00000200L | ||
286 | #define PSC_UDF_MASK 0x007F0000L | ||
287 | #define PSC_FAST_B2B_CAPABLE 0x00800000L | ||
288 | #define PSC_PARITY_ERROR_DETECTED 0x01000000L | ||
289 | #define PSC_DEVSEL_TIMING_MASK 0x06000000L | ||
290 | #define PSC_TARGET_ABORT_SIGNALLED 0x08000000L | ||
291 | #define PSC_RECEIVED_TARGET_ABORT 0x10000000L | ||
292 | #define PSC_RECEIVED_MASTER_ABORT 0x20000000L | ||
293 | #define PSC_SIGNALLED_SERR 0x40000000L | ||
294 | #define PSC_DETECTED_PARITY_ERROR 0x80000000L | ||
295 | #define PSC_UDF_SHIFT 16L | ||
296 | #define PSC_DEVSEL_TIMING_SHIFT 25L | ||
297 | |||
298 | //**************************************************************************** | ||
299 | // | ||
300 | // The following defines are for the flags in the PCI class/revision ID | ||
301 | // register. | ||
302 | // | ||
303 | //**************************************************************************** | ||
304 | #define PCR_REVID_MASK 0x000000FFL | ||
305 | #define PCR_INTERFACE_MASK 0x0000FF00L | ||
306 | #define PCR_SUBCLASS_MASK 0x00FF0000L | ||
307 | #define PCR_CLASS_MASK 0xFF000000L | ||
308 | #define PCR_REVID_SHIFT 0L | ||
309 | #define PCR_INTERFACE_SHIFT 8L | ||
310 | #define PCR_SUBCLASS_SHIFT 16L | ||
311 | #define PCR_CLASS_SHIFT 24L | ||
312 | |||
313 | //**************************************************************************** | ||
314 | // | ||
315 | // The following defines are for the flags in the PCI latency timer register. | ||
316 | // | ||
317 | //**************************************************************************** | ||
318 | #define PLT_CACHE_LINE_SIZE_MASK 0x000000FFL | ||
319 | #define PLT_LATENCY_TIMER_MASK 0x0000FF00L | ||
320 | #define PLT_HEADER_TYPE_MASK 0x00FF0000L | ||
321 | #define PLT_BIST_MASK 0xFF000000L | ||
322 | #define PLT_CACHE_LINE_SIZE_SHIFT 0L | ||
323 | #define PLT_LATENCY_TIMER_SHIFT 8L | ||
324 | #define PLT_HEADER_TYPE_SHIFT 16L | ||
325 | #define PLT_BIST_SHIFT 24L | ||
326 | |||
327 | //**************************************************************************** | ||
328 | // | ||
329 | // The following defines are for the flags in the PCI base address registers. | ||
330 | // | ||
331 | //**************************************************************************** | ||
332 | #define PBAR_MEMORY_SPACE_INDICATOR 0x00000001L | ||
333 | #define PBAR_LOCATION_TYPE_MASK 0x00000006L | ||
334 | #define PBAR_NOT_PREFETCHABLE 0x00000008L | ||
335 | #define PBAR_ADDRESS_MASK 0xFFFFFFF0L | ||
336 | #define PBAR_LOCATION_TYPE_SHIFT 1L | ||
337 | |||
338 | //**************************************************************************** | ||
339 | // | ||
340 | // The following defines are for the flags in the PCI subsystem ID/subsystem | ||
341 | // vendor ID register. | ||
342 | // | ||
343 | //**************************************************************************** | ||
344 | #define PSS_SUBSYSTEM_VENDOR_ID_MASK 0x0000FFFFL | ||
345 | #define PSS_SUBSYSTEM_ID_MASK 0xFFFF0000L | ||
346 | #define PSS_SUBSYSTEM_VENDOR_ID_SHIFT 0L | ||
347 | #define PSS_SUBSYSTEM_ID_SHIFT 16L | ||
348 | |||
349 | //**************************************************************************** | ||
350 | // | ||
351 | // The following defines are for the flags in the PCI interrupt register. | ||
352 | // | ||
353 | //**************************************************************************** | ||
354 | #define PI_LINE_MASK 0x000000FFL | ||
355 | #define PI_PIN_MASK 0x0000FF00L | ||
356 | #define PI_MIN_GRANT_MASK 0x00FF0000L | ||
357 | #define PI_MAX_LATENCY_MASK 0xFF000000L | ||
358 | #define PI_LINE_SHIFT 0L | ||
359 | #define PI_PIN_SHIFT 8L | ||
360 | #define PI_MIN_GRANT_SHIFT 16L | ||
361 | #define PI_MAX_LATENCY_SHIFT 24L | ||
362 | |||
363 | //**************************************************************************** | ||
364 | // | ||
365 | // The following defines are for the flags in the host interrupt status | ||
366 | // register. | ||
367 | // | ||
368 | //**************************************************************************** | ||
369 | #define HISR_HVOLMASK 0x00000003L | ||
370 | #define HISR_VDNI 0x00000001L | ||
371 | #define HISR_VUPI 0x00000002L | ||
372 | #define HISR_GP1I 0x00000004L | ||
373 | #define HISR_GP3I 0x00000008L | ||
374 | #define HISR_GPSI 0x00000010L | ||
375 | #define HISR_GPPI 0x00000020L | ||
376 | #define HISR_DMAI 0x00040000L | ||
377 | #define HISR_FIFOI 0x00100000L | ||
378 | #define HISR_HVOL 0x00200000L | ||
379 | #define HISR_MIDI 0x00400000L | ||
380 | #define HISR_SBINT 0x00800000L | ||
381 | #define HISR_INTENA 0x80000000L | ||
382 | #define HISR_DMA_MASK 0x00000F00L | ||
383 | #define HISR_FIFO_MASK 0x0000F000L | ||
384 | #define HISR_DMA_SHIFT 8L | ||
385 | #define HISR_FIFO_SHIFT 12L | ||
386 | #define HISR_FIFO0 0x00001000L | ||
387 | #define HISR_FIFO1 0x00002000L | ||
388 | #define HISR_FIFO2 0x00004000L | ||
389 | #define HISR_FIFO3 0x00008000L | ||
390 | #define HISR_DMA0 0x00000100L | ||
391 | #define HISR_DMA1 0x00000200L | ||
392 | #define HISR_DMA2 0x00000400L | ||
393 | #define HISR_DMA3 0x00000800L | ||
394 | #define HISR_RESERVED 0x40000000L | ||
395 | |||
396 | //**************************************************************************** | ||
397 | // | ||
398 | // The following defines are for the flags in the host interrupt control | ||
399 | // register. | ||
400 | // | ||
401 | //**************************************************************************** | ||
402 | #define HICR_IEV 0x00000001L | ||
403 | #define HICR_CHGM 0x00000002L | ||
404 | |||
405 | //**************************************************************************** | ||
406 | // | ||
407 | // The following defines are for the flags in the DMA Mode Register n | ||
408 | // (DMRn) | ||
409 | // | ||
410 | //**************************************************************************** | ||
411 | #define DMRn_TR_MASK 0x0000000CL | ||
412 | #define DMRn_TR_SHIFT 2L | ||
413 | #define DMRn_AUTO 0x00000010L | ||
414 | #define DMRn_TR_READ 0x00000008L | ||
415 | #define DMRn_TR_WRITE 0x00000004L | ||
416 | #define DMRn_TYPE_MASK 0x000000C0L | ||
417 | #define DMRn_TYPE_SHIFT 6L | ||
418 | #define DMRn_SIZE8 0x00010000L | ||
419 | #define DMRn_MONO 0x00020000L | ||
420 | #define DMRn_BEND 0x00040000L | ||
421 | #define DMRn_USIGN 0x00080000L | ||
422 | #define DMRn_SIZE20 0x00100000L | ||
423 | #define DMRn_SWAPC 0x00400000L | ||
424 | #define DMRn_CBC 0x01000000L | ||
425 | #define DMRn_TBC 0x02000000L | ||
426 | #define DMRn_POLL 0x10000000L | ||
427 | #define DMRn_DMA 0x20000000L | ||
428 | #define DMRn_FSEL_MASK 0xC0000000L | ||
429 | #define DMRn_FSEL_SHIFT 30L | ||
430 | #define DMRn_FSEL0 0x00000000L | ||
431 | #define DMRn_FSEL1 0x40000000L | ||
432 | #define DMRn_FSEL2 0x80000000L | ||
433 | #define DMRn_FSEL3 0xC0000000L | ||
434 | |||
435 | //**************************************************************************** | ||
436 | // | ||
437 | // The following defines are for the flags in the DMA Command Register n | ||
438 | // (DCRn) | ||
439 | // | ||
440 | //**************************************************************************** | ||
441 | #define DCRn_HTCIE 0x00020000L | ||
442 | #define DCRn_TCIE 0x00010000L | ||
443 | #define DCRn_MSK 0x00000001L | ||
444 | |||
445 | //**************************************************************************** | ||
446 | // | ||
447 | // The following defines are for the flags in the FIFO Control | ||
448 | // register n.(FCRn) | ||
449 | // | ||
450 | //**************************************************************************** | ||
451 | #define FCRn_OF_MASK 0x0000007FL | ||
452 | #define FCRn_OF_SHIFT 0L | ||
453 | #define FCRn_SZ_MASK 0x00007F00L | ||
454 | #define FCRn_SZ_SHIFT 8L | ||
455 | #define FCRn_LS_MASK 0x001F0000L | ||
456 | #define FCRn_LS_SHIFT 16L | ||
457 | #define FCRn_RS_MASK 0x1F000000L | ||
458 | #define FCRn_RS_SHIFT 24L | ||
459 | #define FCRn_FEN 0x80000000L | ||
460 | #define FCRn_PSH 0x20000000L | ||
461 | #define FCRn_DACZ 0x40000000L | ||
462 | |||
463 | //**************************************************************************** | ||
464 | // | ||
465 | // The following defines are for the flags in the serial port Power Management | ||
466 | // control register.(SPMC) | ||
467 | // | ||
468 | //**************************************************************************** | ||
469 | #define SPMC_RSTN 0x00000001L | ||
470 | #define SPMC_ASYN 0x00000002L | ||
471 | #define SPMC_WUP1 0x00000004L | ||
472 | #define SPMC_WUP2 0x00000008L | ||
473 | #define SPMC_ASDI2E 0x00000100L | ||
474 | #define SPMC_ESSPD 0x00000200L | ||
475 | #define SPMC_GISPEN 0x00004000L | ||
476 | #define SPMC_GIPPEN 0x00008000L | ||
477 | |||
478 | //**************************************************************************** | ||
479 | // | ||
480 | // The following defines are for the flags in the Configuration Load register. | ||
481 | // (CFLR) | ||
482 | // | ||
483 | //**************************************************************************** | ||
484 | #define CFLR_CLOCK_SOURCE_MASK 0x00000003L | ||
485 | #define CFLR_CLOCK_SOURCE_AC97 0x00000001L | ||
486 | |||
487 | #define CFLR_CB0_MASK 0x000000FFL | ||
488 | #define CFLR_CB1_MASK 0x0000FF00L | ||
489 | #define CFLR_CB2_MASK 0x00FF0000L | ||
490 | #define CFLR_CB3_MASK 0xFF000000L | ||
491 | #define CFLR_CB0_SHIFT 0L | ||
492 | #define CFLR_CB1_SHIFT 8L | ||
493 | #define CFLR_CB2_SHIFT 16L | ||
494 | #define CFLR_CB3_SHIFT 24L | ||
495 | |||
496 | #define IOTCR_DMA0 0x00000000L | ||
497 | #define IOTCR_DMA1 0x00000400L | ||
498 | #define IOTCR_DMA2 0x00000800L | ||
499 | #define IOTCR_DMA3 0x00000C00L | ||
500 | #define IOTCR_CCLS 0x00000100L | ||
501 | #define IOTCR_PCPCI 0x00000200L | ||
502 | #define IOTCR_DDMA 0x00000300L | ||
503 | |||
504 | #define SBWBS_WBB 0x00000080L | ||
505 | |||
506 | //**************************************************************************** | ||
507 | // | ||
508 | // The following defines are for the flags in the SRC Slot Assignment Register | ||
509 | // (SRCSA) | ||
510 | // | ||
511 | //**************************************************************************** | ||
512 | #define SRCSA_PLSS_MASK 0x0000001FL | ||
513 | #define SRCSA_PLSS_SHIFT 0L | ||
514 | #define SRCSA_PRSS_MASK 0x00001F00L | ||
515 | #define SRCSA_PRSS_SHIFT 8L | ||
516 | #define SRCSA_CLSS_MASK 0x001F0000L | ||
517 | #define SRCSA_CLSS_SHIFT 16L | ||
518 | #define SRCSA_CRSS_MASK 0x1F000000L | ||
519 | #define SRCSA_CRSS_SHIFT 24L | ||
520 | |||
521 | //**************************************************************************** | ||
522 | // | ||
523 | // The following defines are for the flags in the Sound System Power Management | ||
524 | // register.(SSPM) | ||
525 | // | ||
526 | //**************************************************************************** | ||
527 | #define SSPM_FPDN 0x00000080L | ||
528 | #define SSPM_MIXEN 0x00000040L | ||
529 | #define SSPM_CSRCEN 0x00000020L | ||
530 | #define SSPM_PSRCEN 0x00000010L | ||
531 | #define SSPM_JSEN 0x00000008L | ||
532 | #define SSPM_ACLEN 0x00000004L | ||
533 | #define SSPM_FMEN 0x00000002L | ||
534 | |||
535 | //**************************************************************************** | ||
536 | // | ||
537 | // The following defines are for the flags in the Sound System Control | ||
538 | // Register. (SSCR) | ||
539 | // | ||
540 | //**************************************************************************** | ||
541 | #define SSCR_SB 0x00000004L | ||
542 | #define SSCR_HVC 0x00000008L | ||
543 | #define SSCR_LPFIFO 0x00000040L | ||
544 | #define SSCR_LPSRC 0x00000080L | ||
545 | #define SSCR_XLPSRC 0x00000100L | ||
546 | #define SSCR_MVMD 0x00010000L | ||
547 | #define SSCR_MVAD 0x00020000L | ||
548 | #define SSCR_MVLD 0x00040000L | ||
549 | #define SSCR_MVCS 0x00080000L | ||
550 | |||
551 | //**************************************************************************** | ||
552 | // | ||
553 | // The following defines are for the flags in the Clock Control Register 1. | ||
554 | // (CLKCR1) | ||
555 | // | ||
556 | //**************************************************************************** | ||
557 | #define CLKCR1_DLLSS_MASK 0x0000000CL | ||
558 | #define CLKCR1_DLLSS_SHIFT 2L | ||
559 | #define CLKCR1_DLLP 0x00000010L | ||
560 | #define CLKCR1_SWCE 0x00000020L | ||
561 | #define CLKCR1_DLLOS 0x00000040L | ||
562 | #define CLKCR1_CKRA 0x00010000L | ||
563 | #define CLKCR1_CKRN 0x00020000L | ||
564 | #define CLKCR1_DLLRDY 0x01000000L | ||
565 | #define CLKCR1_CLKON 0x02000000L | ||
566 | |||
567 | //**************************************************************************** | ||
568 | // | ||
569 | // The following defines are for the flags in the Sound Blaster Read Buffer | ||
570 | // Status.(SBRBS) | ||
571 | // | ||
572 | //**************************************************************************** | ||
573 | #define SBRBS_RD_MASK 0x0000007FL | ||
574 | #define SBRBS_RD_SHIFT 0L | ||
575 | #define SBRBS_RBF 0x00000080L | ||
576 | |||
577 | //**************************************************************************** | ||
578 | // | ||
579 | // The following defines are for the flags in the serial port master control | ||
580 | // register.(SERMC) | ||
581 | // | ||
582 | //**************************************************************************** | ||
583 | #define SERMC_MSPE 0x00000001L | ||
584 | #define SERMC_PTC_MASK 0x0000000EL | ||
585 | #define SERMC_PTC_SHIFT 1L | ||
586 | #define SERMC_PTC_AC97 0x00000002L | ||
587 | #define SERMC_PLB 0x00000010L | ||
588 | #define SERMC_PXLB 0x00000020L | ||
589 | #define SERMC_LOFV 0x00080000L | ||
590 | #define SERMC_SLB 0x00100000L | ||
591 | #define SERMC_SXLB 0x00200000L | ||
592 | #define SERMC_ODSEN1 0x01000000L | ||
593 | #define SERMC_ODSEN2 0x02000000L | ||
594 | |||
595 | //**************************************************************************** | ||
596 | // | ||
597 | // The following defines are for the flags in the General Purpose I/O Register. | ||
598 | // (GPIOR) | ||
599 | // | ||
600 | //**************************************************************************** | ||
601 | #define GPIOR_VDNS 0x00000001L | ||
602 | #define GPIOR_VUPS 0x00000002L | ||
603 | #define GPIOR_GP1S 0x00000004L | ||
604 | #define GPIOR_GP3S 0x00000008L | ||
605 | #define GPIOR_GPSS 0x00000010L | ||
606 | #define GPIOR_GPPS 0x00000020L | ||
607 | #define GPIOR_GP1D 0x00000400L | ||
608 | #define GPIOR_GP3D 0x00000800L | ||
609 | #define GPIOR_VDNLT 0x00010000L | ||
610 | #define GPIOR_VDNPO 0x00020000L | ||
611 | #define GPIOR_VDNST 0x00040000L | ||
612 | #define GPIOR_VDNW 0x00080000L | ||
613 | #define GPIOR_VUPLT 0x00100000L | ||
614 | #define GPIOR_VUPPO 0x00200000L | ||
615 | #define GPIOR_VUPST 0x00400000L | ||
616 | #define GPIOR_VUPW 0x00800000L | ||
617 | #define GPIOR_GP1OE 0x01000000L | ||
618 | #define GPIOR_GP1PT 0x02000000L | ||
619 | #define GPIOR_GP1ST 0x04000000L | ||
620 | #define GPIOR_GP1W 0x08000000L | ||
621 | #define GPIOR_GP3OE 0x10000000L | ||
622 | #define GPIOR_GP3PT 0x20000000L | ||
623 | #define GPIOR_GP3ST 0x40000000L | ||
624 | #define GPIOR_GP3W 0x80000000L | ||
625 | |||
626 | //**************************************************************************** | ||
627 | // | ||
628 | // The following defines are for the flags in the clock control register 1. | ||
629 | // | ||
630 | //**************************************************************************** | ||
631 | #define CLKCR1_PLLSS_MASK 0x0000000CL | ||
632 | #define CLKCR1_PLLSS_SERIAL 0x00000000L | ||
633 | #define CLKCR1_PLLSS_CRYSTAL 0x00000004L | ||
634 | #define CLKCR1_PLLSS_PCI 0x00000008L | ||
635 | #define CLKCR1_PLLSS_RESERVED 0x0000000CL | ||
636 | #define CLKCR1_PLLP 0x00000010L | ||
637 | #define CLKCR1_SWCE 0x00000020L | ||
638 | #define CLKCR1_PLLOS 0x00000040L | ||
639 | |||
640 | //**************************************************************************** | ||
641 | // | ||
642 | // The following defines are for the flags in the feature reporting register. | ||
643 | // | ||
644 | //**************************************************************************** | ||
645 | #define FRR_FAB_MASK 0x00000003L | ||
646 | #define FRR_MASK_MASK 0x0000001CL | ||
647 | #define FRR_ID_MASK 0x00003000L | ||
648 | #define FRR_FAB_SHIFT 0L | ||
649 | #define FRR_MASK_SHIFT 2L | ||
650 | #define FRR_ID_SHIFT 12L | ||
651 | |||
652 | //**************************************************************************** | ||
653 | // | ||
654 | // The following defines are for the flags in the serial port 1 configuration | ||
655 | // register. | ||
656 | // | ||
657 | //**************************************************************************** | ||
658 | #define SERC1_VALUE 0x00000003L | ||
659 | #define SERC1_SO1EN 0x00000001L | ||
660 | #define SERC1_SO1F_MASK 0x0000000EL | ||
661 | #define SERC1_SO1F_CS423X 0x00000000L | ||
662 | #define SERC1_SO1F_AC97 0x00000002L | ||
663 | #define SERC1_SO1F_DAC 0x00000004L | ||
664 | #define SERC1_SO1F_SPDIF 0x00000006L | ||
665 | |||
666 | //**************************************************************************** | ||
667 | // | ||
668 | // The following defines are for the flags in the serial port 2 configuration | ||
669 | // register. | ||
670 | // | ||
671 | //**************************************************************************** | ||
672 | #define SERC2_VALUE 0x00000003L | ||
673 | #define SERC2_SI1EN 0x00000001L | ||
674 | #define SERC2_SI1F_MASK 0x0000000EL | ||
675 | #define SERC2_SI1F_CS423X 0x00000000L | ||
676 | #define SERC2_SI1F_AC97 0x00000002L | ||
677 | #define SERC2_SI1F_ADC 0x00000004L | ||
678 | #define SERC2_SI1F_SPDIF 0x00000006L | ||
679 | |||
680 | //**************************************************************************** | ||
681 | // | ||
682 | // The following defines are for the flags in the AC97 control register. | ||
683 | // | ||
684 | //**************************************************************************** | ||
685 | #define ACCTL_ESYN 0x00000002L | ||
686 | #define ACCTL_VFRM 0x00000004L | ||
687 | #define ACCTL_DCV 0x00000008L | ||
688 | #define ACCTL_CRW 0x00000010L | ||
689 | #define ACCTL_TC 0x00000040L | ||
690 | |||
691 | //**************************************************************************** | ||
692 | // | ||
693 | // The following defines are for the flags in the AC97 status register. | ||
694 | // | ||
695 | //**************************************************************************** | ||
696 | #define ACSTS_CRDY 0x00000001L | ||
697 | #define ACSTS_VSTS 0x00000002L | ||
698 | |||
699 | //**************************************************************************** | ||
700 | // | ||
701 | // The following defines are for the flags in the AC97 output slot valid | ||
702 | // register. | ||
703 | // | ||
704 | //**************************************************************************** | ||
705 | #define ACOSV_SLV3 0x00000001L | ||
706 | #define ACOSV_SLV4 0x00000002L | ||
707 | #define ACOSV_SLV5 0x00000004L | ||
708 | #define ACOSV_SLV6 0x00000008L | ||
709 | #define ACOSV_SLV7 0x00000010L | ||
710 | #define ACOSV_SLV8 0x00000020L | ||
711 | #define ACOSV_SLV9 0x00000040L | ||
712 | #define ACOSV_SLV10 0x00000080L | ||
713 | #define ACOSV_SLV11 0x00000100L | ||
714 | #define ACOSV_SLV12 0x00000200L | ||
715 | |||
716 | //**************************************************************************** | ||
717 | // | ||
718 | // The following defines are for the flags in the AC97 command address | ||
719 | // register. | ||
720 | // | ||
721 | //**************************************************************************** | ||
722 | #define ACCAD_CI_MASK 0x0000007FL | ||
723 | #define ACCAD_CI_SHIFT 0L | ||
724 | |||
725 | //**************************************************************************** | ||
726 | // | ||
727 | // The following defines are for the flags in the AC97 command data register. | ||
728 | // | ||
729 | //**************************************************************************** | ||
730 | #define ACCDA_CD_MASK 0x0000FFFFL | ||
731 | #define ACCDA_CD_SHIFT 0L | ||
732 | |||
733 | //**************************************************************************** | ||
734 | // | ||
735 | // The following defines are for the flags in the AC97 input slot valid | ||
736 | // register. | ||
737 | // | ||
738 | //**************************************************************************** | ||
739 | #define ACISV_ISV3 0x00000001L | ||
740 | #define ACISV_ISV4 0x00000002L | ||
741 | #define ACISV_ISV5 0x00000004L | ||
742 | #define ACISV_ISV6 0x00000008L | ||
743 | #define ACISV_ISV7 0x00000010L | ||
744 | #define ACISV_ISV8 0x00000020L | ||
745 | #define ACISV_ISV9 0x00000040L | ||
746 | #define ACISV_ISV10 0x00000080L | ||
747 | #define ACISV_ISV11 0x00000100L | ||
748 | #define ACISV_ISV12 0x00000200L | ||
749 | |||
750 | //**************************************************************************** | ||
751 | // | ||
752 | // The following defines are for the flags in the AC97 status address | ||
753 | // register. | ||
754 | // | ||
755 | //**************************************************************************** | ||
756 | #define ACSAD_SI_MASK 0x0000007FL | ||
757 | #define ACSAD_SI_SHIFT 0L | ||
758 | |||
759 | //**************************************************************************** | ||
760 | // | ||
761 | // The following defines are for the flags in the AC97 status data register. | ||
762 | // | ||
763 | //**************************************************************************** | ||
764 | #define ACSDA_SD_MASK 0x0000FFFFL | ||
765 | #define ACSDA_SD_SHIFT 0L | ||
766 | |||
767 | //**************************************************************************** | ||
768 | // | ||
769 | // The following defines are for the flags in the I/O trap address and control | ||
770 | // registers (all 12). | ||
771 | // | ||
772 | //**************************************************************************** | ||
773 | #define IOTAC_SA_MASK 0x0000FFFFL | ||
774 | #define IOTAC_MSK_MASK 0x000F0000L | ||
775 | #define IOTAC_IODC_MASK 0x06000000L | ||
776 | #define IOTAC_IODC_16_BIT 0x00000000L | ||
777 | #define IOTAC_IODC_10_BIT 0x02000000L | ||
778 | #define IOTAC_IODC_12_BIT 0x04000000L | ||
779 | #define IOTAC_WSPI 0x08000000L | ||
780 | #define IOTAC_RSPI 0x10000000L | ||
781 | #define IOTAC_WSE 0x20000000L | ||
782 | #define IOTAC_WE 0x40000000L | ||
783 | #define IOTAC_RE 0x80000000L | ||
784 | #define IOTAC_SA_SHIFT 0L | ||
785 | #define IOTAC_MSK_SHIFT 16L | ||
786 | |||
787 | //**************************************************************************** | ||
788 | // | ||
789 | // The following defines are for the flags in the PC/PCI master enable | ||
790 | // register. | ||
791 | // | ||
792 | //**************************************************************************** | ||
793 | #define PCPCIEN_EN 0x00000001L | ||
794 | |||
795 | //**************************************************************************** | ||
796 | // | ||
797 | // The following defines are for the flags in the joystick poll/trigger | ||
798 | // register. | ||
799 | // | ||
800 | //**************************************************************************** | ||
801 | #define JSPT_CAX 0x00000001L | ||
802 | #define JSPT_CAY 0x00000002L | ||
803 | #define JSPT_CBX 0x00000004L | ||
804 | #define JSPT_CBY 0x00000008L | ||
805 | #define JSPT_BA1 0x00000010L | ||
806 | #define JSPT_BA2 0x00000020L | ||
807 | #define JSPT_BB1 0x00000040L | ||
808 | #define JSPT_BB2 0x00000080L | ||
809 | |||
810 | //**************************************************************************** | ||
811 | // | ||
812 | // The following defines are for the flags in the joystick control register. | ||
813 | // The TBF bit has been moved from MIDSR register to JSCTL register bit 8. | ||
814 | // | ||
815 | //**************************************************************************** | ||
816 | #define JSCTL_SP_MASK 0x00000003L | ||
817 | #define JSCTL_SP_SLOW 0x00000000L | ||
818 | #define JSCTL_SP_MEDIUM_SLOW 0x00000001L | ||
819 | #define JSCTL_SP_MEDIUM_FAST 0x00000002L | ||
820 | #define JSCTL_SP_FAST 0x00000003L | ||
821 | #define JSCTL_ARE 0x00000004L | ||
822 | #define JSCTL_TBF 0x00000100L | ||
823 | |||
824 | |||
825 | //**************************************************************************** | ||
826 | // | ||
827 | // The following defines are for the flags in the MIDI control register. | ||
828 | // | ||
829 | //**************************************************************************** | ||
830 | #define MIDCR_TXE 0x00000001L | ||
831 | #define MIDCR_RXE 0x00000002L | ||
832 | #define MIDCR_RIE 0x00000004L | ||
833 | #define MIDCR_TIE 0x00000008L | ||
834 | #define MIDCR_MLB 0x00000010L | ||
835 | #define MIDCR_MRST 0x00000020L | ||
836 | |||
837 | //**************************************************************************** | ||
838 | // | ||
839 | // The following defines are for the flags in the MIDI status register. | ||
840 | // | ||
841 | //**************************************************************************** | ||
842 | #define MIDSR_RBE 0x00000080L | ||
843 | #define MIDSR_RDA 0x00008000L | ||
844 | |||
845 | //**************************************************************************** | ||
846 | // | ||
847 | // The following defines are for the flags in the MIDI write port register. | ||
848 | // | ||
849 | //**************************************************************************** | ||
850 | #define MIDWP_MWD_MASK 0x000000FFL | ||
851 | #define MIDWP_MWD_SHIFT 0L | ||
852 | |||
853 | //**************************************************************************** | ||
854 | // | ||
855 | // The following defines are for the flags in the MIDI read port register. | ||
856 | // | ||
857 | //**************************************************************************** | ||
858 | #define MIDRP_MRD_MASK 0x000000FFL | ||
859 | #define MIDRP_MRD_SHIFT 0L | ||
860 | |||
861 | //**************************************************************************** | ||
862 | // | ||
863 | // The following defines are for the flags in the configuration interface | ||
864 | // register. | ||
865 | // | ||
866 | //**************************************************************************** | ||
867 | #define CFGI_CLK 0x00000001L | ||
868 | #define CFGI_DOUT 0x00000002L | ||
869 | #define CFGI_DIN_EEN 0x00000004L | ||
870 | #define CFGI_EELD 0x00000008L | ||
871 | |||
872 | //**************************************************************************** | ||
873 | // | ||
874 | // The following defines are for the flags in the subsystem ID and vendor ID | ||
875 | // register. | ||
876 | // | ||
877 | //**************************************************************************** | ||
878 | #define SSVID_VID_MASK 0x0000FFFFL | ||
879 | #define SSVID_SID_MASK 0xFFFF0000L | ||
880 | #define SSVID_VID_SHIFT 0L | ||
881 | #define SSVID_SID_SHIFT 16L | ||
882 | |||
883 | //**************************************************************************** | ||
884 | // | ||
885 | // The following defines are for the flags in the GPIO pin interface register. | ||
886 | // | ||
887 | //**************************************************************************** | ||
888 | #define GPIOR_VOLDN 0x00000001L | ||
889 | #define GPIOR_VOLUP 0x00000002L | ||
890 | #define GPIOR_SI2D 0x00000004L | ||
891 | #define GPIOR_SI2OE 0x00000008L | ||
892 | |||
893 | //**************************************************************************** | ||
894 | // | ||
895 | // The following defines are for the flags in the AC97 status register 2. | ||
896 | // | ||
897 | //**************************************************************************** | ||
898 | #define ACSTS2_CRDY 0x00000001L | ||
899 | #define ACSTS2_VSTS 0x00000002L | ||
900 | |||
901 | //**************************************************************************** | ||
902 | // | ||
903 | // The following defines are for the flags in the AC97 input slot valid | ||
904 | // register 2. | ||
905 | // | ||
906 | //**************************************************************************** | ||
907 | #define ACISV2_ISV3 0x00000001L | ||
908 | #define ACISV2_ISV4 0x00000002L | ||
909 | #define ACISV2_ISV5 0x00000004L | ||
910 | #define ACISV2_ISV6 0x00000008L | ||
911 | #define ACISV2_ISV7 0x00000010L | ||
912 | #define ACISV2_ISV8 0x00000020L | ||
913 | #define ACISV2_ISV9 0x00000040L | ||
914 | #define ACISV2_ISV10 0x00000080L | ||
915 | #define ACISV2_ISV11 0x00000100L | ||
916 | #define ACISV2_ISV12 0x00000200L | ||
917 | |||
918 | //**************************************************************************** | ||
919 | // | ||
920 | // The following defines are for the flags in the AC97 status address | ||
921 | // register 2. | ||
922 | // | ||
923 | //**************************************************************************** | ||
924 | #define ACSAD2_SI_MASK 0x0000007FL | ||
925 | #define ACSAD2_SI_SHIFT 0L | ||
926 | |||
927 | //**************************************************************************** | ||
928 | // | ||
929 | // The following defines are for the flags in the AC97 status data register 2. | ||
930 | // | ||
931 | //**************************************************************************** | ||
932 | #define ACSDA2_SD_MASK 0x0000FFFFL | ||
933 | #define ACSDA2_SD_SHIFT 0L | ||
934 | |||
935 | //**************************************************************************** | ||
936 | // | ||
937 | // The following defines are for the flags in the I/O trap control register. | ||
938 | // | ||
939 | //**************************************************************************** | ||
940 | #define IOTCR_ITD 0x00000001L | ||
941 | #define IOTCR_HRV 0x00000002L | ||
942 | #define IOTCR_SRV 0x00000004L | ||
943 | #define IOTCR_DTI 0x00000008L | ||
944 | #define IOTCR_DFI 0x00000010L | ||
945 | #define IOTCR_DDP 0x00000020L | ||
946 | #define IOTCR_JTE 0x00000040L | ||
947 | #define IOTCR_PPE 0x00000080L | ||
948 | |||
949 | //**************************************************************************** | ||
950 | // | ||
951 | // The following defines are for the flags in the I/O trap address and control | ||
952 | // registers for Hardware Master Volume. | ||
953 | // | ||
954 | //**************************************************************************** | ||
955 | #define IOTGP_SA_MASK 0x0000FFFFL | ||
956 | #define IOTGP_MSK_MASK 0x000F0000L | ||
957 | #define IOTGP_IODC_MASK 0x06000000L | ||
958 | #define IOTGP_IODC_16_BIT 0x00000000L | ||
959 | #define IOTGP_IODC_10_BIT 0x02000000L | ||
960 | #define IOTGP_IODC_12_BIT 0x04000000L | ||
961 | #define IOTGP_WSPI 0x08000000L | ||
962 | #define IOTGP_RSPI 0x10000000L | ||
963 | #define IOTGP_WSE 0x20000000L | ||
964 | #define IOTGP_WE 0x40000000L | ||
965 | #define IOTGP_RE 0x80000000L | ||
966 | #define IOTGP_SA_SHIFT 0L | ||
967 | #define IOTGP_MSK_SHIFT 16L | ||
968 | |||
969 | //**************************************************************************** | ||
970 | // | ||
971 | // The following defines are for the flags in the I/O trap address and control | ||
972 | // registers for Sound Blaster | ||
973 | // | ||
974 | //**************************************************************************** | ||
975 | #define IOTSB_SA_MASK 0x0000FFFFL | ||
976 | #define IOTSB_MSK_MASK 0x000F0000L | ||
977 | #define IOTSB_IODC_MASK 0x06000000L | ||
978 | #define IOTSB_IODC_16_BIT 0x00000000L | ||
979 | #define IOTSB_IODC_10_BIT 0x02000000L | ||
980 | #define IOTSB_IODC_12_BIT 0x04000000L | ||
981 | #define IOTSB_WSPI 0x08000000L | ||
982 | #define IOTSB_RSPI 0x10000000L | ||
983 | #define IOTSB_WSE 0x20000000L | ||
984 | #define IOTSB_WE 0x40000000L | ||
985 | #define IOTSB_RE 0x80000000L | ||
986 | #define IOTSB_SA_SHIFT 0L | ||
987 | #define IOTSB_MSK_SHIFT 16L | ||
988 | |||
989 | //**************************************************************************** | ||
990 | // | ||
991 | // The following defines are for the flags in the I/O trap address and control | ||
992 | // registers for FM. | ||
993 | // | ||
994 | //**************************************************************************** | ||
995 | #define IOTFM_SA_MASK 0x0000FFFFL | ||
996 | #define IOTFM_MSK_MASK 0x000F0000L | ||
997 | #define IOTFM_IODC_MASK 0x06000000L | ||
998 | #define IOTFM_IODC_16_BIT 0x00000000L | ||
999 | #define IOTFM_IODC_10_BIT 0x02000000L | ||
1000 | #define IOTFM_IODC_12_BIT 0x04000000L | ||
1001 | #define IOTFM_WSPI 0x08000000L | ||
1002 | #define IOTFM_RSPI 0x10000000L | ||
1003 | #define IOTFM_WSE 0x20000000L | ||
1004 | #define IOTFM_WE 0x40000000L | ||
1005 | #define IOTFM_RE 0x80000000L | ||
1006 | #define IOTFM_SA_SHIFT 0L | ||
1007 | #define IOTFM_MSK_SHIFT 16L | ||
1008 | |||
1009 | //**************************************************************************** | ||
1010 | // | ||
1011 | // The following defines are for the flags in the PC/PCI request register. | ||
1012 | // | ||
1013 | //**************************************************************************** | ||
1014 | #define PCPRR_RDC_MASK 0x00000007L | ||
1015 | #define PCPRR_REQ 0x00008000L | ||
1016 | #define PCPRR_RDC_SHIFT 0L | ||
1017 | |||
1018 | //**************************************************************************** | ||
1019 | // | ||
1020 | // The following defines are for the flags in the PC/PCI grant register. | ||
1021 | // | ||
1022 | //**************************************************************************** | ||
1023 | #define PCPGR_GDC_MASK 0x00000007L | ||
1024 | #define PCPGR_VL 0x00008000L | ||
1025 | #define PCPGR_GDC_SHIFT 0L | ||
1026 | |||
1027 | //**************************************************************************** | ||
1028 | // | ||
1029 | // The following defines are for the flags in the PC/PCI Control Register. | ||
1030 | // | ||
1031 | //**************************************************************************** | ||
1032 | #define PCPCR_EN 0x00000001L | ||
1033 | |||
1034 | //**************************************************************************** | ||
1035 | // | ||
1036 | // The following defines are for the flags in the debug index register. | ||
1037 | // | ||
1038 | //**************************************************************************** | ||
1039 | #define DREG_REGID_MASK 0x0000007FL | ||
1040 | #define DREG_DEBUG 0x00000080L | ||
1041 | #define DREG_RGBK_MASK 0x00000700L | ||
1042 | #define DREG_TRAP 0x00000800L | ||
1043 | #if !defined(NO_CS4612) | ||
1044 | #if !defined(NO_CS4615) | ||
1045 | #define DREG_TRAPX 0x00001000L | ||
1046 | #endif | ||
1047 | #endif | ||
1048 | #define DREG_REGID_SHIFT 0L | ||
1049 | #define DREG_RGBK_SHIFT 8L | ||
1050 | #define DREG_RGBK_REGID_MASK 0x0000077FL | ||
1051 | #define DREG_REGID_R0 0x00000010L | ||
1052 | #define DREG_REGID_R1 0x00000011L | ||
1053 | #define DREG_REGID_R2 0x00000012L | ||
1054 | #define DREG_REGID_R3 0x00000013L | ||
1055 | #define DREG_REGID_R4 0x00000014L | ||
1056 | #define DREG_REGID_R5 0x00000015L | ||
1057 | #define DREG_REGID_R6 0x00000016L | ||
1058 | #define DREG_REGID_R7 0x00000017L | ||
1059 | #define DREG_REGID_R8 0x00000018L | ||
1060 | #define DREG_REGID_R9 0x00000019L | ||
1061 | #define DREG_REGID_RA 0x0000001AL | ||
1062 | #define DREG_REGID_RB 0x0000001BL | ||
1063 | #define DREG_REGID_RC 0x0000001CL | ||
1064 | #define DREG_REGID_RD 0x0000001DL | ||
1065 | #define DREG_REGID_RE 0x0000001EL | ||
1066 | #define DREG_REGID_RF 0x0000001FL | ||
1067 | #define DREG_REGID_RA_BUS_LOW 0x00000020L | ||
1068 | #define DREG_REGID_RA_BUS_HIGH 0x00000038L | ||
1069 | #define DREG_REGID_YBUS_LOW 0x00000050L | ||
1070 | #define DREG_REGID_YBUS_HIGH 0x00000058L | ||
1071 | #define DREG_REGID_TRAP_0 0x00000100L | ||
1072 | #define DREG_REGID_TRAP_1 0x00000101L | ||
1073 | #define DREG_REGID_TRAP_2 0x00000102L | ||
1074 | #define DREG_REGID_TRAP_3 0x00000103L | ||
1075 | #define DREG_REGID_TRAP_4 0x00000104L | ||
1076 | #define DREG_REGID_TRAP_5 0x00000105L | ||
1077 | #define DREG_REGID_TRAP_6 0x00000106L | ||
1078 | #define DREG_REGID_TRAP_7 0x00000107L | ||
1079 | #define DREG_REGID_INDIRECT_ADDRESS 0x0000010EL | ||
1080 | #define DREG_REGID_TOP_OF_STACK 0x0000010FL | ||
1081 | #if !defined(NO_CS4612) | ||
1082 | #if !defined(NO_CS4615) | ||
1083 | #define DREG_REGID_TRAP_8 0x00000110L | ||
1084 | #define DREG_REGID_TRAP_9 0x00000111L | ||
1085 | #define DREG_REGID_TRAP_10 0x00000112L | ||
1086 | #define DREG_REGID_TRAP_11 0x00000113L | ||
1087 | #define DREG_REGID_TRAP_12 0x00000114L | ||
1088 | #define DREG_REGID_TRAP_13 0x00000115L | ||
1089 | #define DREG_REGID_TRAP_14 0x00000116L | ||
1090 | #define DREG_REGID_TRAP_15 0x00000117L | ||
1091 | #define DREG_REGID_TRAP_16 0x00000118L | ||
1092 | #define DREG_REGID_TRAP_17 0x00000119L | ||
1093 | #define DREG_REGID_TRAP_18 0x0000011AL | ||
1094 | #define DREG_REGID_TRAP_19 0x0000011BL | ||
1095 | #define DREG_REGID_TRAP_20 0x0000011CL | ||
1096 | #define DREG_REGID_TRAP_21 0x0000011DL | ||
1097 | #define DREG_REGID_TRAP_22 0x0000011EL | ||
1098 | #define DREG_REGID_TRAP_23 0x0000011FL | ||
1099 | #endif | ||
1100 | #endif | ||
1101 | #define DREG_REGID_RSA0_LOW 0x00000200L | ||
1102 | #define DREG_REGID_RSA0_HIGH 0x00000201L | ||
1103 | #define DREG_REGID_RSA1_LOW 0x00000202L | ||
1104 | #define DREG_REGID_RSA1_HIGH 0x00000203L | ||
1105 | #define DREG_REGID_RSA2 0x00000204L | ||
1106 | #define DREG_REGID_RSA3 0x00000205L | ||
1107 | #define DREG_REGID_RSI0_LOW 0x00000206L | ||
1108 | #define DREG_REGID_RSI0_HIGH 0x00000207L | ||
1109 | #define DREG_REGID_RSI1 0x00000208L | ||
1110 | #define DREG_REGID_RSI2 0x00000209L | ||
1111 | #define DREG_REGID_SAGUSTATUS 0x0000020AL | ||
1112 | #define DREG_REGID_RSCONFIG01_LOW 0x0000020BL | ||
1113 | #define DREG_REGID_RSCONFIG01_HIGH 0x0000020CL | ||
1114 | #define DREG_REGID_RSCONFIG23_LOW 0x0000020DL | ||
1115 | #define DREG_REGID_RSCONFIG23_HIGH 0x0000020EL | ||
1116 | #define DREG_REGID_RSDMA01E 0x0000020FL | ||
1117 | #define DREG_REGID_RSDMA23E 0x00000210L | ||
1118 | #define DREG_REGID_RSD0_LOW 0x00000211L | ||
1119 | #define DREG_REGID_RSD0_HIGH 0x00000212L | ||
1120 | #define DREG_REGID_RSD1_LOW 0x00000213L | ||
1121 | #define DREG_REGID_RSD1_HIGH 0x00000214L | ||
1122 | #define DREG_REGID_RSD2_LOW 0x00000215L | ||
1123 | #define DREG_REGID_RSD2_HIGH 0x00000216L | ||
1124 | #define DREG_REGID_RSD3_LOW 0x00000217L | ||
1125 | #define DREG_REGID_RSD3_HIGH 0x00000218L | ||
1126 | #define DREG_REGID_SRAR_HIGH 0x0000021AL | ||
1127 | #define DREG_REGID_SRAR_LOW 0x0000021BL | ||
1128 | #define DREG_REGID_DMA_STATE 0x0000021CL | ||
1129 | #define DREG_REGID_CURRENT_DMA_STREAM 0x0000021DL | ||
1130 | #define DREG_REGID_NEXT_DMA_STREAM 0x0000021EL | ||
1131 | #define DREG_REGID_CPU_STATUS 0x00000300L | ||
1132 | #define DREG_REGID_MAC_MODE 0x00000301L | ||
1133 | #define DREG_REGID_STACK_AND_REPEAT 0x00000302L | ||
1134 | #define DREG_REGID_INDEX0 0x00000304L | ||
1135 | #define DREG_REGID_INDEX1 0x00000305L | ||
1136 | #define DREG_REGID_DMA_STATE_0_3 0x00000400L | ||
1137 | #define DREG_REGID_DMA_STATE_4_7 0x00000404L | ||
1138 | #define DREG_REGID_DMA_STATE_8_11 0x00000408L | ||
1139 | #define DREG_REGID_DMA_STATE_12_15 0x0000040CL | ||
1140 | #define DREG_REGID_DMA_STATE_16_19 0x00000410L | ||
1141 | #define DREG_REGID_DMA_STATE_20_23 0x00000414L | ||
1142 | #define DREG_REGID_DMA_STATE_24_27 0x00000418L | ||
1143 | #define DREG_REGID_DMA_STATE_28_31 0x0000041CL | ||
1144 | #define DREG_REGID_DMA_STATE_32_35 0x00000420L | ||
1145 | #define DREG_REGID_DMA_STATE_36_39 0x00000424L | ||
1146 | #define DREG_REGID_DMA_STATE_40_43 0x00000428L | ||
1147 | #define DREG_REGID_DMA_STATE_44_47 0x0000042CL | ||
1148 | #define DREG_REGID_DMA_STATE_48_51 0x00000430L | ||
1149 | #define DREG_REGID_DMA_STATE_52_55 0x00000434L | ||
1150 | #define DREG_REGID_DMA_STATE_56_59 0x00000438L | ||
1151 | #define DREG_REGID_DMA_STATE_60_63 0x0000043CL | ||
1152 | #define DREG_REGID_DMA_STATE_64_67 0x00000440L | ||
1153 | #define DREG_REGID_DMA_STATE_68_71 0x00000444L | ||
1154 | #define DREG_REGID_DMA_STATE_72_75 0x00000448L | ||
1155 | #define DREG_REGID_DMA_STATE_76_79 0x0000044CL | ||
1156 | #define DREG_REGID_DMA_STATE_80_83 0x00000450L | ||
1157 | #define DREG_REGID_DMA_STATE_84_87 0x00000454L | ||
1158 | #define DREG_REGID_DMA_STATE_88_91 0x00000458L | ||
1159 | #define DREG_REGID_DMA_STATE_92_95 0x0000045CL | ||
1160 | #define DREG_REGID_TRAP_SELECT 0x00000500L | ||
1161 | #define DREG_REGID_TRAP_WRITE_0 0x00000500L | ||
1162 | #define DREG_REGID_TRAP_WRITE_1 0x00000501L | ||
1163 | #define DREG_REGID_TRAP_WRITE_2 0x00000502L | ||
1164 | #define DREG_REGID_TRAP_WRITE_3 0x00000503L | ||
1165 | #define DREG_REGID_TRAP_WRITE_4 0x00000504L | ||
1166 | #define DREG_REGID_TRAP_WRITE_5 0x00000505L | ||
1167 | #define DREG_REGID_TRAP_WRITE_6 0x00000506L | ||
1168 | #define DREG_REGID_TRAP_WRITE_7 0x00000507L | ||
1169 | #if !defined(NO_CS4612) | ||
1170 | #if !defined(NO_CS4615) | ||
1171 | #define DREG_REGID_TRAP_WRITE_8 0x00000510L | ||
1172 | #define DREG_REGID_TRAP_WRITE_9 0x00000511L | ||
1173 | #define DREG_REGID_TRAP_WRITE_10 0x00000512L | ||
1174 | #define DREG_REGID_TRAP_WRITE_11 0x00000513L | ||
1175 | #define DREG_REGID_TRAP_WRITE_12 0x00000514L | ||
1176 | #define DREG_REGID_TRAP_WRITE_13 0x00000515L | ||
1177 | #define DREG_REGID_TRAP_WRITE_14 0x00000516L | ||
1178 | #define DREG_REGID_TRAP_WRITE_15 0x00000517L | ||
1179 | #define DREG_REGID_TRAP_WRITE_16 0x00000518L | ||
1180 | #define DREG_REGID_TRAP_WRITE_17 0x00000519L | ||
1181 | #define DREG_REGID_TRAP_WRITE_18 0x0000051AL | ||
1182 | #define DREG_REGID_TRAP_WRITE_19 0x0000051BL | ||
1183 | #define DREG_REGID_TRAP_WRITE_20 0x0000051CL | ||
1184 | #define DREG_REGID_TRAP_WRITE_21 0x0000051DL | ||
1185 | #define DREG_REGID_TRAP_WRITE_22 0x0000051EL | ||
1186 | #define DREG_REGID_TRAP_WRITE_23 0x0000051FL | ||
1187 | #endif | ||
1188 | #endif | ||
1189 | #define DREG_REGID_MAC0_ACC0_LOW 0x00000600L | ||
1190 | #define DREG_REGID_MAC0_ACC1_LOW 0x00000601L | ||
1191 | #define DREG_REGID_MAC0_ACC2_LOW 0x00000602L | ||
1192 | #define DREG_REGID_MAC0_ACC3_LOW 0x00000603L | ||
1193 | #define DREG_REGID_MAC1_ACC0_LOW 0x00000604L | ||
1194 | #define DREG_REGID_MAC1_ACC1_LOW 0x00000605L | ||
1195 | #define DREG_REGID_MAC1_ACC2_LOW 0x00000606L | ||
1196 | #define DREG_REGID_MAC1_ACC3_LOW 0x00000607L | ||
1197 | #define DREG_REGID_MAC0_ACC0_MID 0x00000608L | ||
1198 | #define DREG_REGID_MAC0_ACC1_MID 0x00000609L | ||
1199 | #define DREG_REGID_MAC0_ACC2_MID 0x0000060AL | ||
1200 | #define DREG_REGID_MAC0_ACC3_MID 0x0000060BL | ||
1201 | #define DREG_REGID_MAC1_ACC0_MID 0x0000060CL | ||
1202 | #define DREG_REGID_MAC1_ACC1_MID 0x0000060DL | ||
1203 | #define DREG_REGID_MAC1_ACC2_MID 0x0000060EL | ||
1204 | #define DREG_REGID_MAC1_ACC3_MID 0x0000060FL | ||
1205 | #define DREG_REGID_MAC0_ACC0_HIGH 0x00000610L | ||
1206 | #define DREG_REGID_MAC0_ACC1_HIGH 0x00000611L | ||
1207 | #define DREG_REGID_MAC0_ACC2_HIGH 0x00000612L | ||
1208 | #define DREG_REGID_MAC0_ACC3_HIGH 0x00000613L | ||
1209 | #define DREG_REGID_MAC1_ACC0_HIGH 0x00000614L | ||
1210 | #define DREG_REGID_MAC1_ACC1_HIGH 0x00000615L | ||
1211 | #define DREG_REGID_MAC1_ACC2_HIGH 0x00000616L | ||
1212 | #define DREG_REGID_MAC1_ACC3_HIGH 0x00000617L | ||
1213 | #define DREG_REGID_RSHOUT_LOW 0x00000620L | ||
1214 | #define DREG_REGID_RSHOUT_MID 0x00000628L | ||
1215 | #define DREG_REGID_RSHOUT_HIGH 0x00000630L | ||
1216 | |||
1217 | //**************************************************************************** | ||
1218 | // | ||
1219 | // The following defines are for the flags in the AC97 S/PDIF Control register. | ||
1220 | // | ||
1221 | //**************************************************************************** | ||
1222 | #define SPDIF_CONTROL_SPDIF_EN 0x00008000L | ||
1223 | #define SPDIF_CONTROL_VAL 0x00004000L | ||
1224 | #define SPDIF_CONTROL_COPY 0x00000004L | ||
1225 | #define SPDIF_CONTROL_CC0 0x00000010L | ||
1226 | #define SPDIF_CONTROL_CC1 0x00000020L | ||
1227 | #define SPDIF_CONTROL_CC2 0x00000040L | ||
1228 | #define SPDIF_CONTROL_CC3 0x00000080L | ||
1229 | #define SPDIF_CONTROL_CC4 0x00000100L | ||
1230 | #define SPDIF_CONTROL_CC5 0x00000200L | ||
1231 | #define SPDIF_CONTROL_CC6 0x00000400L | ||
1232 | #define SPDIF_CONTROL_L 0x00000800L | ||
1233 | |||
1234 | #endif // _H_HWDEFS | ||