ariareg.h revision 1.3 1 1.3 wiz /* $NetBSD: ariareg.h,v 1.3 2004/02/24 15:16:05 wiz Exp $ */
2 1.2 mycroft
3 1.1 augustss /*
4 1.1 augustss * Copyright (c) 1995, 1996 Roland C. Dowdeswell. All rights reserved.
5 1.1 augustss *
6 1.1 augustss * Redistribution and use in source and binary forms, with or without
7 1.1 augustss * modification, are permitted provided that the following conditions
8 1.1 augustss * are met:
9 1.1 augustss * 1. Redistributions of source code must retain the above copyright
10 1.1 augustss * notice, this list of conditions and the following disclaimer.
11 1.1 augustss * 2. Redistributions in binary form must reproduce the above copyright
12 1.1 augustss * notice, this list of conditions and the following disclaimer in the
13 1.1 augustss * documentation and/or other materials provided with the distribution.
14 1.1 augustss * 3. All advertising materials mentioning features or use of this software
15 1.1 augustss * must display the following acknowledgement:
16 1.1 augustss * This product includes software developed by Roland C. Dowdeswell.
17 1.1 augustss * 4. The name of the authors may not be used to endorse or promote products
18 1.1 augustss * derived from this software without specific prior written permission.
19 1.1 augustss *
20 1.1 augustss * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
21 1.1 augustss * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
22 1.1 augustss * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
23 1.1 augustss * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
24 1.1 augustss * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25 1.1 augustss * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 1.1 augustss * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 1.1 augustss * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 1.1 augustss * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29 1.1 augustss * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 1.1 augustss */
31 1.1 augustss
32 1.1 augustss /*
33 1.1 augustss * Macros to detect valid hardware configuration data.
34 1.1 augustss */
35 1.1 augustss #define ARIA_IRQ_VALID(irq) ((irq) == 10 || (irq) == 11 || (irq) == 12)
36 1.1 augustss #define ARIA_DRQ_VALID(chan) ((chan) == 5 || (chan) == 6)
37 1.1 augustss #define ARIA_BASE_VALID(base) ((base) == 0x290 || (base) == 0x280 || (base) == 0x2a0 || (base) == 0x2b0)
38 1.1 augustss
39 1.1 augustss /*
40 1.1 augustss * Aria DSP ports
41 1.1 augustss * (abrieviated ARIADSP_)
42 1.1 augustss */
43 1.1 augustss
44 1.1 augustss #define ARIADSP_NPORT 8
45 1.1 augustss
46 1.1 augustss #define ARIADSP_DSPDATA 0
47 1.1 augustss #define ARIADSP_WRITE 0
48 1.1 augustss #define ARIADSP_STATUS 2
49 1.1 augustss #define ARIADSP_CONTROL 2
50 1.1 augustss #define ARIADSP_DMAADDRESS 4
51 1.1 augustss #define ARIADSP_DMADATA 6
52 1.1 augustss
53 1.1 augustss /*
54 1.1 augustss * Aria DSP Addresses and the like...
55 1.1 augustss * (abrieviated ARIAA_)
56 1.1 augustss */
57 1.1 augustss
58 1.1 augustss #define ARIAA_HARDWARE_A 0x6050
59 1.1 augustss #define ARIAA_MODEL_A 0x60c3
60 1.1 augustss #define ARIAA_PLAY_FIFO_A 0x6100
61 1.1 augustss #define ARIAA_REC_FIFO_A 0x6101
62 1.1 augustss #define ARIAA_TASK_A 0x6102
63 1.1 augustss
64 1.1 augustss /*
65 1.1 augustss * DSP random values
66 1.1 augustss * (abrieviated ARIAR_)
67 1.1 augustss */
68 1.1 augustss
69 1.1 augustss #define ARIAR_PROMETHEUS_KLUDGE 0x0001
70 1.1 augustss #define ARIAR_NPOLL 30000
71 1.1 augustss #define ARIAR_OPEN_PLAY 0x0002
72 1.1 augustss #define ARIAR_OPEN_RECORD 0x0001
73 1.1 augustss #define ARIAR_PLAY_CHAN 1
74 1.1 augustss #define ARIAR_RECORD_CHAN 0
75 1.1 augustss #define ARIAR_BUSY 0x8000
76 1.1 augustss #define ARIAR_ARIA_SYNTH 0x0080
77 1.1 augustss #define ARIAR_SR22K 0x0040
78 1.1 augustss #define ARIAR_DSPINTWR 0x0008
79 1.1 augustss #define ARIAR_PCINTWR 0x0002
80 1.1 augustss
81 1.1 augustss /*
82 1.1 augustss * Aria DSP Commands
83 1.1 augustss * (abrieviated ARIADSPC_)
84 1.1 augustss */
85 1.1 augustss
86 1.1 augustss #define ARIADSPC_SYSINIT 0x0000 /* Initialise system */
87 1.1 augustss #define ARIADSPC_FORMAT 0x0003 /* format (pcm8, pcm16, etc) */
88 1.1 augustss #define ARIADSPC_MASTERVOLUME 0x0004
89 1.1 augustss #define ARIADSPC_BLOCKSIZE 0x0005
90 1.1 augustss #define ARIADSPC_MODE 0x0006
91 1.1 augustss #define ARIADSPC_CDVOLUME 0x0007
92 1.1 augustss #define ARIADSPC_MICVOLUME 0x0008
93 1.1 augustss #define ARIADSPC_MIXERCONFIG 0x0009
94 1.3 wiz #define ARIADSPC_FORCEINTR 0x000a /* Force an Interrupt */
95 1.1 augustss #define ARIADSPC_TRANSCOMPLETE 0x0010 /* Transfer Complete */
96 1.1 augustss #define ARIADSPC_START_PLAY 0x0011
97 1.1 augustss #define ARIADSPC_STOP_PLAY 0x0012
98 1.1 augustss #define ARIADSPC_CHAN_VOL 0x0013
99 1.1 augustss #define ARIADSPC_CHAN_PAN 0x0014
100 1.1 augustss #define ARIADSPC_START_REC 0x0015
101 1.1 augustss #define ARIADSPC_STOP_REC 0x0016
102 1.1 augustss #define ARIADSPC_DAPVOL 0x0017 /* Digital Audio Playback Vol */
103 1.1 augustss #define ARIADSPC_ADCSOURCE 0x0030
104 1.1 augustss #define ARIADSPC_ADCCONTROL 0x0031 /* Turn ADC off/on */
105 1.1 augustss #define ARIADSPC_INPMONMODE 0x0032 /* Input Monitor Mode */
106 1.1 augustss #define ARIADSPC_MASMONMODE 0x0033 /* Master Monitor Mode */
107 1.1 augustss #define ARIADSPC_MIXERVOL 0x0034 /* Mixer Volumes */
108 1.1 augustss #define ARIADSPC_TONE 0x0035 /* Tone controls */
109 1.1 augustss #define ARIADSPC_TERM 0xffff /* End of Command */
110 1.1 augustss
111 1.1 augustss /*
112 1.1 augustss * DSP values (for commands)
113 1.1 augustss * (abrieviated ARIAV_)
114 1.1 augustss */
115 1.1 augustss
116 1.1 augustss #define ARIAV_MODE_NO_SYNTH 0x0000 /* No synthesizer mode */
117 1.1 augustss
118 1.1 augustss #define ARIAMIX_MIC_LVL 0
119 1.1 augustss #define ARIAMIX_LINE_IN_LVL 1
120 1.1 augustss #define ARIAMIX_CD_LVL 2
121 1.1 augustss #define ARIAMIX_DAC_LVL 3
122 1.1 augustss #define ARIAMIX_TEL_LVL 4
123 1.1 augustss #define ARIAMIX_AUX_LVL 5
124 1.1 augustss #define ARIAMIX_MASTER_LVL 6
125 1.1 augustss #define ARIAMIX_MASTER_TREBLE 7
126 1.1 augustss #define ARIAMIX_MASTER_BASS 8
127 1.1 augustss #define ARIAMIX_RECORD_SOURCE 9
128 1.1 augustss #define ARIAMIX_MIC_MUTE 10
129 1.1 augustss #define ARIAMIX_LINE_IN_MUTE 11
130 1.1 augustss #define ARIAMIX_CD_MUTE 12
131 1.1 augustss #define ARIAMIX_DAC_MUTE 13
132 1.1 augustss #define ARIAMIX_TEL_MUTE 14
133 1.1 augustss #define ARIAMIX_AUX_MUTE 15
134 1.1 augustss #define ARIAMIX_OUT_LVL 16
135 1.1 augustss #define ARIAMIX_OUTPUT_CLASS 17
136 1.1 augustss #define ARIAMIX_INPUT_CLASS 18
137 1.1 augustss #define ARIAMIX_RECORD_CLASS 19
138 1.1 augustss #define ARIAMIX_EQ_CLASS 20
139