Go to the documentation of this file.
16 #include <linux/i2c.h>
26 #define WM8903_SW_RESET_AND_ID 0x00
27 #define WM8903_REVISION_NUMBER 0x01
28 #define WM8903_BIAS_CONTROL_0 0x04
29 #define WM8903_VMID_CONTROL_0 0x05
30 #define WM8903_MIC_BIAS_CONTROL_0 0x06
31 #define WM8903_ANALOGUE_DAC_0 0x08
32 #define WM8903_ANALOGUE_ADC_0 0x0A
33 #define WM8903_POWER_MANAGEMENT_0 0x0C
34 #define WM8903_POWER_MANAGEMENT_1 0x0D
35 #define WM8903_POWER_MANAGEMENT_2 0x0E
36 #define WM8903_POWER_MANAGEMENT_3 0x0F
37 #define WM8903_POWER_MANAGEMENT_4 0x10
38 #define WM8903_POWER_MANAGEMENT_5 0x11
39 #define WM8903_POWER_MANAGEMENT_6 0x12
40 #define WM8903_CLOCK_RATES_0 0x14
41 #define WM8903_CLOCK_RATES_1 0x15
42 #define WM8903_CLOCK_RATES_2 0x16
43 #define WM8903_AUDIO_INTERFACE_0 0x18
44 #define WM8903_AUDIO_INTERFACE_1 0x19
45 #define WM8903_AUDIO_INTERFACE_2 0x1A
46 #define WM8903_AUDIO_INTERFACE_3 0x1B
47 #define WM8903_DAC_DIGITAL_VOLUME_LEFT 0x1E
48 #define WM8903_DAC_DIGITAL_VOLUME_RIGHT 0x1F
49 #define WM8903_DAC_DIGITAL_0 0x20
50 #define WM8903_DAC_DIGITAL_1 0x21
51 #define WM8903_ADC_DIGITAL_VOLUME_LEFT 0x24
52 #define WM8903_ADC_DIGITAL_VOLUME_RIGHT 0x25
53 #define WM8903_ADC_DIGITAL_0 0x26
54 #define WM8903_DIGITAL_MICROPHONE_0 0x27
55 #define WM8903_DRC_0 0x28
56 #define WM8903_DRC_1 0x29
57 #define WM8903_DRC_2 0x2A
58 #define WM8903_DRC_3 0x2B
59 #define WM8903_ANALOGUE_LEFT_INPUT_0 0x2C
60 #define WM8903_ANALOGUE_RIGHT_INPUT_0 0x2D
61 #define WM8903_ANALOGUE_LEFT_INPUT_1 0x2E
62 #define WM8903_ANALOGUE_RIGHT_INPUT_1 0x2F
63 #define WM8903_ANALOGUE_LEFT_MIX_0 0x32
64 #define WM8903_ANALOGUE_RIGHT_MIX_0 0x33
65 #define WM8903_ANALOGUE_SPK_MIX_LEFT_0 0x34
66 #define WM8903_ANALOGUE_SPK_MIX_LEFT_1 0x35
67 #define WM8903_ANALOGUE_SPK_MIX_RIGHT_0 0x36
68 #define WM8903_ANALOGUE_SPK_MIX_RIGHT_1 0x37
69 #define WM8903_ANALOGUE_OUT1_LEFT 0x39
70 #define WM8903_ANALOGUE_OUT1_RIGHT 0x3A
71 #define WM8903_ANALOGUE_OUT2_LEFT 0x3B
72 #define WM8903_ANALOGUE_OUT2_RIGHT 0x3C
73 #define WM8903_ANALOGUE_OUT3_LEFT 0x3E
74 #define WM8903_ANALOGUE_OUT3_RIGHT 0x3F
75 #define WM8903_ANALOGUE_SPK_OUTPUT_CONTROL_0 0x41
76 #define WM8903_DC_SERVO_0 0x43
77 #define WM8903_DC_SERVO_2 0x45
78 #define WM8903_DC_SERVO_4 0x47
79 #define WM8903_DC_SERVO_5 0x48
80 #define WM8903_DC_SERVO_6 0x49
81 #define WM8903_DC_SERVO_7 0x4A
82 #define WM8903_DC_SERVO_READBACK_1 0x51
83 #define WM8903_DC_SERVO_READBACK_2 0x52
84 #define WM8903_DC_SERVO_READBACK_3 0x53
85 #define WM8903_DC_SERVO_READBACK_4 0x54
86 #define WM8903_ANALOGUE_HP_0 0x5A
87 #define WM8903_ANALOGUE_LINEOUT_0 0x5E
88 #define WM8903_CHARGE_PUMP_0 0x62
89 #define WM8903_CLASS_W_0 0x68
90 #define WM8903_WRITE_SEQUENCER_0 0x6C
91 #define WM8903_WRITE_SEQUENCER_1 0x6D
92 #define WM8903_WRITE_SEQUENCER_2 0x6E
93 #define WM8903_WRITE_SEQUENCER_3 0x6F
94 #define WM8903_WRITE_SEQUENCER_4 0x70
95 #define WM8903_CONTROL_INTERFACE 0x72
96 #define WM8903_GPIO_CONTROL_1 0x74
97 #define WM8903_GPIO_CONTROL_2 0x75
98 #define WM8903_GPIO_CONTROL_3 0x76
99 #define WM8903_GPIO_CONTROL_4 0x77
100 #define WM8903_GPIO_CONTROL_5 0x78
101 #define WM8903_INTERRUPT_STATUS_1 0x79
102 #define WM8903_INTERRUPT_STATUS_1_MASK 0x7A
103 #define WM8903_INTERRUPT_POLARITY_1 0x7B
104 #define WM8903_INTERRUPT_CONTROL 0x7E
105 #define WM8903_CLOCK_RATE_TEST_4 0xA4
106 #define WM8903_ANALOGUE_OUTPUT_BIAS_0 0xAC
108 #define WM8903_REGISTER_COUNT 75
109 #define WM8903_MAX_REGISTER 0xAC
118 #define WM8903_SW_RESET_DEV_ID1_MASK 0xFFFF
119 #define WM8903_SW_RESET_DEV_ID1_SHIFT 0
120 #define WM8903_SW_RESET_DEV_ID1_WIDTH 16
125 #define WM8903_CHIP_REV_MASK 0x000F
126 #define WM8903_CHIP_REV_SHIFT 0
127 #define WM8903_CHIP_REV_WIDTH 4
132 #define WM8903_POBCTRL 0x0010
133 #define WM8903_POBCTRL_MASK 0x0010
134 #define WM8903_POBCTRL_SHIFT 4
135 #define WM8903_POBCTRL_WIDTH 1
136 #define WM8903_ISEL_MASK 0x000C
137 #define WM8903_ISEL_SHIFT 2
138 #define WM8903_ISEL_WIDTH 2
139 #define WM8903_STARTUP_BIAS_ENA 0x0002
140 #define WM8903_STARTUP_BIAS_ENA_MASK 0x0002
141 #define WM8903_STARTUP_BIAS_ENA_SHIFT 1
142 #define WM8903_STARTUP_BIAS_ENA_WIDTH 1
143 #define WM8903_BIAS_ENA 0x0001
144 #define WM8903_BIAS_ENA_MASK 0x0001
145 #define WM8903_BIAS_ENA_SHIFT 0
146 #define WM8903_BIAS_ENA_WIDTH 1
151 #define WM8903_VMID_TIE_ENA 0x0080
152 #define WM8903_VMID_TIE_ENA_MASK 0x0080
153 #define WM8903_VMID_TIE_ENA_SHIFT 7
154 #define WM8903_VMID_TIE_ENA_WIDTH 1
155 #define WM8903_BUFIO_ENA 0x0040
156 #define WM8903_BUFIO_ENA_MASK 0x0040
157 #define WM8903_BUFIO_ENA_SHIFT 6
158 #define WM8903_BUFIO_ENA_WIDTH 1
159 #define WM8903_VMID_IO_ENA 0x0020
160 #define WM8903_VMID_IO_ENA_MASK 0x0020
161 #define WM8903_VMID_IO_ENA_SHIFT 5
162 #define WM8903_VMID_IO_ENA_WIDTH 1
163 #define WM8903_VMID_SOFT_MASK 0x0018
164 #define WM8903_VMID_SOFT_SHIFT 3
165 #define WM8903_VMID_SOFT_WIDTH 2
166 #define WM8903_VMID_RES_MASK 0x0006
167 #define WM8903_VMID_RES_SHIFT 1
168 #define WM8903_VMID_RES_WIDTH 2
169 #define WM8903_VMID_BUF_ENA 0x0001
170 #define WM8903_VMID_BUF_ENA_MASK 0x0001
171 #define WM8903_VMID_BUF_ENA_SHIFT 0
172 #define WM8903_VMID_BUF_ENA_WIDTH 1
174 #define WM8903_VMID_RES_50K 2
175 #define WM8903_VMID_RES_250K 3
176 #define WM8903_VMID_RES_5K 6
181 #define WM8903_DACBIAS_SEL_MASK 0x0018
182 #define WM8903_DACBIAS_SEL_SHIFT 3
183 #define WM8903_DACBIAS_SEL_WIDTH 2
184 #define WM8903_DACVMID_BIAS_SEL_MASK 0x0006
185 #define WM8903_DACVMID_BIAS_SEL_SHIFT 1
186 #define WM8903_DACVMID_BIAS_SEL_WIDTH 2
191 #define WM8903_ADC_OSR128 0x0001
192 #define WM8903_ADC_OSR128_MASK 0x0001
193 #define WM8903_ADC_OSR128_SHIFT 0
194 #define WM8903_ADC_OSR128_WIDTH 1
199 #define WM8903_INL_ENA 0x0002
200 #define WM8903_INL_ENA_MASK 0x0002
201 #define WM8903_INL_ENA_SHIFT 1
202 #define WM8903_INL_ENA_WIDTH 1
203 #define WM8903_INR_ENA 0x0001
204 #define WM8903_INR_ENA_MASK 0x0001
205 #define WM8903_INR_ENA_SHIFT 0
206 #define WM8903_INR_ENA_WIDTH 1
211 #define WM8903_MIXOUTL_ENA 0x0002
212 #define WM8903_MIXOUTL_ENA_MASK 0x0002
213 #define WM8903_MIXOUTL_ENA_SHIFT 1
214 #define WM8903_MIXOUTL_ENA_WIDTH 1
215 #define WM8903_MIXOUTR_ENA 0x0001
216 #define WM8903_MIXOUTR_ENA_MASK 0x0001
217 #define WM8903_MIXOUTR_ENA_SHIFT 0
218 #define WM8903_MIXOUTR_ENA_WIDTH 1
223 #define WM8903_HPL_PGA_ENA 0x0002
224 #define WM8903_HPL_PGA_ENA_MASK 0x0002
225 #define WM8903_HPL_PGA_ENA_SHIFT 1
226 #define WM8903_HPL_PGA_ENA_WIDTH 1
227 #define WM8903_HPR_PGA_ENA 0x0001
228 #define WM8903_HPR_PGA_ENA_MASK 0x0001
229 #define WM8903_HPR_PGA_ENA_SHIFT 0
230 #define WM8903_HPR_PGA_ENA_WIDTH 1
235 #define WM8903_LINEOUTL_PGA_ENA 0x0002
236 #define WM8903_LINEOUTL_PGA_ENA_MASK 0x0002
237 #define WM8903_LINEOUTL_PGA_ENA_SHIFT 1
238 #define WM8903_LINEOUTL_PGA_ENA_WIDTH 1
239 #define WM8903_LINEOUTR_PGA_ENA 0x0001
240 #define WM8903_LINEOUTR_PGA_ENA_MASK 0x0001
241 #define WM8903_LINEOUTR_PGA_ENA_SHIFT 0
242 #define WM8903_LINEOUTR_PGA_ENA_WIDTH 1
247 #define WM8903_MIXSPKL_ENA 0x0002
248 #define WM8903_MIXSPKL_ENA_MASK 0x0002
249 #define WM8903_MIXSPKL_ENA_SHIFT 1
250 #define WM8903_MIXSPKL_ENA_WIDTH 1
251 #define WM8903_MIXSPKR_ENA 0x0001
252 #define WM8903_MIXSPKR_ENA_MASK 0x0001
253 #define WM8903_MIXSPKR_ENA_SHIFT 0
254 #define WM8903_MIXSPKR_ENA_WIDTH 1
259 #define WM8903_SPKL_ENA 0x0002
260 #define WM8903_SPKL_ENA_MASK 0x0002
261 #define WM8903_SPKL_ENA_SHIFT 1
262 #define WM8903_SPKL_ENA_WIDTH 1
263 #define WM8903_SPKR_ENA 0x0001
264 #define WM8903_SPKR_ENA_MASK 0x0001
265 #define WM8903_SPKR_ENA_SHIFT 0
266 #define WM8903_SPKR_ENA_WIDTH 1
271 #define WM8903_DACL_ENA 0x0008
272 #define WM8903_DACL_ENA_MASK 0x0008
273 #define WM8903_DACL_ENA_SHIFT 3
274 #define WM8903_DACL_ENA_WIDTH 1
275 #define WM8903_DACR_ENA 0x0004
276 #define WM8903_DACR_ENA_MASK 0x0004
277 #define WM8903_DACR_ENA_SHIFT 2
278 #define WM8903_DACR_ENA_WIDTH 1
279 #define WM8903_ADCL_ENA 0x0002
280 #define WM8903_ADCL_ENA_MASK 0x0002
281 #define WM8903_ADCL_ENA_SHIFT 1
282 #define WM8903_ADCL_ENA_WIDTH 1
283 #define WM8903_ADCR_ENA 0x0001
284 #define WM8903_ADCR_ENA_MASK 0x0001
285 #define WM8903_ADCR_ENA_SHIFT 0
286 #define WM8903_ADCR_ENA_WIDTH 1
291 #define WM8903_MCLKDIV2 0x0001
292 #define WM8903_MCLKDIV2_MASK 0x0001
293 #define WM8903_MCLKDIV2_SHIFT 0
294 #define WM8903_MCLKDIV2_WIDTH 1
299 #define WM8903_CLK_SYS_RATE_MASK 0x3C00
300 #define WM8903_CLK_SYS_RATE_SHIFT 10
301 #define WM8903_CLK_SYS_RATE_WIDTH 4
302 #define WM8903_CLK_SYS_MODE_MASK 0x0300
303 #define WM8903_CLK_SYS_MODE_SHIFT 8
304 #define WM8903_CLK_SYS_MODE_WIDTH 2
305 #define WM8903_SAMPLE_RATE_MASK 0x000F
306 #define WM8903_SAMPLE_RATE_SHIFT 0
307 #define WM8903_SAMPLE_RATE_WIDTH 4
312 #define WM8903_CLK_SYS_ENA 0x0004
313 #define WM8903_CLK_SYS_ENA_MASK 0x0004
314 #define WM8903_CLK_SYS_ENA_SHIFT 2
315 #define WM8903_CLK_SYS_ENA_WIDTH 1
316 #define WM8903_CLK_DSP_ENA 0x0002
317 #define WM8903_CLK_DSP_ENA_MASK 0x0002
318 #define WM8903_CLK_DSP_ENA_SHIFT 1
319 #define WM8903_CLK_DSP_ENA_WIDTH 1
320 #define WM8903_TO_ENA 0x0001
321 #define WM8903_TO_ENA_MASK 0x0001
322 #define WM8903_TO_ENA_SHIFT 0
323 #define WM8903_TO_ENA_WIDTH 1
328 #define WM8903_DACL_DATINV 0x1000
329 #define WM8903_DACL_DATINV_MASK 0x1000
330 #define WM8903_DACL_DATINV_SHIFT 12
331 #define WM8903_DACL_DATINV_WIDTH 1
332 #define WM8903_DACR_DATINV 0x0800
333 #define WM8903_DACR_DATINV_MASK 0x0800
334 #define WM8903_DACR_DATINV_SHIFT 11
335 #define WM8903_DACR_DATINV_WIDTH 1
336 #define WM8903_DAC_BOOST_MASK 0x0600
337 #define WM8903_DAC_BOOST_SHIFT 9
338 #define WM8903_DAC_BOOST_WIDTH 2
339 #define WM8903_LOOPBACK 0x0100
340 #define WM8903_LOOPBACK_MASK 0x0100
341 #define WM8903_LOOPBACK_SHIFT 8
342 #define WM8903_LOOPBACK_WIDTH 1
343 #define WM8903_AIFADCL_SRC 0x0080
344 #define WM8903_AIFADCL_SRC_MASK 0x0080
345 #define WM8903_AIFADCL_SRC_SHIFT 7
346 #define WM8903_AIFADCL_SRC_WIDTH 1
347 #define WM8903_AIFADCR_SRC 0x0040
348 #define WM8903_AIFADCR_SRC_MASK 0x0040
349 #define WM8903_AIFADCR_SRC_SHIFT 6
350 #define WM8903_AIFADCR_SRC_WIDTH 1
351 #define WM8903_AIFDACL_SRC 0x0020
352 #define WM8903_AIFDACL_SRC_MASK 0x0020
353 #define WM8903_AIFDACL_SRC_SHIFT 5
354 #define WM8903_AIFDACL_SRC_WIDTH 1
355 #define WM8903_AIFDACR_SRC 0x0010
356 #define WM8903_AIFDACR_SRC_MASK 0x0010
357 #define WM8903_AIFDACR_SRC_SHIFT 4
358 #define WM8903_AIFDACR_SRC_WIDTH 1
359 #define WM8903_ADC_COMP 0x0008
360 #define WM8903_ADC_COMP_MASK 0x0008
361 #define WM8903_ADC_COMP_SHIFT 3
362 #define WM8903_ADC_COMP_WIDTH 1
363 #define WM8903_ADC_COMPMODE 0x0004
364 #define WM8903_ADC_COMPMODE_MASK 0x0004
365 #define WM8903_ADC_COMPMODE_SHIFT 2
366 #define WM8903_ADC_COMPMODE_WIDTH 1
367 #define WM8903_DAC_COMP 0x0002
368 #define WM8903_DAC_COMP_MASK 0x0002
369 #define WM8903_DAC_COMP_SHIFT 1
370 #define WM8903_DAC_COMP_WIDTH 1
371 #define WM8903_DAC_COMPMODE 0x0001
372 #define WM8903_DAC_COMPMODE_MASK 0x0001
373 #define WM8903_DAC_COMPMODE_SHIFT 0
374 #define WM8903_DAC_COMPMODE_WIDTH 1
379 #define WM8903_AIFDAC_TDM 0x2000
380 #define WM8903_AIFDAC_TDM_MASK 0x2000
381 #define WM8903_AIFDAC_TDM_SHIFT 13
382 #define WM8903_AIFDAC_TDM_WIDTH 1
383 #define WM8903_AIFDAC_TDM_CHAN 0x1000
384 #define WM8903_AIFDAC_TDM_CHAN_MASK 0x1000
385 #define WM8903_AIFDAC_TDM_CHAN_SHIFT 12
386 #define WM8903_AIFDAC_TDM_CHAN_WIDTH 1
387 #define WM8903_AIFADC_TDM 0x0800
388 #define WM8903_AIFADC_TDM_MASK 0x0800
389 #define WM8903_AIFADC_TDM_SHIFT 11
390 #define WM8903_AIFADC_TDM_WIDTH 1
391 #define WM8903_AIFADC_TDM_CHAN 0x0400
392 #define WM8903_AIFADC_TDM_CHAN_MASK 0x0400
393 #define WM8903_AIFADC_TDM_CHAN_SHIFT 10
394 #define WM8903_AIFADC_TDM_CHAN_WIDTH 1
395 #define WM8903_LRCLK_DIR 0x0200
396 #define WM8903_LRCLK_DIR_MASK 0x0200
397 #define WM8903_LRCLK_DIR_SHIFT 9
398 #define WM8903_LRCLK_DIR_WIDTH 1
399 #define WM8903_AIF_BCLK_INV 0x0080
400 #define WM8903_AIF_BCLK_INV_MASK 0x0080
401 #define WM8903_AIF_BCLK_INV_SHIFT 7
402 #define WM8903_AIF_BCLK_INV_WIDTH 1
403 #define WM8903_BCLK_DIR 0x0040
404 #define WM8903_BCLK_DIR_MASK 0x0040
405 #define WM8903_BCLK_DIR_SHIFT 6
406 #define WM8903_BCLK_DIR_WIDTH 1
407 #define WM8903_AIF_LRCLK_INV 0x0010
408 #define WM8903_AIF_LRCLK_INV_MASK 0x0010
409 #define WM8903_AIF_LRCLK_INV_SHIFT 4
410 #define WM8903_AIF_LRCLK_INV_WIDTH 1
411 #define WM8903_AIF_WL_MASK 0x000C
412 #define WM8903_AIF_WL_SHIFT 2
413 #define WM8903_AIF_WL_WIDTH 2
414 #define WM8903_AIF_FMT_MASK 0x0003
415 #define WM8903_AIF_FMT_SHIFT 0
416 #define WM8903_AIF_FMT_WIDTH 2
421 #define WM8903_BCLK_DIV_MASK 0x001F
422 #define WM8903_BCLK_DIV_SHIFT 0
423 #define WM8903_BCLK_DIV_WIDTH 5
428 #define WM8903_LRCLK_RATE_MASK 0x07FF
429 #define WM8903_LRCLK_RATE_SHIFT 0
430 #define WM8903_LRCLK_RATE_WIDTH 11
435 #define WM8903_DACVU 0x0100
436 #define WM8903_DACVU_MASK 0x0100
437 #define WM8903_DACVU_SHIFT 8
438 #define WM8903_DACVU_WIDTH 1
439 #define WM8903_DACL_VOL_MASK 0x00FF
440 #define WM8903_DACL_VOL_SHIFT 0
441 #define WM8903_DACL_VOL_WIDTH 8
446 #define WM8903_DACVU 0x0100
447 #define WM8903_DACVU_MASK 0x0100
448 #define WM8903_DACVU_SHIFT 8
449 #define WM8903_DACVU_WIDTH 1
450 #define WM8903_DACR_VOL_MASK 0x00FF
451 #define WM8903_DACR_VOL_SHIFT 0
452 #define WM8903_DACR_VOL_WIDTH 8
457 #define WM8903_ADCL_DAC_SVOL_MASK 0x0F00
458 #define WM8903_ADCL_DAC_SVOL_SHIFT 8
459 #define WM8903_ADCL_DAC_SVOL_WIDTH 4
460 #define WM8903_ADCR_DAC_SVOL_MASK 0x00F0
461 #define WM8903_ADCR_DAC_SVOL_SHIFT 4
462 #define WM8903_ADCR_DAC_SVOL_WIDTH 4
463 #define WM8903_ADC_TO_DACL_MASK 0x000C
464 #define WM8903_ADC_TO_DACL_SHIFT 2
465 #define WM8903_ADC_TO_DACL_WIDTH 2
466 #define WM8903_ADC_TO_DACR_MASK 0x0003
467 #define WM8903_ADC_TO_DACR_SHIFT 0
468 #define WM8903_ADC_TO_DACR_WIDTH 2
473 #define WM8903_DAC_MONO 0x1000
474 #define WM8903_DAC_MONO_MASK 0x1000
475 #define WM8903_DAC_MONO_SHIFT 12
476 #define WM8903_DAC_MONO_WIDTH 1
477 #define WM8903_DAC_SB_FILT 0x0800
478 #define WM8903_DAC_SB_FILT_MASK 0x0800
479 #define WM8903_DAC_SB_FILT_SHIFT 11
480 #define WM8903_DAC_SB_FILT_WIDTH 1
481 #define WM8903_DAC_MUTERATE 0x0400
482 #define WM8903_DAC_MUTERATE_MASK 0x0400
483 #define WM8903_DAC_MUTERATE_SHIFT 10
484 #define WM8903_DAC_MUTERATE_WIDTH 1
485 #define WM8903_DAC_MUTEMODE 0x0200
486 #define WM8903_DAC_MUTEMODE_MASK 0x0200
487 #define WM8903_DAC_MUTEMODE_SHIFT 9
488 #define WM8903_DAC_MUTEMODE_WIDTH 1
489 #define WM8903_DAC_MUTE 0x0008
490 #define WM8903_DAC_MUTE_MASK 0x0008
491 #define WM8903_DAC_MUTE_SHIFT 3
492 #define WM8903_DAC_MUTE_WIDTH 1
493 #define WM8903_DEEMPH_MASK 0x0006
494 #define WM8903_DEEMPH_SHIFT 1
495 #define WM8903_DEEMPH_WIDTH 2
500 #define WM8903_ADCVU 0x0100
501 #define WM8903_ADCVU_MASK 0x0100
502 #define WM8903_ADCVU_SHIFT 8
503 #define WM8903_ADCVU_WIDTH 1
504 #define WM8903_ADCL_VOL_MASK 0x00FF
505 #define WM8903_ADCL_VOL_SHIFT 0
506 #define WM8903_ADCL_VOL_WIDTH 8
511 #define WM8903_ADCVU 0x0100
512 #define WM8903_ADCVU_MASK 0x0100
513 #define WM8903_ADCVU_SHIFT 8
514 #define WM8903_ADCVU_WIDTH 1
515 #define WM8903_ADCR_VOL_MASK 0x00FF
516 #define WM8903_ADCR_VOL_SHIFT 0
517 #define WM8903_ADCR_VOL_WIDTH 8
522 #define WM8903_ADC_HPF_CUT_MASK 0x0060
523 #define WM8903_ADC_HPF_CUT_SHIFT 5
524 #define WM8903_ADC_HPF_CUT_WIDTH 2
525 #define WM8903_ADC_HPF_ENA 0x0010
526 #define WM8903_ADC_HPF_ENA_MASK 0x0010
527 #define WM8903_ADC_HPF_ENA_SHIFT 4
528 #define WM8903_ADC_HPF_ENA_WIDTH 1
529 #define WM8903_ADCL_DATINV 0x0002
530 #define WM8903_ADCL_DATINV_MASK 0x0002
531 #define WM8903_ADCL_DATINV_SHIFT 1
532 #define WM8903_ADCL_DATINV_WIDTH 1
533 #define WM8903_ADCR_DATINV 0x0001
534 #define WM8903_ADCR_DATINV_MASK 0x0001
535 #define WM8903_ADCR_DATINV_SHIFT 0
536 #define WM8903_ADCR_DATINV_WIDTH 1
541 #define WM8903_DIGMIC_MODE_SEL 0x0100
542 #define WM8903_DIGMIC_MODE_SEL_MASK 0x0100
543 #define WM8903_DIGMIC_MODE_SEL_SHIFT 8
544 #define WM8903_DIGMIC_MODE_SEL_WIDTH 1
545 #define WM8903_DIGMIC_CLK_SEL_L_MASK 0x00C0
546 #define WM8903_DIGMIC_CLK_SEL_L_SHIFT 6
547 #define WM8903_DIGMIC_CLK_SEL_L_WIDTH 2
548 #define WM8903_DIGMIC_CLK_SEL_R_MASK 0x0030
549 #define WM8903_DIGMIC_CLK_SEL_R_SHIFT 4
550 #define WM8903_DIGMIC_CLK_SEL_R_WIDTH 2
551 #define WM8903_DIGMIC_CLK_SEL_RT_MASK 0x000C
552 #define WM8903_DIGMIC_CLK_SEL_RT_SHIFT 2
553 #define WM8903_DIGMIC_CLK_SEL_RT_WIDTH 2
554 #define WM8903_DIGMIC_CLK_SEL_MASK 0x0003
555 #define WM8903_DIGMIC_CLK_SEL_SHIFT 0
556 #define WM8903_DIGMIC_CLK_SEL_WIDTH 2
561 #define WM8903_DRC_ENA 0x8000
562 #define WM8903_DRC_ENA_MASK 0x8000
563 #define WM8903_DRC_ENA_SHIFT 15
564 #define WM8903_DRC_ENA_WIDTH 1
565 #define WM8903_DRC_THRESH_HYST_MASK 0x1800
566 #define WM8903_DRC_THRESH_HYST_SHIFT 11
567 #define WM8903_DRC_THRESH_HYST_WIDTH 2
568 #define WM8903_DRC_STARTUP_GAIN_MASK 0x07C0
569 #define WM8903_DRC_STARTUP_GAIN_SHIFT 6
570 #define WM8903_DRC_STARTUP_GAIN_WIDTH 5
571 #define WM8903_DRC_FF_DELAY 0x0020
572 #define WM8903_DRC_FF_DELAY_MASK 0x0020
573 #define WM8903_DRC_FF_DELAY_SHIFT 5
574 #define WM8903_DRC_FF_DELAY_WIDTH 1
575 #define WM8903_DRC_SMOOTH_ENA 0x0008
576 #define WM8903_DRC_SMOOTH_ENA_MASK 0x0008
577 #define WM8903_DRC_SMOOTH_ENA_SHIFT 3
578 #define WM8903_DRC_SMOOTH_ENA_WIDTH 1
579 #define WM8903_DRC_QR_ENA 0x0004
580 #define WM8903_DRC_QR_ENA_MASK 0x0004
581 #define WM8903_DRC_QR_ENA_SHIFT 2
582 #define WM8903_DRC_QR_ENA_WIDTH 1
583 #define WM8903_DRC_ANTICLIP_ENA 0x0002
584 #define WM8903_DRC_ANTICLIP_ENA_MASK 0x0002
585 #define WM8903_DRC_ANTICLIP_ENA_SHIFT 1
586 #define WM8903_DRC_ANTICLIP_ENA_WIDTH 1
587 #define WM8903_DRC_HYST_ENA 0x0001
588 #define WM8903_DRC_HYST_ENA_MASK 0x0001
589 #define WM8903_DRC_HYST_ENA_SHIFT 0
590 #define WM8903_DRC_HYST_ENA_WIDTH 1
595 #define WM8903_DRC_ATTACK_RATE_MASK 0xF000
596 #define WM8903_DRC_ATTACK_RATE_SHIFT 12
597 #define WM8903_DRC_ATTACK_RATE_WIDTH 4
598 #define WM8903_DRC_DECAY_RATE_MASK 0x0F00
599 #define WM8903_DRC_DECAY_RATE_SHIFT 8
600 #define WM8903_DRC_DECAY_RATE_WIDTH 4
601 #define WM8903_DRC_THRESH_QR_MASK 0x00C0
602 #define WM8903_DRC_THRESH_QR_SHIFT 6
603 #define WM8903_DRC_THRESH_QR_WIDTH 2
604 #define WM8903_DRC_RATE_QR_MASK 0x0030
605 #define WM8903_DRC_RATE_QR_SHIFT 4
606 #define WM8903_DRC_RATE_QR_WIDTH 2
607 #define WM8903_DRC_MINGAIN_MASK 0x000C
608 #define WM8903_DRC_MINGAIN_SHIFT 2
609 #define WM8903_DRC_MINGAIN_WIDTH 2
610 #define WM8903_DRC_MAXGAIN_MASK 0x0003
611 #define WM8903_DRC_MAXGAIN_SHIFT 0
612 #define WM8903_DRC_MAXGAIN_WIDTH 2
617 #define WM8903_DRC_R0_SLOPE_COMP_MASK 0x0038
618 #define WM8903_DRC_R0_SLOPE_COMP_SHIFT 3
619 #define WM8903_DRC_R0_SLOPE_COMP_WIDTH 3
620 #define WM8903_DRC_R1_SLOPE_COMP_MASK 0x0007
621 #define WM8903_DRC_R1_SLOPE_COMP_SHIFT 0
622 #define WM8903_DRC_R1_SLOPE_COMP_WIDTH 3
627 #define WM8903_DRC_THRESH_COMP_MASK 0x07E0
628 #define WM8903_DRC_THRESH_COMP_SHIFT 5
629 #define WM8903_DRC_THRESH_COMP_WIDTH 6
630 #define WM8903_DRC_AMP_COMP_MASK 0x001F
631 #define WM8903_DRC_AMP_COMP_SHIFT 0
632 #define WM8903_DRC_AMP_COMP_WIDTH 5
637 #define WM8903_LINMUTE 0x0080
638 #define WM8903_LINMUTE_MASK 0x0080
639 #define WM8903_LINMUTE_SHIFT 7
640 #define WM8903_LINMUTE_WIDTH 1
641 #define WM8903_LIN_VOL_MASK 0x001F
642 #define WM8903_LIN_VOL_SHIFT 0
643 #define WM8903_LIN_VOL_WIDTH 5
648 #define WM8903_RINMUTE 0x0080
649 #define WM8903_RINMUTE_MASK 0x0080
650 #define WM8903_RINMUTE_SHIFT 7
651 #define WM8903_RINMUTE_WIDTH 1
652 #define WM8903_RIN_VOL_MASK 0x001F
653 #define WM8903_RIN_VOL_SHIFT 0
654 #define WM8903_RIN_VOL_WIDTH 5
659 #define WM8903_INL_CM_ENA 0x0040
660 #define WM8903_INL_CM_ENA_MASK 0x0040
661 #define WM8903_INL_CM_ENA_SHIFT 6
662 #define WM8903_INL_CM_ENA_WIDTH 1
663 #define WM8903_L_IP_SEL_N_MASK 0x0030
664 #define WM8903_L_IP_SEL_N_SHIFT 4
665 #define WM8903_L_IP_SEL_N_WIDTH 2
666 #define WM8903_L_IP_SEL_P_MASK 0x000C
667 #define WM8903_L_IP_SEL_P_SHIFT 2
668 #define WM8903_L_IP_SEL_P_WIDTH 2
669 #define WM8903_L_MODE_MASK 0x0003
670 #define WM8903_L_MODE_SHIFT 0
671 #define WM8903_L_MODE_WIDTH 2
676 #define WM8903_INR_CM_ENA 0x0040
677 #define WM8903_INR_CM_ENA_MASK 0x0040
678 #define WM8903_INR_CM_ENA_SHIFT 6
679 #define WM8903_INR_CM_ENA_WIDTH 1
680 #define WM8903_R_IP_SEL_N_MASK 0x0030
681 #define WM8903_R_IP_SEL_N_SHIFT 4
682 #define WM8903_R_IP_SEL_N_WIDTH 2
683 #define WM8903_R_IP_SEL_P_MASK 0x000C
684 #define WM8903_R_IP_SEL_P_SHIFT 2
685 #define WM8903_R_IP_SEL_P_WIDTH 2
686 #define WM8903_R_MODE_MASK 0x0003
687 #define WM8903_R_MODE_SHIFT 0
688 #define WM8903_R_MODE_WIDTH 2
693 #define WM8903_DACL_TO_MIXOUTL 0x0008
694 #define WM8903_DACL_TO_MIXOUTL_MASK 0x0008
695 #define WM8903_DACL_TO_MIXOUTL_SHIFT 3
696 #define WM8903_DACL_TO_MIXOUTL_WIDTH 1
697 #define WM8903_DACR_TO_MIXOUTL 0x0004
698 #define WM8903_DACR_TO_MIXOUTL_MASK 0x0004
699 #define WM8903_DACR_TO_MIXOUTL_SHIFT 2
700 #define WM8903_DACR_TO_MIXOUTL_WIDTH 1
701 #define WM8903_BYPASSL_TO_MIXOUTL 0x0002
702 #define WM8903_BYPASSL_TO_MIXOUTL_MASK 0x0002
703 #define WM8903_BYPASSL_TO_MIXOUTL_SHIFT 1
704 #define WM8903_BYPASSL_TO_MIXOUTL_WIDTH 1
705 #define WM8903_BYPASSR_TO_MIXOUTL 0x0001
706 #define WM8903_BYPASSR_TO_MIXOUTL_MASK 0x0001
707 #define WM8903_BYPASSR_TO_MIXOUTL_SHIFT 0
708 #define WM8903_BYPASSR_TO_MIXOUTL_WIDTH 1
713 #define WM8903_DACL_TO_MIXOUTR 0x0008
714 #define WM8903_DACL_TO_MIXOUTR_MASK 0x0008
715 #define WM8903_DACL_TO_MIXOUTR_SHIFT 3
716 #define WM8903_DACL_TO_MIXOUTR_WIDTH 1
717 #define WM8903_DACR_TO_MIXOUTR 0x0004
718 #define WM8903_DACR_TO_MIXOUTR_MASK 0x0004
719 #define WM8903_DACR_TO_MIXOUTR_SHIFT 2
720 #define WM8903_DACR_TO_MIXOUTR_WIDTH 1
721 #define WM8903_BYPASSL_TO_MIXOUTR 0x0002
722 #define WM8903_BYPASSL_TO_MIXOUTR_MASK 0x0002
723 #define WM8903_BYPASSL_TO_MIXOUTR_SHIFT 1
724 #define WM8903_BYPASSL_TO_MIXOUTR_WIDTH 1
725 #define WM8903_BYPASSR_TO_MIXOUTR 0x0001
726 #define WM8903_BYPASSR_TO_MIXOUTR_MASK 0x0001
727 #define WM8903_BYPASSR_TO_MIXOUTR_SHIFT 0
728 #define WM8903_BYPASSR_TO_MIXOUTR_WIDTH 1
733 #define WM8903_DACL_TO_MIXSPKL 0x0008
734 #define WM8903_DACL_TO_MIXSPKL_MASK 0x0008
735 #define WM8903_DACL_TO_MIXSPKL_SHIFT 3
736 #define WM8903_DACL_TO_MIXSPKL_WIDTH 1
737 #define WM8903_DACR_TO_MIXSPKL 0x0004
738 #define WM8903_DACR_TO_MIXSPKL_MASK 0x0004
739 #define WM8903_DACR_TO_MIXSPKL_SHIFT 2
740 #define WM8903_DACR_TO_MIXSPKL_WIDTH 1
741 #define WM8903_BYPASSL_TO_MIXSPKL 0x0002
742 #define WM8903_BYPASSL_TO_MIXSPKL_MASK 0x0002
743 #define WM8903_BYPASSL_TO_MIXSPKL_SHIFT 1
744 #define WM8903_BYPASSL_TO_MIXSPKL_WIDTH 1
745 #define WM8903_BYPASSR_TO_MIXSPKL 0x0001
746 #define WM8903_BYPASSR_TO_MIXSPKL_MASK 0x0001
747 #define WM8903_BYPASSR_TO_MIXSPKL_SHIFT 0
748 #define WM8903_BYPASSR_TO_MIXSPKL_WIDTH 1
753 #define WM8903_DACL_MIXSPKL_VOL 0x0008
754 #define WM8903_DACL_MIXSPKL_VOL_MASK 0x0008
755 #define WM8903_DACL_MIXSPKL_VOL_SHIFT 3
756 #define WM8903_DACL_MIXSPKL_VOL_WIDTH 1
757 #define WM8903_DACR_MIXSPKL_VOL 0x0004
758 #define WM8903_DACR_MIXSPKL_VOL_MASK 0x0004
759 #define WM8903_DACR_MIXSPKL_VOL_SHIFT 2
760 #define WM8903_DACR_MIXSPKL_VOL_WIDTH 1
761 #define WM8903_BYPASSL_MIXSPKL_VOL 0x0002
762 #define WM8903_BYPASSL_MIXSPKL_VOL_MASK 0x0002
763 #define WM8903_BYPASSL_MIXSPKL_VOL_SHIFT 1
764 #define WM8903_BYPASSL_MIXSPKL_VOL_WIDTH 1
765 #define WM8903_BYPASSR_MIXSPKL_VOL 0x0001
766 #define WM8903_BYPASSR_MIXSPKL_VOL_MASK 0x0001
767 #define WM8903_BYPASSR_MIXSPKL_VOL_SHIFT 0
768 #define WM8903_BYPASSR_MIXSPKL_VOL_WIDTH 1
773 #define WM8903_DACL_TO_MIXSPKR 0x0008
774 #define WM8903_DACL_TO_MIXSPKR_MASK 0x0008
775 #define WM8903_DACL_TO_MIXSPKR_SHIFT 3
776 #define WM8903_DACL_TO_MIXSPKR_WIDTH 1
777 #define WM8903_DACR_TO_MIXSPKR 0x0004
778 #define WM8903_DACR_TO_MIXSPKR_MASK 0x0004
779 #define WM8903_DACR_TO_MIXSPKR_SHIFT 2
780 #define WM8903_DACR_TO_MIXSPKR_WIDTH 1
781 #define WM8903_BYPASSL_TO_MIXSPKR 0x0002
782 #define WM8903_BYPASSL_TO_MIXSPKR_MASK 0x0002
783 #define WM8903_BYPASSL_TO_MIXSPKR_SHIFT 1
784 #define WM8903_BYPASSL_TO_MIXSPKR_WIDTH 1
785 #define WM8903_BYPASSR_TO_MIXSPKR 0x0001
786 #define WM8903_BYPASSR_TO_MIXSPKR_MASK 0x0001
787 #define WM8903_BYPASSR_TO_MIXSPKR_SHIFT 0
788 #define WM8903_BYPASSR_TO_MIXSPKR_WIDTH 1
793 #define WM8903_DACL_MIXSPKR_VOL 0x0008
794 #define WM8903_DACL_MIXSPKR_VOL_MASK 0x0008
795 #define WM8903_DACL_MIXSPKR_VOL_SHIFT 3
796 #define WM8903_DACL_MIXSPKR_VOL_WIDTH 1
797 #define WM8903_DACR_MIXSPKR_VOL 0x0004
798 #define WM8903_DACR_MIXSPKR_VOL_MASK 0x0004
799 #define WM8903_DACR_MIXSPKR_VOL_SHIFT 2
800 #define WM8903_DACR_MIXSPKR_VOL_WIDTH 1
801 #define WM8903_BYPASSL_MIXSPKR_VOL 0x0002
802 #define WM8903_BYPASSL_MIXSPKR_VOL_MASK 0x0002
803 #define WM8903_BYPASSL_MIXSPKR_VOL_SHIFT 1
804 #define WM8903_BYPASSL_MIXSPKR_VOL_WIDTH 1
805 #define WM8903_BYPASSR_MIXSPKR_VOL 0x0001
806 #define WM8903_BYPASSR_MIXSPKR_VOL_MASK 0x0001
807 #define WM8903_BYPASSR_MIXSPKR_VOL_SHIFT 0
808 #define WM8903_BYPASSR_MIXSPKR_VOL_WIDTH 1
813 #define WM8903_HPL_MUTE 0x0100
814 #define WM8903_HPL_MUTE_MASK 0x0100
815 #define WM8903_HPL_MUTE_SHIFT 8
816 #define WM8903_HPL_MUTE_WIDTH 1
817 #define WM8903_HPOUTVU 0x0080
818 #define WM8903_HPOUTVU_MASK 0x0080
819 #define WM8903_HPOUTVU_SHIFT 7
820 #define WM8903_HPOUTVU_WIDTH 1
821 #define WM8903_HPOUTLZC 0x0040
822 #define WM8903_HPOUTLZC_MASK 0x0040
823 #define WM8903_HPOUTLZC_SHIFT 6
824 #define WM8903_HPOUTLZC_WIDTH 1
825 #define WM8903_HPOUTL_VOL_MASK 0x003F
826 #define WM8903_HPOUTL_VOL_SHIFT 0
827 #define WM8903_HPOUTL_VOL_WIDTH 6
832 #define WM8903_HPR_MUTE 0x0100
833 #define WM8903_HPR_MUTE_MASK 0x0100
834 #define WM8903_HPR_MUTE_SHIFT 8
835 #define WM8903_HPR_MUTE_WIDTH 1
836 #define WM8903_HPOUTVU 0x0080
837 #define WM8903_HPOUTVU_MASK 0x0080
838 #define WM8903_HPOUTVU_SHIFT 7
839 #define WM8903_HPOUTVU_WIDTH 1
840 #define WM8903_HPOUTRZC 0x0040
841 #define WM8903_HPOUTRZC_MASK 0x0040
842 #define WM8903_HPOUTRZC_SHIFT 6
843 #define WM8903_HPOUTRZC_WIDTH 1
844 #define WM8903_HPOUTR_VOL_MASK 0x003F
845 #define WM8903_HPOUTR_VOL_SHIFT 0
846 #define WM8903_HPOUTR_VOL_WIDTH 6
851 #define WM8903_LINEOUTL_MUTE 0x0100
852 #define WM8903_LINEOUTL_MUTE_MASK 0x0100
853 #define WM8903_LINEOUTL_MUTE_SHIFT 8
854 #define WM8903_LINEOUTL_MUTE_WIDTH 1
855 #define WM8903_LINEOUTVU 0x0080
856 #define WM8903_LINEOUTVU_MASK 0x0080
857 #define WM8903_LINEOUTVU_SHIFT 7
858 #define WM8903_LINEOUTVU_WIDTH 1
859 #define WM8903_LINEOUTLZC 0x0040
860 #define WM8903_LINEOUTLZC_MASK 0x0040
861 #define WM8903_LINEOUTLZC_SHIFT 6
862 #define WM8903_LINEOUTLZC_WIDTH 1
863 #define WM8903_LINEOUTL_VOL_MASK 0x003F
864 #define WM8903_LINEOUTL_VOL_SHIFT 0
865 #define WM8903_LINEOUTL_VOL_WIDTH 6
870 #define WM8903_LINEOUTR_MUTE 0x0100
871 #define WM8903_LINEOUTR_MUTE_MASK 0x0100
872 #define WM8903_LINEOUTR_MUTE_SHIFT 8
873 #define WM8903_LINEOUTR_MUTE_WIDTH 1
874 #define WM8903_LINEOUTVU 0x0080
875 #define WM8903_LINEOUTVU_MASK 0x0080
876 #define WM8903_LINEOUTVU_SHIFT 7
877 #define WM8903_LINEOUTVU_WIDTH 1
878 #define WM8903_LINEOUTRZC 0x0040
879 #define WM8903_LINEOUTRZC_MASK 0x0040
880 #define WM8903_LINEOUTRZC_SHIFT 6
881 #define WM8903_LINEOUTRZC_WIDTH 1
882 #define WM8903_LINEOUTR_VOL_MASK 0x003F
883 #define WM8903_LINEOUTR_VOL_SHIFT 0
884 #define WM8903_LINEOUTR_VOL_WIDTH 6
889 #define WM8903_SPKL_MUTE 0x0100
890 #define WM8903_SPKL_MUTE_MASK 0x0100
891 #define WM8903_SPKL_MUTE_SHIFT 8
892 #define WM8903_SPKL_MUTE_WIDTH 1
893 #define WM8903_SPKVU 0x0080
894 #define WM8903_SPKVU_MASK 0x0080
895 #define WM8903_SPKVU_SHIFT 7
896 #define WM8903_SPKVU_WIDTH 1
897 #define WM8903_SPKLZC 0x0040
898 #define WM8903_SPKLZC_MASK 0x0040
899 #define WM8903_SPKLZC_SHIFT 6
900 #define WM8903_SPKLZC_WIDTH 1
901 #define WM8903_SPKL_VOL_MASK 0x003F
902 #define WM8903_SPKL_VOL_SHIFT 0
903 #define WM8903_SPKL_VOL_WIDTH 6
908 #define WM8903_SPKR_MUTE 0x0100
909 #define WM8903_SPKR_MUTE_MASK 0x0100
910 #define WM8903_SPKR_MUTE_SHIFT 8
911 #define WM8903_SPKR_MUTE_WIDTH 1
912 #define WM8903_SPKVU 0x0080
913 #define WM8903_SPKVU_MASK 0x0080
914 #define WM8903_SPKVU_SHIFT 7
915 #define WM8903_SPKVU_WIDTH 1
916 #define WM8903_SPKRZC 0x0040
917 #define WM8903_SPKRZC_MASK 0x0040
918 #define WM8903_SPKRZC_SHIFT 6
919 #define WM8903_SPKRZC_WIDTH 1
920 #define WM8903_SPKR_VOL_MASK 0x003F
921 #define WM8903_SPKR_VOL_SHIFT 0
922 #define WM8903_SPKR_VOL_WIDTH 6
927 #define WM8903_SPK_DISCHARGE 0x0002
928 #define WM8903_SPK_DISCHARGE_MASK 0x0002
929 #define WM8903_SPK_DISCHARGE_SHIFT 1
930 #define WM8903_SPK_DISCHARGE_WIDTH 1
931 #define WM8903_VROI 0x0001
932 #define WM8903_VROI_MASK 0x0001
933 #define WM8903_VROI_SHIFT 0
934 #define WM8903_VROI_WIDTH 1
939 #define WM8903_DCS_MASTER_ENA 0x0010
940 #define WM8903_DCS_MASTER_ENA_MASK 0x0010
941 #define WM8903_DCS_MASTER_ENA_SHIFT 4
942 #define WM8903_DCS_MASTER_ENA_WIDTH 1
943 #define WM8903_DCS_ENA_MASK 0x000F
944 #define WM8903_DCS_ENA_SHIFT 0
945 #define WM8903_DCS_ENA_WIDTH 4
950 #define WM8903_DCS_MODE_MASK 0x0003
951 #define WM8903_DCS_MODE_SHIFT 0
952 #define WM8903_DCS_MODE_WIDTH 2
957 #define WM8903_HPL_RMV_SHORT 0x0080
958 #define WM8903_HPL_RMV_SHORT_MASK 0x0080
959 #define WM8903_HPL_RMV_SHORT_SHIFT 7
960 #define WM8903_HPL_RMV_SHORT_WIDTH 1
961 #define WM8903_HPL_ENA_OUTP 0x0040
962 #define WM8903_HPL_ENA_OUTP_MASK 0x0040
963 #define WM8903_HPL_ENA_OUTP_SHIFT 6
964 #define WM8903_HPL_ENA_OUTP_WIDTH 1
965 #define WM8903_HPL_ENA_DLY 0x0020
966 #define WM8903_HPL_ENA_DLY_MASK 0x0020
967 #define WM8903_HPL_ENA_DLY_SHIFT 5
968 #define WM8903_HPL_ENA_DLY_WIDTH 1
969 #define WM8903_HPL_ENA 0x0010
970 #define WM8903_HPL_ENA_MASK 0x0010
971 #define WM8903_HPL_ENA_SHIFT 4
972 #define WM8903_HPL_ENA_WIDTH 1
973 #define WM8903_HPR_RMV_SHORT 0x0008
974 #define WM8903_HPR_RMV_SHORT_MASK 0x0008
975 #define WM8903_HPR_RMV_SHORT_SHIFT 3
976 #define WM8903_HPR_RMV_SHORT_WIDTH 1
977 #define WM8903_HPR_ENA_OUTP 0x0004
978 #define WM8903_HPR_ENA_OUTP_MASK 0x0004
979 #define WM8903_HPR_ENA_OUTP_SHIFT 2
980 #define WM8903_HPR_ENA_OUTP_WIDTH 1
981 #define WM8903_HPR_ENA_DLY 0x0002
982 #define WM8903_HPR_ENA_DLY_MASK 0x0002
983 #define WM8903_HPR_ENA_DLY_SHIFT 1
984 #define WM8903_HPR_ENA_DLY_WIDTH 1
985 #define WM8903_HPR_ENA 0x0001
986 #define WM8903_HPR_ENA_MASK 0x0001
987 #define WM8903_HPR_ENA_SHIFT 0
988 #define WM8903_HPR_ENA_WIDTH 1
993 #define WM8903_LINEOUTL_RMV_SHORT 0x0080
994 #define WM8903_LINEOUTL_RMV_SHORT_MASK 0x0080
995 #define WM8903_LINEOUTL_RMV_SHORT_SHIFT 7
996 #define WM8903_LINEOUTL_RMV_SHORT_WIDTH 1
997 #define WM8903_LINEOUTL_ENA_OUTP 0x0040
998 #define WM8903_LINEOUTL_ENA_OUTP_MASK 0x0040
999 #define WM8903_LINEOUTL_ENA_OUTP_SHIFT 6
1000 #define WM8903_LINEOUTL_ENA_OUTP_WIDTH 1
1001 #define WM8903_LINEOUTL_ENA_DLY 0x0020
1002 #define WM8903_LINEOUTL_ENA_DLY_MASK 0x0020
1003 #define WM8903_LINEOUTL_ENA_DLY_SHIFT 5
1004 #define WM8903_LINEOUTL_ENA_DLY_WIDTH 1
1005 #define WM8903_LINEOUTL_ENA 0x0010
1006 #define WM8903_LINEOUTL_ENA_MASK 0x0010
1007 #define WM8903_LINEOUTL_ENA_SHIFT 4
1008 #define WM8903_LINEOUTL_ENA_WIDTH 1
1009 #define WM8903_LINEOUTR_RMV_SHORT 0x0008
1010 #define WM8903_LINEOUTR_RMV_SHORT_MASK 0x0008
1011 #define WM8903_LINEOUTR_RMV_SHORT_SHIFT 3
1012 #define WM8903_LINEOUTR_RMV_SHORT_WIDTH 1
1013 #define WM8903_LINEOUTR_ENA_OUTP 0x0004
1014 #define WM8903_LINEOUTR_ENA_OUTP_MASK 0x0004
1015 #define WM8903_LINEOUTR_ENA_OUTP_SHIFT 2
1016 #define WM8903_LINEOUTR_ENA_OUTP_WIDTH 1
1017 #define WM8903_LINEOUTR_ENA_DLY 0x0002
1018 #define WM8903_LINEOUTR_ENA_DLY_MASK 0x0002
1019 #define WM8903_LINEOUTR_ENA_DLY_SHIFT 1
1020 #define WM8903_LINEOUTR_ENA_DLY_WIDTH 1
1021 #define WM8903_LINEOUTR_ENA 0x0001
1022 #define WM8903_LINEOUTR_ENA_MASK 0x0001
1023 #define WM8903_LINEOUTR_ENA_SHIFT 0
1024 #define WM8903_LINEOUTR_ENA_WIDTH 1
1029 #define WM8903_CP_ENA 0x0001
1030 #define WM8903_CP_ENA_MASK 0x0001
1031 #define WM8903_CP_ENA_SHIFT 0
1032 #define WM8903_CP_ENA_WIDTH 1
1037 #define WM8903_CP_DYN_FREQ 0x0002
1038 #define WM8903_CP_DYN_FREQ_MASK 0x0002
1039 #define WM8903_CP_DYN_FREQ_SHIFT 1
1040 #define WM8903_CP_DYN_FREQ_WIDTH 1
1041 #define WM8903_CP_DYN_V 0x0001
1042 #define WM8903_CP_DYN_V_MASK 0x0001
1043 #define WM8903_CP_DYN_V_SHIFT 0
1044 #define WM8903_CP_DYN_V_WIDTH 1
1049 #define WM8903_WSEQ_ENA 0x0100
1050 #define WM8903_WSEQ_ENA_MASK 0x0100
1051 #define WM8903_WSEQ_ENA_SHIFT 8
1052 #define WM8903_WSEQ_ENA_WIDTH 1
1053 #define WM8903_WSEQ_WRITE_INDEX_MASK 0x001F
1054 #define WM8903_WSEQ_WRITE_INDEX_SHIFT 0
1055 #define WM8903_WSEQ_WRITE_INDEX_WIDTH 5
1060 #define WM8903_WSEQ_DATA_WIDTH_MASK 0x7000
1061 #define WM8903_WSEQ_DATA_WIDTH_SHIFT 12
1062 #define WM8903_WSEQ_DATA_WIDTH_WIDTH 3
1063 #define WM8903_WSEQ_DATA_START_MASK 0x0F00
1064 #define WM8903_WSEQ_DATA_START_SHIFT 8
1065 #define WM8903_WSEQ_DATA_START_WIDTH 4
1066 #define WM8903_WSEQ_ADDR_MASK 0x00FF
1067 #define WM8903_WSEQ_ADDR_SHIFT 0
1068 #define WM8903_WSEQ_ADDR_WIDTH 8
1073 #define WM8903_WSEQ_EOS 0x4000
1074 #define WM8903_WSEQ_EOS_MASK 0x4000
1075 #define WM8903_WSEQ_EOS_SHIFT 14
1076 #define WM8903_WSEQ_EOS_WIDTH 1
1077 #define WM8903_WSEQ_DELAY_MASK 0x0F00
1078 #define WM8903_WSEQ_DELAY_SHIFT 8
1079 #define WM8903_WSEQ_DELAY_WIDTH 4
1080 #define WM8903_WSEQ_DATA_MASK 0x00FF
1081 #define WM8903_WSEQ_DATA_SHIFT 0
1082 #define WM8903_WSEQ_DATA_WIDTH 8
1087 #define WM8903_WSEQ_ABORT 0x0200
1088 #define WM8903_WSEQ_ABORT_MASK 0x0200
1089 #define WM8903_WSEQ_ABORT_SHIFT 9
1090 #define WM8903_WSEQ_ABORT_WIDTH 1
1091 #define WM8903_WSEQ_START 0x0100
1092 #define WM8903_WSEQ_START_MASK 0x0100
1093 #define WM8903_WSEQ_START_SHIFT 8
1094 #define WM8903_WSEQ_START_WIDTH 1
1095 #define WM8903_WSEQ_START_INDEX_MASK 0x003F
1096 #define WM8903_WSEQ_START_INDEX_SHIFT 0
1097 #define WM8903_WSEQ_START_INDEX_WIDTH 6
1102 #define WM8903_WSEQ_CURRENT_INDEX_MASK 0x03F0
1103 #define WM8903_WSEQ_CURRENT_INDEX_SHIFT 4
1104 #define WM8903_WSEQ_CURRENT_INDEX_WIDTH 6
1105 #define WM8903_WSEQ_BUSY 0x0001
1106 #define WM8903_WSEQ_BUSY_MASK 0x0001
1107 #define WM8903_WSEQ_BUSY_SHIFT 0
1108 #define WM8903_WSEQ_BUSY_WIDTH 1
1113 #define WM8903_MASK_WRITE_ENA 0x0001
1114 #define WM8903_MASK_WRITE_ENA_MASK 0x0001
1115 #define WM8903_MASK_WRITE_ENA_SHIFT 0
1116 #define WM8903_MASK_WRITE_ENA_WIDTH 1
1121 #define WM8903_MICSHRT_EINT 0x8000
1122 #define WM8903_MICSHRT_EINT_MASK 0x8000
1123 #define WM8903_MICSHRT_EINT_SHIFT 15
1124 #define WM8903_MICSHRT_EINT_WIDTH 1
1125 #define WM8903_MICDET_EINT 0x4000
1126 #define WM8903_MICDET_EINT_MASK 0x4000
1127 #define WM8903_MICDET_EINT_SHIFT 14
1128 #define WM8903_MICDET_EINT_WIDTH 1
1129 #define WM8903_WSEQ_BUSY_EINT 0x2000
1130 #define WM8903_WSEQ_BUSY_EINT_MASK 0x2000
1131 #define WM8903_WSEQ_BUSY_EINT_SHIFT 13
1132 #define WM8903_WSEQ_BUSY_EINT_WIDTH 1
1133 #define WM8903_GP5_EINT 0x0010
1134 #define WM8903_GP5_EINT_MASK 0x0010
1135 #define WM8903_GP5_EINT_SHIFT 4
1136 #define WM8903_GP5_EINT_WIDTH 1
1137 #define WM8903_GP4_EINT 0x0008
1138 #define WM8903_GP4_EINT_MASK 0x0008
1139 #define WM8903_GP4_EINT_SHIFT 3
1140 #define WM8903_GP4_EINT_WIDTH 1
1141 #define WM8903_GP3_EINT 0x0004
1142 #define WM8903_GP3_EINT_MASK 0x0004
1143 #define WM8903_GP3_EINT_SHIFT 2
1144 #define WM8903_GP3_EINT_WIDTH 1
1145 #define WM8903_GP2_EINT 0x0002
1146 #define WM8903_GP2_EINT_MASK 0x0002
1147 #define WM8903_GP2_EINT_SHIFT 1
1148 #define WM8903_GP2_EINT_WIDTH 1
1149 #define WM8903_GP1_EINT 0x0001
1150 #define WM8903_GP1_EINT_MASK 0x0001
1151 #define WM8903_GP1_EINT_SHIFT 0
1152 #define WM8903_GP1_EINT_WIDTH 1
1157 #define WM8903_IM_MICSHRT_EINT 0x8000
1158 #define WM8903_IM_MICSHRT_EINT_MASK 0x8000
1159 #define WM8903_IM_MICSHRT_EINT_SHIFT 15
1160 #define WM8903_IM_MICSHRT_EINT_WIDTH 1
1161 #define WM8903_IM_MICDET_EINT 0x4000
1162 #define WM8903_IM_MICDET_EINT_MASK 0x4000
1163 #define WM8903_IM_MICDET_EINT_SHIFT 14
1164 #define WM8903_IM_MICDET_EINT_WIDTH 1
1165 #define WM8903_IM_WSEQ_BUSY_EINT 0x2000
1166 #define WM8903_IM_WSEQ_BUSY_EINT_MASK 0x2000
1167 #define WM8903_IM_WSEQ_BUSY_EINT_SHIFT 13
1168 #define WM8903_IM_WSEQ_BUSY_EINT_WIDTH 1
1169 #define WM8903_IM_GP5_EINT 0x0010
1170 #define WM8903_IM_GP5_EINT_MASK 0x0010
1171 #define WM8903_IM_GP5_EINT_SHIFT 4
1172 #define WM8903_IM_GP5_EINT_WIDTH 1
1173 #define WM8903_IM_GP4_EINT 0x0008
1174 #define WM8903_IM_GP4_EINT_MASK 0x0008
1175 #define WM8903_IM_GP4_EINT_SHIFT 3
1176 #define WM8903_IM_GP4_EINT_WIDTH 1
1177 #define WM8903_IM_GP3_EINT 0x0004
1178 #define WM8903_IM_GP3_EINT_MASK 0x0004
1179 #define WM8903_IM_GP3_EINT_SHIFT 2
1180 #define WM8903_IM_GP3_EINT_WIDTH 1
1181 #define WM8903_IM_GP2_EINT 0x0002
1182 #define WM8903_IM_GP2_EINT_MASK 0x0002
1183 #define WM8903_IM_GP2_EINT_SHIFT 1
1184 #define WM8903_IM_GP2_EINT_WIDTH 1
1185 #define WM8903_IM_GP1_EINT 0x0001
1186 #define WM8903_IM_GP1_EINT_MASK 0x0001
1187 #define WM8903_IM_GP1_EINT_SHIFT 0
1188 #define WM8903_IM_GP1_EINT_WIDTH 1
1193 #define WM8903_MICSHRT_INV 0x8000
1194 #define WM8903_MICSHRT_INV_MASK 0x8000
1195 #define WM8903_MICSHRT_INV_SHIFT 15
1196 #define WM8903_MICSHRT_INV_WIDTH 1
1197 #define WM8903_MICDET_INV 0x4000
1198 #define WM8903_MICDET_INV_MASK 0x4000
1199 #define WM8903_MICDET_INV_SHIFT 14
1200 #define WM8903_MICDET_INV_WIDTH 1
1205 #define WM8903_IRQ_POL 0x0001
1206 #define WM8903_IRQ_POL_MASK 0x0001
1207 #define WM8903_IRQ_POL_SHIFT 0
1208 #define WM8903_IRQ_POL_WIDTH 1
1213 #define WM8903_ADC_DIG_MIC 0x0200
1214 #define WM8903_ADC_DIG_MIC_MASK 0x0200
1215 #define WM8903_ADC_DIG_MIC_SHIFT 9
1216 #define WM8903_ADC_DIG_MIC_WIDTH 1
1221 #define WM8903_PGA_BIAS_MASK 0x0070
1222 #define WM8903_PGA_BIAS_SHIFT 4
1223 #define WM8903_PGA_BIAS_WIDTH 3