1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 #define AD1848_BASE_VALID(base) (((base) & 0x003) == 0)
50
51
52 #define AD1848_IADDR 0x00
53 #define AD1848_IDATA 0x01
54 #define AD1848_STATUS 0x02
55 #define AD1848_PIO 0x03
56
57
58 #define GAIN_0 0x00
59 #define GAIN_1_5 0x01
60 #define GAIN_3 0x02
61 #define GAIN_4_5 0x03
62 #define GAIN_6 0x04
63 #define GAIN_7_5 0x05
64 #define GAIN_9 0x06
65 #define GAIN_10_5 0x07
66 #define GAIN_12 0x08
67 #define GAIN_13_5 0x09
68 #define GAIN_15 0x0a
69 #define GAIN_16_5 0x0b
70 #define GAIN_18 0x0c
71 #define GAIN_19_5 0x0d
72 #define GAIN_21 0x0e
73 #define GAIN_22_5 0x0f
74
75
76
77 #define ATTEN_0 0x00
78 #define ATTEN_1_5 0x01
79 #define ATTEN_3 0x02
80 #define ATTEN_4_5 0x03
81 #define ATTEN_6 0x04
82 #define ATTEN_7_5 0x05
83 #define ATTEN_9 0x06
84 #define ATTEN_10_5 0x07
85 #define ATTEN_12 0x08
86 #define ATTEN_13_5 0x09
87 #define ATTEN_15 0x0a
88 #define ATTEN_16_5 0x0b
89 #define ATTEN_18 0x0c
90 #define ATTEN_19_5 0x0d
91 #define ATTEN_21 0x0e
92 #define ATTEN_22_5 0x0f
93
94
95 #define SP_IN_INIT 0x80
96 #define MODE_CHANGE_ENABLE 0x40
97 #define TRANSFER_DISABLE 0x20
98 #define ADDRESS_MASK 0xe0
99
100
101 #define INTERRUPT_STATUS 0x01
102 #define PLAYBACK_READY 0x02
103 #define PLAYBACK_LEFT 0x04
104
105 #define PLAYBACK_UPPER 0x08
106
107 #define SAMPLE_ERROR 0x10
108 #define CAPTURE_READY 0x20
109 #define CAPTURE_LEFT 0x40
110
111 #define CAPTURE_UPPER 0x80
112
113
114
115 #define LINE_INPUT 0x00
116 #define AUX_INPUT 0x40
117 #define MIC_INPUT 0x80
118 #define MIXED_DAC_INPUT 0xc0
119 #define INPUT_GAIN_MASK 0xf0
120 #define INPUT_MIC_GAIN_ENABLE 0x20
121 #define INPUT_SOURCE_MASK 0x3f
122 #define AUX_INPUT_ATTEN_BITS 0x1f
123 #define AUX_INPUT_ATTEN_MASK 0xe0
124 #define AUX_INPUT_MUTE 0x80
125 #define OUTPUT_MUTE 0x80
126 #define OUTPUT_ATTEN_BITS 0x3f
127 #define OUTPUT_ATTEN_MASK 0xc0
128
129
130 #define CLOCK_XTAL2 0x01
131 #define CLOCK_XTAL1 0x00
132 #define CLOCK_FREQ_MASK 0xf1
133 #define FMT_MONO 0x00
134 #define FMT_STEREO 0x10
135 #define FORMAT_MASK 0x1f
136 #define FMT_PCM8 0x00
137 #define FMT_ULAW 0x20
138 #define FMT_TWOS_COMP 0x40
139 #define FMT_ALAW 0x60
140 #define FMT_ADPCM 0xa0
141 #define FMT_TWOS_COMP_BE 0xc0
142
143
144 #define PLAYBACK_ENABLE 0x01
145 #define CAPTURE_ENABLE 0x02
146 #define DUAL_DMA 0x00
147 #define SINGLE_DMA 0x04
148 #define AUTO_CAL_ENABLE 0x08
149 #define PLAYBACK_PIO_ENABLE 0x40
150 #define CAPTURE_PIO_ENABLE 0x80
151
152
153 #define INTERRUPT_ENABLE 0x02
154 #define XCTL0_ENABLE 0x40
155 #define XCTL1_ENABLE 0x80
156
157
158 #define OVERRANGE_LEFT_MASK 0xfc
159 #define OVERRANGE_RIGHT_MASK 0xf3
160 #define DATA_REQUEST_STATUS 0x10
161 #define AUTO_CAL_IN_PROG 0x20
162 #define PLAYBACK_UNDERRUN 0x40
163 #define CAPTURE_OVERRUN 0x80
164
165
166 #define ID_MASK 0x70
167 #define MODE2 0x40
168
169
170 #define DIGITAL_MIX1_ENABLE 0x01
171 #define MIX_ATTEN_MASK 0xfc
172
173
174 #define SP_LEFT_INPUT_CONTROL 0x00
175 #define SP_RIGHT_INPUT_CONTROL 0x01
176 #define SP_LEFT_AUX1_CONTROL 0x02
177 #define SP_RIGHT_AUX1_CONTROL 0x03
178 #define SP_LEFT_AUX2_CONTROL 0x04
179 #define SP_RIGHT_AUX2_CONTROL 0x05
180 #define SP_LEFT_OUTPUT_CONTROL 0x06
181 #define SP_RIGHT_OUTPUT_CONTROL 0x07
182 #define SP_CLOCK_DATA_FORMAT 0x08
183 #define SP_INTERFACE_CONFIG 0x09
184 #define SP_PIN_CONTROL 0x0A
185 #define SP_TEST_AND_INIT 0x0B
186 #define SP_MISC_INFO 0x0C
187 #define SP_DIGITAL_MIX 0x0D
188 #define SP_UPPER_BASE_COUNT 0x0E
189 #define SP_LOWER_BASE_COUNT 0x0F
190