1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #define LINVOL_REG 0x00
25 #define LINVOL_LIVU 0x100
26 #define LINVOL_LINMUTE 0x80
27 #define LINVOL_LIZC 0x40
28 #define LINVOL_LINVOL_MASK 0x3F
29 #define LINVOL_GET_LINVOL(x) ((x) & 0x3F)
30 #define LINVOL_SET_LINVOL(x) (x)
31
32 #define RINVOL_REG 0x01
33 #define RINVOL_RIVU 0x100
34 #define RINVOL_RINMUTE 0x80
35 #define RINVOL_RIZC 0x40
36 #define RINVOL_RINVOL_MASK 0x3F
37 #define RINVOL_GET_RINVOL(x) ((x) & 0x3F)
38 #define RINVOL_SET_RINVOL(x) (x)
39
40 #define LOUT1VOL_REG 0x02
41 #define LOUT1VOL_LO1VU 0x100
42 #define LOUT1VOL_LO1ZC 0x80
43 #define LOUT1VOL_LOUT1VOL_MASK 0x7F
44 #define LOUT1VOL_GET_LOUT1VOL(x) ((x) & 0x7F)
45 #define LOUT1VOL_SET_LOUT1VOL(x) (x)
46
47 #define ROUT1VOL_REG 0x03
48 #define ROUT1VOL_RO1VU 0x100
49 #define ROUT1VOL_RO1ZC 0x80
50 #define ROUT1VOL_ROUT1VOL_MASK 0x7F
51 #define ROUT1VOL_GET_ROUT1VOL(x) ((x) & 0x7F)
52 #define ROUT1VOL_SET_ROUT1VOL(x) (x)
53
54 #define ADCDACCTL_REG 0x05
55 #define ADCDACCTL_ADCDIV2 0x100
56 #define ADCDACCTL_DACDIV2 0x80
57 #define ADCDACCTL_ADCPOL_MASK 0x60
58 #define ADCDACCTL_GET_ADCPOL(x) (((x) >> 5) & 0x60)
59 #define ADCDACCTL_SET_ADCPOL(x) ((x) << 5)
60 #define ADCDACCTL_HPOR 0x10
61 #define ADCDACCTL_DACMU 0x8
62 #define ADCDACCTL_DEEMPH_MASK 0x6
63 #define ADCDACCTL_GET_DEEMPH(x) (((x) >> 1) & 0x6)
64 #define ADCDACCTL_SET_DEEMPH(x) ((x) << 1)
65 #define ADCDACCTL_ADCHPD 0x1
66
67 #define AUDINT_REG 0x07
68 #define AUDINT_BCLKINV 0x80
69 #define AUDINT_MS 0x40
70 #define AUDINT_LRSWAP 0x20
71 #define AUDINT_LRP 0x10
72 #define AUDINT_WL_MASK 0xC
73 #define AUDINT_GET_WL(x) (((x) >> 2) & 0xC)
74 #define AUDINT_SET_WL(x) ((x) << 2)
75 #define AUDINT_FORMAT_MASK 0x3
76 #define AUDINT_GET_FORMAT(x) ((x) & 0x3)
77 #define AUDINT_SET_FORMAT(x) (x)
78
79 #define SRATE_REG 0x08
80 #define SRATE_BCM_MASK 0x180
81 #define SRATE_GET_BCM(x) (((x) >> 7) & 0x180)
82 #define SRATE_SET_BCM(x) ((x) << 7)
83 #define SRATE_CLKDIV2 0x40
84 #define SRATE_SR_MASK 0x3E
85 #define SRATE_GET_SR(x) (((x) >> 1) & 0x3E)
86 #define SRATE_SET_SR(x) ((x) << 1)
87 #define SRATE_USB 0x1
88
89 #define LDACVOL_REG 0x0A
90 #define LDACVOL_LDVU 0x100
91 #define LDACVOL_LDACVOL_MASK 0xFF
92 #define LDACVOL_GET_LDACVOL(x) ((x) & 0xFF)
93 #define LDACVOL_SET_LDACVOL(x) (x)
94
95 #define RDACVOL_REG 0x0B
96 #define RDACVOL_RDVU 0x100
97 #define RDACVOL_RDACVOL_MASK 0xFF
98 #define RDACVOL_GET_RDACVOL(x) ((x) & 0xFF)
99 #define RDACVOL_SET_RDACVOL(x) (x)
100
101 #define BASSCTL_REG 0x0C
102 #define BASSCTL_BB 0x80
103 #define BASSCTL_BC 0x40
104 #define BASSCTL_BASS_MASK 0xF
105 #define BASSCTL_GET_BASS(x) ((x) & 0xF)
106 #define BASSCTL_SET_BASS(x) (x)
107
108 #define TREBCTL_REG 0x0D
109 #define TREBCTL_TC 0x40
110 #define TREBCTL_TRBL_MASK 0xF
111 #define TREBCTL_GET_TRBL(x) ((x) & 0xF)
112 #define TREBCTL_SET_TRBL(x) (x)
113
114 #define RESET_REG 0x0F
115
116 #define C3DCTL_REG 0x10
117 #define C3DCTL_MODE3D 0x80
118 #define C3DCTL_3DUC 0x40
119 #define C3DCTL_3DLC 0x20
120 #define C3DCTL_3DDEPTH_MASK 0x1E
121 #define C3DCTL_GET_3DDEPTH(x) (((x) >> 1) & 0x1E)
122 #define C3DCTL_SET_3DDEPTH(x) ((x) << 1)
123 #define C3DCTL_3DEN 0x1
124
125 #define ALC1_REG 0x11
126 #define ALC1_ALCSEL_MASK 0x180
127 #define ALC1_GET_ALCSEL(x) (((x) >> 7) & 0x180)
128 #define ALC1_SET_ALCSEL(x) ((x) << 7)
129 #define ALC1_MAXGAIN_MASK 0x70
130 #define ALC1_GET_MAXGAIN(x) (((x) >> 4) & 0x70)
131 #define ALC1_SET_MAXGAIN(x) ((x) << 4)
132 #define ALC1_ALCL_MASK 0xF
133 #define ALC1_GET_ALCL(x) ((x) & 0xF)
134 #define ALC1_SET_ALCL(x) (x)
135
136 #define ALC2_REG 0x12
137 #define ALC2_ALCZC 0x80
138 #define ALC2_HLD_MASK 0xF
139 #define ALC2_GET_HLD(x) ((x) & 0xF)
140 #define ALC2_SET_HLD(x) (x)
141
142 #define ALC3_REG 0x13
143 #define ALC3_DCY_MASK 0xF0
144 #define ALC3_GET_DCY(x) (((x) >> 4) & 0xF0)
145 #define ALC3_SET_DCY(x) ((x) << 4)
146 #define ALC3_ATK_MASK 0xF
147 #define ALC3_GET_ATK(x) ((x) & 0xF)
148 #define ALC3_SET_ATK(x) (x)
149
150 #define NOISEGATE_REG 0x14
151 #define NOISEGATE_NGTH_MASK 0xF8
152 #define NOISEGATE_GET_NGTH(x) (((x) >> 3) & 0xF8)
153 #define NOISEGATE_SET_NGTH(x) ((x) << 3)
154 #define NOISEGATE_NGG_MASK 0x6
155 #define NOISEGATE_GET_NGG(x) (((x) >> 1) & 0x6)
156 #define NOISEGATE_SET_NGG(x) ((x) << 1)
157 #define NOISEGATE_NGAT 0x1
158
159 #define LADCVOL_REG 0x15
160 #define LADCVOL_LAVU 0x100
161 #define LADCVOL_LADCVOL_MASK 0xFF
162 #define LADCVOL_GET_LADCVOL(x) ((x) & 0xFF)
163 #define LADCVOL_SET_LADCVOL(x) (x)
164
165 #define RADCVOL_REG 0x16
166 #define RADCVOL_RAVU 0x100
167 #define RADCVOL_RADCVOL_MASK 0xFF
168 #define RADCVOL_GET_RADCVOL(x) ((x) & 0xFF)
169 #define RADCVOL_SET_RADCVOL(x) (x)
170
171 #define ADCTL1_REG 0x17
172 #define ADCTL1_TSDEN 0x100
173 #define ADCTL1_VSEL_MASK 0xC0
174 #define ADCTL1_GET_VSEL(x) (((x) >> 6) & 0xC0)
175 #define ADCTL1_SET_VSEL(x) ((x) << 6)
176 #define ADCTL1_DMONOMIX_MASK 0x30
177 #define ADCTL1_GET_DMONOMIX(x) (((x) >> 4) & 0x30)
178 #define ADCTL1_SET_DMONOMIX(x) ((x) << 4)
179 #define ADCTL1_DATSEL_MASK 0xC
180 #define ADCTL1_GET_DATSEL(x) (((x) >> 2) & 0xC)
181 #define ADCTL1_SET_DATSEL(x) ((x) << 2)
182 #define ADCTL1_DACINV 0x2
183 #define ADCTL1_TOEN 0x1
184
185 #define ADCTL2_REG 0x18
186 #define ADCTL2_OUTSW3_MASK 0x180
187 #define ADCTL2_GET_OUTSW3(x) (((x) >> 7) & 0x180)
188 #define ADCTL2_SET_OUTSW3(x) ((x) << 7)
189 #define ADCTL2_HPSWEN 0x40
190 #define ADCTL2_HPSWPOL 0x20
191 #define ADCTL2_ROUT2INV 0x10
192 #define ADCTL2_TRI 0x08
193 #define ADCTL2_LRCM 0x04
194 #define ADCTL2_ADCOSR 0x02
195 #define ADCTL2_DACOSR 0x01
196
197 #define PWRMGMT1_REG 0x19
198 #define PWRMGMT1_VMIDSEL_MASK 0x180
199 #define PWRMGMT1_GET_VMIDSEL(x) (((x) >> 7) & 0x180)
200 #define PWRMGMT1_SET_VMIDSEL(x) ((x) << 7)
201 #define PWRMGMT1_VREF 0x40
202 #define PWRMGMT1_AINL 0x20
203 #define PWRMGMT1_AINR 0x10
204 #define PWRMGMT1_ADCL 0x8
205 #define PWRMGMT1_ADCR 0x4
206 #define PWRMGMT1_MICB 0x2
207 #define PWRMGMT1_DIGENB 0x1
208
209 #define PWRMGMT2_REG 0x1A
210 #define PWRMGMT2_DACL 0x100
211 #define PWRMGMT2_DACR 0x80
212 #define PWRMGMT2_LOUT1 0x40
213 #define PWRMGMT2_ROUT1 0x20
214 #define PWRMGMT2_LOUT2 0x10
215 #define PWRMGMT2_ROUT2 0x8
216 #define PWRMGMT2_MONO 0x4
217 #define PWRMGMT2_OUT3 0x2
218
219 #define ADCTL3_REG 0x1B
220 #define ADCTL3_ADCLRM_MASK 0x180
221 #define ADCTL3_GET_ADCLRM(x) (((x) >> 7) & 0x180)
222 #define ADCTL3_SET_ADCLRM(x) ((x) << 7)
223 #define ADCTL3_VROI 0x40
224 #define ADCTL3_HPFLREN 0x20
225
226 #define ADCINPMODE_REG 0x1F
227 #define ADCINPMODE_DS 0x100
228 #define ADCINPMODE_MONOMIX_MASK 0xC0
229 #define ADCINPMODE_GET_MONOMIX(x) (((x) >> 6) & 0xC0)
230 #define ADCINPMODE_SET_MONOMIX(x) ((x) << 6)
231 #define ADCINPMODE_RDCM 0x20
232 #define ADCINPMODE_LDCM 0x10
233
234 #define ADCLSPATH_REG 0x20
235 #define ADCLSPATH_LINSEL_MASK 0xC0
236 #define ADCLSPATH_GET_LINSEL(x) (((x) >> 6) & 0xC0)
237 #define ADCLSPATH_SET_LINSEL(x) ((x) << 6)
238 #define ADCLSPATH_LMICBOOST_MASK 0x30
239 #define ADCLSPATH_GET_LMICBOOST(x) (((x) >> 4) & 0x30)
240 #define ADCLSPATH_SET_LMICBOOST(x) ((x) << 4)
241
242 #define ADCRSPATH_REG 0x21
243 #define ADCRSPATH_RINSEL_MASK 0xC0
244 #define ADCRSPATH_GET_RINSEL(x) (((x) >> 6) & 0xC0)
245 #define ADCRSPATH_SET_RINSEL(x) ((x) << 6)
246 #define ADCRSPATH_RMICBOOST_MASK 0x30
247 #define ADCRSPATH_GET_RMICBOOST(x) (((x) >> 4) & 0x30)
248 #define ADCRSPATH_SET_RMICBOOST(x) ((x) << 4)
249
250 #define LOUTMIX1_REG 0x22
251 #define LOUTMIX1_LD2LO 0x100
252 #define LOUTMIX1_LI2LO 0x80
253 #define LOUTMIX1_LI2LOVOL_MASK 0x70
254 #define LOUTMIX1_GET_LI2LOVOL(x) (((x) >> 4) & 0x70)
255 #define LOUTMIX1_SET_LI2LOVOL(x) ((x) << 4)
256 #define LOUTMIX1_LMIXSEL_MASK 0x7
257 #define LOUTMIX1_GET_LMIXSEL(x) ((x) & 0x7)
258 #define LOUTMIX1_SET_LMIXSEL(x) (x)
259
260 #define LOUTMIX2_REG 0x23
261 #define LOUTMIX2_RD2LO 0x100
262 #define LOUTMIX2_RI2LO 0x80
263 #define LOUTMIX2_RI2LOVOL_MASK 0x70
264 #define LOUTMIX2_GET_RI2LOVOL(x) (((x) >> 4) & 0x70)
265 #define LOUTMIX2_SET_RI2LOVOL(x) ((x) << 4)
266
267 #define ROUTMIX1_REG 0x24
268 #define ROUTMIX1_LD2RO 0x100
269 #define ROUTMIX1_LI2RO 0x80
270 #define ROUTMIX1_LI2ROVOL_MASK 0x70
271 #define ROUTMIX1_GET_LI2ROVOL(x) (((x) >> 4) & 0x70)
272 #define ROUTMIX1_SET_LI2ROVOL(x) ((x) << 4)
273 #define ROUTMIX1_RMIXSEL_MASK 0x7
274 #define ROUTMIX1_GET_RMIXSEL(x) ((x) & 0x7)
275 #define ROUTMIX1_SET_RMIXSEL(x) (x)
276
277 #define ROUTMIX2_REG 0x25
278 #define ROUTMIX2_RD2RO 0x100
279 #define ROUTMIX2_RI2RO 0x80
280 #define ROUTMIX2_RI2ROVOL_MASK 0x70
281 #define ROUTMIX2_GET_RI2ROVOL(x) (((x) >> 4) & 0x70)
282 #define ROUTMIX2_SET_RI2ROVOL(x) ((x) << 4)
283
284 #define MOUTMIX1_REG 0x26
285 #define MOUTMIX1_LD2MO 0x100
286 #define MOUTMIX1_LI2MO 0x80
287 #define MOUTMIX1_LI2MOVOL_MASK 0x70
288 #define MOUTMIX1_GET_LI2MOVOL(x) (((x) >> 4) & 0x70)
289 #define MOUTMIX1_SET_LI2MOVOL(x) ((x) << 4)
290
291 #define MOUTMIX2_REG 0x27
292 #define MOUTMIX2_RD2MO 0x100
293 #define MOUTMIX2_RI2MO 0x80
294 #define MOUTMIX2_RI2MOVOL_MASK 0x70
295 #define MOUTMIX2_GET_RI2MOVOL(x) (((x) >> 4) & 0x70)
296 #define MOUTMIX2_SET_RI2MOVOL(x) ((x) << 4)
297
298 #define LOUT2VOL_REG 0x28
299 #define LOUT2VOL_LO2VU 0x100
300 #define LOUT2VOL_LO2ZC 0x80
301 #define LOUT2VOL_LOUT2VOL_MASK 0x7F
302 #define LOUT2VOL_GET_LOUT2VOL(x) ((x) & 0x7F)
303 #define LOUT2VOL_SET_LOUT2VOL(x) (x)
304
305 #define ROUT2VOL_REG 0x29
306 #define ROUT2VOL_RO2VU 0x100
307 #define ROUT2VOL_RO2ZC 0x80
308 #define ROUT2VOL_ROUT2VOL_MASK 0x7F
309 #define ROUT2VOL_GET_ROUT2VOL(x) ((x) & 0x7F)
310 #define ROUT2VOL_SET_ROUT2VOL(x) (x)
311
312 #define MOUTVOL_REG 0x2A
313 #define MOUTVOL_MOZC 0x80
314 #define MOUTVOL_MOUTVOL_MASK 0x7F
315 #define MOUTVOL_GET_MOUTVOL(x) ((x) & 0x7F)
316 #define MOUTVOL_SET_MOUTVOL(x) (x)
317