Merge tag 'v3.10.55' into update
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / sound / soc / codecs / wm8962.h
CommitLineData
9a76f1ff
MB
1/*
2 * wm8962.h -- WM8962 ASoC driver
3 *
4 * Copyright 2010 Wolfson Microelectronics, plc
5 *
6 * Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 */
12
13#ifndef _WM8962_H
14#define _WM8962_H
15
16#include <asm/types.h>
7711308a 17#include <sound/soc.h>
9a76f1ff 18
9a76f1ff
MB
19#define WM8962_SYSCLK_MCLK 1
20#define WM8962_SYSCLK_FLL 2
21#define WM8962_SYSCLK_PLL3 3
22
23#define WM8962_FLL 1
24
25#define WM8962_FLL_MCLK 1
26#define WM8962_FLL_BCLK 2
27#define WM8962_FLL_OSC 3
28#define WM8962_FLL_INT 4
29
30/*
31 * Register values.
32 */
33#define WM8962_LEFT_INPUT_VOLUME 0x00
34#define WM8962_RIGHT_INPUT_VOLUME 0x01
35#define WM8962_HPOUTL_VOLUME 0x02
36#define WM8962_HPOUTR_VOLUME 0x03
37#define WM8962_CLOCKING1 0x04
38#define WM8962_ADC_DAC_CONTROL_1 0x05
39#define WM8962_ADC_DAC_CONTROL_2 0x06
40#define WM8962_AUDIO_INTERFACE_0 0x07
41#define WM8962_CLOCKING2 0x08
42#define WM8962_AUDIO_INTERFACE_1 0x09
43#define WM8962_LEFT_DAC_VOLUME 0x0A
44#define WM8962_RIGHT_DAC_VOLUME 0x0B
45#define WM8962_AUDIO_INTERFACE_2 0x0E
46#define WM8962_SOFTWARE_RESET 0x0F
47#define WM8962_ALC1 0x11
48#define WM8962_ALC2 0x12
49#define WM8962_ALC3 0x13
50#define WM8962_NOISE_GATE 0x14
51#define WM8962_LEFT_ADC_VOLUME 0x15
52#define WM8962_RIGHT_ADC_VOLUME 0x16
53#define WM8962_ADDITIONAL_CONTROL_1 0x17
54#define WM8962_ADDITIONAL_CONTROL_2 0x18
55#define WM8962_PWR_MGMT_1 0x19
56#define WM8962_PWR_MGMT_2 0x1A
57#define WM8962_ADDITIONAL_CONTROL_3 0x1B
58#define WM8962_ANTI_POP 0x1C
59#define WM8962_CLOCKING_3 0x1E
60#define WM8962_INPUT_MIXER_CONTROL_1 0x1F
61#define WM8962_LEFT_INPUT_MIXER_VOLUME 0x20
62#define WM8962_RIGHT_INPUT_MIXER_VOLUME 0x21
63#define WM8962_INPUT_MIXER_CONTROL_2 0x22
64#define WM8962_INPUT_BIAS_CONTROL 0x23
65#define WM8962_LEFT_INPUT_PGA_CONTROL 0x25
66#define WM8962_RIGHT_INPUT_PGA_CONTROL 0x26
67#define WM8962_SPKOUTL_VOLUME 0x28
68#define WM8962_SPKOUTR_VOLUME 0x29
69#define WM8962_THERMAL_SHUTDOWN_STATUS 0x2F
70#define WM8962_ADDITIONAL_CONTROL_4 0x30
71#define WM8962_CLASS_D_CONTROL_1 0x31
72#define WM8962_CLASS_D_CONTROL_2 0x33
73#define WM8962_CLOCKING_4 0x38
74#define WM8962_DAC_DSP_MIXING_1 0x39
75#define WM8962_DAC_DSP_MIXING_2 0x3A
76#define WM8962_DC_SERVO_0 0x3C
77#define WM8962_DC_SERVO_1 0x3D
78#define WM8962_DC_SERVO_4 0x40
79#define WM8962_DC_SERVO_6 0x42
80#define WM8962_ANALOGUE_PGA_BIAS 0x44
81#define WM8962_ANALOGUE_HP_0 0x45
82#define WM8962_ANALOGUE_HP_2 0x47
83#define WM8962_CHARGE_PUMP_1 0x48
84#define WM8962_CHARGE_PUMP_B 0x52
85#define WM8962_WRITE_SEQUENCER_CONTROL_1 0x57
86#define WM8962_WRITE_SEQUENCER_CONTROL_2 0x5A
87#define WM8962_WRITE_SEQUENCER_CONTROL_3 0x5D
88#define WM8962_CONTROL_INTERFACE 0x5E
89#define WM8962_MIXER_ENABLES 0x63
90#define WM8962_HEADPHONE_MIXER_1 0x64
91#define WM8962_HEADPHONE_MIXER_2 0x65
92#define WM8962_HEADPHONE_MIXER_3 0x66
93#define WM8962_HEADPHONE_MIXER_4 0x67
94#define WM8962_SPEAKER_MIXER_1 0x69
95#define WM8962_SPEAKER_MIXER_2 0x6A
96#define WM8962_SPEAKER_MIXER_3 0x6B
97#define WM8962_SPEAKER_MIXER_4 0x6C
98#define WM8962_SPEAKER_MIXER_5 0x6D
99#define WM8962_BEEP_GENERATOR_1 0x6E
100#define WM8962_OSCILLATOR_TRIM_3 0x73
101#define WM8962_OSCILLATOR_TRIM_4 0x74
102#define WM8962_OSCILLATOR_TRIM_7 0x77
103#define WM8962_ANALOGUE_CLOCKING1 0x7C
104#define WM8962_ANALOGUE_CLOCKING2 0x7D
105#define WM8962_ANALOGUE_CLOCKING3 0x7E
106#define WM8962_PLL_SOFTWARE_RESET 0x7F
107#define WM8962_PLL2 0x81
108#define WM8962_PLL_4 0x83
109#define WM8962_PLL_9 0x88
110#define WM8962_PLL_10 0x89
111#define WM8962_PLL_11 0x8A
112#define WM8962_PLL_12 0x8B
113#define WM8962_PLL_13 0x8C
114#define WM8962_PLL_14 0x8D
115#define WM8962_PLL_15 0x8E
116#define WM8962_PLL_16 0x8F
117#define WM8962_FLL_CONTROL_1 0x9B
118#define WM8962_FLL_CONTROL_2 0x9C
119#define WM8962_FLL_CONTROL_3 0x9D
120#define WM8962_FLL_CONTROL_5 0x9F
121#define WM8962_FLL_CONTROL_6 0xA0
122#define WM8962_FLL_CONTROL_7 0xA1
123#define WM8962_FLL_CONTROL_8 0xA2
124#define WM8962_GENERAL_TEST_1 0xFC
125#define WM8962_DF1 0x100
126#define WM8962_DF2 0x101
127#define WM8962_DF3 0x102
128#define WM8962_DF4 0x103
129#define WM8962_DF5 0x104
130#define WM8962_DF6 0x105
131#define WM8962_DF7 0x106
132#define WM8962_LHPF1 0x108
133#define WM8962_LHPF2 0x109
134#define WM8962_THREED1 0x10C
135#define WM8962_THREED2 0x10D
136#define WM8962_THREED3 0x10E
137#define WM8962_THREED4 0x10F
138#define WM8962_DRC_1 0x114
139#define WM8962_DRC_2 0x115
140#define WM8962_DRC_3 0x116
141#define WM8962_DRC_4 0x117
142#define WM8962_DRC_5 0x118
143#define WM8962_TLOOPBACK 0x11D
144#define WM8962_EQ1 0x14F
145#define WM8962_EQ2 0x150
146#define WM8962_EQ3 0x151
147#define WM8962_EQ4 0x152
148#define WM8962_EQ5 0x153
149#define WM8962_EQ6 0x154
150#define WM8962_EQ7 0x155
151#define WM8962_EQ8 0x156
152#define WM8962_EQ9 0x157
153#define WM8962_EQ10 0x158
154#define WM8962_EQ11 0x159
155#define WM8962_EQ12 0x15A
156#define WM8962_EQ13 0x15B
157#define WM8962_EQ14 0x15C
158#define WM8962_EQ15 0x15D
159#define WM8962_EQ16 0x15E
160#define WM8962_EQ17 0x15F
161#define WM8962_EQ18 0x160
162#define WM8962_EQ19 0x161
163#define WM8962_EQ20 0x162
164#define WM8962_EQ21 0x163
165#define WM8962_EQ22 0x164
166#define WM8962_EQ23 0x165
167#define WM8962_EQ24 0x166
168#define WM8962_EQ25 0x167
169#define WM8962_EQ26 0x168
170#define WM8962_EQ27 0x169
171#define WM8962_EQ28 0x16A
172#define WM8962_EQ29 0x16B
173#define WM8962_EQ30 0x16C
174#define WM8962_EQ31 0x16D
175#define WM8962_EQ32 0x16E
176#define WM8962_EQ33 0x16F
177#define WM8962_EQ34 0x170
178#define WM8962_EQ35 0x171
179#define WM8962_EQ36 0x172
180#define WM8962_EQ37 0x173
181#define WM8962_EQ38 0x174
182#define WM8962_EQ39 0x175
183#define WM8962_EQ40 0x176
184#define WM8962_EQ41 0x177
3367b8d4 185#define WM8962_GPIO_BASE 0x200
9a76f1ff
MB
186#define WM8962_GPIO_2 0x201
187#define WM8962_GPIO_3 0x202
188#define WM8962_GPIO_5 0x204
189#define WM8962_GPIO_6 0x205
190#define WM8962_INTERRUPT_STATUS_1 0x230
191#define WM8962_INTERRUPT_STATUS_2 0x231
192#define WM8962_INTERRUPT_STATUS_1_MASK 0x238
193#define WM8962_INTERRUPT_STATUS_2_MASK 0x239
194#define WM8962_INTERRUPT_CONTROL 0x240
195#define WM8962_IRQ_DEBOUNCE 0x248
196#define WM8962_MICINT_SOURCE_POL 0x24A
197#define WM8962_DSP2_POWER_MANAGEMENT 0x300
198#define WM8962_DSP2_EXECCONTROL 0x40D
199#define WM8962_WRITE_SEQUENCER_0 0x1000
200#define WM8962_WRITE_SEQUENCER_1 0x1001
201#define WM8962_WRITE_SEQUENCER_2 0x1002
202#define WM8962_WRITE_SEQUENCER_3 0x1003
203#define WM8962_WRITE_SEQUENCER_4 0x1004
204#define WM8962_WRITE_SEQUENCER_5 0x1005
205#define WM8962_WRITE_SEQUENCER_6 0x1006
206#define WM8962_WRITE_SEQUENCER_7 0x1007
207#define WM8962_WRITE_SEQUENCER_8 0x1008
208#define WM8962_WRITE_SEQUENCER_9 0x1009
209#define WM8962_WRITE_SEQUENCER_10 0x100A
210#define WM8962_WRITE_SEQUENCER_11 0x100B
211#define WM8962_WRITE_SEQUENCER_12 0x100C
212#define WM8962_WRITE_SEQUENCER_13 0x100D
213#define WM8962_WRITE_SEQUENCER_14 0x100E
214#define WM8962_WRITE_SEQUENCER_15 0x100F
215#define WM8962_WRITE_SEQUENCER_16 0x1010
216#define WM8962_WRITE_SEQUENCER_17 0x1011
217#define WM8962_WRITE_SEQUENCER_18 0x1012
218#define WM8962_WRITE_SEQUENCER_19 0x1013
219#define WM8962_WRITE_SEQUENCER_20 0x1014
220#define WM8962_WRITE_SEQUENCER_21 0x1015
221#define WM8962_WRITE_SEQUENCER_22 0x1016
222#define WM8962_WRITE_SEQUENCER_23 0x1017
223#define WM8962_WRITE_SEQUENCER_24 0x1018
224#define WM8962_WRITE_SEQUENCER_25 0x1019
225#define WM8962_WRITE_SEQUENCER_26 0x101A
226#define WM8962_WRITE_SEQUENCER_27 0x101B
227#define WM8962_WRITE_SEQUENCER_28 0x101C
228#define WM8962_WRITE_SEQUENCER_29 0x101D
229#define WM8962_WRITE_SEQUENCER_30 0x101E
230#define WM8962_WRITE_SEQUENCER_31 0x101F
231#define WM8962_WRITE_SEQUENCER_32 0x1020
232#define WM8962_WRITE_SEQUENCER_33 0x1021
233#define WM8962_WRITE_SEQUENCER_34 0x1022
234#define WM8962_WRITE_SEQUENCER_35 0x1023
235#define WM8962_WRITE_SEQUENCER_36 0x1024
236#define WM8962_WRITE_SEQUENCER_37 0x1025
237#define WM8962_WRITE_SEQUENCER_38 0x1026
238#define WM8962_WRITE_SEQUENCER_39 0x1027
239#define WM8962_WRITE_SEQUENCER_40 0x1028
240#define WM8962_WRITE_SEQUENCER_41 0x1029
241#define WM8962_WRITE_SEQUENCER_42 0x102A
242#define WM8962_WRITE_SEQUENCER_43 0x102B
243#define WM8962_WRITE_SEQUENCER_44 0x102C
244#define WM8962_WRITE_SEQUENCER_45 0x102D
245#define WM8962_WRITE_SEQUENCER_46 0x102E
246#define WM8962_WRITE_SEQUENCER_47 0x102F
247#define WM8962_WRITE_SEQUENCER_48 0x1030
248#define WM8962_WRITE_SEQUENCER_49 0x1031
249#define WM8962_WRITE_SEQUENCER_50 0x1032
250#define WM8962_WRITE_SEQUENCER_51 0x1033
251#define WM8962_WRITE_SEQUENCER_52 0x1034
252#define WM8962_WRITE_SEQUENCER_53 0x1035
253#define WM8962_WRITE_SEQUENCER_54 0x1036
254#define WM8962_WRITE_SEQUENCER_55 0x1037
255#define WM8962_WRITE_SEQUENCER_56 0x1038
256#define WM8962_WRITE_SEQUENCER_57 0x1039
257#define WM8962_WRITE_SEQUENCER_58 0x103A
258#define WM8962_WRITE_SEQUENCER_59 0x103B
259#define WM8962_WRITE_SEQUENCER_60 0x103C
260#define WM8962_WRITE_SEQUENCER_61 0x103D
261#define WM8962_WRITE_SEQUENCER_62 0x103E
262#define WM8962_WRITE_SEQUENCER_63 0x103F
263#define WM8962_WRITE_SEQUENCER_64 0x1040
264#define WM8962_WRITE_SEQUENCER_65 0x1041
265#define WM8962_WRITE_SEQUENCER_66 0x1042
266#define WM8962_WRITE_SEQUENCER_67 0x1043
267#define WM8962_WRITE_SEQUENCER_68 0x1044
268#define WM8962_WRITE_SEQUENCER_69 0x1045
269#define WM8962_WRITE_SEQUENCER_70 0x1046
270#define WM8962_WRITE_SEQUENCER_71 0x1047
271#define WM8962_WRITE_SEQUENCER_72 0x1048
272#define WM8962_WRITE_SEQUENCER_73 0x1049
273#define WM8962_WRITE_SEQUENCER_74 0x104A
274#define WM8962_WRITE_SEQUENCER_75 0x104B
275#define WM8962_WRITE_SEQUENCER_76 0x104C
276#define WM8962_WRITE_SEQUENCER_77 0x104D
277#define WM8962_WRITE_SEQUENCER_78 0x104E
278#define WM8962_WRITE_SEQUENCER_79 0x104F
279#define WM8962_WRITE_SEQUENCER_80 0x1050
280#define WM8962_WRITE_SEQUENCER_81 0x1051
281#define WM8962_WRITE_SEQUENCER_82 0x1052
282#define WM8962_WRITE_SEQUENCER_83 0x1053
283#define WM8962_WRITE_SEQUENCER_84 0x1054
284#define WM8962_WRITE_SEQUENCER_85 0x1055
285#define WM8962_WRITE_SEQUENCER_86 0x1056
286#define WM8962_WRITE_SEQUENCER_87 0x1057
287#define WM8962_WRITE_SEQUENCER_88 0x1058
288#define WM8962_WRITE_SEQUENCER_89 0x1059
289#define WM8962_WRITE_SEQUENCER_90 0x105A
290#define WM8962_WRITE_SEQUENCER_91 0x105B
291#define WM8962_WRITE_SEQUENCER_92 0x105C
292#define WM8962_WRITE_SEQUENCER_93 0x105D
293#define WM8962_WRITE_SEQUENCER_94 0x105E
294#define WM8962_WRITE_SEQUENCER_95 0x105F
295#define WM8962_WRITE_SEQUENCER_96 0x1060
296#define WM8962_WRITE_SEQUENCER_97 0x1061
297#define WM8962_WRITE_SEQUENCER_98 0x1062
298#define WM8962_WRITE_SEQUENCER_99 0x1063
299#define WM8962_WRITE_SEQUENCER_100 0x1064
300#define WM8962_WRITE_SEQUENCER_101 0x1065
301#define WM8962_WRITE_SEQUENCER_102 0x1066
302#define WM8962_WRITE_SEQUENCER_103 0x1067
303#define WM8962_WRITE_SEQUENCER_104 0x1068
304#define WM8962_WRITE_SEQUENCER_105 0x1069
305#define WM8962_WRITE_SEQUENCER_106 0x106A
306#define WM8962_WRITE_SEQUENCER_107 0x106B
307#define WM8962_WRITE_SEQUENCER_108 0x106C
308#define WM8962_WRITE_SEQUENCER_109 0x106D
309#define WM8962_WRITE_SEQUENCER_110 0x106E
310#define WM8962_WRITE_SEQUENCER_111 0x106F
311#define WM8962_WRITE_SEQUENCER_112 0x1070
312#define WM8962_WRITE_SEQUENCER_113 0x1071
313#define WM8962_WRITE_SEQUENCER_114 0x1072
314#define WM8962_WRITE_SEQUENCER_115 0x1073
315#define WM8962_WRITE_SEQUENCER_116 0x1074
316#define WM8962_WRITE_SEQUENCER_117 0x1075
317#define WM8962_WRITE_SEQUENCER_118 0x1076
318#define WM8962_WRITE_SEQUENCER_119 0x1077
319#define WM8962_WRITE_SEQUENCER_120 0x1078
320#define WM8962_WRITE_SEQUENCER_121 0x1079
321#define WM8962_WRITE_SEQUENCER_122 0x107A
322#define WM8962_WRITE_SEQUENCER_123 0x107B
323#define WM8962_WRITE_SEQUENCER_124 0x107C
324#define WM8962_WRITE_SEQUENCER_125 0x107D
325#define WM8962_WRITE_SEQUENCER_126 0x107E
326#define WM8962_WRITE_SEQUENCER_127 0x107F
327#define WM8962_WRITE_SEQUENCER_128 0x1080
328#define WM8962_WRITE_SEQUENCER_129 0x1081
329#define WM8962_WRITE_SEQUENCER_130 0x1082
330#define WM8962_WRITE_SEQUENCER_131 0x1083
331#define WM8962_WRITE_SEQUENCER_132 0x1084
332#define WM8962_WRITE_SEQUENCER_133 0x1085
333#define WM8962_WRITE_SEQUENCER_134 0x1086
334#define WM8962_WRITE_SEQUENCER_135 0x1087
335#define WM8962_WRITE_SEQUENCER_136 0x1088
336#define WM8962_WRITE_SEQUENCER_137 0x1089
337#define WM8962_WRITE_SEQUENCER_138 0x108A
338#define WM8962_WRITE_SEQUENCER_139 0x108B
339#define WM8962_WRITE_SEQUENCER_140 0x108C
340#define WM8962_WRITE_SEQUENCER_141 0x108D
341#define WM8962_WRITE_SEQUENCER_142 0x108E
342#define WM8962_WRITE_SEQUENCER_143 0x108F
343#define WM8962_WRITE_SEQUENCER_144 0x1090
344#define WM8962_WRITE_SEQUENCER_145 0x1091
345#define WM8962_WRITE_SEQUENCER_146 0x1092
346#define WM8962_WRITE_SEQUENCER_147 0x1093
347#define WM8962_WRITE_SEQUENCER_148 0x1094
348#define WM8962_WRITE_SEQUENCER_149 0x1095
349#define WM8962_WRITE_SEQUENCER_150 0x1096
350#define WM8962_WRITE_SEQUENCER_151 0x1097
351#define WM8962_WRITE_SEQUENCER_152 0x1098
352#define WM8962_WRITE_SEQUENCER_153 0x1099
353#define WM8962_WRITE_SEQUENCER_154 0x109A
354#define WM8962_WRITE_SEQUENCER_155 0x109B
355#define WM8962_WRITE_SEQUENCER_156 0x109C
356#define WM8962_WRITE_SEQUENCER_157 0x109D
357#define WM8962_WRITE_SEQUENCER_158 0x109E
358#define WM8962_WRITE_SEQUENCER_159 0x109F
359#define WM8962_WRITE_SEQUENCER_160 0x10A0
360#define WM8962_WRITE_SEQUENCER_161 0x10A1
361#define WM8962_WRITE_SEQUENCER_162 0x10A2
362#define WM8962_WRITE_SEQUENCER_163 0x10A3
363#define WM8962_WRITE_SEQUENCER_164 0x10A4
364#define WM8962_WRITE_SEQUENCER_165 0x10A5
365#define WM8962_WRITE_SEQUENCER_166 0x10A6
366#define WM8962_WRITE_SEQUENCER_167 0x10A7
367#define WM8962_WRITE_SEQUENCER_168 0x10A8
368#define WM8962_WRITE_SEQUENCER_169 0x10A9
369#define WM8962_WRITE_SEQUENCER_170 0x10AA
370#define WM8962_WRITE_SEQUENCER_171 0x10AB
371#define WM8962_WRITE_SEQUENCER_172 0x10AC
372#define WM8962_WRITE_SEQUENCER_173 0x10AD
373#define WM8962_WRITE_SEQUENCER_174 0x10AE
374#define WM8962_WRITE_SEQUENCER_175 0x10AF
375#define WM8962_WRITE_SEQUENCER_176 0x10B0
376#define WM8962_WRITE_SEQUENCER_177 0x10B1
377#define WM8962_WRITE_SEQUENCER_178 0x10B2
378#define WM8962_WRITE_SEQUENCER_179 0x10B3
379#define WM8962_WRITE_SEQUENCER_180 0x10B4
380#define WM8962_WRITE_SEQUENCER_181 0x10B5
381#define WM8962_WRITE_SEQUENCER_182 0x10B6
382#define WM8962_WRITE_SEQUENCER_183 0x10B7
383#define WM8962_WRITE_SEQUENCER_184 0x10B8
384#define WM8962_WRITE_SEQUENCER_185 0x10B9
385#define WM8962_WRITE_SEQUENCER_186 0x10BA
386#define WM8962_WRITE_SEQUENCER_187 0x10BB
387#define WM8962_WRITE_SEQUENCER_188 0x10BC
388#define WM8962_WRITE_SEQUENCER_189 0x10BD
389#define WM8962_WRITE_SEQUENCER_190 0x10BE
390#define WM8962_WRITE_SEQUENCER_191 0x10BF
391#define WM8962_WRITE_SEQUENCER_192 0x10C0
392#define WM8962_WRITE_SEQUENCER_193 0x10C1
393#define WM8962_WRITE_SEQUENCER_194 0x10C2
394#define WM8962_WRITE_SEQUENCER_195 0x10C3
395#define WM8962_WRITE_SEQUENCER_196 0x10C4
396#define WM8962_WRITE_SEQUENCER_197 0x10C5
397#define WM8962_WRITE_SEQUENCER_198 0x10C6
398#define WM8962_WRITE_SEQUENCER_199 0x10C7
399#define WM8962_WRITE_SEQUENCER_200 0x10C8
400#define WM8962_WRITE_SEQUENCER_201 0x10C9
401#define WM8962_WRITE_SEQUENCER_202 0x10CA
402#define WM8962_WRITE_SEQUENCER_203 0x10CB
403#define WM8962_WRITE_SEQUENCER_204 0x10CC
404#define WM8962_WRITE_SEQUENCER_205 0x10CD
405#define WM8962_WRITE_SEQUENCER_206 0x10CE
406#define WM8962_WRITE_SEQUENCER_207 0x10CF
407#define WM8962_WRITE_SEQUENCER_208 0x10D0
408#define WM8962_WRITE_SEQUENCER_209 0x10D1
409#define WM8962_WRITE_SEQUENCER_210 0x10D2
410#define WM8962_WRITE_SEQUENCER_211 0x10D3
411#define WM8962_WRITE_SEQUENCER_212 0x10D4
412#define WM8962_WRITE_SEQUENCER_213 0x10D5
413#define WM8962_WRITE_SEQUENCER_214 0x10D6
414#define WM8962_WRITE_SEQUENCER_215 0x10D7
415#define WM8962_WRITE_SEQUENCER_216 0x10D8
416#define WM8962_WRITE_SEQUENCER_217 0x10D9
417#define WM8962_WRITE_SEQUENCER_218 0x10DA
418#define WM8962_WRITE_SEQUENCER_219 0x10DB
419#define WM8962_WRITE_SEQUENCER_220 0x10DC
420#define WM8962_WRITE_SEQUENCER_221 0x10DD
421#define WM8962_WRITE_SEQUENCER_222 0x10DE
422#define WM8962_WRITE_SEQUENCER_223 0x10DF
423#define WM8962_WRITE_SEQUENCER_224 0x10E0
424#define WM8962_WRITE_SEQUENCER_225 0x10E1
425#define WM8962_WRITE_SEQUENCER_226 0x10E2
426#define WM8962_WRITE_SEQUENCER_227 0x10E3
427#define WM8962_WRITE_SEQUENCER_228 0x10E4
428#define WM8962_WRITE_SEQUENCER_229 0x10E5
429#define WM8962_WRITE_SEQUENCER_230 0x10E6
430#define WM8962_WRITE_SEQUENCER_231 0x10E7
431#define WM8962_WRITE_SEQUENCER_232 0x10E8
432#define WM8962_WRITE_SEQUENCER_233 0x10E9
433#define WM8962_WRITE_SEQUENCER_234 0x10EA
434#define WM8962_WRITE_SEQUENCER_235 0x10EB
435#define WM8962_WRITE_SEQUENCER_236 0x10EC
436#define WM8962_WRITE_SEQUENCER_237 0x10ED
437#define WM8962_WRITE_SEQUENCER_238 0x10EE
438#define WM8962_WRITE_SEQUENCER_239 0x10EF
439#define WM8962_WRITE_SEQUENCER_240 0x10F0
440#define WM8962_WRITE_SEQUENCER_241 0x10F1
441#define WM8962_WRITE_SEQUENCER_242 0x10F2
442#define WM8962_WRITE_SEQUENCER_243 0x10F3
443#define WM8962_WRITE_SEQUENCER_244 0x10F4
444#define WM8962_WRITE_SEQUENCER_245 0x10F5
445#define WM8962_WRITE_SEQUENCER_246 0x10F6
446#define WM8962_WRITE_SEQUENCER_247 0x10F7
447#define WM8962_WRITE_SEQUENCER_248 0x10F8
448#define WM8962_WRITE_SEQUENCER_249 0x10F9
449#define WM8962_WRITE_SEQUENCER_250 0x10FA
450#define WM8962_WRITE_SEQUENCER_251 0x10FB
451#define WM8962_WRITE_SEQUENCER_252 0x10FC
452#define WM8962_WRITE_SEQUENCER_253 0x10FD
453#define WM8962_WRITE_SEQUENCER_254 0x10FE
454#define WM8962_WRITE_SEQUENCER_255 0x10FF
455#define WM8962_WRITE_SEQUENCER_256 0x1100
456#define WM8962_WRITE_SEQUENCER_257 0x1101
457#define WM8962_WRITE_SEQUENCER_258 0x1102
458#define WM8962_WRITE_SEQUENCER_259 0x1103
459#define WM8962_WRITE_SEQUENCER_260 0x1104
460#define WM8962_WRITE_SEQUENCER_261 0x1105
461#define WM8962_WRITE_SEQUENCER_262 0x1106
462#define WM8962_WRITE_SEQUENCER_263 0x1107
463#define WM8962_WRITE_SEQUENCER_264 0x1108
464#define WM8962_WRITE_SEQUENCER_265 0x1109
465#define WM8962_WRITE_SEQUENCER_266 0x110A
466#define WM8962_WRITE_SEQUENCER_267 0x110B
467#define WM8962_WRITE_SEQUENCER_268 0x110C
468#define WM8962_WRITE_SEQUENCER_269 0x110D
469#define WM8962_WRITE_SEQUENCER_270 0x110E
470#define WM8962_WRITE_SEQUENCER_271 0x110F
471#define WM8962_WRITE_SEQUENCER_272 0x1110
472#define WM8962_WRITE_SEQUENCER_273 0x1111
473#define WM8962_WRITE_SEQUENCER_274 0x1112
474#define WM8962_WRITE_SEQUENCER_275 0x1113
475#define WM8962_WRITE_SEQUENCER_276 0x1114
476#define WM8962_WRITE_SEQUENCER_277 0x1115
477#define WM8962_WRITE_SEQUENCER_278 0x1116
478#define WM8962_WRITE_SEQUENCER_279 0x1117
479#define WM8962_WRITE_SEQUENCER_280 0x1118
480#define WM8962_WRITE_SEQUENCER_281 0x1119
481#define WM8962_WRITE_SEQUENCER_282 0x111A
482#define WM8962_WRITE_SEQUENCER_283 0x111B
483#define WM8962_WRITE_SEQUENCER_284 0x111C
484#define WM8962_WRITE_SEQUENCER_285 0x111D
485#define WM8962_WRITE_SEQUENCER_286 0x111E
486#define WM8962_WRITE_SEQUENCER_287 0x111F
487#define WM8962_WRITE_SEQUENCER_288 0x1120
488#define WM8962_WRITE_SEQUENCER_289 0x1121
489#define WM8962_WRITE_SEQUENCER_290 0x1122
490#define WM8962_WRITE_SEQUENCER_291 0x1123
491#define WM8962_WRITE_SEQUENCER_292 0x1124
492#define WM8962_WRITE_SEQUENCER_293 0x1125
493#define WM8962_WRITE_SEQUENCER_294 0x1126
494#define WM8962_WRITE_SEQUENCER_295 0x1127
495#define WM8962_WRITE_SEQUENCER_296 0x1128
496#define WM8962_WRITE_SEQUENCER_297 0x1129
497#define WM8962_WRITE_SEQUENCER_298 0x112A
498#define WM8962_WRITE_SEQUENCER_299 0x112B
499#define WM8962_WRITE_SEQUENCER_300 0x112C
500#define WM8962_WRITE_SEQUENCER_301 0x112D
501#define WM8962_WRITE_SEQUENCER_302 0x112E
502#define WM8962_WRITE_SEQUENCER_303 0x112F
503#define WM8962_WRITE_SEQUENCER_304 0x1130
504#define WM8962_WRITE_SEQUENCER_305 0x1131
505#define WM8962_WRITE_SEQUENCER_306 0x1132
506#define WM8962_WRITE_SEQUENCER_307 0x1133
507#define WM8962_WRITE_SEQUENCER_308 0x1134
508#define WM8962_WRITE_SEQUENCER_309 0x1135
509#define WM8962_WRITE_SEQUENCER_310 0x1136
510#define WM8962_WRITE_SEQUENCER_311 0x1137
511#define WM8962_WRITE_SEQUENCER_312 0x1138
512#define WM8962_WRITE_SEQUENCER_313 0x1139
513#define WM8962_WRITE_SEQUENCER_314 0x113A
514#define WM8962_WRITE_SEQUENCER_315 0x113B
515#define WM8962_WRITE_SEQUENCER_316 0x113C
516#define WM8962_WRITE_SEQUENCER_317 0x113D
517#define WM8962_WRITE_SEQUENCER_318 0x113E
518#define WM8962_WRITE_SEQUENCER_319 0x113F
519#define WM8962_WRITE_SEQUENCER_320 0x1140
520#define WM8962_WRITE_SEQUENCER_321 0x1141
521#define WM8962_WRITE_SEQUENCER_322 0x1142
522#define WM8962_WRITE_SEQUENCER_323 0x1143
523#define WM8962_WRITE_SEQUENCER_324 0x1144
524#define WM8962_WRITE_SEQUENCER_325 0x1145
525#define WM8962_WRITE_SEQUENCER_326 0x1146
526#define WM8962_WRITE_SEQUENCER_327 0x1147
527#define WM8962_WRITE_SEQUENCER_328 0x1148
528#define WM8962_WRITE_SEQUENCER_329 0x1149
529#define WM8962_WRITE_SEQUENCER_330 0x114A
530#define WM8962_WRITE_SEQUENCER_331 0x114B
531#define WM8962_WRITE_SEQUENCER_332 0x114C
532#define WM8962_WRITE_SEQUENCER_333 0x114D
533#define WM8962_WRITE_SEQUENCER_334 0x114E
534#define WM8962_WRITE_SEQUENCER_335 0x114F
535#define WM8962_WRITE_SEQUENCER_336 0x1150
536#define WM8962_WRITE_SEQUENCER_337 0x1151
537#define WM8962_WRITE_SEQUENCER_338 0x1152
538#define WM8962_WRITE_SEQUENCER_339 0x1153
539#define WM8962_WRITE_SEQUENCER_340 0x1154
540#define WM8962_WRITE_SEQUENCER_341 0x1155
541#define WM8962_WRITE_SEQUENCER_342 0x1156
542#define WM8962_WRITE_SEQUENCER_343 0x1157
543#define WM8962_WRITE_SEQUENCER_344 0x1158
544#define WM8962_WRITE_SEQUENCER_345 0x1159
545#define WM8962_WRITE_SEQUENCER_346 0x115A
546#define WM8962_WRITE_SEQUENCER_347 0x115B
547#define WM8962_WRITE_SEQUENCER_348 0x115C
548#define WM8962_WRITE_SEQUENCER_349 0x115D
549#define WM8962_WRITE_SEQUENCER_350 0x115E
550#define WM8962_WRITE_SEQUENCER_351 0x115F
551#define WM8962_WRITE_SEQUENCER_352 0x1160
552#define WM8962_WRITE_SEQUENCER_353 0x1161
553#define WM8962_WRITE_SEQUENCER_354 0x1162
554#define WM8962_WRITE_SEQUENCER_355 0x1163
555#define WM8962_WRITE_SEQUENCER_356 0x1164
556#define WM8962_WRITE_SEQUENCER_357 0x1165
557#define WM8962_WRITE_SEQUENCER_358 0x1166
558#define WM8962_WRITE_SEQUENCER_359 0x1167
559#define WM8962_WRITE_SEQUENCER_360 0x1168
560#define WM8962_WRITE_SEQUENCER_361 0x1169
561#define WM8962_WRITE_SEQUENCER_362 0x116A
562#define WM8962_WRITE_SEQUENCER_363 0x116B
563#define WM8962_WRITE_SEQUENCER_364 0x116C
564#define WM8962_WRITE_SEQUENCER_365 0x116D
565#define WM8962_WRITE_SEQUENCER_366 0x116E
566#define WM8962_WRITE_SEQUENCER_367 0x116F
567#define WM8962_WRITE_SEQUENCER_368 0x1170
568#define WM8962_WRITE_SEQUENCER_369 0x1171
569#define WM8962_WRITE_SEQUENCER_370 0x1172
570#define WM8962_WRITE_SEQUENCER_371 0x1173
571#define WM8962_WRITE_SEQUENCER_372 0x1174
572#define WM8962_WRITE_SEQUENCER_373 0x1175
573#define WM8962_WRITE_SEQUENCER_374 0x1176
574#define WM8962_WRITE_SEQUENCER_375 0x1177
575#define WM8962_WRITE_SEQUENCER_376 0x1178
576#define WM8962_WRITE_SEQUENCER_377 0x1179
577#define WM8962_WRITE_SEQUENCER_378 0x117A
578#define WM8962_WRITE_SEQUENCER_379 0x117B
579#define WM8962_WRITE_SEQUENCER_380 0x117C
580#define WM8962_WRITE_SEQUENCER_381 0x117D
581#define WM8962_WRITE_SEQUENCER_382 0x117E
582#define WM8962_WRITE_SEQUENCER_383 0x117F
583#define WM8962_WRITE_SEQUENCER_384 0x1180
584#define WM8962_WRITE_SEQUENCER_385 0x1181
585#define WM8962_WRITE_SEQUENCER_386 0x1182
586#define WM8962_WRITE_SEQUENCER_387 0x1183
587#define WM8962_WRITE_SEQUENCER_388 0x1184
588#define WM8962_WRITE_SEQUENCER_389 0x1185
589#define WM8962_WRITE_SEQUENCER_390 0x1186
590#define WM8962_WRITE_SEQUENCER_391 0x1187
591#define WM8962_WRITE_SEQUENCER_392 0x1188
592#define WM8962_WRITE_SEQUENCER_393 0x1189
593#define WM8962_WRITE_SEQUENCER_394 0x118A
594#define WM8962_WRITE_SEQUENCER_395 0x118B
595#define WM8962_WRITE_SEQUENCER_396 0x118C
596#define WM8962_WRITE_SEQUENCER_397 0x118D
597#define WM8962_WRITE_SEQUENCER_398 0x118E
598#define WM8962_WRITE_SEQUENCER_399 0x118F
599#define WM8962_WRITE_SEQUENCER_400 0x1190
600#define WM8962_WRITE_SEQUENCER_401 0x1191
601#define WM8962_WRITE_SEQUENCER_402 0x1192
602#define WM8962_WRITE_SEQUENCER_403 0x1193
603#define WM8962_WRITE_SEQUENCER_404 0x1194
604#define WM8962_WRITE_SEQUENCER_405 0x1195
605#define WM8962_WRITE_SEQUENCER_406 0x1196
606#define WM8962_WRITE_SEQUENCER_407 0x1197
607#define WM8962_WRITE_SEQUENCER_408 0x1198
608#define WM8962_WRITE_SEQUENCER_409 0x1199
609#define WM8962_WRITE_SEQUENCER_410 0x119A
610#define WM8962_WRITE_SEQUENCER_411 0x119B
611#define WM8962_WRITE_SEQUENCER_412 0x119C
612#define WM8962_WRITE_SEQUENCER_413 0x119D
613#define WM8962_WRITE_SEQUENCER_414 0x119E
614#define WM8962_WRITE_SEQUENCER_415 0x119F
615#define WM8962_WRITE_SEQUENCER_416 0x11A0
616#define WM8962_WRITE_SEQUENCER_417 0x11A1
617#define WM8962_WRITE_SEQUENCER_418 0x11A2
618#define WM8962_WRITE_SEQUENCER_419 0x11A3
619#define WM8962_WRITE_SEQUENCER_420 0x11A4
620#define WM8962_WRITE_SEQUENCER_421 0x11A5
621#define WM8962_WRITE_SEQUENCER_422 0x11A6
622#define WM8962_WRITE_SEQUENCER_423 0x11A7
623#define WM8962_WRITE_SEQUENCER_424 0x11A8
624#define WM8962_WRITE_SEQUENCER_425 0x11A9
625#define WM8962_WRITE_SEQUENCER_426 0x11AA
626#define WM8962_WRITE_SEQUENCER_427 0x11AB
627#define WM8962_WRITE_SEQUENCER_428 0x11AC
628#define WM8962_WRITE_SEQUENCER_429 0x11AD
629#define WM8962_WRITE_SEQUENCER_430 0x11AE
630#define WM8962_WRITE_SEQUENCER_431 0x11AF
631#define WM8962_WRITE_SEQUENCER_432 0x11B0
632#define WM8962_WRITE_SEQUENCER_433 0x11B1
633#define WM8962_WRITE_SEQUENCER_434 0x11B2
634#define WM8962_WRITE_SEQUENCER_435 0x11B3
635#define WM8962_WRITE_SEQUENCER_436 0x11B4
636#define WM8962_WRITE_SEQUENCER_437 0x11B5
637#define WM8962_WRITE_SEQUENCER_438 0x11B6
638#define WM8962_WRITE_SEQUENCER_439 0x11B7
639#define WM8962_WRITE_SEQUENCER_440 0x11B8
640#define WM8962_WRITE_SEQUENCER_441 0x11B9
641#define WM8962_WRITE_SEQUENCER_442 0x11BA
642#define WM8962_WRITE_SEQUENCER_443 0x11BB
643#define WM8962_WRITE_SEQUENCER_444 0x11BC
644#define WM8962_WRITE_SEQUENCER_445 0x11BD
645#define WM8962_WRITE_SEQUENCER_446 0x11BE
646#define WM8962_WRITE_SEQUENCER_447 0x11BF
647#define WM8962_WRITE_SEQUENCER_448 0x11C0
648#define WM8962_WRITE_SEQUENCER_449 0x11C1
649#define WM8962_WRITE_SEQUENCER_450 0x11C2
650#define WM8962_WRITE_SEQUENCER_451 0x11C3
651#define WM8962_WRITE_SEQUENCER_452 0x11C4
652#define WM8962_WRITE_SEQUENCER_453 0x11C5
653#define WM8962_WRITE_SEQUENCER_454 0x11C6
654#define WM8962_WRITE_SEQUENCER_455 0x11C7
655#define WM8962_WRITE_SEQUENCER_456 0x11C8
656#define WM8962_WRITE_SEQUENCER_457 0x11C9
657#define WM8962_WRITE_SEQUENCER_458 0x11CA
658#define WM8962_WRITE_SEQUENCER_459 0x11CB
659#define WM8962_WRITE_SEQUENCER_460 0x11CC
660#define WM8962_WRITE_SEQUENCER_461 0x11CD
661#define WM8962_WRITE_SEQUENCER_462 0x11CE
662#define WM8962_WRITE_SEQUENCER_463 0x11CF
663#define WM8962_WRITE_SEQUENCER_464 0x11D0
664#define WM8962_WRITE_SEQUENCER_465 0x11D1
665#define WM8962_WRITE_SEQUENCER_466 0x11D2
666#define WM8962_WRITE_SEQUENCER_467 0x11D3
667#define WM8962_WRITE_SEQUENCER_468 0x11D4
668#define WM8962_WRITE_SEQUENCER_469 0x11D5
669#define WM8962_WRITE_SEQUENCER_470 0x11D6
670#define WM8962_WRITE_SEQUENCER_471 0x11D7
671#define WM8962_WRITE_SEQUENCER_472 0x11D8
672#define WM8962_WRITE_SEQUENCER_473 0x11D9
673#define WM8962_WRITE_SEQUENCER_474 0x11DA
674#define WM8962_WRITE_SEQUENCER_475 0x11DB
675#define WM8962_WRITE_SEQUENCER_476 0x11DC
676#define WM8962_WRITE_SEQUENCER_477 0x11DD
677#define WM8962_WRITE_SEQUENCER_478 0x11DE
678#define WM8962_WRITE_SEQUENCER_479 0x11DF
679#define WM8962_WRITE_SEQUENCER_480 0x11E0
680#define WM8962_WRITE_SEQUENCER_481 0x11E1
681#define WM8962_WRITE_SEQUENCER_482 0x11E2
682#define WM8962_WRITE_SEQUENCER_483 0x11E3
683#define WM8962_WRITE_SEQUENCER_484 0x11E4
684#define WM8962_WRITE_SEQUENCER_485 0x11E5
685#define WM8962_WRITE_SEQUENCER_486 0x11E6
686#define WM8962_WRITE_SEQUENCER_487 0x11E7
687#define WM8962_WRITE_SEQUENCER_488 0x11E8
688#define WM8962_WRITE_SEQUENCER_489 0x11E9
689#define WM8962_WRITE_SEQUENCER_490 0x11EA
690#define WM8962_WRITE_SEQUENCER_491 0x11EB
691#define WM8962_WRITE_SEQUENCER_492 0x11EC
692#define WM8962_WRITE_SEQUENCER_493 0x11ED
693#define WM8962_WRITE_SEQUENCER_494 0x11EE
694#define WM8962_WRITE_SEQUENCER_495 0x11EF
695#define WM8962_WRITE_SEQUENCER_496 0x11F0
696#define WM8962_WRITE_SEQUENCER_497 0x11F1
697#define WM8962_WRITE_SEQUENCER_498 0x11F2
698#define WM8962_WRITE_SEQUENCER_499 0x11F3
699#define WM8962_WRITE_SEQUENCER_500 0x11F4
700#define WM8962_WRITE_SEQUENCER_501 0x11F5
701#define WM8962_WRITE_SEQUENCER_502 0x11F6
702#define WM8962_WRITE_SEQUENCER_503 0x11F7
703#define WM8962_WRITE_SEQUENCER_504 0x11F8
704#define WM8962_WRITE_SEQUENCER_505 0x11F9
705#define WM8962_WRITE_SEQUENCER_506 0x11FA
706#define WM8962_WRITE_SEQUENCER_507 0x11FB
707#define WM8962_WRITE_SEQUENCER_508 0x11FC
708#define WM8962_WRITE_SEQUENCER_509 0x11FD
709#define WM8962_WRITE_SEQUENCER_510 0x11FE
710#define WM8962_WRITE_SEQUENCER_511 0x11FF
711#define WM8962_DSP2_INSTRUCTION_RAM_0 0x2000
712#define WM8962_DSP2_ADDRESS_RAM_2 0x2400
713#define WM8962_DSP2_ADDRESS_RAM_1 0x2401
714#define WM8962_DSP2_ADDRESS_RAM_0 0x2402
715#define WM8962_DSP2_DATA1_RAM_1 0x3000
716#define WM8962_DSP2_DATA1_RAM_0 0x3001
717#define WM8962_DSP2_DATA2_RAM_1 0x3400
718#define WM8962_DSP2_DATA2_RAM_0 0x3401
719#define WM8962_DSP2_DATA3_RAM_1 0x3800
720#define WM8962_DSP2_DATA3_RAM_0 0x3801
721#define WM8962_DSP2_COEFF_RAM_0 0x3C00
722#define WM8962_RETUNEADC_SHARED_COEFF_1 0x4000
723#define WM8962_RETUNEADC_SHARED_COEFF_0 0x4001
724#define WM8962_RETUNEDAC_SHARED_COEFF_1 0x4002
725#define WM8962_RETUNEDAC_SHARED_COEFF_0 0x4003
726#define WM8962_SOUNDSTAGE_ENABLES_1 0x4004
727#define WM8962_SOUNDSTAGE_ENABLES_0 0x4005
728#define WM8962_HDBASS_AI_1 0x4200
729#define WM8962_HDBASS_AI_0 0x4201
730#define WM8962_HDBASS_AR_1 0x4202
731#define WM8962_HDBASS_AR_0 0x4203
732#define WM8962_HDBASS_B_1 0x4204
733#define WM8962_HDBASS_B_0 0x4205
734#define WM8962_HDBASS_K_1 0x4206
735#define WM8962_HDBASS_K_0 0x4207
736#define WM8962_HDBASS_N1_1 0x4208
737#define WM8962_HDBASS_N1_0 0x4209
738#define WM8962_HDBASS_N2_1 0x420A
739#define WM8962_HDBASS_N2_0 0x420B
740#define WM8962_HDBASS_N3_1 0x420C
741#define WM8962_HDBASS_N3_0 0x420D
742#define WM8962_HDBASS_N4_1 0x420E
743#define WM8962_HDBASS_N4_0 0x420F
744#define WM8962_HDBASS_N5_1 0x4210
745#define WM8962_HDBASS_N5_0 0x4211
746#define WM8962_HDBASS_X1_1 0x4212
747#define WM8962_HDBASS_X1_0 0x4213
748#define WM8962_HDBASS_X2_1 0x4214
749#define WM8962_HDBASS_X2_0 0x4215
750#define WM8962_HDBASS_X3_1 0x4216
751#define WM8962_HDBASS_X3_0 0x4217
752#define WM8962_HDBASS_ATK_1 0x4218
753#define WM8962_HDBASS_ATK_0 0x4219
754#define WM8962_HDBASS_DCY_1 0x421A
755#define WM8962_HDBASS_DCY_0 0x421B
756#define WM8962_HDBASS_PG_1 0x421C
757#define WM8962_HDBASS_PG_0 0x421D
758#define WM8962_HPF_C_1 0x4400
759#define WM8962_HPF_C_0 0x4401
760#define WM8962_ADCL_RETUNE_C1_1 0x4600
761#define WM8962_ADCL_RETUNE_C1_0 0x4601
762#define WM8962_ADCL_RETUNE_C2_1 0x4602
763#define WM8962_ADCL_RETUNE_C2_0 0x4603
764#define WM8962_ADCL_RETUNE_C3_1 0x4604
765#define WM8962_ADCL_RETUNE_C3_0 0x4605
766#define WM8962_ADCL_RETUNE_C4_1 0x4606
767#define WM8962_ADCL_RETUNE_C4_0 0x4607
768#define WM8962_ADCL_RETUNE_C5_1 0x4608
769#define WM8962_ADCL_RETUNE_C5_0 0x4609
770#define WM8962_ADCL_RETUNE_C6_1 0x460A
771#define WM8962_ADCL_RETUNE_C6_0 0x460B
772#define WM8962_ADCL_RETUNE_C7_1 0x460C
773#define WM8962_ADCL_RETUNE_C7_0 0x460D
774#define WM8962_ADCL_RETUNE_C8_1 0x460E
775#define WM8962_ADCL_RETUNE_C8_0 0x460F
776#define WM8962_ADCL_RETUNE_C9_1 0x4610
777#define WM8962_ADCL_RETUNE_C9_0 0x4611
778#define WM8962_ADCL_RETUNE_C10_1 0x4612
779#define WM8962_ADCL_RETUNE_C10_0 0x4613
780#define WM8962_ADCL_RETUNE_C11_1 0x4614
781#define WM8962_ADCL_RETUNE_C11_0 0x4615
782#define WM8962_ADCL_RETUNE_C12_1 0x4616
783#define WM8962_ADCL_RETUNE_C12_0 0x4617
784#define WM8962_ADCL_RETUNE_C13_1 0x4618
785#define WM8962_ADCL_RETUNE_C13_0 0x4619
786#define WM8962_ADCL_RETUNE_C14_1 0x461A
787#define WM8962_ADCL_RETUNE_C14_0 0x461B
788#define WM8962_ADCL_RETUNE_C15_1 0x461C
789#define WM8962_ADCL_RETUNE_C15_0 0x461D
790#define WM8962_ADCL_RETUNE_C16_1 0x461E
791#define WM8962_ADCL_RETUNE_C16_0 0x461F
792#define WM8962_ADCL_RETUNE_C17_1 0x4620
793#define WM8962_ADCL_RETUNE_C17_0 0x4621
794#define WM8962_ADCL_RETUNE_C18_1 0x4622
795#define WM8962_ADCL_RETUNE_C18_0 0x4623
796#define WM8962_ADCL_RETUNE_C19_1 0x4624
797#define WM8962_ADCL_RETUNE_C19_0 0x4625
798#define WM8962_ADCL_RETUNE_C20_1 0x4626
799#define WM8962_ADCL_RETUNE_C20_0 0x4627
800#define WM8962_ADCL_RETUNE_C21_1 0x4628
801#define WM8962_ADCL_RETUNE_C21_0 0x4629
802#define WM8962_ADCL_RETUNE_C22_1 0x462A
803#define WM8962_ADCL_RETUNE_C22_0 0x462B
804#define WM8962_ADCL_RETUNE_C23_1 0x462C
805#define WM8962_ADCL_RETUNE_C23_0 0x462D
806#define WM8962_ADCL_RETUNE_C24_1 0x462E
807#define WM8962_ADCL_RETUNE_C24_0 0x462F
808#define WM8962_ADCL_RETUNE_C25_1 0x4630
809#define WM8962_ADCL_RETUNE_C25_0 0x4631
810#define WM8962_ADCL_RETUNE_C26_1 0x4632
811#define WM8962_ADCL_RETUNE_C26_0 0x4633
812#define WM8962_ADCL_RETUNE_C27_1 0x4634
813#define WM8962_ADCL_RETUNE_C27_0 0x4635
814#define WM8962_ADCL_RETUNE_C28_1 0x4636
815#define WM8962_ADCL_RETUNE_C28_0 0x4637
816#define WM8962_ADCL_RETUNE_C29_1 0x4638
817#define WM8962_ADCL_RETUNE_C29_0 0x4639
818#define WM8962_ADCL_RETUNE_C30_1 0x463A
819#define WM8962_ADCL_RETUNE_C30_0 0x463B
820#define WM8962_ADCL_RETUNE_C31_1 0x463C
821#define WM8962_ADCL_RETUNE_C31_0 0x463D
822#define WM8962_ADCL_RETUNE_C32_1 0x463E
823#define WM8962_ADCL_RETUNE_C32_0 0x463F
824#define WM8962_RETUNEADC_PG2_1 0x4800
825#define WM8962_RETUNEADC_PG2_0 0x4801
826#define WM8962_RETUNEADC_PG_1 0x4802
827#define WM8962_RETUNEADC_PG_0 0x4803
828#define WM8962_ADCR_RETUNE_C1_1 0x4A00
829#define WM8962_ADCR_RETUNE_C1_0 0x4A01
830#define WM8962_ADCR_RETUNE_C2_1 0x4A02
831#define WM8962_ADCR_RETUNE_C2_0 0x4A03
832#define WM8962_ADCR_RETUNE_C3_1 0x4A04
833#define WM8962_ADCR_RETUNE_C3_0 0x4A05
834#define WM8962_ADCR_RETUNE_C4_1 0x4A06
835#define WM8962_ADCR_RETUNE_C4_0 0x4A07
836#define WM8962_ADCR_RETUNE_C5_1 0x4A08
837#define WM8962_ADCR_RETUNE_C5_0 0x4A09
838#define WM8962_ADCR_RETUNE_C6_1 0x4A0A
839#define WM8962_ADCR_RETUNE_C6_0 0x4A0B
840#define WM8962_ADCR_RETUNE_C7_1 0x4A0C
841#define WM8962_ADCR_RETUNE_C7_0 0x4A0D
842#define WM8962_ADCR_RETUNE_C8_1 0x4A0E
843#define WM8962_ADCR_RETUNE_C8_0 0x4A0F
844#define WM8962_ADCR_RETUNE_C9_1 0x4A10
845#define WM8962_ADCR_RETUNE_C9_0 0x4A11
846#define WM8962_ADCR_RETUNE_C10_1 0x4A12
847#define WM8962_ADCR_RETUNE_C10_0 0x4A13
848#define WM8962_ADCR_RETUNE_C11_1 0x4A14
849#define WM8962_ADCR_RETUNE_C11_0 0x4A15
850#define WM8962_ADCR_RETUNE_C12_1 0x4A16
851#define WM8962_ADCR_RETUNE_C12_0 0x4A17
852#define WM8962_ADCR_RETUNE_C13_1 0x4A18
853#define WM8962_ADCR_RETUNE_C13_0 0x4A19
854#define WM8962_ADCR_RETUNE_C14_1 0x4A1A
855#define WM8962_ADCR_RETUNE_C14_0 0x4A1B
856#define WM8962_ADCR_RETUNE_C15_1 0x4A1C
857#define WM8962_ADCR_RETUNE_C15_0 0x4A1D
858#define WM8962_ADCR_RETUNE_C16_1 0x4A1E
859#define WM8962_ADCR_RETUNE_C16_0 0x4A1F
860#define WM8962_ADCR_RETUNE_C17_1 0x4A20
861#define WM8962_ADCR_RETUNE_C17_0 0x4A21
862#define WM8962_ADCR_RETUNE_C18_1 0x4A22
863#define WM8962_ADCR_RETUNE_C18_0 0x4A23
864#define WM8962_ADCR_RETUNE_C19_1 0x4A24
865#define WM8962_ADCR_RETUNE_C19_0 0x4A25
866#define WM8962_ADCR_RETUNE_C20_1 0x4A26
867#define WM8962_ADCR_RETUNE_C20_0 0x4A27
868#define WM8962_ADCR_RETUNE_C21_1 0x4A28
869#define WM8962_ADCR_RETUNE_C21_0 0x4A29
870#define WM8962_ADCR_RETUNE_C22_1 0x4A2A
871#define WM8962_ADCR_RETUNE_C22_0 0x4A2B
872#define WM8962_ADCR_RETUNE_C23_1 0x4A2C
873#define WM8962_ADCR_RETUNE_C23_0 0x4A2D
874#define WM8962_ADCR_RETUNE_C24_1 0x4A2E
875#define WM8962_ADCR_RETUNE_C24_0 0x4A2F
876#define WM8962_ADCR_RETUNE_C25_1 0x4A30
877#define WM8962_ADCR_RETUNE_C25_0 0x4A31
878#define WM8962_ADCR_RETUNE_C26_1 0x4A32
879#define WM8962_ADCR_RETUNE_C26_0 0x4A33
880#define WM8962_ADCR_RETUNE_C27_1 0x4A34
881#define WM8962_ADCR_RETUNE_C27_0 0x4A35
882#define WM8962_ADCR_RETUNE_C28_1 0x4A36
883#define WM8962_ADCR_RETUNE_C28_0 0x4A37
884#define WM8962_ADCR_RETUNE_C29_1 0x4A38
885#define WM8962_ADCR_RETUNE_C29_0 0x4A39
886#define WM8962_ADCR_RETUNE_C30_1 0x4A3A
887#define WM8962_ADCR_RETUNE_C30_0 0x4A3B
888#define WM8962_ADCR_RETUNE_C31_1 0x4A3C
889#define WM8962_ADCR_RETUNE_C31_0 0x4A3D
890#define WM8962_ADCR_RETUNE_C32_1 0x4A3E
891#define WM8962_ADCR_RETUNE_C32_0 0x4A3F
892#define WM8962_DACL_RETUNE_C1_1 0x4C00
893#define WM8962_DACL_RETUNE_C1_0 0x4C01
894#define WM8962_DACL_RETUNE_C2_1 0x4C02
895#define WM8962_DACL_RETUNE_C2_0 0x4C03
896#define WM8962_DACL_RETUNE_C3_1 0x4C04
897#define WM8962_DACL_RETUNE_C3_0 0x4C05
898#define WM8962_DACL_RETUNE_C4_1 0x4C06
899#define WM8962_DACL_RETUNE_C4_0 0x4C07
900#define WM8962_DACL_RETUNE_C5_1 0x4C08
901#define WM8962_DACL_RETUNE_C5_0 0x4C09
902#define WM8962_DACL_RETUNE_C6_1 0x4C0A
903#define WM8962_DACL_RETUNE_C6_0 0x4C0B
904#define WM8962_DACL_RETUNE_C7_1 0x4C0C
905#define WM8962_DACL_RETUNE_C7_0 0x4C0D
906#define WM8962_DACL_RETUNE_C8_1 0x4C0E
907#define WM8962_DACL_RETUNE_C8_0 0x4C0F
908#define WM8962_DACL_RETUNE_C9_1 0x4C10
909#define WM8962_DACL_RETUNE_C9_0 0x4C11
910#define WM8962_DACL_RETUNE_C10_1 0x4C12
911#define WM8962_DACL_RETUNE_C10_0 0x4C13
912#define WM8962_DACL_RETUNE_C11_1 0x4C14
913#define WM8962_DACL_RETUNE_C11_0 0x4C15
914#define WM8962_DACL_RETUNE_C12_1 0x4C16
915#define WM8962_DACL_RETUNE_C12_0 0x4C17
916#define WM8962_DACL_RETUNE_C13_1 0x4C18
917#define WM8962_DACL_RETUNE_C13_0 0x4C19
918#define WM8962_DACL_RETUNE_C14_1 0x4C1A
919#define WM8962_DACL_RETUNE_C14_0 0x4C1B
920#define WM8962_DACL_RETUNE_C15_1 0x4C1C
921#define WM8962_DACL_RETUNE_C15_0 0x4C1D
922#define WM8962_DACL_RETUNE_C16_1 0x4C1E
923#define WM8962_DACL_RETUNE_C16_0 0x4C1F
924#define WM8962_DACL_RETUNE_C17_1 0x4C20
925#define WM8962_DACL_RETUNE_C17_0 0x4C21
926#define WM8962_DACL_RETUNE_C18_1 0x4C22
927#define WM8962_DACL_RETUNE_C18_0 0x4C23
928#define WM8962_DACL_RETUNE_C19_1 0x4C24
929#define WM8962_DACL_RETUNE_C19_0 0x4C25
930#define WM8962_DACL_RETUNE_C20_1 0x4C26
931#define WM8962_DACL_RETUNE_C20_0 0x4C27
932#define WM8962_DACL_RETUNE_C21_1 0x4C28
933#define WM8962_DACL_RETUNE_C21_0 0x4C29
934#define WM8962_DACL_RETUNE_C22_1 0x4C2A
935#define WM8962_DACL_RETUNE_C22_0 0x4C2B
936#define WM8962_DACL_RETUNE_C23_1 0x4C2C
937#define WM8962_DACL_RETUNE_C23_0 0x4C2D
938#define WM8962_DACL_RETUNE_C24_1 0x4C2E
939#define WM8962_DACL_RETUNE_C24_0 0x4C2F
940#define WM8962_DACL_RETUNE_C25_1 0x4C30
941#define WM8962_DACL_RETUNE_C25_0 0x4C31
942#define WM8962_DACL_RETUNE_C26_1 0x4C32
943#define WM8962_DACL_RETUNE_C26_0 0x4C33
944#define WM8962_DACL_RETUNE_C27_1 0x4C34
945#define WM8962_DACL_RETUNE_C27_0 0x4C35
946#define WM8962_DACL_RETUNE_C28_1 0x4C36
947#define WM8962_DACL_RETUNE_C28_0 0x4C37
948#define WM8962_DACL_RETUNE_C29_1 0x4C38
949#define WM8962_DACL_RETUNE_C29_0 0x4C39
950#define WM8962_DACL_RETUNE_C30_1 0x4C3A
951#define WM8962_DACL_RETUNE_C30_0 0x4C3B
952#define WM8962_DACL_RETUNE_C31_1 0x4C3C
953#define WM8962_DACL_RETUNE_C31_0 0x4C3D
954#define WM8962_DACL_RETUNE_C32_1 0x4C3E
955#define WM8962_DACL_RETUNE_C32_0 0x4C3F
956#define WM8962_RETUNEDAC_PG2_1 0x4E00
957#define WM8962_RETUNEDAC_PG2_0 0x4E01
958#define WM8962_RETUNEDAC_PG_1 0x4E02
959#define WM8962_RETUNEDAC_PG_0 0x4E03
960#define WM8962_DACR_RETUNE_C1_1 0x5000
961#define WM8962_DACR_RETUNE_C1_0 0x5001
962#define WM8962_DACR_RETUNE_C2_1 0x5002
963#define WM8962_DACR_RETUNE_C2_0 0x5003
964#define WM8962_DACR_RETUNE_C3_1 0x5004
965#define WM8962_DACR_RETUNE_C3_0 0x5005
966#define WM8962_DACR_RETUNE_C4_1 0x5006
967#define WM8962_DACR_RETUNE_C4_0 0x5007
968#define WM8962_DACR_RETUNE_C5_1 0x5008
969#define WM8962_DACR_RETUNE_C5_0 0x5009
970#define WM8962_DACR_RETUNE_C6_1 0x500A
971#define WM8962_DACR_RETUNE_C6_0 0x500B
972#define WM8962_DACR_RETUNE_C7_1 0x500C
973#define WM8962_DACR_RETUNE_C7_0 0x500D
974#define WM8962_DACR_RETUNE_C8_1 0x500E
975#define WM8962_DACR_RETUNE_C8_0 0x500F
976#define WM8962_DACR_RETUNE_C9_1 0x5010
977#define WM8962_DACR_RETUNE_C9_0 0x5011
978#define WM8962_DACR_RETUNE_C10_1 0x5012
979#define WM8962_DACR_RETUNE_C10_0 0x5013
980#define WM8962_DACR_RETUNE_C11_1 0x5014
981#define WM8962_DACR_RETUNE_C11_0 0x5015
982#define WM8962_DACR_RETUNE_C12_1 0x5016
983#define WM8962_DACR_RETUNE_C12_0 0x5017
984#define WM8962_DACR_RETUNE_C13_1 0x5018
985#define WM8962_DACR_RETUNE_C13_0 0x5019
986#define WM8962_DACR_RETUNE_C14_1 0x501A
987#define WM8962_DACR_RETUNE_C14_0 0x501B
988#define WM8962_DACR_RETUNE_C15_1 0x501C
989#define WM8962_DACR_RETUNE_C15_0 0x501D
990#define WM8962_DACR_RETUNE_C16_1 0x501E
991#define WM8962_DACR_RETUNE_C16_0 0x501F
992#define WM8962_DACR_RETUNE_C17_1 0x5020
993#define WM8962_DACR_RETUNE_C17_0 0x5021
994#define WM8962_DACR_RETUNE_C18_1 0x5022
995#define WM8962_DACR_RETUNE_C18_0 0x5023
996#define WM8962_DACR_RETUNE_C19_1 0x5024
997#define WM8962_DACR_RETUNE_C19_0 0x5025
998#define WM8962_DACR_RETUNE_C20_1 0x5026
999#define WM8962_DACR_RETUNE_C20_0 0x5027
1000#define WM8962_DACR_RETUNE_C21_1 0x5028
1001#define WM8962_DACR_RETUNE_C21_0 0x5029
1002#define WM8962_DACR_RETUNE_C22_1 0x502A
1003#define WM8962_DACR_RETUNE_C22_0 0x502B
1004#define WM8962_DACR_RETUNE_C23_1 0x502C
1005#define WM8962_DACR_RETUNE_C23_0 0x502D
1006#define WM8962_DACR_RETUNE_C24_1 0x502E
1007#define WM8962_DACR_RETUNE_C24_0 0x502F
1008#define WM8962_DACR_RETUNE_C25_1 0x5030
1009#define WM8962_DACR_RETUNE_C25_0 0x5031
1010#define WM8962_DACR_RETUNE_C26_1 0x5032
1011#define WM8962_DACR_RETUNE_C26_0 0x5033
1012#define WM8962_DACR_RETUNE_C27_1 0x5034
1013#define WM8962_DACR_RETUNE_C27_0 0x5035
1014#define WM8962_DACR_RETUNE_C28_1 0x5036
1015#define WM8962_DACR_RETUNE_C28_0 0x5037
1016#define WM8962_DACR_RETUNE_C29_1 0x5038
1017#define WM8962_DACR_RETUNE_C29_0 0x5039
1018#define WM8962_DACR_RETUNE_C30_1 0x503A
1019#define WM8962_DACR_RETUNE_C30_0 0x503B
1020#define WM8962_DACR_RETUNE_C31_1 0x503C
1021#define WM8962_DACR_RETUNE_C31_0 0x503D
1022#define WM8962_DACR_RETUNE_C32_1 0x503E
1023#define WM8962_DACR_RETUNE_C32_0 0x503F
1024#define WM8962_VSS_XHD2_1 0x5200
1025#define WM8962_VSS_XHD2_0 0x5201
1026#define WM8962_VSS_XHD3_1 0x5202
1027#define WM8962_VSS_XHD3_0 0x5203
1028#define WM8962_VSS_XHN1_1 0x5204
1029#define WM8962_VSS_XHN1_0 0x5205
1030#define WM8962_VSS_XHN2_1 0x5206
1031#define WM8962_VSS_XHN2_0 0x5207
1032#define WM8962_VSS_XHN3_1 0x5208
1033#define WM8962_VSS_XHN3_0 0x5209
1034#define WM8962_VSS_XLA_1 0x520A
1035#define WM8962_VSS_XLA_0 0x520B
1036#define WM8962_VSS_XLB_1 0x520C
1037#define WM8962_VSS_XLB_0 0x520D
1038#define WM8962_VSS_XLG_1 0x520E
1039#define WM8962_VSS_XLG_0 0x520F
1040#define WM8962_VSS_PG2_1 0x5210
1041#define WM8962_VSS_PG2_0 0x5211
1042#define WM8962_VSS_PG_1 0x5212
1043#define WM8962_VSS_PG_0 0x5213
1044#define WM8962_VSS_XTD1_1 0x5214
1045#define WM8962_VSS_XTD1_0 0x5215
1046#define WM8962_VSS_XTD2_1 0x5216
1047#define WM8962_VSS_XTD2_0 0x5217
1048#define WM8962_VSS_XTD3_1 0x5218
1049#define WM8962_VSS_XTD3_0 0x5219
1050#define WM8962_VSS_XTD4_1 0x521A
1051#define WM8962_VSS_XTD4_0 0x521B
1052#define WM8962_VSS_XTD5_1 0x521C
1053#define WM8962_VSS_XTD5_0 0x521D
1054#define WM8962_VSS_XTD6_1 0x521E
1055#define WM8962_VSS_XTD6_0 0x521F
1056#define WM8962_VSS_XTD7_1 0x5220
1057#define WM8962_VSS_XTD7_0 0x5221
1058#define WM8962_VSS_XTD8_1 0x5222
1059#define WM8962_VSS_XTD8_0 0x5223
1060#define WM8962_VSS_XTD9_1 0x5224
1061#define WM8962_VSS_XTD9_0 0x5225
1062#define WM8962_VSS_XTD10_1 0x5226
1063#define WM8962_VSS_XTD10_0 0x5227
1064#define WM8962_VSS_XTD11_1 0x5228
1065#define WM8962_VSS_XTD11_0 0x5229
1066#define WM8962_VSS_XTD12_1 0x522A
1067#define WM8962_VSS_XTD12_0 0x522B
1068#define WM8962_VSS_XTD13_1 0x522C
1069#define WM8962_VSS_XTD13_0 0x522D
1070#define WM8962_VSS_XTD14_1 0x522E
1071#define WM8962_VSS_XTD14_0 0x522F
1072#define WM8962_VSS_XTD15_1 0x5230
1073#define WM8962_VSS_XTD15_0 0x5231
1074#define WM8962_VSS_XTD16_1 0x5232
1075#define WM8962_VSS_XTD16_0 0x5233
1076#define WM8962_VSS_XTD17_1 0x5234
1077#define WM8962_VSS_XTD17_0 0x5235
1078#define WM8962_VSS_XTD18_1 0x5236
1079#define WM8962_VSS_XTD18_0 0x5237
1080#define WM8962_VSS_XTD19_1 0x5238
1081#define WM8962_VSS_XTD19_0 0x5239
1082#define WM8962_VSS_XTD20_1 0x523A
1083#define WM8962_VSS_XTD20_0 0x523B
1084#define WM8962_VSS_XTD21_1 0x523C
1085#define WM8962_VSS_XTD21_0 0x523D
1086#define WM8962_VSS_XTD22_1 0x523E
1087#define WM8962_VSS_XTD22_0 0x523F
1088#define WM8962_VSS_XTD23_1 0x5240
1089#define WM8962_VSS_XTD23_0 0x5241
1090#define WM8962_VSS_XTD24_1 0x5242
1091#define WM8962_VSS_XTD24_0 0x5243
1092#define WM8962_VSS_XTD25_1 0x5244
1093#define WM8962_VSS_XTD25_0 0x5245
1094#define WM8962_VSS_XTD26_1 0x5246
1095#define WM8962_VSS_XTD26_0 0x5247
1096#define WM8962_VSS_XTD27_1 0x5248
1097#define WM8962_VSS_XTD27_0 0x5249
1098#define WM8962_VSS_XTD28_1 0x524A
1099#define WM8962_VSS_XTD28_0 0x524B
1100#define WM8962_VSS_XTD29_1 0x524C
1101#define WM8962_VSS_XTD29_0 0x524D
1102#define WM8962_VSS_XTD30_1 0x524E
1103#define WM8962_VSS_XTD30_0 0x524F
1104#define WM8962_VSS_XTD31_1 0x5250
1105#define WM8962_VSS_XTD31_0 0x5251
1106#define WM8962_VSS_XTD32_1 0x5252
1107#define WM8962_VSS_XTD32_0 0x5253
1108#define WM8962_VSS_XTS1_1 0x5254
1109#define WM8962_VSS_XTS1_0 0x5255
1110#define WM8962_VSS_XTS2_1 0x5256
1111#define WM8962_VSS_XTS2_0 0x5257
1112#define WM8962_VSS_XTS3_1 0x5258
1113#define WM8962_VSS_XTS3_0 0x5259
1114#define WM8962_VSS_XTS4_1 0x525A
1115#define WM8962_VSS_XTS4_0 0x525B
1116#define WM8962_VSS_XTS5_1 0x525C
1117#define WM8962_VSS_XTS5_0 0x525D
1118#define WM8962_VSS_XTS6_1 0x525E
1119#define WM8962_VSS_XTS6_0 0x525F
1120#define WM8962_VSS_XTS7_1 0x5260
1121#define WM8962_VSS_XTS7_0 0x5261
1122#define WM8962_VSS_XTS8_1 0x5262
1123#define WM8962_VSS_XTS8_0 0x5263
1124#define WM8962_VSS_XTS9_1 0x5264
1125#define WM8962_VSS_XTS9_0 0x5265
1126#define WM8962_VSS_XTS10_1 0x5266
1127#define WM8962_VSS_XTS10_0 0x5267
1128#define WM8962_VSS_XTS11_1 0x5268
1129#define WM8962_VSS_XTS11_0 0x5269
1130#define WM8962_VSS_XTS12_1 0x526A
1131#define WM8962_VSS_XTS12_0 0x526B
1132#define WM8962_VSS_XTS13_1 0x526C
1133#define WM8962_VSS_XTS13_0 0x526D
1134#define WM8962_VSS_XTS14_1 0x526E
1135#define WM8962_VSS_XTS14_0 0x526F
1136#define WM8962_VSS_XTS15_1 0x5270
1137#define WM8962_VSS_XTS15_0 0x5271
1138#define WM8962_VSS_XTS16_1 0x5272
1139#define WM8962_VSS_XTS16_0 0x5273
1140#define WM8962_VSS_XTS17_1 0x5274
1141#define WM8962_VSS_XTS17_0 0x5275
1142#define WM8962_VSS_XTS18_1 0x5276
1143#define WM8962_VSS_XTS18_0 0x5277
1144#define WM8962_VSS_XTS19_1 0x5278
1145#define WM8962_VSS_XTS19_0 0x5279
1146#define WM8962_VSS_XTS20_1 0x527A
1147#define WM8962_VSS_XTS20_0 0x527B
1148#define WM8962_VSS_XTS21_1 0x527C
1149#define WM8962_VSS_XTS21_0 0x527D
1150#define WM8962_VSS_XTS22_1 0x527E
1151#define WM8962_VSS_XTS22_0 0x527F
1152#define WM8962_VSS_XTS23_1 0x5280
1153#define WM8962_VSS_XTS23_0 0x5281
1154#define WM8962_VSS_XTS24_1 0x5282
1155#define WM8962_VSS_XTS24_0 0x5283
1156#define WM8962_VSS_XTS25_1 0x5284
1157#define WM8962_VSS_XTS25_0 0x5285
1158#define WM8962_VSS_XTS26_1 0x5286
1159#define WM8962_VSS_XTS26_0 0x5287
1160#define WM8962_VSS_XTS27_1 0x5288
1161#define WM8962_VSS_XTS27_0 0x5289
1162#define WM8962_VSS_XTS28_1 0x528A
1163#define WM8962_VSS_XTS28_0 0x528B
1164#define WM8962_VSS_XTS29_1 0x528C
1165#define WM8962_VSS_XTS29_0 0x528D
1166#define WM8962_VSS_XTS30_1 0x528E
1167#define WM8962_VSS_XTS30_0 0x528F
1168#define WM8962_VSS_XTS31_1 0x5290
1169#define WM8962_VSS_XTS31_0 0x5291
1170#define WM8962_VSS_XTS32_1 0x5292
1171#define WM8962_VSS_XTS32_0 0x5293
1172
1173#define WM8962_REGISTER_COUNT 1138
1174#define WM8962_MAX_REGISTER 0x5293
1175
1176/*
1177 * Field Definitions.
1178 */
1179
1180/*
1181 * R0 (0x00) - Left Input volume
1182 */
1183#define WM8962_IN_VU 0x0100 /* IN_VU */
1184#define WM8962_IN_VU_MASK 0x0100 /* IN_VU */
1185#define WM8962_IN_VU_SHIFT 8 /* IN_VU */
1186#define WM8962_IN_VU_WIDTH 1 /* IN_VU */
1187#define WM8962_INPGAL_MUTE 0x0080 /* INPGAL_MUTE */
1188#define WM8962_INPGAL_MUTE_MASK 0x0080 /* INPGAL_MUTE */
1189#define WM8962_INPGAL_MUTE_SHIFT 7 /* INPGAL_MUTE */
1190#define WM8962_INPGAL_MUTE_WIDTH 1 /* INPGAL_MUTE */
1191#define WM8962_INL_ZC 0x0040 /* INL_ZC */
1192#define WM8962_INL_ZC_MASK 0x0040 /* INL_ZC */
1193#define WM8962_INL_ZC_SHIFT 6 /* INL_ZC */
1194#define WM8962_INL_ZC_WIDTH 1 /* INL_ZC */
1195#define WM8962_INL_VOL_MASK 0x003F /* INL_VOL - [5:0] */
1196#define WM8962_INL_VOL_SHIFT 0 /* INL_VOL - [5:0] */
1197#define WM8962_INL_VOL_WIDTH 6 /* INL_VOL - [5:0] */
1198
1199/*
1200 * R1 (0x01) - Right Input volume
1201 */
1202#define WM8962_CUST_ID_MASK 0xF000 /* CUST_ID - [15:12] */
1203#define WM8962_CUST_ID_SHIFT 12 /* CUST_ID - [15:12] */
1204#define WM8962_CUST_ID_WIDTH 4 /* CUST_ID - [15:12] */
1205#define WM8962_CHIP_REV_MASK 0x0E00 /* CHIP_REV - [11:9] */
1206#define WM8962_CHIP_REV_SHIFT 9 /* CHIP_REV - [11:9] */
1207#define WM8962_CHIP_REV_WIDTH 3 /* CHIP_REV - [11:9] */
1208#define WM8962_IN_VU 0x0100 /* IN_VU */
1209#define WM8962_IN_VU_MASK 0x0100 /* IN_VU */
1210#define WM8962_IN_VU_SHIFT 8 /* IN_VU */
1211#define WM8962_IN_VU_WIDTH 1 /* IN_VU */
1212#define WM8962_INPGAR_MUTE 0x0080 /* INPGAR_MUTE */
1213#define WM8962_INPGAR_MUTE_MASK 0x0080 /* INPGAR_MUTE */
1214#define WM8962_INPGAR_MUTE_SHIFT 7 /* INPGAR_MUTE */
1215#define WM8962_INPGAR_MUTE_WIDTH 1 /* INPGAR_MUTE */
1216#define WM8962_INR_ZC 0x0040 /* INR_ZC */
1217#define WM8962_INR_ZC_MASK 0x0040 /* INR_ZC */
1218#define WM8962_INR_ZC_SHIFT 6 /* INR_ZC */
1219#define WM8962_INR_ZC_WIDTH 1 /* INR_ZC */
1220#define WM8962_INR_VOL_MASK 0x003F /* INR_VOL - [5:0] */
1221#define WM8962_INR_VOL_SHIFT 0 /* INR_VOL - [5:0] */
1222#define WM8962_INR_VOL_WIDTH 6 /* INR_VOL - [5:0] */
1223
1224/*
1225 * R2 (0x02) - HPOUTL volume
1226 */
1227#define WM8962_HPOUT_VU 0x0100 /* HPOUT_VU */
1228#define WM8962_HPOUT_VU_MASK 0x0100 /* HPOUT_VU */
1229#define WM8962_HPOUT_VU_SHIFT 8 /* HPOUT_VU */
1230#define WM8962_HPOUT_VU_WIDTH 1 /* HPOUT_VU */
1231#define WM8962_HPOUTL_ZC 0x0080 /* HPOUTL_ZC */
1232#define WM8962_HPOUTL_ZC_MASK 0x0080 /* HPOUTL_ZC */
1233#define WM8962_HPOUTL_ZC_SHIFT 7 /* HPOUTL_ZC */
1234#define WM8962_HPOUTL_ZC_WIDTH 1 /* HPOUTL_ZC */
1235#define WM8962_HPOUTL_VOL_MASK 0x007F /* HPOUTL_VOL - [6:0] */
1236#define WM8962_HPOUTL_VOL_SHIFT 0 /* HPOUTL_VOL - [6:0] */
1237#define WM8962_HPOUTL_VOL_WIDTH 7 /* HPOUTL_VOL - [6:0] */
1238
1239/*
1240 * R3 (0x03) - HPOUTR volume
1241 */
1242#define WM8962_HPOUT_VU 0x0100 /* HPOUT_VU */
1243#define WM8962_HPOUT_VU_MASK 0x0100 /* HPOUT_VU */
1244#define WM8962_HPOUT_VU_SHIFT 8 /* HPOUT_VU */
1245#define WM8962_HPOUT_VU_WIDTH 1 /* HPOUT_VU */
1246#define WM8962_HPOUTR_ZC 0x0080 /* HPOUTR_ZC */
1247#define WM8962_HPOUTR_ZC_MASK 0x0080 /* HPOUTR_ZC */
1248#define WM8962_HPOUTR_ZC_SHIFT 7 /* HPOUTR_ZC */
1249#define WM8962_HPOUTR_ZC_WIDTH 1 /* HPOUTR_ZC */
1250#define WM8962_HPOUTR_VOL_MASK 0x007F /* HPOUTR_VOL - [6:0] */
1251#define WM8962_HPOUTR_VOL_SHIFT 0 /* HPOUTR_VOL - [6:0] */
1252#define WM8962_HPOUTR_VOL_WIDTH 7 /* HPOUTR_VOL - [6:0] */
1253
1254/*
1255 * R4 (0x04) - Clocking1
1256 */
1257#define WM8962_DSPCLK_DIV_MASK 0x0600 /* DSPCLK_DIV - [10:9] */
1258#define WM8962_DSPCLK_DIV_SHIFT 9 /* DSPCLK_DIV - [10:9] */
1259#define WM8962_DSPCLK_DIV_WIDTH 2 /* DSPCLK_DIV - [10:9] */
1260#define WM8962_ADCSYS_CLK_DIV_MASK 0x01C0 /* ADCSYS_CLK_DIV - [8:6] */
1261#define WM8962_ADCSYS_CLK_DIV_SHIFT 6 /* ADCSYS_CLK_DIV - [8:6] */
1262#define WM8962_ADCSYS_CLK_DIV_WIDTH 3 /* ADCSYS_CLK_DIV - [8:6] */
1263#define WM8962_DACSYS_CLK_DIV_MASK 0x0038 /* DACSYS_CLK_DIV - [5:3] */
1264#define WM8962_DACSYS_CLK_DIV_SHIFT 3 /* DACSYS_CLK_DIV - [5:3] */
1265#define WM8962_DACSYS_CLK_DIV_WIDTH 3 /* DACSYS_CLK_DIV - [5:3] */
1266#define WM8962_MCLKDIV_MASK 0x0006 /* MCLKDIV - [2:1] */
1267#define WM8962_MCLKDIV_SHIFT 1 /* MCLKDIV - [2:1] */
1268#define WM8962_MCLKDIV_WIDTH 2 /* MCLKDIV - [2:1] */
1269
1270/*
1271 * R5 (0x05) - ADC & DAC Control 1
1272 */
1273#define WM8962_ADCR_DAT_INV 0x0040 /* ADCR_DAT_INV */
1274#define WM8962_ADCR_DAT_INV_MASK 0x0040 /* ADCR_DAT_INV */
1275#define WM8962_ADCR_DAT_INV_SHIFT 6 /* ADCR_DAT_INV */
1276#define WM8962_ADCR_DAT_INV_WIDTH 1 /* ADCR_DAT_INV */
1277#define WM8962_ADCL_DAT_INV 0x0020 /* ADCL_DAT_INV */
1278#define WM8962_ADCL_DAT_INV_MASK 0x0020 /* ADCL_DAT_INV */
1279#define WM8962_ADCL_DAT_INV_SHIFT 5 /* ADCL_DAT_INV */
1280#define WM8962_ADCL_DAT_INV_WIDTH 1 /* ADCL_DAT_INV */
1281#define WM8962_DAC_MUTE_RAMP 0x0010 /* DAC_MUTE_RAMP */
1282#define WM8962_DAC_MUTE_RAMP_MASK 0x0010 /* DAC_MUTE_RAMP */
1283#define WM8962_DAC_MUTE_RAMP_SHIFT 4 /* DAC_MUTE_RAMP */
1284#define WM8962_DAC_MUTE_RAMP_WIDTH 1 /* DAC_MUTE_RAMP */
1285#define WM8962_DAC_MUTE 0x0008 /* DAC_MUTE */
1286#define WM8962_DAC_MUTE_MASK 0x0008 /* DAC_MUTE */
1287#define WM8962_DAC_MUTE_SHIFT 3 /* DAC_MUTE */
1288#define WM8962_DAC_MUTE_WIDTH 1 /* DAC_MUTE */
1289#define WM8962_DAC_DEEMP_MASK 0x0006 /* DAC_DEEMP - [2:1] */
1290#define WM8962_DAC_DEEMP_SHIFT 1 /* DAC_DEEMP - [2:1] */
1291#define WM8962_DAC_DEEMP_WIDTH 2 /* DAC_DEEMP - [2:1] */
1292#define WM8962_ADC_HPF_DIS 0x0001 /* ADC_HPF_DIS */
1293#define WM8962_ADC_HPF_DIS_MASK 0x0001 /* ADC_HPF_DIS */
1294#define WM8962_ADC_HPF_DIS_SHIFT 0 /* ADC_HPF_DIS */
1295#define WM8962_ADC_HPF_DIS_WIDTH 1 /* ADC_HPF_DIS */
1296
1297/*
1298 * R6 (0x06) - ADC & DAC Control 2
1299 */
1300#define WM8962_ADC_HPF_SR_MASK 0x3000 /* ADC_HPF_SR - [13:12] */
1301#define WM8962_ADC_HPF_SR_SHIFT 12 /* ADC_HPF_SR - [13:12] */
1302#define WM8962_ADC_HPF_SR_WIDTH 2 /* ADC_HPF_SR - [13:12] */
1303#define WM8962_ADC_HPF_MODE 0x0400 /* ADC_HPF_MODE */
1304#define WM8962_ADC_HPF_MODE_MASK 0x0400 /* ADC_HPF_MODE */
1305#define WM8962_ADC_HPF_MODE_SHIFT 10 /* ADC_HPF_MODE */
1306#define WM8962_ADC_HPF_MODE_WIDTH 1 /* ADC_HPF_MODE */
1307#define WM8962_ADC_HPF_CUT_MASK 0x0380 /* ADC_HPF_CUT - [9:7] */
1308#define WM8962_ADC_HPF_CUT_SHIFT 7 /* ADC_HPF_CUT - [9:7] */
1309#define WM8962_ADC_HPF_CUT_WIDTH 3 /* ADC_HPF_CUT - [9:7] */
1310#define WM8962_DACR_DAT_INV 0x0040 /* DACR_DAT_INV */
1311#define WM8962_DACR_DAT_INV_MASK 0x0040 /* DACR_DAT_INV */
1312#define WM8962_DACR_DAT_INV_SHIFT 6 /* DACR_DAT_INV */
1313#define WM8962_DACR_DAT_INV_WIDTH 1 /* DACR_DAT_INV */
1314#define WM8962_DACL_DAT_INV 0x0020 /* DACL_DAT_INV */
1315#define WM8962_DACL_DAT_INV_MASK 0x0020 /* DACL_DAT_INV */
1316#define WM8962_DACL_DAT_INV_SHIFT 5 /* DACL_DAT_INV */
1317#define WM8962_DACL_DAT_INV_WIDTH 1 /* DACL_DAT_INV */
1318#define WM8962_DAC_UNMUTE_RAMP 0x0008 /* DAC_UNMUTE_RAMP */
1319#define WM8962_DAC_UNMUTE_RAMP_MASK 0x0008 /* DAC_UNMUTE_RAMP */
1320#define WM8962_DAC_UNMUTE_RAMP_SHIFT 3 /* DAC_UNMUTE_RAMP */
1321#define WM8962_DAC_UNMUTE_RAMP_WIDTH 1 /* DAC_UNMUTE_RAMP */
1322#define WM8962_DAC_MUTERATE 0x0004 /* DAC_MUTERATE */
1323#define WM8962_DAC_MUTERATE_MASK 0x0004 /* DAC_MUTERATE */
1324#define WM8962_DAC_MUTERATE_SHIFT 2 /* DAC_MUTERATE */
1325#define WM8962_DAC_MUTERATE_WIDTH 1 /* DAC_MUTERATE */
1326#define WM8962_DAC_HP 0x0001 /* DAC_HP */
1327#define WM8962_DAC_HP_MASK 0x0001 /* DAC_HP */
1328#define WM8962_DAC_HP_SHIFT 0 /* DAC_HP */
1329#define WM8962_DAC_HP_WIDTH 1 /* DAC_HP */
1330
1331/*
1332 * R7 (0x07) - Audio Interface 0
1333 */
1334#define WM8962_AIFDAC_TDM_MODE 0x1000 /* AIFDAC_TDM_MODE */
1335#define WM8962_AIFDAC_TDM_MODE_MASK 0x1000 /* AIFDAC_TDM_MODE */
1336#define WM8962_AIFDAC_TDM_MODE_SHIFT 12 /* AIFDAC_TDM_MODE */
1337#define WM8962_AIFDAC_TDM_MODE_WIDTH 1 /* AIFDAC_TDM_MODE */
1338#define WM8962_AIFDAC_TDM_SLOT 0x0800 /* AIFDAC_TDM_SLOT */
1339#define WM8962_AIFDAC_TDM_SLOT_MASK 0x0800 /* AIFDAC_TDM_SLOT */
1340#define WM8962_AIFDAC_TDM_SLOT_SHIFT 11 /* AIFDAC_TDM_SLOT */
1341#define WM8962_AIFDAC_TDM_SLOT_WIDTH 1 /* AIFDAC_TDM_SLOT */
1342#define WM8962_AIFADC_TDM_MODE 0x0400 /* AIFADC_TDM_MODE */
1343#define WM8962_AIFADC_TDM_MODE_MASK 0x0400 /* AIFADC_TDM_MODE */
1344#define WM8962_AIFADC_TDM_MODE_SHIFT 10 /* AIFADC_TDM_MODE */
1345#define WM8962_AIFADC_TDM_MODE_WIDTH 1 /* AIFADC_TDM_MODE */
1346#define WM8962_AIFADC_TDM_SLOT 0x0200 /* AIFADC_TDM_SLOT */
1347#define WM8962_AIFADC_TDM_SLOT_MASK 0x0200 /* AIFADC_TDM_SLOT */
1348#define WM8962_AIFADC_TDM_SLOT_SHIFT 9 /* AIFADC_TDM_SLOT */
1349#define WM8962_AIFADC_TDM_SLOT_WIDTH 1 /* AIFADC_TDM_SLOT */
1350#define WM8962_ADC_LRSWAP 0x0100 /* ADC_LRSWAP */
1351#define WM8962_ADC_LRSWAP_MASK 0x0100 /* ADC_LRSWAP */
1352#define WM8962_ADC_LRSWAP_SHIFT 8 /* ADC_LRSWAP */
1353#define WM8962_ADC_LRSWAP_WIDTH 1 /* ADC_LRSWAP */
1354#define WM8962_BCLK_INV 0x0080 /* BCLK_INV */
1355#define WM8962_BCLK_INV_MASK 0x0080 /* BCLK_INV */
1356#define WM8962_BCLK_INV_SHIFT 7 /* BCLK_INV */
1357#define WM8962_BCLK_INV_WIDTH 1 /* BCLK_INV */
1358#define WM8962_MSTR 0x0040 /* MSTR */
1359#define WM8962_MSTR_MASK 0x0040 /* MSTR */
1360#define WM8962_MSTR_SHIFT 6 /* MSTR */
1361#define WM8962_MSTR_WIDTH 1 /* MSTR */
1362#define WM8962_DAC_LRSWAP 0x0020 /* DAC_LRSWAP */
1363#define WM8962_DAC_LRSWAP_MASK 0x0020 /* DAC_LRSWAP */
1364#define WM8962_DAC_LRSWAP_SHIFT 5 /* DAC_LRSWAP */
1365#define WM8962_DAC_LRSWAP_WIDTH 1 /* DAC_LRSWAP */
1366#define WM8962_LRCLK_INV 0x0010 /* LRCLK_INV */
1367#define WM8962_LRCLK_INV_MASK 0x0010 /* LRCLK_INV */
1368#define WM8962_LRCLK_INV_SHIFT 4 /* LRCLK_INV */
1369#define WM8962_LRCLK_INV_WIDTH 1 /* LRCLK_INV */
1370#define WM8962_WL_MASK 0x000C /* WL - [3:2] */
1371#define WM8962_WL_SHIFT 2 /* WL - [3:2] */
1372#define WM8962_WL_WIDTH 2 /* WL - [3:2] */
1373#define WM8962_FMT_MASK 0x0003 /* FMT - [1:0] */
1374#define WM8962_FMT_SHIFT 0 /* FMT - [1:0] */
1375#define WM8962_FMT_WIDTH 2 /* FMT - [1:0] */
1376
1377/*
1378 * R8 (0x08) - Clocking2
1379 */
1380#define WM8962_CLKREG_OVD 0x0800 /* CLKREG_OVD */
1381#define WM8962_CLKREG_OVD_MASK 0x0800 /* CLKREG_OVD */
1382#define WM8962_CLKREG_OVD_SHIFT 11 /* CLKREG_OVD */
1383#define WM8962_CLKREG_OVD_WIDTH 1 /* CLKREG_OVD */
1384#define WM8962_SYSCLK_SRC_MASK 0x0600 /* SYSCLK_SRC - [10:9] */
1385#define WM8962_SYSCLK_SRC_SHIFT 9 /* SYSCLK_SRC - [10:9] */
1386#define WM8962_SYSCLK_SRC_WIDTH 2 /* SYSCLK_SRC - [10:9] */
1387#define WM8962_CLASSD_CLK_DIV_MASK 0x01C0 /* CLASSD_CLK_DIV - [8:6] */
1388#define WM8962_CLASSD_CLK_DIV_SHIFT 6 /* CLASSD_CLK_DIV - [8:6] */
1389#define WM8962_CLASSD_CLK_DIV_WIDTH 3 /* CLASSD_CLK_DIV - [8:6] */
1390#define WM8962_SYSCLK_ENA 0x0020 /* SYSCLK_ENA */
1391#define WM8962_SYSCLK_ENA_MASK 0x0020 /* SYSCLK_ENA */
1392#define WM8962_SYSCLK_ENA_SHIFT 5 /* SYSCLK_ENA */
1393#define WM8962_SYSCLK_ENA_WIDTH 1 /* SYSCLK_ENA */
1394#define WM8962_BCLK_DIV_MASK 0x000F /* BCLK_DIV - [3:0] */
1395#define WM8962_BCLK_DIV_SHIFT 0 /* BCLK_DIV - [3:0] */
1396#define WM8962_BCLK_DIV_WIDTH 4 /* BCLK_DIV - [3:0] */
1397
1398/*
1399 * R9 (0x09) - Audio Interface 1
1400 */
1401#define WM8962_AUTOMUTE_STS 0x0800 /* AUTOMUTE_STS */
1402#define WM8962_AUTOMUTE_STS_MASK 0x0800 /* AUTOMUTE_STS */
1403#define WM8962_AUTOMUTE_STS_SHIFT 11 /* AUTOMUTE_STS */
1404#define WM8962_AUTOMUTE_STS_WIDTH 1 /* AUTOMUTE_STS */
1405#define WM8962_DAC_AUTOMUTE_SAMPLES_MASK 0x0300 /* DAC_AUTOMUTE_SAMPLES - [9:8] */
1406#define WM8962_DAC_AUTOMUTE_SAMPLES_SHIFT 8 /* DAC_AUTOMUTE_SAMPLES - [9:8] */
1407#define WM8962_DAC_AUTOMUTE_SAMPLES_WIDTH 2 /* DAC_AUTOMUTE_SAMPLES - [9:8] */
1408#define WM8962_DAC_AUTOMUTE 0x0080 /* DAC_AUTOMUTE */
1409#define WM8962_DAC_AUTOMUTE_MASK 0x0080 /* DAC_AUTOMUTE */
1410#define WM8962_DAC_AUTOMUTE_SHIFT 7 /* DAC_AUTOMUTE */
1411#define WM8962_DAC_AUTOMUTE_WIDTH 1 /* DAC_AUTOMUTE */
1412#define WM8962_DAC_COMP 0x0010 /* DAC_COMP */
1413#define WM8962_DAC_COMP_MASK 0x0010 /* DAC_COMP */
1414#define WM8962_DAC_COMP_SHIFT 4 /* DAC_COMP */
1415#define WM8962_DAC_COMP_WIDTH 1 /* DAC_COMP */
1416#define WM8962_DAC_COMPMODE 0x0008 /* DAC_COMPMODE */
1417#define WM8962_DAC_COMPMODE_MASK 0x0008 /* DAC_COMPMODE */
1418#define WM8962_DAC_COMPMODE_SHIFT 3 /* DAC_COMPMODE */
1419#define WM8962_DAC_COMPMODE_WIDTH 1 /* DAC_COMPMODE */
1420#define WM8962_ADC_COMP 0x0004 /* ADC_COMP */
1421#define WM8962_ADC_COMP_MASK 0x0004 /* ADC_COMP */
1422#define WM8962_ADC_COMP_SHIFT 2 /* ADC_COMP */
1423#define WM8962_ADC_COMP_WIDTH 1 /* ADC_COMP */
1424#define WM8962_ADC_COMPMODE 0x0002 /* ADC_COMPMODE */
1425#define WM8962_ADC_COMPMODE_MASK 0x0002 /* ADC_COMPMODE */
1426#define WM8962_ADC_COMPMODE_SHIFT 1 /* ADC_COMPMODE */
1427#define WM8962_ADC_COMPMODE_WIDTH 1 /* ADC_COMPMODE */
1428#define WM8962_LOOPBACK 0x0001 /* LOOPBACK */
1429#define WM8962_LOOPBACK_MASK 0x0001 /* LOOPBACK */
1430#define WM8962_LOOPBACK_SHIFT 0 /* LOOPBACK */
1431#define WM8962_LOOPBACK_WIDTH 1 /* LOOPBACK */
1432
1433/*
1434 * R10 (0x0A) - Left DAC volume
1435 */
1436#define WM8962_DAC_VU 0x0100 /* DAC_VU */
1437#define WM8962_DAC_VU_MASK 0x0100 /* DAC_VU */
1438#define WM8962_DAC_VU_SHIFT 8 /* DAC_VU */
1439#define WM8962_DAC_VU_WIDTH 1 /* DAC_VU */
1440#define WM8962_DACL_VOL_MASK 0x00FF /* DACL_VOL - [7:0] */
1441#define WM8962_DACL_VOL_SHIFT 0 /* DACL_VOL - [7:0] */
1442#define WM8962_DACL_VOL_WIDTH 8 /* DACL_VOL - [7:0] */
1443
1444/*
1445 * R11 (0x0B) - Right DAC volume
1446 */
1447#define WM8962_DAC_VU 0x0100 /* DAC_VU */
1448#define WM8962_DAC_VU_MASK 0x0100 /* DAC_VU */
1449#define WM8962_DAC_VU_SHIFT 8 /* DAC_VU */
1450#define WM8962_DAC_VU_WIDTH 1 /* DAC_VU */
1451#define WM8962_DACR_VOL_MASK 0x00FF /* DACR_VOL - [7:0] */
1452#define WM8962_DACR_VOL_SHIFT 0 /* DACR_VOL - [7:0] */
1453#define WM8962_DACR_VOL_WIDTH 8 /* DACR_VOL - [7:0] */
1454
1455/*
1456 * R14 (0x0E) - Audio Interface 2
1457 */
1458#define WM8962_AIF_RATE_MASK 0x07FF /* AIF_RATE - [10:0] */
1459#define WM8962_AIF_RATE_SHIFT 0 /* AIF_RATE - [10:0] */
1460#define WM8962_AIF_RATE_WIDTH 11 /* AIF_RATE - [10:0] */
1461
1462/*
1463 * R15 (0x0F) - Software Reset
1464 */
1465#define WM8962_SW_RESET_MASK 0xFFFF /* SW_RESET - [15:0] */
1466#define WM8962_SW_RESET_SHIFT 0 /* SW_RESET - [15:0] */
1467#define WM8962_SW_RESET_WIDTH 16 /* SW_RESET - [15:0] */
1468
1469/*
1470 * R17 (0x11) - ALC1
1471 */
1472#define WM8962_ALC_INACTIVE_ENA 0x0400 /* ALC_INACTIVE_ENA */
1473#define WM8962_ALC_INACTIVE_ENA_MASK 0x0400 /* ALC_INACTIVE_ENA */
1474#define WM8962_ALC_INACTIVE_ENA_SHIFT 10 /* ALC_INACTIVE_ENA */
1475#define WM8962_ALC_INACTIVE_ENA_WIDTH 1 /* ALC_INACTIVE_ENA */
1476#define WM8962_ALC_LVL_MODE 0x0200 /* ALC_LVL_MODE */
1477#define WM8962_ALC_LVL_MODE_MASK 0x0200 /* ALC_LVL_MODE */
1478#define WM8962_ALC_LVL_MODE_SHIFT 9 /* ALC_LVL_MODE */
1479#define WM8962_ALC_LVL_MODE_WIDTH 1 /* ALC_LVL_MODE */
1480#define WM8962_ALCL_ENA 0x0100 /* ALCL_ENA */
1481#define WM8962_ALCL_ENA_MASK 0x0100 /* ALCL_ENA */
1482#define WM8962_ALCL_ENA_SHIFT 8 /* ALCL_ENA */
1483#define WM8962_ALCL_ENA_WIDTH 1 /* ALCL_ENA */
1484#define WM8962_ALCR_ENA 0x0080 /* ALCR_ENA */
1485#define WM8962_ALCR_ENA_MASK 0x0080 /* ALCR_ENA */
1486#define WM8962_ALCR_ENA_SHIFT 7 /* ALCR_ENA */
1487#define WM8962_ALCR_ENA_WIDTH 1 /* ALCR_ENA */
1488#define WM8962_ALC_MAXGAIN_MASK 0x0070 /* ALC_MAXGAIN - [6:4] */
1489#define WM8962_ALC_MAXGAIN_SHIFT 4 /* ALC_MAXGAIN - [6:4] */
1490#define WM8962_ALC_MAXGAIN_WIDTH 3 /* ALC_MAXGAIN - [6:4] */
1491#define WM8962_ALC_LVL_MASK 0x000F /* ALC_LVL - [3:0] */
1492#define WM8962_ALC_LVL_SHIFT 0 /* ALC_LVL - [3:0] */
1493#define WM8962_ALC_LVL_WIDTH 4 /* ALC_LVL - [3:0] */
1494
1495/*
1496 * R18 (0x12) - ALC2
1497 */
1498#define WM8962_ALC_LOCK_STS 0x8000 /* ALC_LOCK_STS */
1499#define WM8962_ALC_LOCK_STS_MASK 0x8000 /* ALC_LOCK_STS */
1500#define WM8962_ALC_LOCK_STS_SHIFT 15 /* ALC_LOCK_STS */
1501#define WM8962_ALC_LOCK_STS_WIDTH 1 /* ALC_LOCK_STS */
1502#define WM8962_ALC_THRESH_STS 0x4000 /* ALC_THRESH_STS */
1503#define WM8962_ALC_THRESH_STS_MASK 0x4000 /* ALC_THRESH_STS */
1504#define WM8962_ALC_THRESH_STS_SHIFT 14 /* ALC_THRESH_STS */
1505#define WM8962_ALC_THRESH_STS_WIDTH 1 /* ALC_THRESH_STS */
1506#define WM8962_ALC_SAT_STS 0x2000 /* ALC_SAT_STS */
1507#define WM8962_ALC_SAT_STS_MASK 0x2000 /* ALC_SAT_STS */
1508#define WM8962_ALC_SAT_STS_SHIFT 13 /* ALC_SAT_STS */
1509#define WM8962_ALC_SAT_STS_WIDTH 1 /* ALC_SAT_STS */
1510#define WM8962_ALC_PKOVR_STS 0x1000 /* ALC_PKOVR_STS */
1511#define WM8962_ALC_PKOVR_STS_MASK 0x1000 /* ALC_PKOVR_STS */
1512#define WM8962_ALC_PKOVR_STS_SHIFT 12 /* ALC_PKOVR_STS */
1513#define WM8962_ALC_PKOVR_STS_WIDTH 1 /* ALC_PKOVR_STS */
1514#define WM8962_ALC_NGATE_STS 0x0800 /* ALC_NGATE_STS */
1515#define WM8962_ALC_NGATE_STS_MASK 0x0800 /* ALC_NGATE_STS */
1516#define WM8962_ALC_NGATE_STS_SHIFT 11 /* ALC_NGATE_STS */
1517#define WM8962_ALC_NGATE_STS_WIDTH 1 /* ALC_NGATE_STS */
1518#define WM8962_ALC_ZC 0x0080 /* ALC_ZC */
1519#define WM8962_ALC_ZC_MASK 0x0080 /* ALC_ZC */
1520#define WM8962_ALC_ZC_SHIFT 7 /* ALC_ZC */
1521#define WM8962_ALC_ZC_WIDTH 1 /* ALC_ZC */
1522#define WM8962_ALC_MINGAIN_MASK 0x0070 /* ALC_MINGAIN - [6:4] */
1523#define WM8962_ALC_MINGAIN_SHIFT 4 /* ALC_MINGAIN - [6:4] */
1524#define WM8962_ALC_MINGAIN_WIDTH 3 /* ALC_MINGAIN - [6:4] */
1525#define WM8962_ALC_HLD_MASK 0x000F /* ALC_HLD - [3:0] */
1526#define WM8962_ALC_HLD_SHIFT 0 /* ALC_HLD - [3:0] */
1527#define WM8962_ALC_HLD_WIDTH 4 /* ALC_HLD - [3:0] */
1528
1529/*
1530 * R19 (0x13) - ALC3
1531 */
1532#define WM8962_ALC_NGATE_GAIN_MASK 0x1C00 /* ALC_NGATE_GAIN - [12:10] */
1533#define WM8962_ALC_NGATE_GAIN_SHIFT 10 /* ALC_NGATE_GAIN - [12:10] */
1534#define WM8962_ALC_NGATE_GAIN_WIDTH 3 /* ALC_NGATE_GAIN - [12:10] */
1535#define WM8962_ALC_MODE 0x0100 /* ALC_MODE */
1536#define WM8962_ALC_MODE_MASK 0x0100 /* ALC_MODE */
1537#define WM8962_ALC_MODE_SHIFT 8 /* ALC_MODE */
1538#define WM8962_ALC_MODE_WIDTH 1 /* ALC_MODE */
1539#define WM8962_ALC_DCY_MASK 0x00F0 /* ALC_DCY - [7:4] */
1540#define WM8962_ALC_DCY_SHIFT 4 /* ALC_DCY - [7:4] */
1541#define WM8962_ALC_DCY_WIDTH 4 /* ALC_DCY - [7:4] */
1542#define WM8962_ALC_ATK_MASK 0x000F /* ALC_ATK - [3:0] */
1543#define WM8962_ALC_ATK_SHIFT 0 /* ALC_ATK - [3:0] */
1544#define WM8962_ALC_ATK_WIDTH 4 /* ALC_ATK - [3:0] */
1545
1546/*
1547 * R20 (0x14) - Noise Gate
1548 */
1549#define WM8962_ALC_NGATE_DCY_MASK 0xF000 /* ALC_NGATE_DCY - [15:12] */
1550#define WM8962_ALC_NGATE_DCY_SHIFT 12 /* ALC_NGATE_DCY - [15:12] */
1551#define WM8962_ALC_NGATE_DCY_WIDTH 4 /* ALC_NGATE_DCY - [15:12] */
1552#define WM8962_ALC_NGATE_ATK_MASK 0x0F00 /* ALC_NGATE_ATK - [11:8] */
1553#define WM8962_ALC_NGATE_ATK_SHIFT 8 /* ALC_NGATE_ATK - [11:8] */
1554#define WM8962_ALC_NGATE_ATK_WIDTH 4 /* ALC_NGATE_ATK - [11:8] */
1555#define WM8962_ALC_NGATE_THR_MASK 0x00F8 /* ALC_NGATE_THR - [7:3] */
1556#define WM8962_ALC_NGATE_THR_SHIFT 3 /* ALC_NGATE_THR - [7:3] */
1557#define WM8962_ALC_NGATE_THR_WIDTH 5 /* ALC_NGATE_THR - [7:3] */
1558#define WM8962_ALC_NGATE_MODE_MASK 0x0006 /* ALC_NGATE_MODE - [2:1] */
1559#define WM8962_ALC_NGATE_MODE_SHIFT 1 /* ALC_NGATE_MODE - [2:1] */
1560#define WM8962_ALC_NGATE_MODE_WIDTH 2 /* ALC_NGATE_MODE - [2:1] */
1561#define WM8962_ALC_NGATE_ENA 0x0001 /* ALC_NGATE_ENA */
1562#define WM8962_ALC_NGATE_ENA_MASK 0x0001 /* ALC_NGATE_ENA */
1563#define WM8962_ALC_NGATE_ENA_SHIFT 0 /* ALC_NGATE_ENA */
1564#define WM8962_ALC_NGATE_ENA_WIDTH 1 /* ALC_NGATE_ENA */
1565
1566/*
1567 * R21 (0x15) - Left ADC volume
1568 */
1569#define WM8962_ADC_VU 0x0100 /* ADC_VU */
1570#define WM8962_ADC_VU_MASK 0x0100 /* ADC_VU */
1571#define WM8962_ADC_VU_SHIFT 8 /* ADC_VU */
1572#define WM8962_ADC_VU_WIDTH 1 /* ADC_VU */
1573#define WM8962_ADCL_VOL_MASK 0x00FF /* ADCL_VOL - [7:0] */
1574#define WM8962_ADCL_VOL_SHIFT 0 /* ADCL_VOL - [7:0] */
1575#define WM8962_ADCL_VOL_WIDTH 8 /* ADCL_VOL - [7:0] */
1576
1577/*
1578 * R22 (0x16) - Right ADC volume
1579 */
1580#define WM8962_ADC_VU 0x0100 /* ADC_VU */
1581#define WM8962_ADC_VU_MASK 0x0100 /* ADC_VU */
1582#define WM8962_ADC_VU_SHIFT 8 /* ADC_VU */
1583#define WM8962_ADC_VU_WIDTH 1 /* ADC_VU */
1584#define WM8962_ADCR_VOL_MASK 0x00FF /* ADCR_VOL - [7:0] */
1585#define WM8962_ADCR_VOL_SHIFT 0 /* ADCR_VOL - [7:0] */
1586#define WM8962_ADCR_VOL_WIDTH 8 /* ADCR_VOL - [7:0] */
1587
1588/*
1589 * R23 (0x17) - Additional control(1)
1590 */
1591#define WM8962_THERR_ACT 0x0100 /* THERR_ACT */
1592#define WM8962_THERR_ACT_MASK 0x0100 /* THERR_ACT */
1593#define WM8962_THERR_ACT_SHIFT 8 /* THERR_ACT */
1594#define WM8962_THERR_ACT_WIDTH 1 /* THERR_ACT */
1595#define WM8962_ADC_BIAS 0x0040 /* ADC_BIAS */
1596#define WM8962_ADC_BIAS_MASK 0x0040 /* ADC_BIAS */
1597#define WM8962_ADC_BIAS_SHIFT 6 /* ADC_BIAS */
1598#define WM8962_ADC_BIAS_WIDTH 1 /* ADC_BIAS */
1599#define WM8962_ADC_HP 0x0020 /* ADC_HP */
1600#define WM8962_ADC_HP_MASK 0x0020 /* ADC_HP */
1601#define WM8962_ADC_HP_SHIFT 5 /* ADC_HP */
1602#define WM8962_ADC_HP_WIDTH 1 /* ADC_HP */
1603#define WM8962_TOCLK_ENA 0x0001 /* TOCLK_ENA */
1604#define WM8962_TOCLK_ENA_MASK 0x0001 /* TOCLK_ENA */
1605#define WM8962_TOCLK_ENA_SHIFT 0 /* TOCLK_ENA */
1606#define WM8962_TOCLK_ENA_WIDTH 1 /* TOCLK_ENA */
1607
1608/*
1609 * R24 (0x18) - Additional control(2)
1610 */
1611#define WM8962_AIF_TRI 0x0008 /* AIF_TRI */
1612#define WM8962_AIF_TRI_MASK 0x0008 /* AIF_TRI */
1613#define WM8962_AIF_TRI_SHIFT 3 /* AIF_TRI */
1614#define WM8962_AIF_TRI_WIDTH 1 /* AIF_TRI */
1615
1616/*
1617 * R25 (0x19) - Pwr Mgmt (1)
1618 */
1619#define WM8962_DMIC_ENA 0x0400 /* DMIC_ENA */
1620#define WM8962_DMIC_ENA_MASK 0x0400 /* DMIC_ENA */
1621#define WM8962_DMIC_ENA_SHIFT 10 /* DMIC_ENA */
1622#define WM8962_DMIC_ENA_WIDTH 1 /* DMIC_ENA */
1623#define WM8962_OPCLK_ENA 0x0200 /* OPCLK_ENA */
1624#define WM8962_OPCLK_ENA_MASK 0x0200 /* OPCLK_ENA */
1625#define WM8962_OPCLK_ENA_SHIFT 9 /* OPCLK_ENA */
1626#define WM8962_OPCLK_ENA_WIDTH 1 /* OPCLK_ENA */
1627#define WM8962_VMID_SEL_MASK 0x0180 /* VMID_SEL - [8:7] */
1628#define WM8962_VMID_SEL_SHIFT 7 /* VMID_SEL - [8:7] */
1629#define WM8962_VMID_SEL_WIDTH 2 /* VMID_SEL - [8:7] */
1630#define WM8962_BIAS_ENA 0x0040 /* BIAS_ENA */
1631#define WM8962_BIAS_ENA_MASK 0x0040 /* BIAS_ENA */
1632#define WM8962_BIAS_ENA_SHIFT 6 /* BIAS_ENA */
1633#define WM8962_BIAS_ENA_WIDTH 1 /* BIAS_ENA */
1634#define WM8962_INL_ENA 0x0020 /* INL_ENA */
1635#define WM8962_INL_ENA_MASK 0x0020 /* INL_ENA */
1636#define WM8962_INL_ENA_SHIFT 5 /* INL_ENA */
1637#define WM8962_INL_ENA_WIDTH 1 /* INL_ENA */
1638#define WM8962_INR_ENA 0x0010 /* INR_ENA */
1639#define WM8962_INR_ENA_MASK 0x0010 /* INR_ENA */
1640#define WM8962_INR_ENA_SHIFT 4 /* INR_ENA */
1641#define WM8962_INR_ENA_WIDTH 1 /* INR_ENA */
1642#define WM8962_ADCL_ENA 0x0008 /* ADCL_ENA */
1643#define WM8962_ADCL_ENA_MASK 0x0008 /* ADCL_ENA */
1644#define WM8962_ADCL_ENA_SHIFT 3 /* ADCL_ENA */
1645#define WM8962_ADCL_ENA_WIDTH 1 /* ADCL_ENA */
1646#define WM8962_ADCR_ENA 0x0004 /* ADCR_ENA */
1647#define WM8962_ADCR_ENA_MASK 0x0004 /* ADCR_ENA */
1648#define WM8962_ADCR_ENA_SHIFT 2 /* ADCR_ENA */
1649#define WM8962_ADCR_ENA_WIDTH 1 /* ADCR_ENA */
1650#define WM8962_MICBIAS_ENA 0x0002 /* MICBIAS_ENA */
1651#define WM8962_MICBIAS_ENA_MASK 0x0002 /* MICBIAS_ENA */
1652#define WM8962_MICBIAS_ENA_SHIFT 1 /* MICBIAS_ENA */
1653#define WM8962_MICBIAS_ENA_WIDTH 1 /* MICBIAS_ENA */
1654
1655/*
1656 * R26 (0x1A) - Pwr Mgmt (2)
1657 */
1658#define WM8962_DACL_ENA 0x0100 /* DACL_ENA */
1659#define WM8962_DACL_ENA_MASK 0x0100 /* DACL_ENA */
1660#define WM8962_DACL_ENA_SHIFT 8 /* DACL_ENA */
1661#define WM8962_DACL_ENA_WIDTH 1 /* DACL_ENA */
1662#define WM8962_DACR_ENA 0x0080 /* DACR_ENA */
1663#define WM8962_DACR_ENA_MASK 0x0080 /* DACR_ENA */
1664#define WM8962_DACR_ENA_SHIFT 7 /* DACR_ENA */
1665#define WM8962_DACR_ENA_WIDTH 1 /* DACR_ENA */
1666#define WM8962_HPOUTL_PGA_ENA 0x0040 /* HPOUTL_PGA_ENA */
1667#define WM8962_HPOUTL_PGA_ENA_MASK 0x0040 /* HPOUTL_PGA_ENA */
1668#define WM8962_HPOUTL_PGA_ENA_SHIFT 6 /* HPOUTL_PGA_ENA */
1669#define WM8962_HPOUTL_PGA_ENA_WIDTH 1 /* HPOUTL_PGA_ENA */
1670#define WM8962_HPOUTR_PGA_ENA 0x0020 /* HPOUTR_PGA_ENA */
1671#define WM8962_HPOUTR_PGA_ENA_MASK 0x0020 /* HPOUTR_PGA_ENA */
1672#define WM8962_HPOUTR_PGA_ENA_SHIFT 5 /* HPOUTR_PGA_ENA */
1673#define WM8962_HPOUTR_PGA_ENA_WIDTH 1 /* HPOUTR_PGA_ENA */
1674#define WM8962_SPKOUTL_PGA_ENA 0x0010 /* SPKOUTL_PGA_ENA */
1675#define WM8962_SPKOUTL_PGA_ENA_MASK 0x0010 /* SPKOUTL_PGA_ENA */
1676#define WM8962_SPKOUTL_PGA_ENA_SHIFT 4 /* SPKOUTL_PGA_ENA */
1677#define WM8962_SPKOUTL_PGA_ENA_WIDTH 1 /* SPKOUTL_PGA_ENA */
1678#define WM8962_SPKOUTR_PGA_ENA 0x0008 /* SPKOUTR_PGA_ENA */
1679#define WM8962_SPKOUTR_PGA_ENA_MASK 0x0008 /* SPKOUTR_PGA_ENA */
1680#define WM8962_SPKOUTR_PGA_ENA_SHIFT 3 /* SPKOUTR_PGA_ENA */
1681#define WM8962_SPKOUTR_PGA_ENA_WIDTH 1 /* SPKOUTR_PGA_ENA */
1682#define WM8962_HPOUTL_PGA_MUTE 0x0002 /* HPOUTL_PGA_MUTE */
1683#define WM8962_HPOUTL_PGA_MUTE_MASK 0x0002 /* HPOUTL_PGA_MUTE */
1684#define WM8962_HPOUTL_PGA_MUTE_SHIFT 1 /* HPOUTL_PGA_MUTE */
1685#define WM8962_HPOUTL_PGA_MUTE_WIDTH 1 /* HPOUTL_PGA_MUTE */
1686#define WM8962_HPOUTR_PGA_MUTE 0x0001 /* HPOUTR_PGA_MUTE */
1687#define WM8962_HPOUTR_PGA_MUTE_MASK 0x0001 /* HPOUTR_PGA_MUTE */
1688#define WM8962_HPOUTR_PGA_MUTE_SHIFT 0 /* HPOUTR_PGA_MUTE */
1689#define WM8962_HPOUTR_PGA_MUTE_WIDTH 1 /* HPOUTR_PGA_MUTE */
1690
1691/*
1692 * R27 (0x1B) - Additional Control (3)
1693 */
1694#define WM8962_SAMPLE_RATE_INT_MODE 0x0010 /* SAMPLE_RATE_INT_MODE */
1695#define WM8962_SAMPLE_RATE_INT_MODE_MASK 0x0010 /* SAMPLE_RATE_INT_MODE */
1696#define WM8962_SAMPLE_RATE_INT_MODE_SHIFT 4 /* SAMPLE_RATE_INT_MODE */
1697#define WM8962_SAMPLE_RATE_INT_MODE_WIDTH 1 /* SAMPLE_RATE_INT_MODE */
1698#define WM8962_SAMPLE_RATE_MASK 0x0007 /* SAMPLE_RATE - [2:0] */
1699#define WM8962_SAMPLE_RATE_SHIFT 0 /* SAMPLE_RATE - [2:0] */
1700#define WM8962_SAMPLE_RATE_WIDTH 3 /* SAMPLE_RATE - [2:0] */
1701
1702/*
1703 * R28 (0x1C) - Anti-pop
1704 */
1705#define WM8962_STARTUP_BIAS_ENA 0x0010 /* STARTUP_BIAS_ENA */
1706#define WM8962_STARTUP_BIAS_ENA_MASK 0x0010 /* STARTUP_BIAS_ENA */
1707#define WM8962_STARTUP_BIAS_ENA_SHIFT 4 /* STARTUP_BIAS_ENA */
1708#define WM8962_STARTUP_BIAS_ENA_WIDTH 1 /* STARTUP_BIAS_ENA */
1709#define WM8962_VMID_BUF_ENA 0x0008 /* VMID_BUF_ENA */
1710#define WM8962_VMID_BUF_ENA_MASK 0x0008 /* VMID_BUF_ENA */
1711#define WM8962_VMID_BUF_ENA_SHIFT 3 /* VMID_BUF_ENA */
1712#define WM8962_VMID_BUF_ENA_WIDTH 1 /* VMID_BUF_ENA */
1713#define WM8962_VMID_RAMP 0x0004 /* VMID_RAMP */
1714#define WM8962_VMID_RAMP_MASK 0x0004 /* VMID_RAMP */
1715#define WM8962_VMID_RAMP_SHIFT 2 /* VMID_RAMP */
1716#define WM8962_VMID_RAMP_WIDTH 1 /* VMID_RAMP */
1717
1718/*
1719 * R30 (0x1E) - Clocking 3
1720 */
1721#define WM8962_DBCLK_DIV_MASK 0xE000 /* DBCLK_DIV - [15:13] */
1722#define WM8962_DBCLK_DIV_SHIFT 13 /* DBCLK_DIV - [15:13] */
1723#define WM8962_DBCLK_DIV_WIDTH 3 /* DBCLK_DIV - [15:13] */
1724#define WM8962_OPCLK_DIV_MASK 0x1C00 /* OPCLK_DIV - [12:10] */
1725#define WM8962_OPCLK_DIV_SHIFT 10 /* OPCLK_DIV - [12:10] */
1726#define WM8962_OPCLK_DIV_WIDTH 3 /* OPCLK_DIV - [12:10] */
1727#define WM8962_TOCLK_DIV_MASK 0x0380 /* TOCLK_DIV - [9:7] */
1728#define WM8962_TOCLK_DIV_SHIFT 7 /* TOCLK_DIV - [9:7] */
1729#define WM8962_TOCLK_DIV_WIDTH 3 /* TOCLK_DIV - [9:7] */
1730#define WM8962_F256KCLK_DIV_MASK 0x007E /* F256KCLK_DIV - [6:1] */
1731#define WM8962_F256KCLK_DIV_SHIFT 1 /* F256KCLK_DIV - [6:1] */
1732#define WM8962_F256KCLK_DIV_WIDTH 6 /* F256KCLK_DIV - [6:1] */
1733
1734/*
1735 * R31 (0x1F) - Input mixer control (1)
1736 */
1737#define WM8962_MIXINL_MUTE 0x0008 /* MIXINL_MUTE */
1738#define WM8962_MIXINL_MUTE_MASK 0x0008 /* MIXINL_MUTE */
1739#define WM8962_MIXINL_MUTE_SHIFT 3 /* MIXINL_MUTE */
1740#define WM8962_MIXINL_MUTE_WIDTH 1 /* MIXINL_MUTE */
1741#define WM8962_MIXINR_MUTE 0x0004 /* MIXINR_MUTE */
1742#define WM8962_MIXINR_MUTE_MASK 0x0004 /* MIXINR_MUTE */
1743#define WM8962_MIXINR_MUTE_SHIFT 2 /* MIXINR_MUTE */
1744#define WM8962_MIXINR_MUTE_WIDTH 1 /* MIXINR_MUTE */
1745#define WM8962_MIXINL_ENA 0x0002 /* MIXINL_ENA */
1746#define WM8962_MIXINL_ENA_MASK 0x0002 /* MIXINL_ENA */
1747#define WM8962_MIXINL_ENA_SHIFT 1 /* MIXINL_ENA */
1748#define WM8962_MIXINL_ENA_WIDTH 1 /* MIXINL_ENA */
1749#define WM8962_MIXINR_ENA 0x0001 /* MIXINR_ENA */
1750#define WM8962_MIXINR_ENA_MASK 0x0001 /* MIXINR_ENA */
1751#define WM8962_MIXINR_ENA_SHIFT 0 /* MIXINR_ENA */
1752#define WM8962_MIXINR_ENA_WIDTH 1 /* MIXINR_ENA */
1753
1754/*
1755 * R32 (0x20) - Left input mixer volume
1756 */
1757#define WM8962_IN2L_MIXINL_VOL_MASK 0x01C0 /* IN2L_MIXINL_VOL - [8:6] */
1758#define WM8962_IN2L_MIXINL_VOL_SHIFT 6 /* IN2L_MIXINL_VOL - [8:6] */
1759#define WM8962_IN2L_MIXINL_VOL_WIDTH 3 /* IN2L_MIXINL_VOL - [8:6] */
1760#define WM8962_INPGAL_MIXINL_VOL_MASK 0x0038 /* INPGAL_MIXINL_VOL - [5:3] */
1761#define WM8962_INPGAL_MIXINL_VOL_SHIFT 3 /* INPGAL_MIXINL_VOL - [5:3] */
1762#define WM8962_INPGAL_MIXINL_VOL_WIDTH 3 /* INPGAL_MIXINL_VOL - [5:3] */
1763#define WM8962_IN3L_MIXINL_VOL_MASK 0x0007 /* IN3L_MIXINL_VOL - [2:0] */
1764#define WM8962_IN3L_MIXINL_VOL_SHIFT 0 /* IN3L_MIXINL_VOL - [2:0] */
1765#define WM8962_IN3L_MIXINL_VOL_WIDTH 3 /* IN3L_MIXINL_VOL - [2:0] */
1766
1767/*
1768 * R33 (0x21) - Right input mixer volume
1769 */
1770#define WM8962_IN2R_MIXINR_VOL_MASK 0x01C0 /* IN2R_MIXINR_VOL - [8:6] */
1771#define WM8962_IN2R_MIXINR_VOL_SHIFT 6 /* IN2R_MIXINR_VOL - [8:6] */
1772#define WM8962_IN2R_MIXINR_VOL_WIDTH 3 /* IN2R_MIXINR_VOL - [8:6] */
1773#define WM8962_INPGAR_MIXINR_VOL_MASK 0x0038 /* INPGAR_MIXINR_VOL - [5:3] */
1774#define WM8962_INPGAR_MIXINR_VOL_SHIFT 3 /* INPGAR_MIXINR_VOL - [5:3] */
1775#define WM8962_INPGAR_MIXINR_VOL_WIDTH 3 /* INPGAR_MIXINR_VOL - [5:3] */
1776#define WM8962_IN3R_MIXINR_VOL_MASK 0x0007 /* IN3R_MIXINR_VOL - [2:0] */
1777#define WM8962_IN3R_MIXINR_VOL_SHIFT 0 /* IN3R_MIXINR_VOL - [2:0] */
1778#define WM8962_IN3R_MIXINR_VOL_WIDTH 3 /* IN3R_MIXINR_VOL - [2:0] */
1779
1780/*
1781 * R34 (0x22) - Input mixer control (2)
1782 */
1783#define WM8962_IN2L_TO_MIXINL 0x0020 /* IN2L_TO_MIXINL */
1784#define WM8962_IN2L_TO_MIXINL_MASK 0x0020 /* IN2L_TO_MIXINL */
1785#define WM8962_IN2L_TO_MIXINL_SHIFT 5 /* IN2L_TO_MIXINL */
1786#define WM8962_IN2L_TO_MIXINL_WIDTH 1 /* IN2L_TO_MIXINL */
1787#define WM8962_IN3L_TO_MIXINL 0x0010 /* IN3L_TO_MIXINL */
1788#define WM8962_IN3L_TO_MIXINL_MASK 0x0010 /* IN3L_TO_MIXINL */
1789#define WM8962_IN3L_TO_MIXINL_SHIFT 4 /* IN3L_TO_MIXINL */
1790#define WM8962_IN3L_TO_MIXINL_WIDTH 1 /* IN3L_TO_MIXINL */
1791#define WM8962_INPGAL_TO_MIXINL 0x0008 /* INPGAL_TO_MIXINL */
1792#define WM8962_INPGAL_TO_MIXINL_MASK 0x0008 /* INPGAL_TO_MIXINL */
1793#define WM8962_INPGAL_TO_MIXINL_SHIFT 3 /* INPGAL_TO_MIXINL */
1794#define WM8962_INPGAL_TO_MIXINL_WIDTH 1 /* INPGAL_TO_MIXINL */
1795#define WM8962_IN2R_TO_MIXINR 0x0004 /* IN2R_TO_MIXINR */
1796#define WM8962_IN2R_TO_MIXINR_MASK 0x0004 /* IN2R_TO_MIXINR */
1797#define WM8962_IN2R_TO_MIXINR_SHIFT 2 /* IN2R_TO_MIXINR */
1798#define WM8962_IN2R_TO_MIXINR_WIDTH 1 /* IN2R_TO_MIXINR */
1799#define WM8962_IN3R_TO_MIXINR 0x0002 /* IN3R_TO_MIXINR */
1800#define WM8962_IN3R_TO_MIXINR_MASK 0x0002 /* IN3R_TO_MIXINR */
1801#define WM8962_IN3R_TO_MIXINR_SHIFT 1 /* IN3R_TO_MIXINR */
1802#define WM8962_IN3R_TO_MIXINR_WIDTH 1 /* IN3R_TO_MIXINR */
1803#define WM8962_INPGAR_TO_MIXINR 0x0001 /* INPGAR_TO_MIXINR */
1804#define WM8962_INPGAR_TO_MIXINR_MASK 0x0001 /* INPGAR_TO_MIXINR */
1805#define WM8962_INPGAR_TO_MIXINR_SHIFT 0 /* INPGAR_TO_MIXINR */
1806#define WM8962_INPGAR_TO_MIXINR_WIDTH 1 /* INPGAR_TO_MIXINR */
1807
1808/*
1809 * R35 (0x23) - Input bias control
1810 */
1811#define WM8962_MIXIN_BIAS_MASK 0x0038 /* MIXIN_BIAS - [5:3] */
1812#define WM8962_MIXIN_BIAS_SHIFT 3 /* MIXIN_BIAS - [5:3] */
1813#define WM8962_MIXIN_BIAS_WIDTH 3 /* MIXIN_BIAS - [5:3] */
1814#define WM8962_INPGA_BIAS_MASK 0x0007 /* INPGA_BIAS - [2:0] */
1815#define WM8962_INPGA_BIAS_SHIFT 0 /* INPGA_BIAS - [2:0] */
1816#define WM8962_INPGA_BIAS_WIDTH 3 /* INPGA_BIAS - [2:0] */
1817
1818/*
1819 * R37 (0x25) - Left input PGA control
1820 */
1821#define WM8962_INPGAL_ENA 0x0010 /* INPGAL_ENA */
1822#define WM8962_INPGAL_ENA_MASK 0x0010 /* INPGAL_ENA */
1823#define WM8962_INPGAL_ENA_SHIFT 4 /* INPGAL_ENA */
1824#define WM8962_INPGAL_ENA_WIDTH 1 /* INPGAL_ENA */
1825#define WM8962_IN1L_TO_INPGAL 0x0008 /* IN1L_TO_INPGAL */
1826#define WM8962_IN1L_TO_INPGAL_MASK 0x0008 /* IN1L_TO_INPGAL */
1827#define WM8962_IN1L_TO_INPGAL_SHIFT 3 /* IN1L_TO_INPGAL */
1828#define WM8962_IN1L_TO_INPGAL_WIDTH 1 /* IN1L_TO_INPGAL */
1829#define WM8962_IN2L_TO_INPGAL 0x0004 /* IN2L_TO_INPGAL */
1830#define WM8962_IN2L_TO_INPGAL_MASK 0x0004 /* IN2L_TO_INPGAL */
1831#define WM8962_IN2L_TO_INPGAL_SHIFT 2 /* IN2L_TO_INPGAL */
1832#define WM8962_IN2L_TO_INPGAL_WIDTH 1 /* IN2L_TO_INPGAL */
1833#define WM8962_IN3L_TO_INPGAL 0x0002 /* IN3L_TO_INPGAL */
1834#define WM8962_IN3L_TO_INPGAL_MASK 0x0002 /* IN3L_TO_INPGAL */
1835#define WM8962_IN3L_TO_INPGAL_SHIFT 1 /* IN3L_TO_INPGAL */
1836#define WM8962_IN3L_TO_INPGAL_WIDTH 1 /* IN3L_TO_INPGAL */
1837#define WM8962_IN4L_TO_INPGAL 0x0001 /* IN4L_TO_INPGAL */
1838#define WM8962_IN4L_TO_INPGAL_MASK 0x0001 /* IN4L_TO_INPGAL */
1839#define WM8962_IN4L_TO_INPGAL_SHIFT 0 /* IN4L_TO_INPGAL */
1840#define WM8962_IN4L_TO_INPGAL_WIDTH 1 /* IN4L_TO_INPGAL */
1841
1842/*
1843 * R38 (0x26) - Right input PGA control
1844 */
1845#define WM8962_INPGAR_ENA 0x0010 /* INPGAR_ENA */
1846#define WM8962_INPGAR_ENA_MASK 0x0010 /* INPGAR_ENA */
1847#define WM8962_INPGAR_ENA_SHIFT 4 /* INPGAR_ENA */
1848#define WM8962_INPGAR_ENA_WIDTH 1 /* INPGAR_ENA */
1849#define WM8962_IN1R_TO_INPGAR 0x0008 /* IN1R_TO_INPGAR */
1850#define WM8962_IN1R_TO_INPGAR_MASK 0x0008 /* IN1R_TO_INPGAR */
1851#define WM8962_IN1R_TO_INPGAR_SHIFT 3 /* IN1R_TO_INPGAR */
1852#define WM8962_IN1R_TO_INPGAR_WIDTH 1 /* IN1R_TO_INPGAR */
1853#define WM8962_IN2R_TO_INPGAR 0x0004 /* IN2R_TO_INPGAR */
1854#define WM8962_IN2R_TO_INPGAR_MASK 0x0004 /* IN2R_TO_INPGAR */
1855#define WM8962_IN2R_TO_INPGAR_SHIFT 2 /* IN2R_TO_INPGAR */
1856#define WM8962_IN2R_TO_INPGAR_WIDTH 1 /* IN2R_TO_INPGAR */
1857#define WM8962_IN3R_TO_INPGAR 0x0002 /* IN3R_TO_INPGAR */
1858#define WM8962_IN3R_TO_INPGAR_MASK 0x0002 /* IN3R_TO_INPGAR */
1859#define WM8962_IN3R_TO_INPGAR_SHIFT 1 /* IN3R_TO_INPGAR */
1860#define WM8962_IN3R_TO_INPGAR_WIDTH 1 /* IN3R_TO_INPGAR */
1861#define WM8962_IN4R_TO_INPGAR 0x0001 /* IN4R_TO_INPGAR */
1862#define WM8962_IN4R_TO_INPGAR_MASK 0x0001 /* IN4R_TO_INPGAR */
1863#define WM8962_IN4R_TO_INPGAR_SHIFT 0 /* IN4R_TO_INPGAR */
1864#define WM8962_IN4R_TO_INPGAR_WIDTH 1 /* IN4R_TO_INPGAR */
1865
1866/*
1867 * R40 (0x28) - SPKOUTL volume
1868 */
1869#define WM8962_SPKOUT_VU 0x0100 /* SPKOUT_VU */
1870#define WM8962_SPKOUT_VU_MASK 0x0100 /* SPKOUT_VU */
1871#define WM8962_SPKOUT_VU_SHIFT 8 /* SPKOUT_VU */
1872#define WM8962_SPKOUT_VU_WIDTH 1 /* SPKOUT_VU */
1873#define WM8962_SPKOUTL_ZC 0x0080 /* SPKOUTL_ZC */
1874#define WM8962_SPKOUTL_ZC_MASK 0x0080 /* SPKOUTL_ZC */
1875#define WM8962_SPKOUTL_ZC_SHIFT 7 /* SPKOUTL_ZC */
1876#define WM8962_SPKOUTL_ZC_WIDTH 1 /* SPKOUTL_ZC */
1877#define WM8962_SPKOUTL_VOL_MASK 0x007F /* SPKOUTL_VOL - [6:0] */
1878#define WM8962_SPKOUTL_VOL_SHIFT 0 /* SPKOUTL_VOL - [6:0] */
1879#define WM8962_SPKOUTL_VOL_WIDTH 7 /* SPKOUTL_VOL - [6:0] */
1880
1881/*
1882 * R41 (0x29) - SPKOUTR volume
1883 */
1884#define WM8962_SPKOUTR_ZC 0x0080 /* SPKOUTR_ZC */
1885#define WM8962_SPKOUTR_ZC_MASK 0x0080 /* SPKOUTR_ZC */
1886#define WM8962_SPKOUTR_ZC_SHIFT 7 /* SPKOUTR_ZC */
1887#define WM8962_SPKOUTR_ZC_WIDTH 1 /* SPKOUTR_ZC */
1888#define WM8962_SPKOUTR_VOL_MASK 0x007F /* SPKOUTR_VOL - [6:0] */
1889#define WM8962_SPKOUTR_VOL_SHIFT 0 /* SPKOUTR_VOL - [6:0] */
1890#define WM8962_SPKOUTR_VOL_WIDTH 7 /* SPKOUTR_VOL - [6:0] */
1891
1892/*
1893 * R47 (0x2F) - Thermal Shutdown Status
1894 */
1895#define WM8962_TEMP_ERR_HP 0x0008 /* TEMP_ERR_HP */
1896#define WM8962_TEMP_ERR_HP_MASK 0x0008 /* TEMP_ERR_HP */
1897#define WM8962_TEMP_ERR_HP_SHIFT 3 /* TEMP_ERR_HP */
1898#define WM8962_TEMP_ERR_HP_WIDTH 1 /* TEMP_ERR_HP */
1899#define WM8962_TEMP_WARN_HP 0x0004 /* TEMP_WARN_HP */
1900#define WM8962_TEMP_WARN_HP_MASK 0x0004 /* TEMP_WARN_HP */
1901#define WM8962_TEMP_WARN_HP_SHIFT 2 /* TEMP_WARN_HP */
1902#define WM8962_TEMP_WARN_HP_WIDTH 1 /* TEMP_WARN_HP */
1903#define WM8962_TEMP_ERR_SPK 0x0002 /* TEMP_ERR_SPK */
1904#define WM8962_TEMP_ERR_SPK_MASK 0x0002 /* TEMP_ERR_SPK */
1905#define WM8962_TEMP_ERR_SPK_SHIFT 1 /* TEMP_ERR_SPK */
1906#define WM8962_TEMP_ERR_SPK_WIDTH 1 /* TEMP_ERR_SPK */
1907#define WM8962_TEMP_WARN_SPK 0x0001 /* TEMP_WARN_SPK */
1908#define WM8962_TEMP_WARN_SPK_MASK 0x0001 /* TEMP_WARN_SPK */
1909#define WM8962_TEMP_WARN_SPK_SHIFT 0 /* TEMP_WARN_SPK */
1910#define WM8962_TEMP_WARN_SPK_WIDTH 1 /* TEMP_WARN_SPK */
1911
1912/*
1913 * R48 (0x30) - Additional Control (4)
1914 */
1915#define WM8962_MICDET_THR_MASK 0x7000 /* MICDET_THR - [14:12] */
1916#define WM8962_MICDET_THR_SHIFT 12 /* MICDET_THR - [14:12] */
1917#define WM8962_MICDET_THR_WIDTH 3 /* MICDET_THR - [14:12] */
1918#define WM8962_MICSHORT_THR_MASK 0x0C00 /* MICSHORT_THR - [11:10] */
1919#define WM8962_MICSHORT_THR_SHIFT 10 /* MICSHORT_THR - [11:10] */
1920#define WM8962_MICSHORT_THR_WIDTH 2 /* MICSHORT_THR - [11:10] */
1921#define WM8962_MICDET_ENA 0x0200 /* MICDET_ENA */
1922#define WM8962_MICDET_ENA_MASK 0x0200 /* MICDET_ENA */
1923#define WM8962_MICDET_ENA_SHIFT 9 /* MICDET_ENA */
1924#define WM8962_MICDET_ENA_WIDTH 1 /* MICDET_ENA */
1925#define WM8962_MICDET_STS 0x0080 /* MICDET_STS */
1926#define WM8962_MICDET_STS_MASK 0x0080 /* MICDET_STS */
1927#define WM8962_MICDET_STS_SHIFT 7 /* MICDET_STS */
1928#define WM8962_MICDET_STS_WIDTH 1 /* MICDET_STS */
1929#define WM8962_MICSHORT_STS 0x0040 /* MICSHORT_STS */
1930#define WM8962_MICSHORT_STS_MASK 0x0040 /* MICSHORT_STS */
1931#define WM8962_MICSHORT_STS_SHIFT 6 /* MICSHORT_STS */
1932#define WM8962_MICSHORT_STS_WIDTH 1 /* MICSHORT_STS */
1933#define WM8962_TEMP_ENA_HP 0x0004 /* TEMP_ENA_HP */
1934#define WM8962_TEMP_ENA_HP_MASK 0x0004 /* TEMP_ENA_HP */
1935#define WM8962_TEMP_ENA_HP_SHIFT 2 /* TEMP_ENA_HP */
1936#define WM8962_TEMP_ENA_HP_WIDTH 1 /* TEMP_ENA_HP */
1937#define WM8962_TEMP_ENA_SPK 0x0002 /* TEMP_ENA_SPK */
1938#define WM8962_TEMP_ENA_SPK_MASK 0x0002 /* TEMP_ENA_SPK */
1939#define WM8962_TEMP_ENA_SPK_SHIFT 1 /* TEMP_ENA_SPK */
1940#define WM8962_TEMP_ENA_SPK_WIDTH 1 /* TEMP_ENA_SPK */
1941#define WM8962_MICBIAS_LVL 0x0001 /* MICBIAS_LVL */
1942#define WM8962_MICBIAS_LVL_MASK 0x0001 /* MICBIAS_LVL */
1943#define WM8962_MICBIAS_LVL_SHIFT 0 /* MICBIAS_LVL */
1944#define WM8962_MICBIAS_LVL_WIDTH 1 /* MICBIAS_LVL */
1945
1946/*
1947 * R49 (0x31) - Class D Control 1
1948 */
1949#define WM8962_SPKOUTR_ENA 0x0080 /* SPKOUTR_ENA */
1950#define WM8962_SPKOUTR_ENA_MASK 0x0080 /* SPKOUTR_ENA */
1951#define WM8962_SPKOUTR_ENA_SHIFT 7 /* SPKOUTR_ENA */
1952#define WM8962_SPKOUTR_ENA_WIDTH 1 /* SPKOUTR_ENA */
1953#define WM8962_SPKOUTL_ENA 0x0040 /* SPKOUTL_ENA */
1954#define WM8962_SPKOUTL_ENA_MASK 0x0040 /* SPKOUTL_ENA */
1955#define WM8962_SPKOUTL_ENA_SHIFT 6 /* SPKOUTL_ENA */
1956#define WM8962_SPKOUTL_ENA_WIDTH 1 /* SPKOUTL_ENA */
aece7dc9
CK
1957#define WM8962_DAC_MUTE_ALT 0x0010 /* DAC_MUTE */
1958#define WM8962_DAC_MUTE_ALT_MASK 0x0010 /* DAC_MUTE */
1959#define WM8962_DAC_MUTE_ALT_SHIFT 4 /* DAC_MUTE */
1960#define WM8962_DAC_MUTE_ALT_WIDTH 1 /* DAC_MUTE */
9a76f1ff
MB
1961#define WM8962_SPKOUTL_PGA_MUTE 0x0002 /* SPKOUTL_PGA_MUTE */
1962#define WM8962_SPKOUTL_PGA_MUTE_MASK 0x0002 /* SPKOUTL_PGA_MUTE */
1963#define WM8962_SPKOUTL_PGA_MUTE_SHIFT 1 /* SPKOUTL_PGA_MUTE */
1964#define WM8962_SPKOUTL_PGA_MUTE_WIDTH 1 /* SPKOUTL_PGA_MUTE */
1965#define WM8962_SPKOUTR_PGA_MUTE 0x0001 /* SPKOUTR_PGA_MUTE */
1966#define WM8962_SPKOUTR_PGA_MUTE_MASK 0x0001 /* SPKOUTR_PGA_MUTE */
1967#define WM8962_SPKOUTR_PGA_MUTE_SHIFT 0 /* SPKOUTR_PGA_MUTE */
1968#define WM8962_SPKOUTR_PGA_MUTE_WIDTH 1 /* SPKOUTR_PGA_MUTE */
1969
1970/*
1971 * R51 (0x33) - Class D Control 2
1972 */
1973#define WM8962_SPK_MONO 0x0040 /* SPK_MONO */
1974#define WM8962_SPK_MONO_MASK 0x0040 /* SPK_MONO */
1975#define WM8962_SPK_MONO_SHIFT 6 /* SPK_MONO */
1976#define WM8962_SPK_MONO_WIDTH 1 /* SPK_MONO */
1977#define WM8962_CLASSD_VOL_MASK 0x0007 /* CLASSD_VOL - [2:0] */
1978#define WM8962_CLASSD_VOL_SHIFT 0 /* CLASSD_VOL - [2:0] */
1979#define WM8962_CLASSD_VOL_WIDTH 3 /* CLASSD_VOL - [2:0] */
1980
1981/*
1982 * R56 (0x38) - Clocking 4
1983 */
1984#define WM8962_SYSCLK_RATE_MASK 0x001E /* SYSCLK_RATE - [4:1] */
1985#define WM8962_SYSCLK_RATE_SHIFT 1 /* SYSCLK_RATE - [4:1] */
1986#define WM8962_SYSCLK_RATE_WIDTH 4 /* SYSCLK_RATE - [4:1] */
1987
1988/*
1989 * R57 (0x39) - DAC DSP Mixing (1)
1990 */
1991#define WM8962_DAC_MONOMIX 0x0200 /* DAC_MONOMIX */
1992#define WM8962_DAC_MONOMIX_MASK 0x0200 /* DAC_MONOMIX */
1993#define WM8962_DAC_MONOMIX_SHIFT 9 /* DAC_MONOMIX */
1994#define WM8962_DAC_MONOMIX_WIDTH 1 /* DAC_MONOMIX */
1995#define WM8962_ADCR_DAC_SVOL_MASK 0x00F0 /* ADCR_DAC_SVOL - [7:4] */
1996#define WM8962_ADCR_DAC_SVOL_SHIFT 4 /* ADCR_DAC_SVOL - [7:4] */
1997#define WM8962_ADCR_DAC_SVOL_WIDTH 4 /* ADCR_DAC_SVOL - [7:4] */
1998#define WM8962_ADC_TO_DACR_MASK 0x000C /* ADC_TO_DACR - [3:2] */
1999#define WM8962_ADC_TO_DACR_SHIFT 2 /* ADC_TO_DACR - [3:2] */
2000#define WM8962_ADC_TO_DACR_WIDTH 2 /* ADC_TO_DACR - [3:2] */
2001
2002/*
2003 * R58 (0x3A) - DAC DSP Mixing (2)
2004 */
2005#define WM8962_ADCL_DAC_SVOL_MASK 0x00F0 /* ADCL_DAC_SVOL - [7:4] */
2006#define WM8962_ADCL_DAC_SVOL_SHIFT 4 /* ADCL_DAC_SVOL - [7:4] */
2007#define WM8962_ADCL_DAC_SVOL_WIDTH 4 /* ADCL_DAC_SVOL - [7:4] */
2008#define WM8962_ADC_TO_DACL_MASK 0x000C /* ADC_TO_DACL - [3:2] */
2009#define WM8962_ADC_TO_DACL_SHIFT 2 /* ADC_TO_DACL - [3:2] */
2010#define WM8962_ADC_TO_DACL_WIDTH 2 /* ADC_TO_DACL - [3:2] */
2011
2012/*
2013 * R60 (0x3C) - DC Servo 0
2014 */
2015#define WM8962_INL_DCS_ENA 0x0080 /* INL_DCS_ENA */
2016#define WM8962_INL_DCS_ENA_MASK 0x0080 /* INL_DCS_ENA */
2017#define WM8962_INL_DCS_ENA_SHIFT 7 /* INL_DCS_ENA */
2018#define WM8962_INL_DCS_ENA_WIDTH 1 /* INL_DCS_ENA */
2019#define WM8962_INL_DCS_STARTUP 0x0040 /* INL_DCS_STARTUP */
2020#define WM8962_INL_DCS_STARTUP_MASK 0x0040 /* INL_DCS_STARTUP */
2021#define WM8962_INL_DCS_STARTUP_SHIFT 6 /* INL_DCS_STARTUP */
2022#define WM8962_INL_DCS_STARTUP_WIDTH 1 /* INL_DCS_STARTUP */
2023#define WM8962_INR_DCS_ENA 0x0008 /* INR_DCS_ENA */
2024#define WM8962_INR_DCS_ENA_MASK 0x0008 /* INR_DCS_ENA */
2025#define WM8962_INR_DCS_ENA_SHIFT 3 /* INR_DCS_ENA */
2026#define WM8962_INR_DCS_ENA_WIDTH 1 /* INR_DCS_ENA */
2027#define WM8962_INR_DCS_STARTUP 0x0004 /* INR_DCS_STARTUP */
2028#define WM8962_INR_DCS_STARTUP_MASK 0x0004 /* INR_DCS_STARTUP */
2029#define WM8962_INR_DCS_STARTUP_SHIFT 2 /* INR_DCS_STARTUP */
2030#define WM8962_INR_DCS_STARTUP_WIDTH 1 /* INR_DCS_STARTUP */
2031
2032/*
2033 * R61 (0x3D) - DC Servo 1
2034 */
2035#define WM8962_HP1L_DCS_ENA 0x0080 /* HP1L_DCS_ENA */
2036#define WM8962_HP1L_DCS_ENA_MASK 0x0080 /* HP1L_DCS_ENA */
2037#define WM8962_HP1L_DCS_ENA_SHIFT 7 /* HP1L_DCS_ENA */
2038#define WM8962_HP1L_DCS_ENA_WIDTH 1 /* HP1L_DCS_ENA */
2039#define WM8962_HP1L_DCS_STARTUP 0x0040 /* HP1L_DCS_STARTUP */
2040#define WM8962_HP1L_DCS_STARTUP_MASK 0x0040 /* HP1L_DCS_STARTUP */
2041#define WM8962_HP1L_DCS_STARTUP_SHIFT 6 /* HP1L_DCS_STARTUP */
2042#define WM8962_HP1L_DCS_STARTUP_WIDTH 1 /* HP1L_DCS_STARTUP */
2043#define WM8962_HP1L_DCS_SYNC 0x0010 /* HP1L_DCS_SYNC */
2044#define WM8962_HP1L_DCS_SYNC_MASK 0x0010 /* HP1L_DCS_SYNC */
2045#define WM8962_HP1L_DCS_SYNC_SHIFT 4 /* HP1L_DCS_SYNC */
2046#define WM8962_HP1L_DCS_SYNC_WIDTH 1 /* HP1L_DCS_SYNC */
2047#define WM8962_HP1R_DCS_ENA 0x0008 /* HP1R_DCS_ENA */
2048#define WM8962_HP1R_DCS_ENA_MASK 0x0008 /* HP1R_DCS_ENA */
2049#define WM8962_HP1R_DCS_ENA_SHIFT 3 /* HP1R_DCS_ENA */
2050#define WM8962_HP1R_DCS_ENA_WIDTH 1 /* HP1R_DCS_ENA */
2051#define WM8962_HP1R_DCS_STARTUP 0x0004 /* HP1R_DCS_STARTUP */
2052#define WM8962_HP1R_DCS_STARTUP_MASK 0x0004 /* HP1R_DCS_STARTUP */
2053#define WM8962_HP1R_DCS_STARTUP_SHIFT 2 /* HP1R_DCS_STARTUP */
2054#define WM8962_HP1R_DCS_STARTUP_WIDTH 1 /* HP1R_DCS_STARTUP */
2055#define WM8962_HP1R_DCS_SYNC 0x0001 /* HP1R_DCS_SYNC */
2056#define WM8962_HP1R_DCS_SYNC_MASK 0x0001 /* HP1R_DCS_SYNC */
2057#define WM8962_HP1R_DCS_SYNC_SHIFT 0 /* HP1R_DCS_SYNC */
2058#define WM8962_HP1R_DCS_SYNC_WIDTH 1 /* HP1R_DCS_SYNC */
2059
2060/*
2061 * R64 (0x40) - DC Servo 4
2062 */
2063#define WM8962_HP1_DCS_SYNC_STEPS_MASK 0x3F80 /* HP1_DCS_SYNC_STEPS - [13:7] */
2064#define WM8962_HP1_DCS_SYNC_STEPS_SHIFT 7 /* HP1_DCS_SYNC_STEPS - [13:7] */
2065#define WM8962_HP1_DCS_SYNC_STEPS_WIDTH 7 /* HP1_DCS_SYNC_STEPS - [13:7] */
2066
2067/*
2068 * R66 (0x42) - DC Servo 6
2069 */
2070#define WM8962_DCS_STARTUP_DONE_INL 0x0400 /* DCS_STARTUP_DONE_INL */
2071#define WM8962_DCS_STARTUP_DONE_INL_MASK 0x0400 /* DCS_STARTUP_DONE_INL */
2072#define WM8962_DCS_STARTUP_DONE_INL_SHIFT 10 /* DCS_STARTUP_DONE_INL */
2073#define WM8962_DCS_STARTUP_DONE_INL_WIDTH 1 /* DCS_STARTUP_DONE_INL */
2074#define WM8962_DCS_STARTUP_DONE_INR 0x0200 /* DCS_STARTUP_DONE_INR */
2075#define WM8962_DCS_STARTUP_DONE_INR_MASK 0x0200 /* DCS_STARTUP_DONE_INR */
2076#define WM8962_DCS_STARTUP_DONE_INR_SHIFT 9 /* DCS_STARTUP_DONE_INR */
2077#define WM8962_DCS_STARTUP_DONE_INR_WIDTH 1 /* DCS_STARTUP_DONE_INR */
2078#define WM8962_DCS_STARTUP_DONE_HP1L 0x0100 /* DCS_STARTUP_DONE_HP1L */
2079#define WM8962_DCS_STARTUP_DONE_HP1L_MASK 0x0100 /* DCS_STARTUP_DONE_HP1L */
2080#define WM8962_DCS_STARTUP_DONE_HP1L_SHIFT 8 /* DCS_STARTUP_DONE_HP1L */
2081#define WM8962_DCS_STARTUP_DONE_HP1L_WIDTH 1 /* DCS_STARTUP_DONE_HP1L */
2082#define WM8962_DCS_STARTUP_DONE_HP1R 0x0080 /* DCS_STARTUP_DONE_HP1R */
2083#define WM8962_DCS_STARTUP_DONE_HP1R_MASK 0x0080 /* DCS_STARTUP_DONE_HP1R */
2084#define WM8962_DCS_STARTUP_DONE_HP1R_SHIFT 7 /* DCS_STARTUP_DONE_HP1R */
2085#define WM8962_DCS_STARTUP_DONE_HP1R_WIDTH 1 /* DCS_STARTUP_DONE_HP1R */
2086
2087/*
2088 * R68 (0x44) - Analogue PGA Bias
2089 */
2090#define WM8962_HP_PGAS_BIAS_MASK 0x0007 /* HP_PGAS_BIAS - [2:0] */
2091#define WM8962_HP_PGAS_BIAS_SHIFT 0 /* HP_PGAS_BIAS - [2:0] */
2092#define WM8962_HP_PGAS_BIAS_WIDTH 3 /* HP_PGAS_BIAS - [2:0] */
2093
2094/*
2095 * R69 (0x45) - Analogue HP 0
2096 */
2097#define WM8962_HP1L_RMV_SHORT 0x0080 /* HP1L_RMV_SHORT */
2098#define WM8962_HP1L_RMV_SHORT_MASK 0x0080 /* HP1L_RMV_SHORT */
2099#define WM8962_HP1L_RMV_SHORT_SHIFT 7 /* HP1L_RMV_SHORT */
2100#define WM8962_HP1L_RMV_SHORT_WIDTH 1 /* HP1L_RMV_SHORT */
2101#define WM8962_HP1L_ENA_OUTP 0x0040 /* HP1L_ENA_OUTP */
2102#define WM8962_HP1L_ENA_OUTP_MASK 0x0040 /* HP1L_ENA_OUTP */
2103#define WM8962_HP1L_ENA_OUTP_SHIFT 6 /* HP1L_ENA_OUTP */
2104#define WM8962_HP1L_ENA_OUTP_WIDTH 1 /* HP1L_ENA_OUTP */
2105#define WM8962_HP1L_ENA_DLY 0x0020 /* HP1L_ENA_DLY */
2106#define WM8962_HP1L_ENA_DLY_MASK 0x0020 /* HP1L_ENA_DLY */
2107#define WM8962_HP1L_ENA_DLY_SHIFT 5 /* HP1L_ENA_DLY */
2108#define WM8962_HP1L_ENA_DLY_WIDTH 1 /* HP1L_ENA_DLY */
2109#define WM8962_HP1L_ENA 0x0010 /* HP1L_ENA */
2110#define WM8962_HP1L_ENA_MASK 0x0010 /* HP1L_ENA */
2111#define WM8962_HP1L_ENA_SHIFT 4 /* HP1L_ENA */
2112#define WM8962_HP1L_ENA_WIDTH 1 /* HP1L_ENA */
2113#define WM8962_HP1R_RMV_SHORT 0x0008 /* HP1R_RMV_SHORT */
2114#define WM8962_HP1R_RMV_SHORT_MASK 0x0008 /* HP1R_RMV_SHORT */
2115#define WM8962_HP1R_RMV_SHORT_SHIFT 3 /* HP1R_RMV_SHORT */
2116#define WM8962_HP1R_RMV_SHORT_WIDTH 1 /* HP1R_RMV_SHORT */
2117#define WM8962_HP1R_ENA_OUTP 0x0004 /* HP1R_ENA_OUTP */
2118#define WM8962_HP1R_ENA_OUTP_MASK 0x0004 /* HP1R_ENA_OUTP */
2119#define WM8962_HP1R_ENA_OUTP_SHIFT 2 /* HP1R_ENA_OUTP */
2120#define WM8962_HP1R_ENA_OUTP_WIDTH 1 /* HP1R_ENA_OUTP */
2121#define WM8962_HP1R_ENA_DLY 0x0002 /* HP1R_ENA_DLY */
2122#define WM8962_HP1R_ENA_DLY_MASK 0x0002 /* HP1R_ENA_DLY */
2123#define WM8962_HP1R_ENA_DLY_SHIFT 1 /* HP1R_ENA_DLY */
2124#define WM8962_HP1R_ENA_DLY_WIDTH 1 /* HP1R_ENA_DLY */
2125#define WM8962_HP1R_ENA 0x0001 /* HP1R_ENA */
2126#define WM8962_HP1R_ENA_MASK 0x0001 /* HP1R_ENA */
2127#define WM8962_HP1R_ENA_SHIFT 0 /* HP1R_ENA */
2128#define WM8962_HP1R_ENA_WIDTH 1 /* HP1R_ENA */
2129
2130/*
2131 * R71 (0x47) - Analogue HP 2
2132 */
2133#define WM8962_HP1L_VOL_MASK 0x01C0 /* HP1L_VOL - [8:6] */
2134#define WM8962_HP1L_VOL_SHIFT 6 /* HP1L_VOL - [8:6] */
2135#define WM8962_HP1L_VOL_WIDTH 3 /* HP1L_VOL - [8:6] */
2136#define WM8962_HP1R_VOL_MASK 0x0038 /* HP1R_VOL - [5:3] */
2137#define WM8962_HP1R_VOL_SHIFT 3 /* HP1R_VOL - [5:3] */
2138#define WM8962_HP1R_VOL_WIDTH 3 /* HP1R_VOL - [5:3] */
2139#define WM8962_HP_BIAS_BOOST_MASK 0x0007 /* HP_BIAS_BOOST - [2:0] */
2140#define WM8962_HP_BIAS_BOOST_SHIFT 0 /* HP_BIAS_BOOST - [2:0] */
2141#define WM8962_HP_BIAS_BOOST_WIDTH 3 /* HP_BIAS_BOOST - [2:0] */
2142
2143/*
2144 * R72 (0x48) - Charge Pump 1
2145 */
2146#define WM8962_CP_ENA 0x0001 /* CP_ENA */
2147#define WM8962_CP_ENA_MASK 0x0001 /* CP_ENA */
2148#define WM8962_CP_ENA_SHIFT 0 /* CP_ENA */
2149#define WM8962_CP_ENA_WIDTH 1 /* CP_ENA */
2150
2151/*
2152 * R82 (0x52) - Charge Pump B
2153 */
2154#define WM8962_CP_DYN_PWR 0x0001 /* CP_DYN_PWR */
2155#define WM8962_CP_DYN_PWR_MASK 0x0001 /* CP_DYN_PWR */
2156#define WM8962_CP_DYN_PWR_SHIFT 0 /* CP_DYN_PWR */
2157#define WM8962_CP_DYN_PWR_WIDTH 1 /* CP_DYN_PWR */
2158
2159/*
2160 * R87 (0x57) - Write Sequencer Control 1
2161 */
2162#define WM8962_WSEQ_AUTOSEQ_ENA 0x0080 /* WSEQ_AUTOSEQ_ENA */
2163#define WM8962_WSEQ_AUTOSEQ_ENA_MASK 0x0080 /* WSEQ_AUTOSEQ_ENA */
2164#define WM8962_WSEQ_AUTOSEQ_ENA_SHIFT 7 /* WSEQ_AUTOSEQ_ENA */
2165#define WM8962_WSEQ_AUTOSEQ_ENA_WIDTH 1 /* WSEQ_AUTOSEQ_ENA */
2166#define WM8962_WSEQ_ENA 0x0020 /* WSEQ_ENA */
2167#define WM8962_WSEQ_ENA_MASK 0x0020 /* WSEQ_ENA */
2168#define WM8962_WSEQ_ENA_SHIFT 5 /* WSEQ_ENA */
2169#define WM8962_WSEQ_ENA_WIDTH 1 /* WSEQ_ENA */
2170
2171/*
2172 * R90 (0x5A) - Write Sequencer Control 2
2173 */
2174#define WM8962_WSEQ_ABORT 0x0100 /* WSEQ_ABORT */
2175#define WM8962_WSEQ_ABORT_MASK 0x0100 /* WSEQ_ABORT */
2176#define WM8962_WSEQ_ABORT_SHIFT 8 /* WSEQ_ABORT */
2177#define WM8962_WSEQ_ABORT_WIDTH 1 /* WSEQ_ABORT */
2178#define WM8962_WSEQ_START 0x0080 /* WSEQ_START */
2179#define WM8962_WSEQ_START_MASK 0x0080 /* WSEQ_START */
2180#define WM8962_WSEQ_START_SHIFT 7 /* WSEQ_START */
2181#define WM8962_WSEQ_START_WIDTH 1 /* WSEQ_START */
2182#define WM8962_WSEQ_START_INDEX_MASK 0x007F /* WSEQ_START_INDEX - [6:0] */
2183#define WM8962_WSEQ_START_INDEX_SHIFT 0 /* WSEQ_START_INDEX - [6:0] */
2184#define WM8962_WSEQ_START_INDEX_WIDTH 7 /* WSEQ_START_INDEX - [6:0] */
2185
2186/*
2187 * R93 (0x5D) - Write Sequencer Control 3
2188 */
2189#define WM8962_WSEQ_CURRENT_INDEX_MASK 0x03F8 /* WSEQ_CURRENT_INDEX - [9:3] */
2190#define WM8962_WSEQ_CURRENT_INDEX_SHIFT 3 /* WSEQ_CURRENT_INDEX - [9:3] */
2191#define WM8962_WSEQ_CURRENT_INDEX_WIDTH 7 /* WSEQ_CURRENT_INDEX - [9:3] */
2192#define WM8962_WSEQ_BUSY 0x0001 /* WSEQ_BUSY */
2193#define WM8962_WSEQ_BUSY_MASK 0x0001 /* WSEQ_BUSY */
2194#define WM8962_WSEQ_BUSY_SHIFT 0 /* WSEQ_BUSY */
2195#define WM8962_WSEQ_BUSY_WIDTH 1 /* WSEQ_BUSY */
2196
2197/*
2198 * R94 (0x5E) - Control Interface
2199 */
2200#define WM8962_SPI_CONTRD 0x0040 /* SPI_CONTRD */
2201#define WM8962_SPI_CONTRD_MASK 0x0040 /* SPI_CONTRD */
2202#define WM8962_SPI_CONTRD_SHIFT 6 /* SPI_CONTRD */
2203#define WM8962_SPI_CONTRD_WIDTH 1 /* SPI_CONTRD */
2204#define WM8962_SPI_4WIRE 0x0020 /* SPI_4WIRE */
2205#define WM8962_SPI_4WIRE_MASK 0x0020 /* SPI_4WIRE */
2206#define WM8962_SPI_4WIRE_SHIFT 5 /* SPI_4WIRE */
2207#define WM8962_SPI_4WIRE_WIDTH 1 /* SPI_4WIRE */
2208#define WM8962_SPI_CFG 0x0010 /* SPI_CFG */
2209#define WM8962_SPI_CFG_MASK 0x0010 /* SPI_CFG */
2210#define WM8962_SPI_CFG_SHIFT 4 /* SPI_CFG */
2211#define WM8962_SPI_CFG_WIDTH 1 /* SPI_CFG */
2212
2213/*
2214 * R99 (0x63) - Mixer Enables
2215 */
2216#define WM8962_HPMIXL_ENA 0x0008 /* HPMIXL_ENA */
2217#define WM8962_HPMIXL_ENA_MASK 0x0008 /* HPMIXL_ENA */
2218#define WM8962_HPMIXL_ENA_SHIFT 3 /* HPMIXL_ENA */
2219#define WM8962_HPMIXL_ENA_WIDTH 1 /* HPMIXL_ENA */
2220#define WM8962_HPMIXR_ENA 0x0004 /* HPMIXR_ENA */
2221#define WM8962_HPMIXR_ENA_MASK 0x0004 /* HPMIXR_ENA */
2222#define WM8962_HPMIXR_ENA_SHIFT 2 /* HPMIXR_ENA */
2223#define WM8962_HPMIXR_ENA_WIDTH 1 /* HPMIXR_ENA */
2224#define WM8962_SPKMIXL_ENA 0x0002 /* SPKMIXL_ENA */
2225#define WM8962_SPKMIXL_ENA_MASK 0x0002 /* SPKMIXL_ENA */
2226#define WM8962_SPKMIXL_ENA_SHIFT 1 /* SPKMIXL_ENA */
2227#define WM8962_SPKMIXL_ENA_WIDTH 1 /* SPKMIXL_ENA */
2228#define WM8962_SPKMIXR_ENA 0x0001 /* SPKMIXR_ENA */
2229#define WM8962_SPKMIXR_ENA_MASK 0x0001 /* SPKMIXR_ENA */
2230#define WM8962_SPKMIXR_ENA_SHIFT 0 /* SPKMIXR_ENA */
2231#define WM8962_SPKMIXR_ENA_WIDTH 1 /* SPKMIXR_ENA */
2232
2233/*
2234 * R100 (0x64) - Headphone Mixer (1)
2235 */
2236#define WM8962_HPMIXL_TO_HPOUTL_PGA 0x0080 /* HPMIXL_TO_HPOUTL_PGA */
2237#define WM8962_HPMIXL_TO_HPOUTL_PGA_MASK 0x0080 /* HPMIXL_TO_HPOUTL_PGA */
2238#define WM8962_HPMIXL_TO_HPOUTL_PGA_SHIFT 7 /* HPMIXL_TO_HPOUTL_PGA */
2239#define WM8962_HPMIXL_TO_HPOUTL_PGA_WIDTH 1 /* HPMIXL_TO_HPOUTL_PGA */
2240#define WM8962_DACL_TO_HPMIXL 0x0020 /* DACL_TO_HPMIXL */
2241#define WM8962_DACL_TO_HPMIXL_MASK 0x0020 /* DACL_TO_HPMIXL */
2242#define WM8962_DACL_TO_HPMIXL_SHIFT 5 /* DACL_TO_HPMIXL */
2243#define WM8962_DACL_TO_HPMIXL_WIDTH 1 /* DACL_TO_HPMIXL */
2244#define WM8962_DACR_TO_HPMIXL 0x0010 /* DACR_TO_HPMIXL */
2245#define WM8962_DACR_TO_HPMIXL_MASK 0x0010 /* DACR_TO_HPMIXL */
2246#define WM8962_DACR_TO_HPMIXL_SHIFT 4 /* DACR_TO_HPMIXL */
2247#define WM8962_DACR_TO_HPMIXL_WIDTH 1 /* DACR_TO_HPMIXL */
2248#define WM8962_MIXINL_TO_HPMIXL 0x0008 /* MIXINL_TO_HPMIXL */
2249#define WM8962_MIXINL_TO_HPMIXL_MASK 0x0008 /* MIXINL_TO_HPMIXL */
2250#define WM8962_MIXINL_TO_HPMIXL_SHIFT 3 /* MIXINL_TO_HPMIXL */
2251#define WM8962_MIXINL_TO_HPMIXL_WIDTH 1 /* MIXINL_TO_HPMIXL */
2252#define WM8962_MIXINR_TO_HPMIXL 0x0004 /* MIXINR_TO_HPMIXL */
2253#define WM8962_MIXINR_TO_HPMIXL_MASK 0x0004 /* MIXINR_TO_HPMIXL */
2254#define WM8962_MIXINR_TO_HPMIXL_SHIFT 2 /* MIXINR_TO_HPMIXL */
2255#define WM8962_MIXINR_TO_HPMIXL_WIDTH 1 /* MIXINR_TO_HPMIXL */
2256#define WM8962_IN4L_TO_HPMIXL 0x0002 /* IN4L_TO_HPMIXL */
2257#define WM8962_IN4L_TO_HPMIXL_MASK 0x0002 /* IN4L_TO_HPMIXL */
2258#define WM8962_IN4L_TO_HPMIXL_SHIFT 1 /* IN4L_TO_HPMIXL */
2259#define WM8962_IN4L_TO_HPMIXL_WIDTH 1 /* IN4L_TO_HPMIXL */
2260#define WM8962_IN4R_TO_HPMIXL 0x0001 /* IN4R_TO_HPMIXL */
2261#define WM8962_IN4R_TO_HPMIXL_MASK 0x0001 /* IN4R_TO_HPMIXL */
2262#define WM8962_IN4R_TO_HPMIXL_SHIFT 0 /* IN4R_TO_HPMIXL */
2263#define WM8962_IN4R_TO_HPMIXL_WIDTH 1 /* IN4R_TO_HPMIXL */
2264
2265/*
2266 * R101 (0x65) - Headphone Mixer (2)
2267 */
2268#define WM8962_HPMIXR_TO_HPOUTR_PGA 0x0080 /* HPMIXR_TO_HPOUTR_PGA */
2269#define WM8962_HPMIXR_TO_HPOUTR_PGA_MASK 0x0080 /* HPMIXR_TO_HPOUTR_PGA */
2270#define WM8962_HPMIXR_TO_HPOUTR_PGA_SHIFT 7 /* HPMIXR_TO_HPOUTR_PGA */
2271#define WM8962_HPMIXR_TO_HPOUTR_PGA_WIDTH 1 /* HPMIXR_TO_HPOUTR_PGA */
2272#define WM8962_DACL_TO_HPMIXR 0x0020 /* DACL_TO_HPMIXR */
2273#define WM8962_DACL_TO_HPMIXR_MASK 0x0020 /* DACL_TO_HPMIXR */
2274#define WM8962_DACL_TO_HPMIXR_SHIFT 5 /* DACL_TO_HPMIXR */
2275#define WM8962_DACL_TO_HPMIXR_WIDTH 1 /* DACL_TO_HPMIXR */
2276#define WM8962_DACR_TO_HPMIXR 0x0010 /* DACR_TO_HPMIXR */
2277#define WM8962_DACR_TO_HPMIXR_MASK 0x0010 /* DACR_TO_HPMIXR */
2278#define WM8962_DACR_TO_HPMIXR_SHIFT 4 /* DACR_TO_HPMIXR */
2279#define WM8962_DACR_TO_HPMIXR_WIDTH 1 /* DACR_TO_HPMIXR */
2280#define WM8962_MIXINL_TO_HPMIXR 0x0008 /* MIXINL_TO_HPMIXR */
2281#define WM8962_MIXINL_TO_HPMIXR_MASK 0x0008 /* MIXINL_TO_HPMIXR */
2282#define WM8962_MIXINL_TO_HPMIXR_SHIFT 3 /* MIXINL_TO_HPMIXR */
2283#define WM8962_MIXINL_TO_HPMIXR_WIDTH 1 /* MIXINL_TO_HPMIXR */
2284#define WM8962_MIXINR_TO_HPMIXR 0x0004 /* MIXINR_TO_HPMIXR */
2285#define WM8962_MIXINR_TO_HPMIXR_MASK 0x0004 /* MIXINR_TO_HPMIXR */
2286#define WM8962_MIXINR_TO_HPMIXR_SHIFT 2 /* MIXINR_TO_HPMIXR */
2287#define WM8962_MIXINR_TO_HPMIXR_WIDTH 1 /* MIXINR_TO_HPMIXR */
2288#define WM8962_IN4L_TO_HPMIXR 0x0002 /* IN4L_TO_HPMIXR */
2289#define WM8962_IN4L_TO_HPMIXR_MASK 0x0002 /* IN4L_TO_HPMIXR */
2290#define WM8962_IN4L_TO_HPMIXR_SHIFT 1 /* IN4L_TO_HPMIXR */
2291#define WM8962_IN4L_TO_HPMIXR_WIDTH 1 /* IN4L_TO_HPMIXR */
2292#define WM8962_IN4R_TO_HPMIXR 0x0001 /* IN4R_TO_HPMIXR */
2293#define WM8962_IN4R_TO_HPMIXR_MASK 0x0001 /* IN4R_TO_HPMIXR */
2294#define WM8962_IN4R_TO_HPMIXR_SHIFT 0 /* IN4R_TO_HPMIXR */
2295#define WM8962_IN4R_TO_HPMIXR_WIDTH 1 /* IN4R_TO_HPMIXR */
2296
2297/*
2298 * R102 (0x66) - Headphone Mixer (3)
2299 */
2300#define WM8962_HPMIXL_MUTE 0x0100 /* HPMIXL_MUTE */
2301#define WM8962_HPMIXL_MUTE_MASK 0x0100 /* HPMIXL_MUTE */
2302#define WM8962_HPMIXL_MUTE_SHIFT 8 /* HPMIXL_MUTE */
2303#define WM8962_HPMIXL_MUTE_WIDTH 1 /* HPMIXL_MUTE */
2304#define WM8962_MIXINL_HPMIXL_VOL 0x0080 /* MIXINL_HPMIXL_VOL */
2305#define WM8962_MIXINL_HPMIXL_VOL_MASK 0x0080 /* MIXINL_HPMIXL_VOL */
2306#define WM8962_MIXINL_HPMIXL_VOL_SHIFT 7 /* MIXINL_HPMIXL_VOL */
2307#define WM8962_MIXINL_HPMIXL_VOL_WIDTH 1 /* MIXINL_HPMIXL_VOL */
2308#define WM8962_MIXINR_HPMIXL_VOL 0x0040 /* MIXINR_HPMIXL_VOL */
2309#define WM8962_MIXINR_HPMIXL_VOL_MASK 0x0040 /* MIXINR_HPMIXL_VOL */
2310#define WM8962_MIXINR_HPMIXL_VOL_SHIFT 6 /* MIXINR_HPMIXL_VOL */
2311#define WM8962_MIXINR_HPMIXL_VOL_WIDTH 1 /* MIXINR_HPMIXL_VOL */
2312#define WM8962_IN4L_HPMIXL_VOL_MASK 0x0038 /* IN4L_HPMIXL_VOL - [5:3] */
2313#define WM8962_IN4L_HPMIXL_VOL_SHIFT 3 /* IN4L_HPMIXL_VOL - [5:3] */
2314#define WM8962_IN4L_HPMIXL_VOL_WIDTH 3 /* IN4L_HPMIXL_VOL - [5:3] */
2315#define WM8962_IN4R_HPMIXL_VOL_MASK 0x0007 /* IN4R_HPMIXL_VOL - [2:0] */
2316#define WM8962_IN4R_HPMIXL_VOL_SHIFT 0 /* IN4R_HPMIXL_VOL - [2:0] */
2317#define WM8962_IN4R_HPMIXL_VOL_WIDTH 3 /* IN4R_HPMIXL_VOL - [2:0] */
2318
2319/*
2320 * R103 (0x67) - Headphone Mixer (4)
2321 */
2322#define WM8962_HPMIXR_MUTE 0x0100 /* HPMIXR_MUTE */
2323#define WM8962_HPMIXR_MUTE_MASK 0x0100 /* HPMIXR_MUTE */
2324#define WM8962_HPMIXR_MUTE_SHIFT 8 /* HPMIXR_MUTE */
2325#define WM8962_HPMIXR_MUTE_WIDTH 1 /* HPMIXR_MUTE */
2326#define WM8962_MIXINL_HPMIXR_VOL 0x0080 /* MIXINL_HPMIXR_VOL */
2327#define WM8962_MIXINL_HPMIXR_VOL_MASK 0x0080 /* MIXINL_HPMIXR_VOL */
2328#define WM8962_MIXINL_HPMIXR_VOL_SHIFT 7 /* MIXINL_HPMIXR_VOL */
2329#define WM8962_MIXINL_HPMIXR_VOL_WIDTH 1 /* MIXINL_HPMIXR_VOL */
2330#define WM8962_MIXINR_HPMIXR_VOL 0x0040 /* MIXINR_HPMIXR_VOL */
2331#define WM8962_MIXINR_HPMIXR_VOL_MASK 0x0040 /* MIXINR_HPMIXR_VOL */
2332#define WM8962_MIXINR_HPMIXR_VOL_SHIFT 6 /* MIXINR_HPMIXR_VOL */
2333#define WM8962_MIXINR_HPMIXR_VOL_WIDTH 1 /* MIXINR_HPMIXR_VOL */
2334#define WM8962_IN4L_HPMIXR_VOL_MASK 0x0038 /* IN4L_HPMIXR_VOL - [5:3] */
2335#define WM8962_IN4L_HPMIXR_VOL_SHIFT 3 /* IN4L_HPMIXR_VOL - [5:3] */
2336#define WM8962_IN4L_HPMIXR_VOL_WIDTH 3 /* IN4L_HPMIXR_VOL - [5:3] */
2337#define WM8962_IN4R_HPMIXR_VOL_MASK 0x0007 /* IN4R_HPMIXR_VOL - [2:0] */
2338#define WM8962_IN4R_HPMIXR_VOL_SHIFT 0 /* IN4R_HPMIXR_VOL - [2:0] */
2339#define WM8962_IN4R_HPMIXR_VOL_WIDTH 3 /* IN4R_HPMIXR_VOL - [2:0] */
2340
2341/*
2342 * R105 (0x69) - Speaker Mixer (1)
2343 */
2344#define WM8962_SPKMIXL_TO_SPKOUTL_PGA 0x0080 /* SPKMIXL_TO_SPKOUTL_PGA */
2345#define WM8962_SPKMIXL_TO_SPKOUTL_PGA_MASK 0x0080 /* SPKMIXL_TO_SPKOUTL_PGA */
2346#define WM8962_SPKMIXL_TO_SPKOUTL_PGA_SHIFT 7 /* SPKMIXL_TO_SPKOUTL_PGA */
2347#define WM8962_SPKMIXL_TO_SPKOUTL_PGA_WIDTH 1 /* SPKMIXL_TO_SPKOUTL_PGA */
2348#define WM8962_DACL_TO_SPKMIXL 0x0020 /* DACL_TO_SPKMIXL */
2349#define WM8962_DACL_TO_SPKMIXL_MASK 0x0020 /* DACL_TO_SPKMIXL */
2350#define WM8962_DACL_TO_SPKMIXL_SHIFT 5 /* DACL_TO_SPKMIXL */
2351#define WM8962_DACL_TO_SPKMIXL_WIDTH 1 /* DACL_TO_SPKMIXL */
2352#define WM8962_DACR_TO_SPKMIXL 0x0010 /* DACR_TO_SPKMIXL */
2353#define WM8962_DACR_TO_SPKMIXL_MASK 0x0010 /* DACR_TO_SPKMIXL */
2354#define WM8962_DACR_TO_SPKMIXL_SHIFT 4 /* DACR_TO_SPKMIXL */
2355#define WM8962_DACR_TO_SPKMIXL_WIDTH 1 /* DACR_TO_SPKMIXL */
2356#define WM8962_MIXINL_TO_SPKMIXL 0x0008 /* MIXINL_TO_SPKMIXL */
2357#define WM8962_MIXINL_TO_SPKMIXL_MASK 0x0008 /* MIXINL_TO_SPKMIXL */
2358#define WM8962_MIXINL_TO_SPKMIXL_SHIFT 3 /* MIXINL_TO_SPKMIXL */
2359#define WM8962_MIXINL_TO_SPKMIXL_WIDTH 1 /* MIXINL_TO_SPKMIXL */
2360#define WM8962_MIXINR_TO_SPKMIXL 0x0004 /* MIXINR_TO_SPKMIXL */
2361#define WM8962_MIXINR_TO_SPKMIXL_MASK 0x0004 /* MIXINR_TO_SPKMIXL */
2362#define WM8962_MIXINR_TO_SPKMIXL_SHIFT 2 /* MIXINR_TO_SPKMIXL */
2363#define WM8962_MIXINR_TO_SPKMIXL_WIDTH 1 /* MIXINR_TO_SPKMIXL */
2364#define WM8962_IN4L_TO_SPKMIXL 0x0002 /* IN4L_TO_SPKMIXL */
2365#define WM8962_IN4L_TO_SPKMIXL_MASK 0x0002 /* IN4L_TO_SPKMIXL */
2366#define WM8962_IN4L_TO_SPKMIXL_SHIFT 1 /* IN4L_TO_SPKMIXL */
2367#define WM8962_IN4L_TO_SPKMIXL_WIDTH 1 /* IN4L_TO_SPKMIXL */
2368#define WM8962_IN4R_TO_SPKMIXL 0x0001 /* IN4R_TO_SPKMIXL */
2369#define WM8962_IN4R_TO_SPKMIXL_MASK 0x0001 /* IN4R_TO_SPKMIXL */
2370#define WM8962_IN4R_TO_SPKMIXL_SHIFT 0 /* IN4R_TO_SPKMIXL */
2371#define WM8962_IN4R_TO_SPKMIXL_WIDTH 1 /* IN4R_TO_SPKMIXL */
2372
2373/*
2374 * R106 (0x6A) - Speaker Mixer (2)
2375 */
2376#define WM8962_SPKMIXR_TO_SPKOUTR_PGA 0x0080 /* SPKMIXR_TO_SPKOUTR_PGA */
2377#define WM8962_SPKMIXR_TO_SPKOUTR_PGA_MASK 0x0080 /* SPKMIXR_TO_SPKOUTR_PGA */
2378#define WM8962_SPKMIXR_TO_SPKOUTR_PGA_SHIFT 7 /* SPKMIXR_TO_SPKOUTR_PGA */
2379#define WM8962_SPKMIXR_TO_SPKOUTR_PGA_WIDTH 1 /* SPKMIXR_TO_SPKOUTR_PGA */
2380#define WM8962_DACL_TO_SPKMIXR 0x0020 /* DACL_TO_SPKMIXR */
2381#define WM8962_DACL_TO_SPKMIXR_MASK 0x0020 /* DACL_TO_SPKMIXR */
2382#define WM8962_DACL_TO_SPKMIXR_SHIFT 5 /* DACL_TO_SPKMIXR */
2383#define WM8962_DACL_TO_SPKMIXR_WIDTH 1 /* DACL_TO_SPKMIXR */
2384#define WM8962_DACR_TO_SPKMIXR 0x0010 /* DACR_TO_SPKMIXR */
2385#define WM8962_DACR_TO_SPKMIXR_MASK 0x0010 /* DACR_TO_SPKMIXR */
2386#define WM8962_DACR_TO_SPKMIXR_SHIFT 4 /* DACR_TO_SPKMIXR */
2387#define WM8962_DACR_TO_SPKMIXR_WIDTH 1 /* DACR_TO_SPKMIXR */
2388#define WM8962_MIXINL_TO_SPKMIXR 0x0008 /* MIXINL_TO_SPKMIXR */
2389#define WM8962_MIXINL_TO_SPKMIXR_MASK 0x0008 /* MIXINL_TO_SPKMIXR */
2390#define WM8962_MIXINL_TO_SPKMIXR_SHIFT 3 /* MIXINL_TO_SPKMIXR */
2391#define WM8962_MIXINL_TO_SPKMIXR_WIDTH 1 /* MIXINL_TO_SPKMIXR */
2392#define WM8962_MIXINR_TO_SPKMIXR 0x0004 /* MIXINR_TO_SPKMIXR */
2393#define WM8962_MIXINR_TO_SPKMIXR_MASK 0x0004 /* MIXINR_TO_SPKMIXR */
2394#define WM8962_MIXINR_TO_SPKMIXR_SHIFT 2 /* MIXINR_TO_SPKMIXR */
2395#define WM8962_MIXINR_TO_SPKMIXR_WIDTH 1 /* MIXINR_TO_SPKMIXR */
2396#define WM8962_IN4L_TO_SPKMIXR 0x0002 /* IN4L_TO_SPKMIXR */
2397#define WM8962_IN4L_TO_SPKMIXR_MASK 0x0002 /* IN4L_TO_SPKMIXR */
2398#define WM8962_IN4L_TO_SPKMIXR_SHIFT 1 /* IN4L_TO_SPKMIXR */
2399#define WM8962_IN4L_TO_SPKMIXR_WIDTH 1 /* IN4L_TO_SPKMIXR */
2400#define WM8962_IN4R_TO_SPKMIXR 0x0001 /* IN4R_TO_SPKMIXR */
2401#define WM8962_IN4R_TO_SPKMIXR_MASK 0x0001 /* IN4R_TO_SPKMIXR */
2402#define WM8962_IN4R_TO_SPKMIXR_SHIFT 0 /* IN4R_TO_SPKMIXR */
2403#define WM8962_IN4R_TO_SPKMIXR_WIDTH 1 /* IN4R_TO_SPKMIXR */
2404
2405/*
2406 * R107 (0x6B) - Speaker Mixer (3)
2407 */
2408#define WM8962_SPKMIXL_MUTE 0x0100 /* SPKMIXL_MUTE */
2409#define WM8962_SPKMIXL_MUTE_MASK 0x0100 /* SPKMIXL_MUTE */
2410#define WM8962_SPKMIXL_MUTE_SHIFT 8 /* SPKMIXL_MUTE */
2411#define WM8962_SPKMIXL_MUTE_WIDTH 1 /* SPKMIXL_MUTE */
2412#define WM8962_MIXINL_SPKMIXL_VOL 0x0080 /* MIXINL_SPKMIXL_VOL */
2413#define WM8962_MIXINL_SPKMIXL_VOL_MASK 0x0080 /* MIXINL_SPKMIXL_VOL */
2414#define WM8962_MIXINL_SPKMIXL_VOL_SHIFT 7 /* MIXINL_SPKMIXL_VOL */
2415#define WM8962_MIXINL_SPKMIXL_VOL_WIDTH 1 /* MIXINL_SPKMIXL_VOL */
2416#define WM8962_MIXINR_SPKMIXL_VOL 0x0040 /* MIXINR_SPKMIXL_VOL */
2417#define WM8962_MIXINR_SPKMIXL_VOL_MASK 0x0040 /* MIXINR_SPKMIXL_VOL */
2418#define WM8962_MIXINR_SPKMIXL_VOL_SHIFT 6 /* MIXINR_SPKMIXL_VOL */
2419#define WM8962_MIXINR_SPKMIXL_VOL_WIDTH 1 /* MIXINR_SPKMIXL_VOL */
2420#define WM8962_IN4L_SPKMIXL_VOL_MASK 0x0038 /* IN4L_SPKMIXL_VOL - [5:3] */
2421#define WM8962_IN4L_SPKMIXL_VOL_SHIFT 3 /* IN4L_SPKMIXL_VOL - [5:3] */
2422#define WM8962_IN4L_SPKMIXL_VOL_WIDTH 3 /* IN4L_SPKMIXL_VOL - [5:3] */
2423#define WM8962_IN4R_SPKMIXL_VOL_MASK 0x0007 /* IN4R_SPKMIXL_VOL - [2:0] */
2424#define WM8962_IN4R_SPKMIXL_VOL_SHIFT 0 /* IN4R_SPKMIXL_VOL - [2:0] */
2425#define WM8962_IN4R_SPKMIXL_VOL_WIDTH 3 /* IN4R_SPKMIXL_VOL - [2:0] */
2426
2427/*
2428 * R108 (0x6C) - Speaker Mixer (4)
2429 */
2430#define WM8962_SPKMIXR_MUTE 0x0100 /* SPKMIXR_MUTE */
2431#define WM8962_SPKMIXR_MUTE_MASK 0x0100 /* SPKMIXR_MUTE */
2432#define WM8962_SPKMIXR_MUTE_SHIFT 8 /* SPKMIXR_MUTE */
2433#define WM8962_SPKMIXR_MUTE_WIDTH 1 /* SPKMIXR_MUTE */
2434#define WM8962_MIXINL_SPKMIXR_VOL 0x0080 /* MIXINL_SPKMIXR_VOL */
2435#define WM8962_MIXINL_SPKMIXR_VOL_MASK 0x0080 /* MIXINL_SPKMIXR_VOL */
2436#define WM8962_MIXINL_SPKMIXR_VOL_SHIFT 7 /* MIXINL_SPKMIXR_VOL */
2437#define WM8962_MIXINL_SPKMIXR_VOL_WIDTH 1 /* MIXINL_SPKMIXR_VOL */
2438#define WM8962_MIXINR_SPKMIXR_VOL 0x0040 /* MIXINR_SPKMIXR_VOL */
2439#define WM8962_MIXINR_SPKMIXR_VOL_MASK 0x0040 /* MIXINR_SPKMIXR_VOL */
2440#define WM8962_MIXINR_SPKMIXR_VOL_SHIFT 6 /* MIXINR_SPKMIXR_VOL */
2441#define WM8962_MIXINR_SPKMIXR_VOL_WIDTH 1 /* MIXINR_SPKMIXR_VOL */
2442#define WM8962_IN4L_SPKMIXR_VOL_MASK 0x0038 /* IN4L_SPKMIXR_VOL - [5:3] */
2443#define WM8962_IN4L_SPKMIXR_VOL_SHIFT 3 /* IN4L_SPKMIXR_VOL - [5:3] */
2444#define WM8962_IN4L_SPKMIXR_VOL_WIDTH 3 /* IN4L_SPKMIXR_VOL - [5:3] */
2445#define WM8962_IN4R_SPKMIXR_VOL_MASK 0x0007 /* IN4R_SPKMIXR_VOL - [2:0] */
2446#define WM8962_IN4R_SPKMIXR_VOL_SHIFT 0 /* IN4R_SPKMIXR_VOL - [2:0] */
2447#define WM8962_IN4R_SPKMIXR_VOL_WIDTH 3 /* IN4R_SPKMIXR_VOL - [2:0] */
2448
2449/*
2450 * R109 (0x6D) - Speaker Mixer (5)
2451 */
2452#define WM8962_DACL_SPKMIXL_VOL 0x0080 /* DACL_SPKMIXL_VOL */
2453#define WM8962_DACL_SPKMIXL_VOL_MASK 0x0080 /* DACL_SPKMIXL_VOL */
2454#define WM8962_DACL_SPKMIXL_VOL_SHIFT 7 /* DACL_SPKMIXL_VOL */
2455#define WM8962_DACL_SPKMIXL_VOL_WIDTH 1 /* DACL_SPKMIXL_VOL */
2456#define WM8962_DACR_SPKMIXL_VOL 0x0040 /* DACR_SPKMIXL_VOL */
2457#define WM8962_DACR_SPKMIXL_VOL_MASK 0x0040 /* DACR_SPKMIXL_VOL */
2458#define WM8962_DACR_SPKMIXL_VOL_SHIFT 6 /* DACR_SPKMIXL_VOL */
2459#define WM8962_DACR_SPKMIXL_VOL_WIDTH 1 /* DACR_SPKMIXL_VOL */
2460#define WM8962_DACL_SPKMIXR_VOL 0x0020 /* DACL_SPKMIXR_VOL */
2461#define WM8962_DACL_SPKMIXR_VOL_MASK 0x0020 /* DACL_SPKMIXR_VOL */
2462#define WM8962_DACL_SPKMIXR_VOL_SHIFT 5 /* DACL_SPKMIXR_VOL */
2463#define WM8962_DACL_SPKMIXR_VOL_WIDTH 1 /* DACL_SPKMIXR_VOL */
2464#define WM8962_DACR_SPKMIXR_VOL 0x0010 /* DACR_SPKMIXR_VOL */
2465#define WM8962_DACR_SPKMIXR_VOL_MASK 0x0010 /* DACR_SPKMIXR_VOL */
2466#define WM8962_DACR_SPKMIXR_VOL_SHIFT 4 /* DACR_SPKMIXR_VOL */
2467#define WM8962_DACR_SPKMIXR_VOL_WIDTH 1 /* DACR_SPKMIXR_VOL */
2468
2469/*
2470 * R110 (0x6E) - Beep Generator (1)
2471 */
2472#define WM8962_BEEP_GAIN_MASK 0x00F0 /* BEEP_GAIN - [7:4] */
2473#define WM8962_BEEP_GAIN_SHIFT 4 /* BEEP_GAIN - [7:4] */
2474#define WM8962_BEEP_GAIN_WIDTH 4 /* BEEP_GAIN - [7:4] */
2475#define WM8962_BEEP_RATE_MASK 0x0006 /* BEEP_RATE - [2:1] */
2476#define WM8962_BEEP_RATE_SHIFT 1 /* BEEP_RATE - [2:1] */
2477#define WM8962_BEEP_RATE_WIDTH 2 /* BEEP_RATE - [2:1] */
2478#define WM8962_BEEP_ENA 0x0001 /* BEEP_ENA */
2479#define WM8962_BEEP_ENA_MASK 0x0001 /* BEEP_ENA */
2480#define WM8962_BEEP_ENA_SHIFT 0 /* BEEP_ENA */
2481#define WM8962_BEEP_ENA_WIDTH 1 /* BEEP_ENA */
2482
2483/*
2484 * R115 (0x73) - Oscillator Trim (3)
2485 */
2486#define WM8962_OSC_TRIM_XTI_MASK 0x001F /* OSC_TRIM_XTI - [4:0] */
2487#define WM8962_OSC_TRIM_XTI_SHIFT 0 /* OSC_TRIM_XTI - [4:0] */
2488#define WM8962_OSC_TRIM_XTI_WIDTH 5 /* OSC_TRIM_XTI - [4:0] */
2489
2490/*
2491 * R116 (0x74) - Oscillator Trim (4)
2492 */
2493#define WM8962_OSC_TRIM_XTO_MASK 0x001F /* OSC_TRIM_XTO - [4:0] */
2494#define WM8962_OSC_TRIM_XTO_SHIFT 0 /* OSC_TRIM_XTO - [4:0] */
2495#define WM8962_OSC_TRIM_XTO_WIDTH 5 /* OSC_TRIM_XTO - [4:0] */
2496
2497/*
2498 * R119 (0x77) - Oscillator Trim (7)
2499 */
2500#define WM8962_XTO_CAP_SEL_MASK 0x00F0 /* XTO_CAP_SEL - [7:4] */
2501#define WM8962_XTO_CAP_SEL_SHIFT 4 /* XTO_CAP_SEL - [7:4] */
2502#define WM8962_XTO_CAP_SEL_WIDTH 4 /* XTO_CAP_SEL - [7:4] */
2503#define WM8962_XTI_CAP_SEL_MASK 0x000F /* XTI_CAP_SEL - [3:0] */
2504#define WM8962_XTI_CAP_SEL_SHIFT 0 /* XTI_CAP_SEL - [3:0] */
2505#define WM8962_XTI_CAP_SEL_WIDTH 4 /* XTI_CAP_SEL - [3:0] */
2506
2507/*
2508 * R124 (0x7C) - Analogue Clocking1
2509 */
2510#define WM8962_CLKOUT2_SEL_MASK 0x0060 /* CLKOUT2_SEL - [6:5] */
2511#define WM8962_CLKOUT2_SEL_SHIFT 5 /* CLKOUT2_SEL - [6:5] */
2512#define WM8962_CLKOUT2_SEL_WIDTH 2 /* CLKOUT2_SEL - [6:5] */
2513#define WM8962_CLKOUT3_SEL_MASK 0x0018 /* CLKOUT3_SEL - [4:3] */
2514#define WM8962_CLKOUT3_SEL_SHIFT 3 /* CLKOUT3_SEL - [4:3] */
2515#define WM8962_CLKOUT3_SEL_WIDTH 2 /* CLKOUT3_SEL - [4:3] */
2516#define WM8962_CLKOUT5_SEL 0x0001 /* CLKOUT5_SEL */
2517#define WM8962_CLKOUT5_SEL_MASK 0x0001 /* CLKOUT5_SEL */
2518#define WM8962_CLKOUT5_SEL_SHIFT 0 /* CLKOUT5_SEL */
2519#define WM8962_CLKOUT5_SEL_WIDTH 1 /* CLKOUT5_SEL */
2520
2521/*
2522 * R125 (0x7D) - Analogue Clocking2
2523 */
2524#define WM8962_PLL2_OUTDIV 0x0080 /* PLL2_OUTDIV */
2525#define WM8962_PLL2_OUTDIV_MASK 0x0080 /* PLL2_OUTDIV */
2526#define WM8962_PLL2_OUTDIV_SHIFT 7 /* PLL2_OUTDIV */
2527#define WM8962_PLL2_OUTDIV_WIDTH 1 /* PLL2_OUTDIV */
2528#define WM8962_PLL3_OUTDIV 0x0040 /* PLL3_OUTDIV */
2529#define WM8962_PLL3_OUTDIV_MASK 0x0040 /* PLL3_OUTDIV */
2530#define WM8962_PLL3_OUTDIV_SHIFT 6 /* PLL3_OUTDIV */
2531#define WM8962_PLL3_OUTDIV_WIDTH 1 /* PLL3_OUTDIV */
2532#define WM8962_PLL_SYSCLK_DIV_MASK 0x0018 /* PLL_SYSCLK_DIV - [4:3] */
2533#define WM8962_PLL_SYSCLK_DIV_SHIFT 3 /* PLL_SYSCLK_DIV - [4:3] */
2534#define WM8962_PLL_SYSCLK_DIV_WIDTH 2 /* PLL_SYSCLK_DIV - [4:3] */
2535#define WM8962_CLKOUT3_DIV 0x0004 /* CLKOUT3_DIV */
2536#define WM8962_CLKOUT3_DIV_MASK 0x0004 /* CLKOUT3_DIV */
2537#define WM8962_CLKOUT3_DIV_SHIFT 2 /* CLKOUT3_DIV */
2538#define WM8962_CLKOUT3_DIV_WIDTH 1 /* CLKOUT3_DIV */
2539#define WM8962_CLKOUT2_DIV 0x0002 /* CLKOUT2_DIV */
2540#define WM8962_CLKOUT2_DIV_MASK 0x0002 /* CLKOUT2_DIV */
2541#define WM8962_CLKOUT2_DIV_SHIFT 1 /* CLKOUT2_DIV */
2542#define WM8962_CLKOUT2_DIV_WIDTH 1 /* CLKOUT2_DIV */
2543#define WM8962_CLKOUT5_DIV 0x0001 /* CLKOUT5_DIV */
2544#define WM8962_CLKOUT5_DIV_MASK 0x0001 /* CLKOUT5_DIV */
2545#define WM8962_CLKOUT5_DIV_SHIFT 0 /* CLKOUT5_DIV */
2546#define WM8962_CLKOUT5_DIV_WIDTH 1 /* CLKOUT5_DIV */
2547
2548/*
2549 * R126 (0x7E) - Analogue Clocking3
2550 */
2551#define WM8962_CLKOUT2_OE 0x0008 /* CLKOUT2_OE */
2552#define WM8962_CLKOUT2_OE_MASK 0x0008 /* CLKOUT2_OE */
2553#define WM8962_CLKOUT2_OE_SHIFT 3 /* CLKOUT2_OE */
2554#define WM8962_CLKOUT2_OE_WIDTH 1 /* CLKOUT2_OE */
2555#define WM8962_CLKOUT3_OE 0x0004 /* CLKOUT3_OE */
2556#define WM8962_CLKOUT3_OE_MASK 0x0004 /* CLKOUT3_OE */
2557#define WM8962_CLKOUT3_OE_SHIFT 2 /* CLKOUT3_OE */
2558#define WM8962_CLKOUT3_OE_WIDTH 1 /* CLKOUT3_OE */
2559#define WM8962_CLKOUT5_OE 0x0001 /* CLKOUT5_OE */
2560#define WM8962_CLKOUT5_OE_MASK 0x0001 /* CLKOUT5_OE */
2561#define WM8962_CLKOUT5_OE_SHIFT 0 /* CLKOUT5_OE */
2562#define WM8962_CLKOUT5_OE_WIDTH 1 /* CLKOUT5_OE */
2563
2564/*
2565 * R127 (0x7F) - PLL Software Reset
2566 */
2567#define WM8962_SW_RESET_PLL_MASK 0xFFFF /* SW_RESET_PLL - [15:0] */
2568#define WM8962_SW_RESET_PLL_SHIFT 0 /* SW_RESET_PLL - [15:0] */
2569#define WM8962_SW_RESET_PLL_WIDTH 16 /* SW_RESET_PLL - [15:0] */
2570
2571/*
2572 * R129 (0x81) - PLL2
2573 */
2574#define WM8962_OSC_ENA 0x0080 /* OSC_ENA */
2575#define WM8962_OSC_ENA_MASK 0x0080 /* OSC_ENA */
2576#define WM8962_OSC_ENA_SHIFT 7 /* OSC_ENA */
2577#define WM8962_OSC_ENA_WIDTH 1 /* OSC_ENA */
2578#define WM8962_PLL2_ENA 0x0020 /* PLL2_ENA */
2579#define WM8962_PLL2_ENA_MASK 0x0020 /* PLL2_ENA */
2580#define WM8962_PLL2_ENA_SHIFT 5 /* PLL2_ENA */
2581#define WM8962_PLL2_ENA_WIDTH 1 /* PLL2_ENA */
2582#define WM8962_PLL3_ENA 0x0010 /* PLL3_ENA */
2583#define WM8962_PLL3_ENA_MASK 0x0010 /* PLL3_ENA */
2584#define WM8962_PLL3_ENA_SHIFT 4 /* PLL3_ENA */
2585#define WM8962_PLL3_ENA_WIDTH 1 /* PLL3_ENA */
2586
2587/*
2588 * R131 (0x83) - PLL 4
2589 */
2590#define WM8962_PLL_CLK_SRC 0x0002 /* PLL_CLK_SRC */
2591#define WM8962_PLL_CLK_SRC_MASK 0x0002 /* PLL_CLK_SRC */
2592#define WM8962_PLL_CLK_SRC_SHIFT 1 /* PLL_CLK_SRC */
2593#define WM8962_PLL_CLK_SRC_WIDTH 1 /* PLL_CLK_SRC */
2594#define WM8962_FLL_TO_PLL3 0x0001 /* FLL_TO_PLL3 */
2595#define WM8962_FLL_TO_PLL3_MASK 0x0001 /* FLL_TO_PLL3 */
2596#define WM8962_FLL_TO_PLL3_SHIFT 0 /* FLL_TO_PLL3 */
2597#define WM8962_FLL_TO_PLL3_WIDTH 1 /* FLL_TO_PLL3 */
2598
2599/*
2600 * R136 (0x88) - PLL 9
2601 */
2602#define WM8962_PLL2_FRAC 0x0040 /* PLL2_FRAC */
2603#define WM8962_PLL2_FRAC_MASK 0x0040 /* PLL2_FRAC */
2604#define WM8962_PLL2_FRAC_SHIFT 6 /* PLL2_FRAC */
2605#define WM8962_PLL2_FRAC_WIDTH 1 /* PLL2_FRAC */
2606#define WM8962_PLL2_N_MASK 0x001F /* PLL2_N - [4:0] */
2607#define WM8962_PLL2_N_SHIFT 0 /* PLL2_N - [4:0] */
2608#define WM8962_PLL2_N_WIDTH 5 /* PLL2_N - [4:0] */
2609
2610/*
2611 * R137 (0x89) - PLL 10
2612 */
2613#define WM8962_PLL2_K_MASK 0x00FF /* PLL2_K - [7:0] */
2614#define WM8962_PLL2_K_SHIFT 0 /* PLL2_K - [7:0] */
2615#define WM8962_PLL2_K_WIDTH 8 /* PLL2_K - [7:0] */
2616
2617/*
2618 * R138 (0x8A) - PLL 11
2619 */
2620#define WM8962_PLL2_K_MASK 0x00FF /* PLL2_K - [7:0] */
2621#define WM8962_PLL2_K_SHIFT 0 /* PLL2_K - [7:0] */
2622#define WM8962_PLL2_K_WIDTH 8 /* PLL2_K - [7:0] */
2623
2624/*
2625 * R139 (0x8B) - PLL 12
2626 */
2627#define WM8962_PLL2_K_MASK 0x00FF /* PLL2_K - [7:0] */
2628#define WM8962_PLL2_K_SHIFT 0 /* PLL2_K - [7:0] */
2629#define WM8962_PLL2_K_WIDTH 8 /* PLL2_K - [7:0] */
2630
2631/*
2632 * R140 (0x8C) - PLL 13
2633 */
2634#define WM8962_PLL3_FRAC 0x0040 /* PLL3_FRAC */
2635#define WM8962_PLL3_FRAC_MASK 0x0040 /* PLL3_FRAC */
2636#define WM8962_PLL3_FRAC_SHIFT 6 /* PLL3_FRAC */
2637#define WM8962_PLL3_FRAC_WIDTH 1 /* PLL3_FRAC */
2638#define WM8962_PLL3_N_MASK 0x001F /* PLL3_N - [4:0] */
2639#define WM8962_PLL3_N_SHIFT 0 /* PLL3_N - [4:0] */
2640#define WM8962_PLL3_N_WIDTH 5 /* PLL3_N - [4:0] */
2641
2642/*
2643 * R141 (0x8D) - PLL 14
2644 */
2645#define WM8962_PLL3_K_MASK 0x00FF /* PLL3_K - [7:0] */
2646#define WM8962_PLL3_K_SHIFT 0 /* PLL3_K - [7:0] */
2647#define WM8962_PLL3_K_WIDTH 8 /* PLL3_K - [7:0] */
2648
2649/*
2650 * R142 (0x8E) - PLL 15
2651 */
2652#define WM8962_PLL3_K_MASK 0x00FF /* PLL3_K - [7:0] */
2653#define WM8962_PLL3_K_SHIFT 0 /* PLL3_K - [7:0] */
2654#define WM8962_PLL3_K_WIDTH 8 /* PLL3_K - [7:0] */
2655
2656/*
2657 * R143 (0x8F) - PLL 16
2658 */
2659#define WM8962_PLL3_K_MASK 0x00FF /* PLL3_K - [7:0] */
2660#define WM8962_PLL3_K_SHIFT 0 /* PLL3_K - [7:0] */
2661#define WM8962_PLL3_K_WIDTH 8 /* PLL3_K - [7:0] */
2662
2663/*
2664 * R155 (0x9B) - FLL Control (1)
2665 */
2666#define WM8962_FLL_REFCLK_SRC_MASK 0x0060 /* FLL_REFCLK_SRC - [6:5] */
2667#define WM8962_FLL_REFCLK_SRC_SHIFT 5 /* FLL_REFCLK_SRC - [6:5] */
2668#define WM8962_FLL_REFCLK_SRC_WIDTH 2 /* FLL_REFCLK_SRC - [6:5] */
2669#define WM8962_FLL_FRAC 0x0004 /* FLL_FRAC */
2670#define WM8962_FLL_FRAC_MASK 0x0004 /* FLL_FRAC */
2671#define WM8962_FLL_FRAC_SHIFT 2 /* FLL_FRAC */
2672#define WM8962_FLL_FRAC_WIDTH 1 /* FLL_FRAC */
2673#define WM8962_FLL_OSC_ENA 0x0002 /* FLL_OSC_ENA */
2674#define WM8962_FLL_OSC_ENA_MASK 0x0002 /* FLL_OSC_ENA */
2675#define WM8962_FLL_OSC_ENA_SHIFT 1 /* FLL_OSC_ENA */
2676#define WM8962_FLL_OSC_ENA_WIDTH 1 /* FLL_OSC_ENA */
2677#define WM8962_FLL_ENA 0x0001 /* FLL_ENA */
2678#define WM8962_FLL_ENA_MASK 0x0001 /* FLL_ENA */
2679#define WM8962_FLL_ENA_SHIFT 0 /* FLL_ENA */
2680#define WM8962_FLL_ENA_WIDTH 1 /* FLL_ENA */
2681
2682/*
2683 * R156 (0x9C) - FLL Control (2)
2684 */
2685#define WM8962_FLL_OUTDIV_MASK 0x01F8 /* FLL_OUTDIV - [8:3] */
2686#define WM8962_FLL_OUTDIV_SHIFT 3 /* FLL_OUTDIV - [8:3] */
2687#define WM8962_FLL_OUTDIV_WIDTH 6 /* FLL_OUTDIV - [8:3] */
2688#define WM8962_FLL_REFCLK_DIV_MASK 0x0003 /* FLL_REFCLK_DIV - [1:0] */
2689#define WM8962_FLL_REFCLK_DIV_SHIFT 0 /* FLL_REFCLK_DIV - [1:0] */
2690#define WM8962_FLL_REFCLK_DIV_WIDTH 2 /* FLL_REFCLK_DIV - [1:0] */
2691
2692/*
2693 * R157 (0x9D) - FLL Control (3)
2694 */
2695#define WM8962_FLL_FRATIO_MASK 0x0007 /* FLL_FRATIO - [2:0] */
2696#define WM8962_FLL_FRATIO_SHIFT 0 /* FLL_FRATIO - [2:0] */
2697#define WM8962_FLL_FRATIO_WIDTH 3 /* FLL_FRATIO - [2:0] */
2698
2699/*
2700 * R159 (0x9F) - FLL Control (5)
2701 */
2702#define WM8962_FLL_FRC_NCO_VAL_MASK 0x007E /* FLL_FRC_NCO_VAL - [6:1] */
2703#define WM8962_FLL_FRC_NCO_VAL_SHIFT 1 /* FLL_FRC_NCO_VAL - [6:1] */
2704#define WM8962_FLL_FRC_NCO_VAL_WIDTH 6 /* FLL_FRC_NCO_VAL - [6:1] */
2705#define WM8962_FLL_FRC_NCO 0x0001 /* FLL_FRC_NCO */
2706#define WM8962_FLL_FRC_NCO_MASK 0x0001 /* FLL_FRC_NCO */
2707#define WM8962_FLL_FRC_NCO_SHIFT 0 /* FLL_FRC_NCO */
2708#define WM8962_FLL_FRC_NCO_WIDTH 1 /* FLL_FRC_NCO */
2709
2710/*
2711 * R160 (0xA0) - FLL Control (6)
2712 */
2713#define WM8962_FLL_THETA_MASK 0xFFFF /* FLL_THETA - [15:0] */
2714#define WM8962_FLL_THETA_SHIFT 0 /* FLL_THETA - [15:0] */
2715#define WM8962_FLL_THETA_WIDTH 16 /* FLL_THETA - [15:0] */
2716
2717/*
2718 * R161 (0xA1) - FLL Control (7)
2719 */
2720#define WM8962_FLL_LAMBDA_MASK 0xFFFF /* FLL_LAMBDA - [15:0] */
2721#define WM8962_FLL_LAMBDA_SHIFT 0 /* FLL_LAMBDA - [15:0] */
2722#define WM8962_FLL_LAMBDA_WIDTH 16 /* FLL_LAMBDA - [15:0] */
2723
2724/*
2725 * R162 (0xA2) - FLL Control (8)
2726 */
2727#define WM8962_FLL_N_MASK 0x03FF /* FLL_N - [9:0] */
2728#define WM8962_FLL_N_SHIFT 0 /* FLL_N - [9:0] */
2729#define WM8962_FLL_N_WIDTH 10 /* FLL_N - [9:0] */
2730
2731/*
2732 * R252 (0xFC) - General test 1
2733 */
2734#define WM8962_REG_SYNC 0x0004 /* REG_SYNC */
2735#define WM8962_REG_SYNC_MASK 0x0004 /* REG_SYNC */
2736#define WM8962_REG_SYNC_SHIFT 2 /* REG_SYNC */
2737#define WM8962_REG_SYNC_WIDTH 1 /* REG_SYNC */
2738#define WM8962_AUTO_INC 0x0001 /* AUTO_INC */
2739#define WM8962_AUTO_INC_MASK 0x0001 /* AUTO_INC */
2740#define WM8962_AUTO_INC_SHIFT 0 /* AUTO_INC */
2741#define WM8962_AUTO_INC_WIDTH 1 /* AUTO_INC */
2742
2743/*
2744 * R256 (0x100) - DF1
2745 */
2746#define WM8962_DRC_DF1_ENA 0x0008 /* DRC_DF1_ENA */
2747#define WM8962_DRC_DF1_ENA_MASK 0x0008 /* DRC_DF1_ENA */
2748#define WM8962_DRC_DF1_ENA_SHIFT 3 /* DRC_DF1_ENA */
2749#define WM8962_DRC_DF1_ENA_WIDTH 1 /* DRC_DF1_ENA */
2750#define WM8962_DF1_SHARED_COEFF 0x0004 /* DF1_SHARED_COEFF */
2751#define WM8962_DF1_SHARED_COEFF_MASK 0x0004 /* DF1_SHARED_COEFF */
2752#define WM8962_DF1_SHARED_COEFF_SHIFT 2 /* DF1_SHARED_COEFF */
2753#define WM8962_DF1_SHARED_COEFF_WIDTH 1 /* DF1_SHARED_COEFF */
2754#define WM8962_DF1_SHARED_COEFF_SEL 0x0002 /* DF1_SHARED_COEFF_SEL */
2755#define WM8962_DF1_SHARED_COEFF_SEL_MASK 0x0002 /* DF1_SHARED_COEFF_SEL */
2756#define WM8962_DF1_SHARED_COEFF_SEL_SHIFT 1 /* DF1_SHARED_COEFF_SEL */
2757#define WM8962_DF1_SHARED_COEFF_SEL_WIDTH 1 /* DF1_SHARED_COEFF_SEL */
2758#define WM8962_DF1_ENA 0x0001 /* DF1_ENA */
2759#define WM8962_DF1_ENA_MASK 0x0001 /* DF1_ENA */
2760#define WM8962_DF1_ENA_SHIFT 0 /* DF1_ENA */
2761#define WM8962_DF1_ENA_WIDTH 1 /* DF1_ENA */
2762
2763/*
2764 * R257 (0x101) - DF2
2765 */
2766#define WM8962_DF1_COEFF_L0_MASK 0xFFFF /* DF1_COEFF_L0 - [15:0] */
2767#define WM8962_DF1_COEFF_L0_SHIFT 0 /* DF1_COEFF_L0 - [15:0] */
2768#define WM8962_DF1_COEFF_L0_WIDTH 16 /* DF1_COEFF_L0 - [15:0] */
2769
2770/*
2771 * R258 (0x102) - DF3
2772 */
2773#define WM8962_DF1_COEFF_L1_MASK 0xFFFF /* DF1_COEFF_L1 - [15:0] */
2774#define WM8962_DF1_COEFF_L1_SHIFT 0 /* DF1_COEFF_L1 - [15:0] */
2775#define WM8962_DF1_COEFF_L1_WIDTH 16 /* DF1_COEFF_L1 - [15:0] */
2776
2777/*
2778 * R259 (0x103) - DF4
2779 */
2780#define WM8962_DF1_COEFF_L2_MASK 0xFFFF /* DF1_COEFF_L2 - [15:0] */
2781#define WM8962_DF1_COEFF_L2_SHIFT 0 /* DF1_COEFF_L2 - [15:0] */
2782#define WM8962_DF1_COEFF_L2_WIDTH 16 /* DF1_COEFF_L2 - [15:0] */
2783
2784/*
2785 * R260 (0x104) - DF5
2786 */
2787#define WM8962_DF1_COEFF_R0_MASK 0xFFFF /* DF1_COEFF_R0 - [15:0] */
2788#define WM8962_DF1_COEFF_R0_SHIFT 0 /* DF1_COEFF_R0 - [15:0] */
2789#define WM8962_DF1_COEFF_R0_WIDTH 16 /* DF1_COEFF_R0 - [15:0] */
2790
2791/*
2792 * R261 (0x105) - DF6
2793 */
2794#define WM8962_DF1_COEFF_R1_MASK 0xFFFF /* DF1_COEFF_R1 - [15:0] */
2795#define WM8962_DF1_COEFF_R1_SHIFT 0 /* DF1_COEFF_R1 - [15:0] */
2796#define WM8962_DF1_COEFF_R1_WIDTH 16 /* DF1_COEFF_R1 - [15:0] */
2797
2798/*
2799 * R262 (0x106) - DF7
2800 */
2801#define WM8962_DF1_COEFF_R2_MASK 0xFFFF /* DF1_COEFF_R2 - [15:0] */
2802#define WM8962_DF1_COEFF_R2_SHIFT 0 /* DF1_COEFF_R2 - [15:0] */
2803#define WM8962_DF1_COEFF_R2_WIDTH 16 /* DF1_COEFF_R2 - [15:0] */
2804
2805/*
2806 * R264 (0x108) - LHPF1
2807 */
2808#define WM8962_LHPF_MODE 0x0002 /* LHPF_MODE */
2809#define WM8962_LHPF_MODE_MASK 0x0002 /* LHPF_MODE */
2810#define WM8962_LHPF_MODE_SHIFT 1 /* LHPF_MODE */
2811#define WM8962_LHPF_MODE_WIDTH 1 /* LHPF_MODE */
2812#define WM8962_LHPF_ENA 0x0001 /* LHPF_ENA */
2813#define WM8962_LHPF_ENA_MASK 0x0001 /* LHPF_ENA */
2814#define WM8962_LHPF_ENA_SHIFT 0 /* LHPF_ENA */
2815#define WM8962_LHPF_ENA_WIDTH 1 /* LHPF_ENA */
2816
2817/*
2818 * R265 (0x109) - LHPF2
2819 */
2820#define WM8962_LHPF_COEFF_MASK 0xFFFF /* LHPF_COEFF - [15:0] */
2821#define WM8962_LHPF_COEFF_SHIFT 0 /* LHPF_COEFF - [15:0] */
2822#define WM8962_LHPF_COEFF_WIDTH 16 /* LHPF_COEFF - [15:0] */
2823
2824/*
2825 * R268 (0x10C) - THREED1
2826 */
2827#define WM8962_ADC_MONOMIX 0x0040 /* ADC_MONOMIX */
2828#define WM8962_ADC_MONOMIX_MASK 0x0040 /* ADC_MONOMIX */
2829#define WM8962_ADC_MONOMIX_SHIFT 6 /* ADC_MONOMIX */
2830#define WM8962_ADC_MONOMIX_WIDTH 1 /* ADC_MONOMIX */
2831#define WM8962_THREED_SIGN_L 0x0020 /* THREED_SIGN_L */
2832#define WM8962_THREED_SIGN_L_MASK 0x0020 /* THREED_SIGN_L */
2833#define WM8962_THREED_SIGN_L_SHIFT 5 /* THREED_SIGN_L */
2834#define WM8962_THREED_SIGN_L_WIDTH 1 /* THREED_SIGN_L */
2835#define WM8962_THREED_SIGN_R 0x0010 /* THREED_SIGN_R */
2836#define WM8962_THREED_SIGN_R_MASK 0x0010 /* THREED_SIGN_R */
2837#define WM8962_THREED_SIGN_R_SHIFT 4 /* THREED_SIGN_R */
2838#define WM8962_THREED_SIGN_R_WIDTH 1 /* THREED_SIGN_R */
2839#define WM8962_THREED_LHPF_MODE 0x0004 /* THREED_LHPF_MODE */
2840#define WM8962_THREED_LHPF_MODE_MASK 0x0004 /* THREED_LHPF_MODE */
2841#define WM8962_THREED_LHPF_MODE_SHIFT 2 /* THREED_LHPF_MODE */
2842#define WM8962_THREED_LHPF_MODE_WIDTH 1 /* THREED_LHPF_MODE */
2843#define WM8962_THREED_LHPF_ENA 0x0002 /* THREED_LHPF_ENA */
2844#define WM8962_THREED_LHPF_ENA_MASK 0x0002 /* THREED_LHPF_ENA */
2845#define WM8962_THREED_LHPF_ENA_SHIFT 1 /* THREED_LHPF_ENA */
2846#define WM8962_THREED_LHPF_ENA_WIDTH 1 /* THREED_LHPF_ENA */
2847#define WM8962_THREED_ENA 0x0001 /* THREED_ENA */
2848#define WM8962_THREED_ENA_MASK 0x0001 /* THREED_ENA */
2849#define WM8962_THREED_ENA_SHIFT 0 /* THREED_ENA */
2850#define WM8962_THREED_ENA_WIDTH 1 /* THREED_ENA */
2851
2852/*
2853 * R269 (0x10D) - THREED2
2854 */
2855#define WM8962_THREED_FGAINL_MASK 0xF800 /* THREED_FGAINL - [15:11] */
2856#define WM8962_THREED_FGAINL_SHIFT 11 /* THREED_FGAINL - [15:11] */
2857#define WM8962_THREED_FGAINL_WIDTH 5 /* THREED_FGAINL - [15:11] */
2858#define WM8962_THREED_CGAINL_MASK 0x07C0 /* THREED_CGAINL - [10:6] */
2859#define WM8962_THREED_CGAINL_SHIFT 6 /* THREED_CGAINL - [10:6] */
2860#define WM8962_THREED_CGAINL_WIDTH 5 /* THREED_CGAINL - [10:6] */
2861#define WM8962_THREED_DELAYL_MASK 0x003C /* THREED_DELAYL - [5:2] */
2862#define WM8962_THREED_DELAYL_SHIFT 2 /* THREED_DELAYL - [5:2] */
2863#define WM8962_THREED_DELAYL_WIDTH 4 /* THREED_DELAYL - [5:2] */
2864
2865/*
2866 * R270 (0x10E) - THREED3
2867 */
2868#define WM8962_THREED_LHPF_COEFF_MASK 0xFFFF /* THREED_LHPF_COEFF - [15:0] */
2869#define WM8962_THREED_LHPF_COEFF_SHIFT 0 /* THREED_LHPF_COEFF - [15:0] */
2870#define WM8962_THREED_LHPF_COEFF_WIDTH 16 /* THREED_LHPF_COEFF - [15:0] */
2871
2872/*
2873 * R271 (0x10F) - THREED4
2874 */
2875#define WM8962_THREED_FGAINR_MASK 0xF800 /* THREED_FGAINR - [15:11] */
2876#define WM8962_THREED_FGAINR_SHIFT 11 /* THREED_FGAINR - [15:11] */
2877#define WM8962_THREED_FGAINR_WIDTH 5 /* THREED_FGAINR - [15:11] */
2878#define WM8962_THREED_CGAINR_MASK 0x07C0 /* THREED_CGAINR - [10:6] */
2879#define WM8962_THREED_CGAINR_SHIFT 6 /* THREED_CGAINR - [10:6] */
2880#define WM8962_THREED_CGAINR_WIDTH 5 /* THREED_CGAINR - [10:6] */
2881#define WM8962_THREED_DELAYR_MASK 0x003C /* THREED_DELAYR - [5:2] */
2882#define WM8962_THREED_DELAYR_SHIFT 2 /* THREED_DELAYR - [5:2] */
2883#define WM8962_THREED_DELAYR_WIDTH 4 /* THREED_DELAYR - [5:2] */
2884
2885/*
2886 * R276 (0x114) - DRC 1
2887 */
2888#define WM8962_DRC_SIG_DET_RMS_MASK 0x7C00 /* DRC_SIG_DET_RMS - [14:10] */
2889#define WM8962_DRC_SIG_DET_RMS_SHIFT 10 /* DRC_SIG_DET_RMS - [14:10] */
2890#define WM8962_DRC_SIG_DET_RMS_WIDTH 5 /* DRC_SIG_DET_RMS - [14:10] */
2891#define WM8962_DRC_SIG_DET_PK_MASK 0x0300 /* DRC_SIG_DET_PK - [9:8] */
2892#define WM8962_DRC_SIG_DET_PK_SHIFT 8 /* DRC_SIG_DET_PK - [9:8] */
2893#define WM8962_DRC_SIG_DET_PK_WIDTH 2 /* DRC_SIG_DET_PK - [9:8] */
2894#define WM8962_DRC_NG_ENA 0x0080 /* DRC_NG_ENA */
2895#define WM8962_DRC_NG_ENA_MASK 0x0080 /* DRC_NG_ENA */
2896#define WM8962_DRC_NG_ENA_SHIFT 7 /* DRC_NG_ENA */
2897#define WM8962_DRC_NG_ENA_WIDTH 1 /* DRC_NG_ENA */
2898#define WM8962_DRC_SIG_DET_MODE 0x0040 /* DRC_SIG_DET_MODE */
2899#define WM8962_DRC_SIG_DET_MODE_MASK 0x0040 /* DRC_SIG_DET_MODE */
2900#define WM8962_DRC_SIG_DET_MODE_SHIFT 6 /* DRC_SIG_DET_MODE */
2901#define WM8962_DRC_SIG_DET_MODE_WIDTH 1 /* DRC_SIG_DET_MODE */
2902#define WM8962_DRC_SIG_DET 0x0020 /* DRC_SIG_DET */
2903#define WM8962_DRC_SIG_DET_MASK 0x0020 /* DRC_SIG_DET */
2904#define WM8962_DRC_SIG_DET_SHIFT 5 /* DRC_SIG_DET */
2905#define WM8962_DRC_SIG_DET_WIDTH 1 /* DRC_SIG_DET */
2906#define WM8962_DRC_KNEE2_OP_ENA 0x0010 /* DRC_KNEE2_OP_ENA */
2907#define WM8962_DRC_KNEE2_OP_ENA_MASK 0x0010 /* DRC_KNEE2_OP_ENA */
2908#define WM8962_DRC_KNEE2_OP_ENA_SHIFT 4 /* DRC_KNEE2_OP_ENA */
2909#define WM8962_DRC_KNEE2_OP_ENA_WIDTH 1 /* DRC_KNEE2_OP_ENA */
2910#define WM8962_DRC_QR 0x0008 /* DRC_QR */
2911#define WM8962_DRC_QR_MASK 0x0008 /* DRC_QR */
2912#define WM8962_DRC_QR_SHIFT 3 /* DRC_QR */
2913#define WM8962_DRC_QR_WIDTH 1 /* DRC_QR */
2914#define WM8962_DRC_ANTICLIP 0x0004 /* DRC_ANTICLIP */
2915#define WM8962_DRC_ANTICLIP_MASK 0x0004 /* DRC_ANTICLIP */
2916#define WM8962_DRC_ANTICLIP_SHIFT 2 /* DRC_ANTICLIP */
2917#define WM8962_DRC_ANTICLIP_WIDTH 1 /* DRC_ANTICLIP */
2918#define WM8962_DRC_MODE 0x0002 /* DRC_MODE */
2919#define WM8962_DRC_MODE_MASK 0x0002 /* DRC_MODE */
2920#define WM8962_DRC_MODE_SHIFT 1 /* DRC_MODE */
2921#define WM8962_DRC_MODE_WIDTH 1 /* DRC_MODE */
2922#define WM8962_DRC_ENA 0x0001 /* DRC_ENA */
2923#define WM8962_DRC_ENA_MASK 0x0001 /* DRC_ENA */
2924#define WM8962_DRC_ENA_SHIFT 0 /* DRC_ENA */
2925#define WM8962_DRC_ENA_WIDTH 1 /* DRC_ENA */
2926
2927/*
2928 * R277 (0x115) - DRC 2
2929 */
2930#define WM8962_DRC_ATK_MASK 0x1E00 /* DRC_ATK - [12:9] */
2931#define WM8962_DRC_ATK_SHIFT 9 /* DRC_ATK - [12:9] */
2932#define WM8962_DRC_ATK_WIDTH 4 /* DRC_ATK - [12:9] */
2933#define WM8962_DRC_DCY_MASK 0x01E0 /* DRC_DCY - [8:5] */
2934#define WM8962_DRC_DCY_SHIFT 5 /* DRC_DCY - [8:5] */
2935#define WM8962_DRC_DCY_WIDTH 4 /* DRC_DCY - [8:5] */
2936#define WM8962_DRC_MINGAIN_MASK 0x001C /* DRC_MINGAIN - [4:2] */
2937#define WM8962_DRC_MINGAIN_SHIFT 2 /* DRC_MINGAIN - [4:2] */
2938#define WM8962_DRC_MINGAIN_WIDTH 3 /* DRC_MINGAIN - [4:2] */
2939#define WM8962_DRC_MAXGAIN_MASK 0x0003 /* DRC_MAXGAIN - [1:0] */
2940#define WM8962_DRC_MAXGAIN_SHIFT 0 /* DRC_MAXGAIN - [1:0] */
2941#define WM8962_DRC_MAXGAIN_WIDTH 2 /* DRC_MAXGAIN - [1:0] */
2942
2943/*
2944 * R278 (0x116) - DRC 3
2945 */
2946#define WM8962_DRC_NG_MINGAIN_MASK 0xF000 /* DRC_NG_MINGAIN - [15:12] */
2947#define WM8962_DRC_NG_MINGAIN_SHIFT 12 /* DRC_NG_MINGAIN - [15:12] */
2948#define WM8962_DRC_NG_MINGAIN_WIDTH 4 /* DRC_NG_MINGAIN - [15:12] */
2949#define WM8962_DRC_QR_THR_MASK 0x0C00 /* DRC_QR_THR - [11:10] */
2950#define WM8962_DRC_QR_THR_SHIFT 10 /* DRC_QR_THR - [11:10] */
2951#define WM8962_DRC_QR_THR_WIDTH 2 /* DRC_QR_THR - [11:10] */
2952#define WM8962_DRC_QR_DCY_MASK 0x0300 /* DRC_QR_DCY - [9:8] */
2953#define WM8962_DRC_QR_DCY_SHIFT 8 /* DRC_QR_DCY - [9:8] */
2954#define WM8962_DRC_QR_DCY_WIDTH 2 /* DRC_QR_DCY - [9:8] */
2955#define WM8962_DRC_NG_EXP_MASK 0x00C0 /* DRC_NG_EXP - [7:6] */
2956#define WM8962_DRC_NG_EXP_SHIFT 6 /* DRC_NG_EXP - [7:6] */
2957#define WM8962_DRC_NG_EXP_WIDTH 2 /* DRC_NG_EXP - [7:6] */
2958#define WM8962_DRC_HI_COMP_MASK 0x0038 /* DRC_HI_COMP - [5:3] */
2959#define WM8962_DRC_HI_COMP_SHIFT 3 /* DRC_HI_COMP - [5:3] */
2960#define WM8962_DRC_HI_COMP_WIDTH 3 /* DRC_HI_COMP - [5:3] */
2961#define WM8962_DRC_LO_COMP_MASK 0x0007 /* DRC_LO_COMP - [2:0] */
2962#define WM8962_DRC_LO_COMP_SHIFT 0 /* DRC_LO_COMP - [2:0] */
2963#define WM8962_DRC_LO_COMP_WIDTH 3 /* DRC_LO_COMP - [2:0] */
2964
2965/*
2966 * R279 (0x117) - DRC 4
2967 */
2968#define WM8962_DRC_KNEE_IP_MASK 0x07E0 /* DRC_KNEE_IP - [10:5] */
2969#define WM8962_DRC_KNEE_IP_SHIFT 5 /* DRC_KNEE_IP - [10:5] */
2970#define WM8962_DRC_KNEE_IP_WIDTH 6 /* DRC_KNEE_IP - [10:5] */
2971#define WM8962_DRC_KNEE_OP_MASK 0x001F /* DRC_KNEE_OP - [4:0] */
2972#define WM8962_DRC_KNEE_OP_SHIFT 0 /* DRC_KNEE_OP - [4:0] */
2973#define WM8962_DRC_KNEE_OP_WIDTH 5 /* DRC_KNEE_OP - [4:0] */
2974
2975/*
2976 * R280 (0x118) - DRC 5
2977 */
2978#define WM8962_DRC_KNEE2_IP_MASK 0x03E0 /* DRC_KNEE2_IP - [9:5] */
2979#define WM8962_DRC_KNEE2_IP_SHIFT 5 /* DRC_KNEE2_IP - [9:5] */
2980#define WM8962_DRC_KNEE2_IP_WIDTH 5 /* DRC_KNEE2_IP - [9:5] */
2981#define WM8962_DRC_KNEE2_OP_MASK 0x001F /* DRC_KNEE2_OP - [4:0] */
2982#define WM8962_DRC_KNEE2_OP_SHIFT 0 /* DRC_KNEE2_OP - [4:0] */
2983#define WM8962_DRC_KNEE2_OP_WIDTH 5 /* DRC_KNEE2_OP - [4:0] */
2984
2985/*
2986 * R285 (0x11D) - Tloopback
2987 */
2988#define WM8962_TLB_ENA 0x0002 /* TLB_ENA */
2989#define WM8962_TLB_ENA_MASK 0x0002 /* TLB_ENA */
2990#define WM8962_TLB_ENA_SHIFT 1 /* TLB_ENA */
2991#define WM8962_TLB_ENA_WIDTH 1 /* TLB_ENA */
2992#define WM8962_TLB_MODE 0x0001 /* TLB_MODE */
2993#define WM8962_TLB_MODE_MASK 0x0001 /* TLB_MODE */
2994#define WM8962_TLB_MODE_SHIFT 0 /* TLB_MODE */
2995#define WM8962_TLB_MODE_WIDTH 1 /* TLB_MODE */
2996
2997/*
2998 * R335 (0x14F) - EQ1
2999 */
3000#define WM8962_EQ_SHARED_COEFF 0x0004 /* EQ_SHARED_COEFF */
3001#define WM8962_EQ_SHARED_COEFF_MASK 0x0004 /* EQ_SHARED_COEFF */
3002#define WM8962_EQ_SHARED_COEFF_SHIFT 2 /* EQ_SHARED_COEFF */
3003#define WM8962_EQ_SHARED_COEFF_WIDTH 1 /* EQ_SHARED_COEFF */
3004#define WM8962_EQ_SHARED_COEFF_SEL 0x0002 /* EQ_SHARED_COEFF_SEL */
3005#define WM8962_EQ_SHARED_COEFF_SEL_MASK 0x0002 /* EQ_SHARED_COEFF_SEL */
3006#define WM8962_EQ_SHARED_COEFF_SEL_SHIFT 1 /* EQ_SHARED_COEFF_SEL */
3007#define WM8962_EQ_SHARED_COEFF_SEL_WIDTH 1 /* EQ_SHARED_COEFF_SEL */
3008#define WM8962_EQ_ENA 0x0001 /* EQ_ENA */
3009#define WM8962_EQ_ENA_MASK 0x0001 /* EQ_ENA */
3010#define WM8962_EQ_ENA_SHIFT 0 /* EQ_ENA */
3011#define WM8962_EQ_ENA_WIDTH 1 /* EQ_ENA */
3012
3013/*
3014 * R336 (0x150) - EQ2
3015 */
3016#define WM8962_EQL_B1_GAIN_MASK 0xF800 /* EQL_B1_GAIN - [15:11] */
3017#define WM8962_EQL_B1_GAIN_SHIFT 11 /* EQL_B1_GAIN - [15:11] */
3018#define WM8962_EQL_B1_GAIN_WIDTH 5 /* EQL_B1_GAIN - [15:11] */
3019#define WM8962_EQL_B2_GAIN_MASK 0x07C0 /* EQL_B2_GAIN - [10:6] */
3020#define WM8962_EQL_B2_GAIN_SHIFT 6 /* EQL_B2_GAIN - [10:6] */
3021#define WM8962_EQL_B2_GAIN_WIDTH 5 /* EQL_B2_GAIN - [10:6] */
3022#define WM8962_EQL_B3_GAIN_MASK 0x003E /* EQL_B3_GAIN - [5:1] */
3023#define WM8962_EQL_B3_GAIN_SHIFT 1 /* EQL_B3_GAIN - [5:1] */
3024#define WM8962_EQL_B3_GAIN_WIDTH 5 /* EQL_B3_GAIN - [5:1] */
3025
3026/*
3027 * R337 (0x151) - EQ3
3028 */
3029#define WM8962_EQL_B4_GAIN_MASK 0xF800 /* EQL_B4_GAIN - [15:11] */
3030#define WM8962_EQL_B4_GAIN_SHIFT 11 /* EQL_B4_GAIN - [15:11] */
3031#define WM8962_EQL_B4_GAIN_WIDTH 5 /* EQL_B4_GAIN - [15:11] */
3032#define WM8962_EQL_B5_GAIN_MASK 0x07C0 /* EQL_B5_GAIN - [10:6] */
3033#define WM8962_EQL_B5_GAIN_SHIFT 6 /* EQL_B5_GAIN - [10:6] */
3034#define WM8962_EQL_B5_GAIN_WIDTH 5 /* EQL_B5_GAIN - [10:6] */
3035
3036/*
3037 * R338 (0x152) - EQ4
3038 */
3039#define WM8962_EQL_B1_A_MASK 0xFFFF /* EQL_B1_A - [15:0] */
3040#define WM8962_EQL_B1_A_SHIFT 0 /* EQL_B1_A - [15:0] */
3041#define WM8962_EQL_B1_A_WIDTH 16 /* EQL_B1_A - [15:0] */
3042
3043/*
3044 * R339 (0x153) - EQ5
3045 */
3046#define WM8962_EQL_B1_B_MASK 0xFFFF /* EQL_B1_B - [15:0] */
3047#define WM8962_EQL_B1_B_SHIFT 0 /* EQL_B1_B - [15:0] */
3048#define WM8962_EQL_B1_B_WIDTH 16 /* EQL_B1_B - [15:0] */
3049
3050/*
3051 * R340 (0x154) - EQ6
3052 */
3053#define WM8962_EQL_B1_PG_MASK 0xFFFF /* EQL_B1_PG - [15:0] */
3054#define WM8962_EQL_B1_PG_SHIFT 0 /* EQL_B1_PG - [15:0] */
3055#define WM8962_EQL_B1_PG_WIDTH 16 /* EQL_B1_PG - [15:0] */
3056
3057/*
3058 * R341 (0x155) - EQ7
3059 */
3060#define WM8962_EQL_B2_A_MASK 0xFFFF /* EQL_B2_A - [15:0] */
3061#define WM8962_EQL_B2_A_SHIFT 0 /* EQL_B2_A - [15:0] */
3062#define WM8962_EQL_B2_A_WIDTH 16 /* EQL_B2_A - [15:0] */
3063
3064/*
3065 * R342 (0x156) - EQ8
3066 */
3067#define WM8962_EQL_B2_B_MASK 0xFFFF /* EQL_B2_B - [15:0] */
3068#define WM8962_EQL_B2_B_SHIFT 0 /* EQL_B2_B - [15:0] */
3069#define WM8962_EQL_B2_B_WIDTH 16 /* EQL_B2_B - [15:0] */
3070
3071/*
3072 * R343 (0x157) - EQ9
3073 */
3074#define WM8962_EQL_B2_C_MASK 0xFFFF /* EQL_B2_C - [15:0] */
3075#define WM8962_EQL_B2_C_SHIFT 0 /* EQL_B2_C - [15:0] */
3076#define WM8962_EQL_B2_C_WIDTH 16 /* EQL_B2_C - [15:0] */
3077
3078/*
3079 * R344 (0x158) - EQ10
3080 */
3081#define WM8962_EQL_B2_PG_MASK 0xFFFF /* EQL_B2_PG - [15:0] */
3082#define WM8962_EQL_B2_PG_SHIFT 0 /* EQL_B2_PG - [15:0] */
3083#define WM8962_EQL_B2_PG_WIDTH 16 /* EQL_B2_PG - [15:0] */
3084
3085/*
3086 * R345 (0x159) - EQ11
3087 */
3088#define WM8962_EQL_B3_A_MASK 0xFFFF /* EQL_B3_A - [15:0] */
3089#define WM8962_EQL_B3_A_SHIFT 0 /* EQL_B3_A - [15:0] */
3090#define WM8962_EQL_B3_A_WIDTH 16 /* EQL_B3_A - [15:0] */
3091
3092/*
3093 * R346 (0x15A) - EQ12
3094 */
3095#define WM8962_EQL_B3_B_MASK 0xFFFF /* EQL_B3_B - [15:0] */
3096#define WM8962_EQL_B3_B_SHIFT 0 /* EQL_B3_B - [15:0] */
3097#define WM8962_EQL_B3_B_WIDTH 16 /* EQL_B3_B - [15:0] */
3098
3099/*
3100 * R347 (0x15B) - EQ13
3101 */
3102#define WM8962_EQL_B3_C_MASK 0xFFFF /* EQL_B3_C - [15:0] */
3103#define WM8962_EQL_B3_C_SHIFT 0 /* EQL_B3_C - [15:0] */
3104#define WM8962_EQL_B3_C_WIDTH 16 /* EQL_B3_C - [15:0] */
3105
3106/*
3107 * R348 (0x15C) - EQ14
3108 */
3109#define WM8962_EQL_B3_PG_MASK 0xFFFF /* EQL_B3_PG - [15:0] */
3110#define WM8962_EQL_B3_PG_SHIFT 0 /* EQL_B3_PG - [15:0] */
3111#define WM8962_EQL_B3_PG_WIDTH 16 /* EQL_B3_PG - [15:0] */
3112
3113/*
3114 * R349 (0x15D) - EQ15
3115 */
3116#define WM8962_EQL_B4_A_MASK 0xFFFF /* EQL_B4_A - [15:0] */
3117#define WM8962_EQL_B4_A_SHIFT 0 /* EQL_B4_A - [15:0] */
3118#define WM8962_EQL_B4_A_WIDTH 16 /* EQL_B4_A - [15:0] */
3119
3120/*
3121 * R350 (0x15E) - EQ16
3122 */
3123#define WM8962_EQL_B4_B_MASK 0xFFFF /* EQL_B4_B - [15:0] */
3124#define WM8962_EQL_B4_B_SHIFT 0 /* EQL_B4_B - [15:0] */
3125#define WM8962_EQL_B4_B_WIDTH 16 /* EQL_B4_B - [15:0] */
3126
3127/*
3128 * R351 (0x15F) - EQ17
3129 */
3130#define WM8962_EQL_B4_C_MASK 0xFFFF /* EQL_B4_C - [15:0] */
3131#define WM8962_EQL_B4_C_SHIFT 0 /* EQL_B4_C - [15:0] */
3132#define WM8962_EQL_B4_C_WIDTH 16 /* EQL_B4_C - [15:0] */
3133
3134/*
3135 * R352 (0x160) - EQ18
3136 */
3137#define WM8962_EQL_B4_PG_MASK 0xFFFF /* EQL_B4_PG - [15:0] */
3138#define WM8962_EQL_B4_PG_SHIFT 0 /* EQL_B4_PG - [15:0] */
3139#define WM8962_EQL_B4_PG_WIDTH 16 /* EQL_B4_PG - [15:0] */
3140
3141/*
3142 * R353 (0x161) - EQ19
3143 */
3144#define WM8962_EQL_B5_A_MASK 0xFFFF /* EQL_B5_A - [15:0] */
3145#define WM8962_EQL_B5_A_SHIFT 0 /* EQL_B5_A - [15:0] */
3146#define WM8962_EQL_B5_A_WIDTH 16 /* EQL_B5_A - [15:0] */
3147
3148/*
3149 * R354 (0x162) - EQ20
3150 */
3151#define WM8962_EQL_B5_B_MASK 0xFFFF /* EQL_B5_B - [15:0] */
3152#define WM8962_EQL_B5_B_SHIFT 0 /* EQL_B5_B - [15:0] */
3153#define WM8962_EQL_B5_B_WIDTH 16 /* EQL_B5_B - [15:0] */
3154
3155/*
3156 * R355 (0x163) - EQ21
3157 */
3158#define WM8962_EQL_B5_PG_MASK 0xFFFF /* EQL_B5_PG - [15:0] */
3159#define WM8962_EQL_B5_PG_SHIFT 0 /* EQL_B5_PG - [15:0] */
3160#define WM8962_EQL_B5_PG_WIDTH 16 /* EQL_B5_PG - [15:0] */
3161
3162/*
3163 * R356 (0x164) - EQ22
3164 */
3165#define WM8962_EQR_B1_GAIN_MASK 0xF800 /* EQR_B1_GAIN - [15:11] */
3166#define WM8962_EQR_B1_GAIN_SHIFT 11 /* EQR_B1_GAIN - [15:11] */
3167#define WM8962_EQR_B1_GAIN_WIDTH 5 /* EQR_B1_GAIN - [15:11] */
3168#define WM8962_EQR_B2_GAIN_MASK 0x07C0 /* EQR_B2_GAIN - [10:6] */
3169#define WM8962_EQR_B2_GAIN_SHIFT 6 /* EQR_B2_GAIN - [10:6] */
3170#define WM8962_EQR_B2_GAIN_WIDTH 5 /* EQR_B2_GAIN - [10:6] */
3171#define WM8962_EQR_B3_GAIN_MASK 0x003E /* EQR_B3_GAIN - [5:1] */
3172#define WM8962_EQR_B3_GAIN_SHIFT 1 /* EQR_B3_GAIN - [5:1] */
3173#define WM8962_EQR_B3_GAIN_WIDTH 5 /* EQR_B3_GAIN - [5:1] */
3174
3175/*
3176 * R357 (0x165) - EQ23
3177 */
3178#define WM8962_EQR_B4_GAIN_MASK 0xF800 /* EQR_B4_GAIN - [15:11] */
3179#define WM8962_EQR_B4_GAIN_SHIFT 11 /* EQR_B4_GAIN - [15:11] */
3180#define WM8962_EQR_B4_GAIN_WIDTH 5 /* EQR_B4_GAIN - [15:11] */
3181#define WM8962_EQR_B5_GAIN_MASK 0x07C0 /* EQR_B5_GAIN - [10:6] */
3182#define WM8962_EQR_B5_GAIN_SHIFT 6 /* EQR_B5_GAIN - [10:6] */
3183#define WM8962_EQR_B5_GAIN_WIDTH 5 /* EQR_B5_GAIN - [10:6] */
3184
3185/*
3186 * R358 (0x166) - EQ24
3187 */
3188#define WM8962_EQR_B1_A_MASK 0xFFFF /* EQR_B1_A - [15:0] */
3189#define WM8962_EQR_B1_A_SHIFT 0 /* EQR_B1_A - [15:0] */
3190#define WM8962_EQR_B1_A_WIDTH 16 /* EQR_B1_A - [15:0] */
3191
3192/*
3193 * R359 (0x167) - EQ25
3194 */
3195#define WM8962_EQR_B1_B_MASK 0xFFFF /* EQR_B1_B - [15:0] */
3196#define WM8962_EQR_B1_B_SHIFT 0 /* EQR_B1_B - [15:0] */
3197#define WM8962_EQR_B1_B_WIDTH 16 /* EQR_B1_B - [15:0] */
3198
3199/*
3200 * R360 (0x168) - EQ26
3201 */
3202#define WM8962_EQR_B1_PG_MASK 0xFFFF /* EQR_B1_PG - [15:0] */
3203#define WM8962_EQR_B1_PG_SHIFT 0 /* EQR_B1_PG - [15:0] */
3204#define WM8962_EQR_B1_PG_WIDTH 16 /* EQR_B1_PG - [15:0] */
3205
3206/*
3207 * R361 (0x169) - EQ27
3208 */
3209#define WM8962_EQR_B2_A_MASK 0xFFFF /* EQR_B2_A - [15:0] */
3210#define WM8962_EQR_B2_A_SHIFT 0 /* EQR_B2_A - [15:0] */
3211#define WM8962_EQR_B2_A_WIDTH 16 /* EQR_B2_A - [15:0] */
3212
3213/*
3214 * R362 (0x16A) - EQ28
3215 */
3216#define WM8962_EQR_B2_B_MASK 0xFFFF /* EQR_B2_B - [15:0] */
3217#define WM8962_EQR_B2_B_SHIFT 0 /* EQR_B2_B - [15:0] */
3218#define WM8962_EQR_B2_B_WIDTH 16 /* EQR_B2_B - [15:0] */
3219
3220/*
3221 * R363 (0x16B) - EQ29
3222 */
3223#define WM8962_EQR_B2_C_MASK 0xFFFF /* EQR_B2_C - [15:0] */
3224#define WM8962_EQR_B2_C_SHIFT 0 /* EQR_B2_C - [15:0] */
3225#define WM8962_EQR_B2_C_WIDTH 16 /* EQR_B2_C - [15:0] */
3226
3227/*
3228 * R364 (0x16C) - EQ30
3229 */
3230#define WM8962_EQR_B2_PG_MASK 0xFFFF /* EQR_B2_PG - [15:0] */
3231#define WM8962_EQR_B2_PG_SHIFT 0 /* EQR_B2_PG - [15:0] */
3232#define WM8962_EQR_B2_PG_WIDTH 16 /* EQR_B2_PG - [15:0] */
3233
3234/*
3235 * R365 (0x16D) - EQ31
3236 */
3237#define WM8962_EQR_B3_A_MASK 0xFFFF /* EQR_B3_A - [15:0] */
3238#define WM8962_EQR_B3_A_SHIFT 0 /* EQR_B3_A - [15:0] */
3239#define WM8962_EQR_B3_A_WIDTH 16 /* EQR_B3_A - [15:0] */
3240
3241/*
3242 * R366 (0x16E) - EQ32
3243 */
3244#define WM8962_EQR_B3_B_MASK 0xFFFF /* EQR_B3_B - [15:0] */
3245#define WM8962_EQR_B3_B_SHIFT 0 /* EQR_B3_B - [15:0] */
3246#define WM8962_EQR_B3_B_WIDTH 16 /* EQR_B3_B - [15:0] */
3247
3248/*
3249 * R367 (0x16F) - EQ33
3250 */
3251#define WM8962_EQR_B3_C_MASK 0xFFFF /* EQR_B3_C - [15:0] */
3252#define WM8962_EQR_B3_C_SHIFT 0 /* EQR_B3_C - [15:0] */
3253#define WM8962_EQR_B3_C_WIDTH 16 /* EQR_B3_C - [15:0] */
3254
3255/*
3256 * R368 (0x170) - EQ34
3257 */
3258#define WM8962_EQR_B3_PG_MASK 0xFFFF /* EQR_B3_PG - [15:0] */
3259#define WM8962_EQR_B3_PG_SHIFT 0 /* EQR_B3_PG - [15:0] */
3260#define WM8962_EQR_B3_PG_WIDTH 16 /* EQR_B3_PG - [15:0] */
3261
3262/*
3263 * R369 (0x171) - EQ35
3264 */
3265#define WM8962_EQR_B4_A_MASK 0xFFFF /* EQR_B4_A - [15:0] */
3266#define WM8962_EQR_B4_A_SHIFT 0 /* EQR_B4_A - [15:0] */
3267#define WM8962_EQR_B4_A_WIDTH 16 /* EQR_B4_A - [15:0] */
3268
3269/*
3270 * R370 (0x172) - EQ36
3271 */
3272#define WM8962_EQR_B4_B_MASK 0xFFFF /* EQR_B4_B - [15:0] */
3273#define WM8962_EQR_B4_B_SHIFT 0 /* EQR_B4_B - [15:0] */
3274#define WM8962_EQR_B4_B_WIDTH 16 /* EQR_B4_B - [15:0] */
3275
3276/*
3277 * R371 (0x173) - EQ37
3278 */
3279#define WM8962_EQR_B4_C_MASK 0xFFFF /* EQR_B4_C - [15:0] */
3280#define WM8962_EQR_B4_C_SHIFT 0 /* EQR_B4_C - [15:0] */
3281#define WM8962_EQR_B4_C_WIDTH 16 /* EQR_B4_C - [15:0] */
3282
3283/*
3284 * R372 (0x174) - EQ38
3285 */
3286#define WM8962_EQR_B4_PG_MASK 0xFFFF /* EQR_B4_PG - [15:0] */
3287#define WM8962_EQR_B4_PG_SHIFT 0 /* EQR_B4_PG - [15:0] */
3288#define WM8962_EQR_B4_PG_WIDTH 16 /* EQR_B4_PG - [15:0] */
3289
3290/*
3291 * R373 (0x175) - EQ39
3292 */
3293#define WM8962_EQR_B5_A_MASK 0xFFFF /* EQR_B5_A - [15:0] */
3294#define WM8962_EQR_B5_A_SHIFT 0 /* EQR_B5_A - [15:0] */
3295#define WM8962_EQR_B5_A_WIDTH 16 /* EQR_B5_A - [15:0] */
3296
3297/*
3298 * R374 (0x176) - EQ40
3299 */
3300#define WM8962_EQR_B5_B_MASK 0xFFFF /* EQR_B5_B - [15:0] */
3301#define WM8962_EQR_B5_B_SHIFT 0 /* EQR_B5_B - [15:0] */
3302#define WM8962_EQR_B5_B_WIDTH 16 /* EQR_B5_B - [15:0] */
3303
3304/*
3305 * R375 (0x177) - EQ41
3306 */
3307#define WM8962_EQR_B5_PG_MASK 0xFFFF /* EQR_B5_PG - [15:0] */
3308#define WM8962_EQR_B5_PG_SHIFT 0 /* EQR_B5_PG - [15:0] */
3309#define WM8962_EQR_B5_PG_WIDTH 16 /* EQR_B5_PG - [15:0] */
3310
3311/*
3312 * R513 (0x201) - GPIO 2
3313 */
3314#define WM8962_GP2_POL 0x0400 /* GP2_POL */
3315#define WM8962_GP2_POL_MASK 0x0400 /* GP2_POL */
3316#define WM8962_GP2_POL_SHIFT 10 /* GP2_POL */
3317#define WM8962_GP2_POL_WIDTH 1 /* GP2_POL */
3318#define WM8962_GP2_LVL 0x0040 /* GP2_LVL */
3319#define WM8962_GP2_LVL_MASK 0x0040 /* GP2_LVL */
3320#define WM8962_GP2_LVL_SHIFT 6 /* GP2_LVL */
3321#define WM8962_GP2_LVL_WIDTH 1 /* GP2_LVL */
3322#define WM8962_GP2_FN_MASK 0x001F /* GP2_FN - [4:0] */
3323#define WM8962_GP2_FN_SHIFT 0 /* GP2_FN - [4:0] */
3324#define WM8962_GP2_FN_WIDTH 5 /* GP2_FN - [4:0] */
3325
3326/*
3327 * R514 (0x202) - GPIO 3
3328 */
3329#define WM8962_GP3_POL 0x0400 /* GP3_POL */
3330#define WM8962_GP3_POL_MASK 0x0400 /* GP3_POL */
3331#define WM8962_GP3_POL_SHIFT 10 /* GP3_POL */
3332#define WM8962_GP3_POL_WIDTH 1 /* GP3_POL */
3333#define WM8962_GP3_LVL 0x0040 /* GP3_LVL */
3334#define WM8962_GP3_LVL_MASK 0x0040 /* GP3_LVL */
3335#define WM8962_GP3_LVL_SHIFT 6 /* GP3_LVL */
3336#define WM8962_GP3_LVL_WIDTH 1 /* GP3_LVL */
3337#define WM8962_GP3_FN_MASK 0x001F /* GP3_FN - [4:0] */
3338#define WM8962_GP3_FN_SHIFT 0 /* GP3_FN - [4:0] */
3339#define WM8962_GP3_FN_WIDTH 5 /* GP3_FN - [4:0] */
3340
3341/*
3342 * R516 (0x204) - GPIO 5
3343 */
3344#define WM8962_GP5_DIR 0x8000 /* GP5_DIR */
3345#define WM8962_GP5_DIR_MASK 0x8000 /* GP5_DIR */
3346#define WM8962_GP5_DIR_SHIFT 15 /* GP5_DIR */
3347#define WM8962_GP5_DIR_WIDTH 1 /* GP5_DIR */
3348#define WM8962_GP5_PU 0x4000 /* GP5_PU */
3349#define WM8962_GP5_PU_MASK 0x4000 /* GP5_PU */
3350#define WM8962_GP5_PU_SHIFT 14 /* GP5_PU */
3351#define WM8962_GP5_PU_WIDTH 1 /* GP5_PU */
3352#define WM8962_GP5_PD 0x2000 /* GP5_PD */
3353#define WM8962_GP5_PD_MASK 0x2000 /* GP5_PD */
3354#define WM8962_GP5_PD_SHIFT 13 /* GP5_PD */
3355#define WM8962_GP5_PD_WIDTH 1 /* GP5_PD */
3356#define WM8962_GP5_POL 0x0400 /* GP5_POL */
3357#define WM8962_GP5_POL_MASK 0x0400 /* GP5_POL */
3358#define WM8962_GP5_POL_SHIFT 10 /* GP5_POL */
3359#define WM8962_GP5_POL_WIDTH 1 /* GP5_POL */
3360#define WM8962_GP5_OP_CFG 0x0200 /* GP5_OP_CFG */
3361#define WM8962_GP5_OP_CFG_MASK 0x0200 /* GP5_OP_CFG */
3362#define WM8962_GP5_OP_CFG_SHIFT 9 /* GP5_OP_CFG */
3363#define WM8962_GP5_OP_CFG_WIDTH 1 /* GP5_OP_CFG */
3364#define WM8962_GP5_DB 0x0100 /* GP5_DB */
3365#define WM8962_GP5_DB_MASK 0x0100 /* GP5_DB */
3366#define WM8962_GP5_DB_SHIFT 8 /* GP5_DB */
3367#define WM8962_GP5_DB_WIDTH 1 /* GP5_DB */
3368#define WM8962_GP5_LVL 0x0040 /* GP5_LVL */
3369#define WM8962_GP5_LVL_MASK 0x0040 /* GP5_LVL */
3370#define WM8962_GP5_LVL_SHIFT 6 /* GP5_LVL */
3371#define WM8962_GP5_LVL_WIDTH 1 /* GP5_LVL */
3372#define WM8962_GP5_FN_MASK 0x001F /* GP5_FN - [4:0] */
3373#define WM8962_GP5_FN_SHIFT 0 /* GP5_FN - [4:0] */
3374#define WM8962_GP5_FN_WIDTH 5 /* GP5_FN - [4:0] */
3375
3376/*
3377 * R517 (0x205) - GPIO 6
3378 */
3379#define WM8962_GP6_DIR 0x8000 /* GP6_DIR */
3380#define WM8962_GP6_DIR_MASK 0x8000 /* GP6_DIR */
3381#define WM8962_GP6_DIR_SHIFT 15 /* GP6_DIR */
3382#define WM8962_GP6_DIR_WIDTH 1 /* GP6_DIR */
3383#define WM8962_GP6_PU 0x4000 /* GP6_PU */
3384#define WM8962_GP6_PU_MASK 0x4000 /* GP6_PU */
3385#define WM8962_GP6_PU_SHIFT 14 /* GP6_PU */
3386#define WM8962_GP6_PU_WIDTH 1 /* GP6_PU */
3387#define WM8962_GP6_PD 0x2000 /* GP6_PD */
3388#define WM8962_GP6_PD_MASK 0x2000 /* GP6_PD */
3389#define WM8962_GP6_PD_SHIFT 13 /* GP6_PD */
3390#define WM8962_GP6_PD_WIDTH 1 /* GP6_PD */
3391#define WM8962_GP6_POL 0x0400 /* GP6_POL */
3392#define WM8962_GP6_POL_MASK 0x0400 /* GP6_POL */
3393#define WM8962_GP6_POL_SHIFT 10 /* GP6_POL */
3394#define WM8962_GP6_POL_WIDTH 1 /* GP6_POL */
3395#define WM8962_GP6_OP_CFG 0x0200 /* GP6_OP_CFG */
3396#define WM8962_GP6_OP_CFG_MASK 0x0200 /* GP6_OP_CFG */
3397#define WM8962_GP6_OP_CFG_SHIFT 9 /* GP6_OP_CFG */
3398#define WM8962_GP6_OP_CFG_WIDTH 1 /* GP6_OP_CFG */
3399#define WM8962_GP6_DB 0x0100 /* GP6_DB */
3400#define WM8962_GP6_DB_MASK 0x0100 /* GP6_DB */
3401#define WM8962_GP6_DB_SHIFT 8 /* GP6_DB */
3402#define WM8962_GP6_DB_WIDTH 1 /* GP6_DB */
3403#define WM8962_GP6_LVL 0x0040 /* GP6_LVL */
3404#define WM8962_GP6_LVL_MASK 0x0040 /* GP6_LVL */
3405#define WM8962_GP6_LVL_SHIFT 6 /* GP6_LVL */
3406#define WM8962_GP6_LVL_WIDTH 1 /* GP6_LVL */
3407#define WM8962_GP6_FN_MASK 0x001F /* GP6_FN - [4:0] */
3408#define WM8962_GP6_FN_SHIFT 0 /* GP6_FN - [4:0] */
3409#define WM8962_GP6_FN_WIDTH 5 /* GP6_FN - [4:0] */
3410
3411/*
3412 * R560 (0x230) - Interrupt Status 1
3413 */
3414#define WM8962_GP6_EINT 0x0020 /* GP6_EINT */
3415#define WM8962_GP6_EINT_MASK 0x0020 /* GP6_EINT */
3416#define WM8962_GP6_EINT_SHIFT 5 /* GP6_EINT */
3417#define WM8962_GP6_EINT_WIDTH 1 /* GP6_EINT */
3418#define WM8962_GP5_EINT 0x0010 /* GP5_EINT */
3419#define WM8962_GP5_EINT_MASK 0x0010 /* GP5_EINT */
3420#define WM8962_GP5_EINT_SHIFT 4 /* GP5_EINT */
3421#define WM8962_GP5_EINT_WIDTH 1 /* GP5_EINT */
3422
3423/*
3424 * R561 (0x231) - Interrupt Status 2
3425 */
3426#define WM8962_MICSCD_EINT 0x8000 /* MICSCD_EINT */
3427#define WM8962_MICSCD_EINT_MASK 0x8000 /* MICSCD_EINT */
3428#define WM8962_MICSCD_EINT_SHIFT 15 /* MICSCD_EINT */
3429#define WM8962_MICSCD_EINT_WIDTH 1 /* MICSCD_EINT */
3430#define WM8962_MICD_EINT 0x4000 /* MICD_EINT */
3431#define WM8962_MICD_EINT_MASK 0x4000 /* MICD_EINT */
3432#define WM8962_MICD_EINT_SHIFT 14 /* MICD_EINT */
3433#define WM8962_MICD_EINT_WIDTH 1 /* MICD_EINT */
3434#define WM8962_FIFOS_ERR_EINT 0x2000 /* FIFOS_ERR_EINT */
3435#define WM8962_FIFOS_ERR_EINT_MASK 0x2000 /* FIFOS_ERR_EINT */
3436#define WM8962_FIFOS_ERR_EINT_SHIFT 13 /* FIFOS_ERR_EINT */
3437#define WM8962_FIFOS_ERR_EINT_WIDTH 1 /* FIFOS_ERR_EINT */
3438#define WM8962_ALC_LOCK_EINT 0x1000 /* ALC_LOCK_EINT */
3439#define WM8962_ALC_LOCK_EINT_MASK 0x1000 /* ALC_LOCK_EINT */
3440#define WM8962_ALC_LOCK_EINT_SHIFT 12 /* ALC_LOCK_EINT */
3441#define WM8962_ALC_LOCK_EINT_WIDTH 1 /* ALC_LOCK_EINT */
3442#define WM8962_ALC_THRESH_EINT 0x0800 /* ALC_THRESH_EINT */
3443#define WM8962_ALC_THRESH_EINT_MASK 0x0800 /* ALC_THRESH_EINT */
3444#define WM8962_ALC_THRESH_EINT_SHIFT 11 /* ALC_THRESH_EINT */
3445#define WM8962_ALC_THRESH_EINT_WIDTH 1 /* ALC_THRESH_EINT */
3446#define WM8962_ALC_SAT_EINT 0x0400 /* ALC_SAT_EINT */
3447#define WM8962_ALC_SAT_EINT_MASK 0x0400 /* ALC_SAT_EINT */
3448#define WM8962_ALC_SAT_EINT_SHIFT 10 /* ALC_SAT_EINT */
3449#define WM8962_ALC_SAT_EINT_WIDTH 1 /* ALC_SAT_EINT */
3450#define WM8962_ALC_PKOVR_EINT 0x0200 /* ALC_PKOVR_EINT */
3451#define WM8962_ALC_PKOVR_EINT_MASK 0x0200 /* ALC_PKOVR_EINT */
3452#define WM8962_ALC_PKOVR_EINT_SHIFT 9 /* ALC_PKOVR_EINT */
3453#define WM8962_ALC_PKOVR_EINT_WIDTH 1 /* ALC_PKOVR_EINT */
3454#define WM8962_ALC_NGATE_EINT 0x0100 /* ALC_NGATE_EINT */
3455#define WM8962_ALC_NGATE_EINT_MASK 0x0100 /* ALC_NGATE_EINT */
3456#define WM8962_ALC_NGATE_EINT_SHIFT 8 /* ALC_NGATE_EINT */
3457#define WM8962_ALC_NGATE_EINT_WIDTH 1 /* ALC_NGATE_EINT */
3458#define WM8962_WSEQ_DONE_EINT 0x0080 /* WSEQ_DONE_EINT */
3459#define WM8962_WSEQ_DONE_EINT_MASK 0x0080 /* WSEQ_DONE_EINT */
3460#define WM8962_WSEQ_DONE_EINT_SHIFT 7 /* WSEQ_DONE_EINT */
3461#define WM8962_WSEQ_DONE_EINT_WIDTH 1 /* WSEQ_DONE_EINT */
3462#define WM8962_DRC_ACTDET_EINT 0x0040 /* DRC_ACTDET_EINT */
3463#define WM8962_DRC_ACTDET_EINT_MASK 0x0040 /* DRC_ACTDET_EINT */
3464#define WM8962_DRC_ACTDET_EINT_SHIFT 6 /* DRC_ACTDET_EINT */
3465#define WM8962_DRC_ACTDET_EINT_WIDTH 1 /* DRC_ACTDET_EINT */
3466#define WM8962_FLL_LOCK_EINT 0x0020 /* FLL_LOCK_EINT */
3467#define WM8962_FLL_LOCK_EINT_MASK 0x0020 /* FLL_LOCK_EINT */
3468#define WM8962_FLL_LOCK_EINT_SHIFT 5 /* FLL_LOCK_EINT */
3469#define WM8962_FLL_LOCK_EINT_WIDTH 1 /* FLL_LOCK_EINT */
3470#define WM8962_PLL3_LOCK_EINT 0x0008 /* PLL3_LOCK_EINT */
3471#define WM8962_PLL3_LOCK_EINT_MASK 0x0008 /* PLL3_LOCK_EINT */
3472#define WM8962_PLL3_LOCK_EINT_SHIFT 3 /* PLL3_LOCK_EINT */
3473#define WM8962_PLL3_LOCK_EINT_WIDTH 1 /* PLL3_LOCK_EINT */
3474#define WM8962_PLL2_LOCK_EINT 0x0004 /* PLL2_LOCK_EINT */
3475#define WM8962_PLL2_LOCK_EINT_MASK 0x0004 /* PLL2_LOCK_EINT */
3476#define WM8962_PLL2_LOCK_EINT_SHIFT 2 /* PLL2_LOCK_EINT */
3477#define WM8962_PLL2_LOCK_EINT_WIDTH 1 /* PLL2_LOCK_EINT */
3478#define WM8962_TEMP_SHUT_EINT 0x0001 /* TEMP_SHUT_EINT */
3479#define WM8962_TEMP_SHUT_EINT_MASK 0x0001 /* TEMP_SHUT_EINT */
3480#define WM8962_TEMP_SHUT_EINT_SHIFT 0 /* TEMP_SHUT_EINT */
3481#define WM8962_TEMP_SHUT_EINT_WIDTH 1 /* TEMP_SHUT_EINT */
3482
3483/*
3484 * R568 (0x238) - Interrupt Status 1 Mask
3485 */
3486#define WM8962_IM_GP6_EINT 0x0020 /* IM_GP6_EINT */
3487#define WM8962_IM_GP6_EINT_MASK 0x0020 /* IM_GP6_EINT */
3488#define WM8962_IM_GP6_EINT_SHIFT 5 /* IM_GP6_EINT */
3489#define WM8962_IM_GP6_EINT_WIDTH 1 /* IM_GP6_EINT */
3490#define WM8962_IM_GP5_EINT 0x0010 /* IM_GP5_EINT */
3491#define WM8962_IM_GP5_EINT_MASK 0x0010 /* IM_GP5_EINT */
3492#define WM8962_IM_GP5_EINT_SHIFT 4 /* IM_GP5_EINT */
3493#define WM8962_IM_GP5_EINT_WIDTH 1 /* IM_GP5_EINT */
3494
3495/*
3496 * R569 (0x239) - Interrupt Status 2 Mask
3497 */
3498#define WM8962_IM_MICSCD_EINT 0x8000 /* IM_MICSCD_EINT */
3499#define WM8962_IM_MICSCD_EINT_MASK 0x8000 /* IM_MICSCD_EINT */
3500#define WM8962_IM_MICSCD_EINT_SHIFT 15 /* IM_MICSCD_EINT */
3501#define WM8962_IM_MICSCD_EINT_WIDTH 1 /* IM_MICSCD_EINT */
3502#define WM8962_IM_MICD_EINT 0x4000 /* IM_MICD_EINT */
3503#define WM8962_IM_MICD_EINT_MASK 0x4000 /* IM_MICD_EINT */
3504#define WM8962_IM_MICD_EINT_SHIFT 14 /* IM_MICD_EINT */
3505#define WM8962_IM_MICD_EINT_WIDTH 1 /* IM_MICD_EINT */
3506#define WM8962_IM_FIFOS_ERR_EINT 0x2000 /* IM_FIFOS_ERR_EINT */
3507#define WM8962_IM_FIFOS_ERR_EINT_MASK 0x2000 /* IM_FIFOS_ERR_EINT */
3508#define WM8962_IM_FIFOS_ERR_EINT_SHIFT 13 /* IM_FIFOS_ERR_EINT */
3509#define WM8962_IM_FIFOS_ERR_EINT_WIDTH 1 /* IM_FIFOS_ERR_EINT */
3510#define WM8962_IM_ALC_LOCK_EINT 0x1000 /* IM_ALC_LOCK_EINT */
3511#define WM8962_IM_ALC_LOCK_EINT_MASK 0x1000 /* IM_ALC_LOCK_EINT */
3512#define WM8962_IM_ALC_LOCK_EINT_SHIFT 12 /* IM_ALC_LOCK_EINT */
3513#define WM8962_IM_ALC_LOCK_EINT_WIDTH 1 /* IM_ALC_LOCK_EINT */
3514#define WM8962_IM_ALC_THRESH_EINT 0x0800 /* IM_ALC_THRESH_EINT */
3515#define WM8962_IM_ALC_THRESH_EINT_MASK 0x0800 /* IM_ALC_THRESH_EINT */
3516#define WM8962_IM_ALC_THRESH_EINT_SHIFT 11 /* IM_ALC_THRESH_EINT */
3517#define WM8962_IM_ALC_THRESH_EINT_WIDTH 1 /* IM_ALC_THRESH_EINT */
3518#define WM8962_IM_ALC_SAT_EINT 0x0400 /* IM_ALC_SAT_EINT */
3519#define WM8962_IM_ALC_SAT_EINT_MASK 0x0400 /* IM_ALC_SAT_EINT */
3520#define WM8962_IM_ALC_SAT_EINT_SHIFT 10 /* IM_ALC_SAT_EINT */
3521#define WM8962_IM_ALC_SAT_EINT_WIDTH 1 /* IM_ALC_SAT_EINT */
3522#define WM8962_IM_ALC_PKOVR_EINT 0x0200 /* IM_ALC_PKOVR_EINT */
3523#define WM8962_IM_ALC_PKOVR_EINT_MASK 0x0200 /* IM_ALC_PKOVR_EINT */
3524#define WM8962_IM_ALC_PKOVR_EINT_SHIFT 9 /* IM_ALC_PKOVR_EINT */
3525#define WM8962_IM_ALC_PKOVR_EINT_WIDTH 1 /* IM_ALC_PKOVR_EINT */
3526#define WM8962_IM_ALC_NGATE_EINT 0x0100 /* IM_ALC_NGATE_EINT */
3527#define WM8962_IM_ALC_NGATE_EINT_MASK 0x0100 /* IM_ALC_NGATE_EINT */
3528#define WM8962_IM_ALC_NGATE_EINT_SHIFT 8 /* IM_ALC_NGATE_EINT */
3529#define WM8962_IM_ALC_NGATE_EINT_WIDTH 1 /* IM_ALC_NGATE_EINT */
3530#define WM8962_IM_WSEQ_DONE_EINT 0x0080 /* IM_WSEQ_DONE_EINT */
3531#define WM8962_IM_WSEQ_DONE_EINT_MASK 0x0080 /* IM_WSEQ_DONE_EINT */
3532#define WM8962_IM_WSEQ_DONE_EINT_SHIFT 7 /* IM_WSEQ_DONE_EINT */
3533#define WM8962_IM_WSEQ_DONE_EINT_WIDTH 1 /* IM_WSEQ_DONE_EINT */
3534#define WM8962_IM_DRC_ACTDET_EINT 0x0040 /* IM_DRC_ACTDET_EINT */
3535#define WM8962_IM_DRC_ACTDET_EINT_MASK 0x0040 /* IM_DRC_ACTDET_EINT */
3536#define WM8962_IM_DRC_ACTDET_EINT_SHIFT 6 /* IM_DRC_ACTDET_EINT */
3537#define WM8962_IM_DRC_ACTDET_EINT_WIDTH 1 /* IM_DRC_ACTDET_EINT */
3538#define WM8962_IM_FLL_LOCK_EINT 0x0020 /* IM_FLL_LOCK_EINT */
3539#define WM8962_IM_FLL_LOCK_EINT_MASK 0x0020 /* IM_FLL_LOCK_EINT */
3540#define WM8962_IM_FLL_LOCK_EINT_SHIFT 5 /* IM_FLL_LOCK_EINT */
3541#define WM8962_IM_FLL_LOCK_EINT_WIDTH 1 /* IM_FLL_LOCK_EINT */
3542#define WM8962_IM_PLL3_LOCK_EINT 0x0008 /* IM_PLL3_LOCK_EINT */
3543#define WM8962_IM_PLL3_LOCK_EINT_MASK 0x0008 /* IM_PLL3_LOCK_EINT */
3544#define WM8962_IM_PLL3_LOCK_EINT_SHIFT 3 /* IM_PLL3_LOCK_EINT */
3545#define WM8962_IM_PLL3_LOCK_EINT_WIDTH 1 /* IM_PLL3_LOCK_EINT */
3546#define WM8962_IM_PLL2_LOCK_EINT 0x0004 /* IM_PLL2_LOCK_EINT */
3547#define WM8962_IM_PLL2_LOCK_EINT_MASK 0x0004 /* IM_PLL2_LOCK_EINT */
3548#define WM8962_IM_PLL2_LOCK_EINT_SHIFT 2 /* IM_PLL2_LOCK_EINT */
3549#define WM8962_IM_PLL2_LOCK_EINT_WIDTH 1 /* IM_PLL2_LOCK_EINT */
3550#define WM8962_IM_TEMP_SHUT_EINT 0x0001 /* IM_TEMP_SHUT_EINT */
3551#define WM8962_IM_TEMP_SHUT_EINT_MASK 0x0001 /* IM_TEMP_SHUT_EINT */
3552#define WM8962_IM_TEMP_SHUT_EINT_SHIFT 0 /* IM_TEMP_SHUT_EINT */
3553#define WM8962_IM_TEMP_SHUT_EINT_WIDTH 1 /* IM_TEMP_SHUT_EINT */
3554
3555/*
3556 * R576 (0x240) - Interrupt Control
3557 */
3558#define WM8962_IRQ_POL 0x0001 /* IRQ_POL */
3559#define WM8962_IRQ_POL_MASK 0x0001 /* IRQ_POL */
3560#define WM8962_IRQ_POL_SHIFT 0 /* IRQ_POL */
3561#define WM8962_IRQ_POL_WIDTH 1 /* IRQ_POL */
3562
3563/*
3564 * R584 (0x248) - IRQ Debounce
3565 */
3566#define WM8962_FLL_LOCK_DB 0x0020 /* FLL_LOCK_DB */
3567#define WM8962_FLL_LOCK_DB_MASK 0x0020 /* FLL_LOCK_DB */
3568#define WM8962_FLL_LOCK_DB_SHIFT 5 /* FLL_LOCK_DB */
3569#define WM8962_FLL_LOCK_DB_WIDTH 1 /* FLL_LOCK_DB */
3570#define WM8962_PLL3_LOCK_DB 0x0008 /* PLL3_LOCK_DB */
3571#define WM8962_PLL3_LOCK_DB_MASK 0x0008 /* PLL3_LOCK_DB */
3572#define WM8962_PLL3_LOCK_DB_SHIFT 3 /* PLL3_LOCK_DB */
3573#define WM8962_PLL3_LOCK_DB_WIDTH 1 /* PLL3_LOCK_DB */
3574#define WM8962_PLL2_LOCK_DB 0x0004 /* PLL2_LOCK_DB */
3575#define WM8962_PLL2_LOCK_DB_MASK 0x0004 /* PLL2_LOCK_DB */
3576#define WM8962_PLL2_LOCK_DB_SHIFT 2 /* PLL2_LOCK_DB */
3577#define WM8962_PLL2_LOCK_DB_WIDTH 1 /* PLL2_LOCK_DB */
3578#define WM8962_TEMP_SHUT_DB 0x0001 /* TEMP_SHUT_DB */
3579#define WM8962_TEMP_SHUT_DB_MASK 0x0001 /* TEMP_SHUT_DB */
3580#define WM8962_TEMP_SHUT_DB_SHIFT 0 /* TEMP_SHUT_DB */
3581#define WM8962_TEMP_SHUT_DB_WIDTH 1 /* TEMP_SHUT_DB */
3582
3583/*
3584 * R586 (0x24A) - MICINT Source Pol
3585 */
3586#define WM8962_MICSCD_IRQ_POL 0x8000 /* MICSCD_IRQ_POL */
3587#define WM8962_MICSCD_IRQ_POL_MASK 0x8000 /* MICSCD_IRQ_POL */
3588#define WM8962_MICSCD_IRQ_POL_SHIFT 15 /* MICSCD_IRQ_POL */
3589#define WM8962_MICSCD_IRQ_POL_WIDTH 1 /* MICSCD_IRQ_POL */
3590#define WM8962_MICD_IRQ_POL 0x4000 /* MICD_IRQ_POL */
3591#define WM8962_MICD_IRQ_POL_MASK 0x4000 /* MICD_IRQ_POL */
3592#define WM8962_MICD_IRQ_POL_SHIFT 14 /* MICD_IRQ_POL */
3593#define WM8962_MICD_IRQ_POL_WIDTH 1 /* MICD_IRQ_POL */
3594
3595/*
3596 * R768 (0x300) - DSP2 Power Management
3597 */
3598#define WM8962_DSP2_ENA 0x0001 /* DSP2_ENA */
3599#define WM8962_DSP2_ENA_MASK 0x0001 /* DSP2_ENA */
3600#define WM8962_DSP2_ENA_SHIFT 0 /* DSP2_ENA */
3601#define WM8962_DSP2_ENA_WIDTH 1 /* DSP2_ENA */
3602
3603/*
3604 * R1037 (0x40D) - DSP2_ExecControl
3605 */
3606#define WM8962_DSP2_STOPC 0x0020 /* DSP2_STOPC */
3607#define WM8962_DSP2_STOPC_MASK 0x0020 /* DSP2_STOPC */
3608#define WM8962_DSP2_STOPC_SHIFT 5 /* DSP2_STOPC */
3609#define WM8962_DSP2_STOPC_WIDTH 1 /* DSP2_STOPC */
3610#define WM8962_DSP2_STOPS 0x0010 /* DSP2_STOPS */
3611#define WM8962_DSP2_STOPS_MASK 0x0010 /* DSP2_STOPS */
3612#define WM8962_DSP2_STOPS_SHIFT 4 /* DSP2_STOPS */
3613#define WM8962_DSP2_STOPS_WIDTH 1 /* DSP2_STOPS */
3614#define WM8962_DSP2_STOPI 0x0008 /* DSP2_STOPI */
3615#define WM8962_DSP2_STOPI_MASK 0x0008 /* DSP2_STOPI */
3616#define WM8962_DSP2_STOPI_SHIFT 3 /* DSP2_STOPI */
3617#define WM8962_DSP2_STOPI_WIDTH 1 /* DSP2_STOPI */
3618#define WM8962_DSP2_STOP 0x0004 /* DSP2_STOP */
3619#define WM8962_DSP2_STOP_MASK 0x0004 /* DSP2_STOP */
3620#define WM8962_DSP2_STOP_SHIFT 2 /* DSP2_STOP */
3621#define WM8962_DSP2_STOP_WIDTH 1 /* DSP2_STOP */
3622#define WM8962_DSP2_RUNR 0x0002 /* DSP2_RUNR */
3623#define WM8962_DSP2_RUNR_MASK 0x0002 /* DSP2_RUNR */
3624#define WM8962_DSP2_RUNR_SHIFT 1 /* DSP2_RUNR */
3625#define WM8962_DSP2_RUNR_WIDTH 1 /* DSP2_RUNR */
3626#define WM8962_DSP2_RUN 0x0001 /* DSP2_RUN */
3627#define WM8962_DSP2_RUN_MASK 0x0001 /* DSP2_RUN */
3628#define WM8962_DSP2_RUN_SHIFT 0 /* DSP2_RUN */
3629#define WM8962_DSP2_RUN_WIDTH 1 /* DSP2_RUN */
3630
3631/*
3632 * R8192 (0x2000) - DSP2 Instruction RAM 0
3633 */
3634#define WM8962_DSP2_INSTR_RAM_1024_10_9_0_MASK 0x03FF /* DSP2_INSTR_RAM_1024_10_9_0 - [9:0] */
3635#define WM8962_DSP2_INSTR_RAM_1024_10_9_0_SHIFT 0 /* DSP2_INSTR_RAM_1024_10_9_0 - [9:0] */
3636#define WM8962_DSP2_INSTR_RAM_1024_10_9_0_WIDTH 10 /* DSP2_INSTR_RAM_1024_10_9_0 - [9:0] */
3637
3638/*
3639 * R9216 (0x2400) - DSP2 Address RAM 2
3640 */
3641#define WM8962_DSP2_ADDR_RAM_1024_38_37_32_MASK 0x003F /* DSP2_ADDR_RAM_1024_38_37_32 - [5:0] */
3642#define WM8962_DSP2_ADDR_RAM_1024_38_37_32_SHIFT 0 /* DSP2_ADDR_RAM_1024_38_37_32 - [5:0] */
3643#define WM8962_DSP2_ADDR_RAM_1024_38_37_32_WIDTH 6 /* DSP2_ADDR_RAM_1024_38_37_32 - [5:0] */
3644
3645/*
3646 * R9217 (0x2401) - DSP2 Address RAM 1
3647 */
3648#define WM8962_DSP2_ADDR_RAM_1024_38_31_16_MASK 0xFFFF /* DSP2_ADDR_RAM_1024_38_31_16 - [15:0] */
3649#define WM8962_DSP2_ADDR_RAM_1024_38_31_16_SHIFT 0 /* DSP2_ADDR_RAM_1024_38_31_16 - [15:0] */
3650#define WM8962_DSP2_ADDR_RAM_1024_38_31_16_WIDTH 16 /* DSP2_ADDR_RAM_1024_38_31_16 - [15:0] */
3651
3652/*
3653 * R9218 (0x2402) - DSP2 Address RAM 0
3654 */
3655#define WM8962_DSP2_ADDR_RAM_1024_38_15_0_MASK 0xFFFF /* DSP2_ADDR_RAM_1024_38_15_0 - [15:0] */
3656#define WM8962_DSP2_ADDR_RAM_1024_38_15_0_SHIFT 0 /* DSP2_ADDR_RAM_1024_38_15_0 - [15:0] */
3657#define WM8962_DSP2_ADDR_RAM_1024_38_15_0_WIDTH 16 /* DSP2_ADDR_RAM_1024_38_15_0 - [15:0] */
3658
3659/*
3660 * R12288 (0x3000) - DSP2 Data1 RAM 1
3661 */
3662#define WM8962_DSP2_DATA1_RAM_384_24_23_16_MASK 0x00FF /* DSP2_DATA1_RAM_384_24_23_16 - [7:0] */
3663#define WM8962_DSP2_DATA1_RAM_384_24_23_16_SHIFT 0 /* DSP2_DATA1_RAM_384_24_23_16 - [7:0] */
3664#define WM8962_DSP2_DATA1_RAM_384_24_23_16_WIDTH 8 /* DSP2_DATA1_RAM_384_24_23_16 - [7:0] */
3665
3666/*
3667 * R12289 (0x3001) - DSP2 Data1 RAM 0
3668 */
3669#define WM8962_DSP2_DATA1_RAM_384_24_15_0_MASK 0xFFFF /* DSP2_DATA1_RAM_384_24_15_0 - [15:0] */
3670#define WM8962_DSP2_DATA1_RAM_384_24_15_0_SHIFT 0 /* DSP2_DATA1_RAM_384_24_15_0 - [15:0] */
3671#define WM8962_DSP2_DATA1_RAM_384_24_15_0_WIDTH 16 /* DSP2_DATA1_RAM_384_24_15_0 - [15:0] */
3672
3673/*
3674 * R13312 (0x3400) - DSP2 Data2 RAM 1
3675 */
3676#define WM8962_DSP2_DATA2_RAM_384_24_23_16_MASK 0x00FF /* DSP2_DATA2_RAM_384_24_23_16 - [7:0] */
3677#define WM8962_DSP2_DATA2_RAM_384_24_23_16_SHIFT 0 /* DSP2_DATA2_RAM_384_24_23_16 - [7:0] */
3678#define WM8962_DSP2_DATA2_RAM_384_24_23_16_WIDTH 8 /* DSP2_DATA2_RAM_384_24_23_16 - [7:0] */
3679
3680/*
3681 * R13313 (0x3401) - DSP2 Data2 RAM 0
3682 */
3683#define WM8962_DSP2_DATA2_RAM_384_24_15_0_MASK 0xFFFF /* DSP2_DATA2_RAM_384_24_15_0 - [15:0] */
3684#define WM8962_DSP2_DATA2_RAM_384_24_15_0_SHIFT 0 /* DSP2_DATA2_RAM_384_24_15_0 - [15:0] */
3685#define WM8962_DSP2_DATA2_RAM_384_24_15_0_WIDTH 16 /* DSP2_DATA2_RAM_384_24_15_0 - [15:0] */
3686
3687/*
3688 * R14336 (0x3800) - DSP2 Data3 RAM 1
3689 */
3690#define WM8962_DSP2_DATA3_RAM_384_24_23_16_MASK 0x00FF /* DSP2_DATA3_RAM_384_24_23_16 - [7:0] */
3691#define WM8962_DSP2_DATA3_RAM_384_24_23_16_SHIFT 0 /* DSP2_DATA3_RAM_384_24_23_16 - [7:0] */
3692#define WM8962_DSP2_DATA3_RAM_384_24_23_16_WIDTH 8 /* DSP2_DATA3_RAM_384_24_23_16 - [7:0] */
3693
3694/*
3695 * R14337 (0x3801) - DSP2 Data3 RAM 0
3696 */
3697#define WM8962_DSP2_DATA3_RAM_384_24_15_0_MASK 0xFFFF /* DSP2_DATA3_RAM_384_24_15_0 - [15:0] */
3698#define WM8962_DSP2_DATA3_RAM_384_24_15_0_SHIFT 0 /* DSP2_DATA3_RAM_384_24_15_0 - [15:0] */
3699#define WM8962_DSP2_DATA3_RAM_384_24_15_0_WIDTH 16 /* DSP2_DATA3_RAM_384_24_15_0 - [15:0] */
3700
3701/*
3702 * R15360 (0x3C00) - DSP2 Coeff RAM 0
3703 */
3704#define WM8962_DSP2_CMAP_RAM_384_11_10_0_MASK 0x07FF /* DSP2_CMAP_RAM_384_11_10_0 - [10:0] */
3705#define WM8962_DSP2_CMAP_RAM_384_11_10_0_SHIFT 0 /* DSP2_CMAP_RAM_384_11_10_0 - [10:0] */
3706#define WM8962_DSP2_CMAP_RAM_384_11_10_0_WIDTH 11 /* DSP2_CMAP_RAM_384_11_10_0 - [10:0] */
3707
3708/*
3709 * R16384 (0x4000) - RETUNEADC_SHARED_COEFF_1
3710 */
3711#define WM8962_ADC_RETUNE_SCV 0x0080 /* ADC_RETUNE_SCV */
3712#define WM8962_ADC_RETUNE_SCV_MASK 0x0080 /* ADC_RETUNE_SCV */
3713#define WM8962_ADC_RETUNE_SCV_SHIFT 7 /* ADC_RETUNE_SCV */
3714#define WM8962_ADC_RETUNE_SCV_WIDTH 1 /* ADC_RETUNE_SCV */
3715#define WM8962_RETUNEADC_SHARED_COEFF_22_16_MASK 0x007F /* RETUNEADC_SHARED_COEFF_22_16 - [6:0] */
3716#define WM8962_RETUNEADC_SHARED_COEFF_22_16_SHIFT 0 /* RETUNEADC_SHARED_COEFF_22_16 - [6:0] */
3717#define WM8962_RETUNEADC_SHARED_COEFF_22_16_WIDTH 7 /* RETUNEADC_SHARED_COEFF_22_16 - [6:0] */
3718
3719/*
3720 * R16385 (0x4001) - RETUNEADC_SHARED_COEFF_0
3721 */
3722#define WM8962_RETUNEADC_SHARED_COEFF_15_00_MASK 0xFFFF /* RETUNEADC_SHARED_COEFF_15_00 - [15:0] */
3723#define WM8962_RETUNEADC_SHARED_COEFF_15_00_SHIFT 0 /* RETUNEADC_SHARED_COEFF_15_00 - [15:0] */
3724#define WM8962_RETUNEADC_SHARED_COEFF_15_00_WIDTH 16 /* RETUNEADC_SHARED_COEFF_15_00 - [15:0] */
3725
3726/*
3727 * R16386 (0x4002) - RETUNEDAC_SHARED_COEFF_1
3728 */
3729#define WM8962_DAC_RETUNE_SCV 0x0080 /* DAC_RETUNE_SCV */
3730#define WM8962_DAC_RETUNE_SCV_MASK 0x0080 /* DAC_RETUNE_SCV */
3731#define WM8962_DAC_RETUNE_SCV_SHIFT 7 /* DAC_RETUNE_SCV */
3732#define WM8962_DAC_RETUNE_SCV_WIDTH 1 /* DAC_RETUNE_SCV */
3733#define WM8962_RETUNEDAC_SHARED_COEFF_23_16_MASK 0x007F /* RETUNEDAC_SHARED_COEFF_23_16 - [6:0] */
3734#define WM8962_RETUNEDAC_SHARED_COEFF_23_16_SHIFT 0 /* RETUNEDAC_SHARED_COEFF_23_16 - [6:0] */
3735#define WM8962_RETUNEDAC_SHARED_COEFF_23_16_WIDTH 7 /* RETUNEDAC_SHARED_COEFF_23_16 - [6:0] */
3736
3737/*
3738 * R16387 (0x4003) - RETUNEDAC_SHARED_COEFF_0
3739 */
3740#define WM8962_RETUNEDAC_SHARED_COEFF_15_00_MASK 0xFFFF /* RETUNEDAC_SHARED_COEFF_15_00 - [15:0] */
3741#define WM8962_RETUNEDAC_SHARED_COEFF_15_00_SHIFT 0 /* RETUNEDAC_SHARED_COEFF_15_00 - [15:0] */
3742#define WM8962_RETUNEDAC_SHARED_COEFF_15_00_WIDTH 16 /* RETUNEDAC_SHARED_COEFF_15_00 - [15:0] */
3743
3744/*
3745 * R16388 (0x4004) - SOUNDSTAGE_ENABLES_1
3746 */
3747#define WM8962_SOUNDSTAGE_ENABLES_23_16_MASK 0x00FF /* SOUNDSTAGE_ENABLES_23_16 - [7:0] */
3748#define WM8962_SOUNDSTAGE_ENABLES_23_16_SHIFT 0 /* SOUNDSTAGE_ENABLES_23_16 - [7:0] */
3749#define WM8962_SOUNDSTAGE_ENABLES_23_16_WIDTH 8 /* SOUNDSTAGE_ENABLES_23_16 - [7:0] */
3750
3751/*
3752 * R16389 (0x4005) - SOUNDSTAGE_ENABLES_0
3753 */
3754#define WM8962_SOUNDSTAGE_ENABLES_15_06_MASK 0xFFC0 /* SOUNDSTAGE_ENABLES_15_06 - [15:6] */
3755#define WM8962_SOUNDSTAGE_ENABLES_15_06_SHIFT 6 /* SOUNDSTAGE_ENABLES_15_06 - [15:6] */
3756#define WM8962_SOUNDSTAGE_ENABLES_15_06_WIDTH 10 /* SOUNDSTAGE_ENABLES_15_06 - [15:6] */
3757#define WM8962_RTN_ADC_ENA 0x0020 /* RTN_ADC_ENA */
3758#define WM8962_RTN_ADC_ENA_MASK 0x0020 /* RTN_ADC_ENA */
3759#define WM8962_RTN_ADC_ENA_SHIFT 5 /* RTN_ADC_ENA */
3760#define WM8962_RTN_ADC_ENA_WIDTH 1 /* RTN_ADC_ENA */
3761#define WM8962_RTN_DAC_ENA 0x0010 /* RTN_DAC_ENA */
3762#define WM8962_RTN_DAC_ENA_MASK 0x0010 /* RTN_DAC_ENA */
3763#define WM8962_RTN_DAC_ENA_SHIFT 4 /* RTN_DAC_ENA */
3764#define WM8962_RTN_DAC_ENA_WIDTH 1 /* RTN_DAC_ENA */
3765#define WM8962_HDBASS_ENA 0x0008 /* HDBASS_ENA */
3766#define WM8962_HDBASS_ENA_MASK 0x0008 /* HDBASS_ENA */
3767#define WM8962_HDBASS_ENA_SHIFT 3 /* HDBASS_ENA */
3768#define WM8962_HDBASS_ENA_WIDTH 1 /* HDBASS_ENA */
3769#define WM8962_HPF2_ENA 0x0004 /* HPF2_ENA */
3770#define WM8962_HPF2_ENA_MASK 0x0004 /* HPF2_ENA */
3771#define WM8962_HPF2_ENA_SHIFT 2 /* HPF2_ENA */
3772#define WM8962_HPF2_ENA_WIDTH 1 /* HPF2_ENA */
3773#define WM8962_HPF1_ENA 0x0002 /* HPF1_ENA */
3774#define WM8962_HPF1_ENA_MASK 0x0002 /* HPF1_ENA */
3775#define WM8962_HPF1_ENA_SHIFT 1 /* HPF1_ENA */
3776#define WM8962_HPF1_ENA_WIDTH 1 /* HPF1_ENA */
3777#define WM8962_VSS_ENA 0x0001 /* VSS_ENA */
3778#define WM8962_VSS_ENA_MASK 0x0001 /* VSS_ENA */
3779#define WM8962_VSS_ENA_SHIFT 0 /* VSS_ENA */
3780#define WM8962_VSS_ENA_WIDTH 1 /* VSS_ENA */
3781
7711308a
MB
3782int wm8962_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack);
3783
9a76f1ff 3784#endif