ASoC: add support for TAS5805M digital amplifier
[sfrench/cifs-2.6.git] / sound / soc / codecs / wm5100.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * wm5100.h  --  WM5100 ALSA SoC Audio driver
4  *
5  * Copyright 2011 Wolfson Microelectronics plc
6  *
7  * Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
8  */
9
10 #ifndef WM5100_ASOC_H
11 #define WM5100_ASOC_H
12
13 #include <sound/soc.h>
14 #include <linux/regmap.h>
15
16 int wm5100_detect(struct snd_soc_component *component, struct snd_soc_jack *jack);
17
18 #define WM5100_CLK_AIF1     1
19 #define WM5100_CLK_AIF2     2
20 #define WM5100_CLK_AIF3     3
21 #define WM5100_CLK_SYSCLK   4
22 #define WM5100_CLK_ASYNCCLK 5
23 #define WM5100_CLK_32KHZ    6
24 #define WM5100_CLK_OPCLK    7
25
26 #define WM5100_CLKSRC_MCLK1    0
27 #define WM5100_CLKSRC_MCLK2    1
28 #define WM5100_CLKSRC_SYSCLK   2
29 #define WM5100_CLKSRC_FLL1     4
30 #define WM5100_CLKSRC_FLL2     5
31 #define WM5100_CLKSRC_AIF1BCLK 8
32 #define WM5100_CLKSRC_AIF2BCLK 9
33 #define WM5100_CLKSRC_AIF3BCLK 10
34 #define WM5100_CLKSRC_ASYNCCLK 0x100
35
36 #define WM5100_FLL1 1
37 #define WM5100_FLL2 2
38
39 #define WM5100_FLL_SRC_MCLK1    0x0
40 #define WM5100_FLL_SRC_MCLK2    0x1
41 #define WM5100_FLL_SRC_FLL1     0x4
42 #define WM5100_FLL_SRC_FLL2     0x5
43 #define WM5100_FLL_SRC_AIF1BCLK 0x8
44 #define WM5100_FLL_SRC_AIF2BCLK 0x9
45 #define WM5100_FLL_SRC_AIF3BCLK 0xa
46
47 /*
48  * Register values.
49  */
50 #define WM5100_SOFTWARE_RESET                   0x00
51 #define WM5100_DEVICE_REVISION                  0x01
52 #define WM5100_CTRL_IF_1                        0x10
53 #define WM5100_TONE_GENERATOR_1                 0x20
54 #define WM5100_PWM_DRIVE_1                      0x30
55 #define WM5100_PWM_DRIVE_2                      0x31
56 #define WM5100_PWM_DRIVE_3                      0x32
57 #define WM5100_CLOCKING_1                       0x100
58 #define WM5100_CLOCKING_3                       0x101
59 #define WM5100_CLOCKING_4                       0x102
60 #define WM5100_CLOCKING_5                       0x103
61 #define WM5100_CLOCKING_6                       0x104
62 #define WM5100_CLOCKING_7                       0x107
63 #define WM5100_CLOCKING_8                       0x108
64 #define WM5100_ASRC_ENABLE                      0x120
65 #define WM5100_ASRC_STATUS                      0x121
66 #define WM5100_ASRC_RATE1                       0x122
67 #define WM5100_ISRC_1_CTRL_1                    0x141
68 #define WM5100_ISRC_1_CTRL_2                    0x142
69 #define WM5100_ISRC_2_CTRL1                     0x143
70 #define WM5100_ISRC_2_CTRL_2                    0x144
71 #define WM5100_FLL1_CONTROL_1                   0x182
72 #define WM5100_FLL1_CONTROL_2                   0x183
73 #define WM5100_FLL1_CONTROL_3                   0x184
74 #define WM5100_FLL1_CONTROL_5                   0x186
75 #define WM5100_FLL1_CONTROL_6                   0x187
76 #define WM5100_FLL1_EFS_1                       0x188
77 #define WM5100_FLL2_CONTROL_1                   0x1A2
78 #define WM5100_FLL2_CONTROL_2                   0x1A3
79 #define WM5100_FLL2_CONTROL_3                   0x1A4
80 #define WM5100_FLL2_CONTROL_5                   0x1A6
81 #define WM5100_FLL2_CONTROL_6                   0x1A7
82 #define WM5100_FLL2_EFS_1                       0x1A8
83 #define WM5100_MIC_CHARGE_PUMP_1                0x200
84 #define WM5100_MIC_CHARGE_PUMP_2                0x201
85 #define WM5100_HP_CHARGE_PUMP_1                 0x202
86 #define WM5100_LDO1_CONTROL                     0x211
87 #define WM5100_MIC_BIAS_CTRL_1                  0x215
88 #define WM5100_MIC_BIAS_CTRL_2                  0x216
89 #define WM5100_MIC_BIAS_CTRL_3                  0x217
90 #define WM5100_ACCESSORY_DETECT_MODE_1          0x280
91 #define WM5100_HEADPHONE_DETECT_1               0x288
92 #define WM5100_HEADPHONE_DETECT_2               0x289
93 #define WM5100_MIC_DETECT_1                     0x290
94 #define WM5100_MIC_DETECT_2                     0x291
95 #define WM5100_MIC_DETECT_3                     0x292
96 #define WM5100_MISC_CONTROL                     0x2BB
97 #define WM5100_INPUT_ENABLES                    0x301
98 #define WM5100_INPUT_ENABLES_STATUS             0x302
99 #define WM5100_IN1L_CONTROL                     0x310
100 #define WM5100_IN1R_CONTROL                     0x311
101 #define WM5100_IN2L_CONTROL                     0x312
102 #define WM5100_IN2R_CONTROL                     0x313
103 #define WM5100_IN3L_CONTROL                     0x314
104 #define WM5100_IN3R_CONTROL                     0x315
105 #define WM5100_IN4L_CONTROL                     0x316
106 #define WM5100_IN4R_CONTROL                     0x317
107 #define WM5100_RXANC_SRC                        0x318
108 #define WM5100_INPUT_VOLUME_RAMP                0x319
109 #define WM5100_ADC_DIGITAL_VOLUME_1L            0x320
110 #define WM5100_ADC_DIGITAL_VOLUME_1R            0x321
111 #define WM5100_ADC_DIGITAL_VOLUME_2L            0x322
112 #define WM5100_ADC_DIGITAL_VOLUME_2R            0x323
113 #define WM5100_ADC_DIGITAL_VOLUME_3L            0x324
114 #define WM5100_ADC_DIGITAL_VOLUME_3R            0x325
115 #define WM5100_ADC_DIGITAL_VOLUME_4L            0x326
116 #define WM5100_ADC_DIGITAL_VOLUME_4R            0x327
117 #define WM5100_OUTPUT_ENABLES_2                 0x401
118 #define WM5100_OUTPUT_STATUS_1                  0x402
119 #define WM5100_OUTPUT_STATUS_2                  0x403
120 #define WM5100_CHANNEL_ENABLES_1                0x408
121 #define WM5100_OUT_VOLUME_1L                    0x410
122 #define WM5100_OUT_VOLUME_1R                    0x411
123 #define WM5100_DAC_VOLUME_LIMIT_1L              0x412
124 #define WM5100_DAC_VOLUME_LIMIT_1R              0x413
125 #define WM5100_OUT_VOLUME_2L                    0x414
126 #define WM5100_OUT_VOLUME_2R                    0x415
127 #define WM5100_DAC_VOLUME_LIMIT_2L              0x416
128 #define WM5100_DAC_VOLUME_LIMIT_2R              0x417
129 #define WM5100_OUT_VOLUME_3L                    0x418
130 #define WM5100_OUT_VOLUME_3R                    0x419
131 #define WM5100_DAC_VOLUME_LIMIT_3L              0x41A
132 #define WM5100_DAC_VOLUME_LIMIT_3R              0x41B
133 #define WM5100_OUT_VOLUME_4L                    0x41C
134 #define WM5100_OUT_VOLUME_4R                    0x41D
135 #define WM5100_DAC_VOLUME_LIMIT_5L              0x41E
136 #define WM5100_DAC_VOLUME_LIMIT_5R              0x41F
137 #define WM5100_DAC_VOLUME_LIMIT_6L              0x420
138 #define WM5100_DAC_VOLUME_LIMIT_6R              0x421
139 #define WM5100_DAC_AEC_CONTROL_1                0x440
140 #define WM5100_OUTPUT_VOLUME_RAMP               0x441
141 #define WM5100_DAC_DIGITAL_VOLUME_1L            0x480
142 #define WM5100_DAC_DIGITAL_VOLUME_1R            0x481
143 #define WM5100_DAC_DIGITAL_VOLUME_2L            0x482
144 #define WM5100_DAC_DIGITAL_VOLUME_2R            0x483
145 #define WM5100_DAC_DIGITAL_VOLUME_3L            0x484
146 #define WM5100_DAC_DIGITAL_VOLUME_3R            0x485
147 #define WM5100_DAC_DIGITAL_VOLUME_4L            0x486
148 #define WM5100_DAC_DIGITAL_VOLUME_4R            0x487
149 #define WM5100_DAC_DIGITAL_VOLUME_5L            0x488
150 #define WM5100_DAC_DIGITAL_VOLUME_5R            0x489
151 #define WM5100_DAC_DIGITAL_VOLUME_6L            0x48A
152 #define WM5100_DAC_DIGITAL_VOLUME_6R            0x48B
153 #define WM5100_PDM_SPK1_CTRL_1                  0x4C0
154 #define WM5100_PDM_SPK1_CTRL_2                  0x4C1
155 #define WM5100_PDM_SPK2_CTRL_1                  0x4C2
156 #define WM5100_PDM_SPK2_CTRL_2                  0x4C3
157 #define WM5100_AUDIO_IF_1_1                     0x500
158 #define WM5100_AUDIO_IF_1_2                     0x501
159 #define WM5100_AUDIO_IF_1_3                     0x502
160 #define WM5100_AUDIO_IF_1_4                     0x503
161 #define WM5100_AUDIO_IF_1_5                     0x504
162 #define WM5100_AUDIO_IF_1_6                     0x505
163 #define WM5100_AUDIO_IF_1_7                     0x506
164 #define WM5100_AUDIO_IF_1_8                     0x507
165 #define WM5100_AUDIO_IF_1_9                     0x508
166 #define WM5100_AUDIO_IF_1_10                    0x509
167 #define WM5100_AUDIO_IF_1_11                    0x50A
168 #define WM5100_AUDIO_IF_1_12                    0x50B
169 #define WM5100_AUDIO_IF_1_13                    0x50C
170 #define WM5100_AUDIO_IF_1_14                    0x50D
171 #define WM5100_AUDIO_IF_1_15                    0x50E
172 #define WM5100_AUDIO_IF_1_16                    0x50F
173 #define WM5100_AUDIO_IF_1_17                    0x510
174 #define WM5100_AUDIO_IF_1_18                    0x511
175 #define WM5100_AUDIO_IF_1_19                    0x512
176 #define WM5100_AUDIO_IF_1_20                    0x513
177 #define WM5100_AUDIO_IF_1_21                    0x514
178 #define WM5100_AUDIO_IF_1_22                    0x515
179 #define WM5100_AUDIO_IF_1_23                    0x516
180 #define WM5100_AUDIO_IF_1_24                    0x517
181 #define WM5100_AUDIO_IF_1_25                    0x518
182 #define WM5100_AUDIO_IF_1_26                    0x519
183 #define WM5100_AUDIO_IF_1_27                    0x51A
184 #define WM5100_AUDIO_IF_2_1                     0x540
185 #define WM5100_AUDIO_IF_2_2                     0x541
186 #define WM5100_AUDIO_IF_2_3                     0x542
187 #define WM5100_AUDIO_IF_2_4                     0x543
188 #define WM5100_AUDIO_IF_2_5                     0x544
189 #define WM5100_AUDIO_IF_2_6                     0x545
190 #define WM5100_AUDIO_IF_2_7                     0x546
191 #define WM5100_AUDIO_IF_2_8                     0x547
192 #define WM5100_AUDIO_IF_2_9                     0x548
193 #define WM5100_AUDIO_IF_2_10                    0x549
194 #define WM5100_AUDIO_IF_2_11                    0x54A
195 #define WM5100_AUDIO_IF_2_18                    0x551
196 #define WM5100_AUDIO_IF_2_19                    0x552
197 #define WM5100_AUDIO_IF_2_26                    0x559
198 #define WM5100_AUDIO_IF_2_27                    0x55A
199 #define WM5100_AUDIO_IF_3_1                     0x580
200 #define WM5100_AUDIO_IF_3_2                     0x581
201 #define WM5100_AUDIO_IF_3_3                     0x582
202 #define WM5100_AUDIO_IF_3_4                     0x583
203 #define WM5100_AUDIO_IF_3_5                     0x584
204 #define WM5100_AUDIO_IF_3_6                     0x585
205 #define WM5100_AUDIO_IF_3_7                     0x586
206 #define WM5100_AUDIO_IF_3_8                     0x587
207 #define WM5100_AUDIO_IF_3_9                     0x588
208 #define WM5100_AUDIO_IF_3_10                    0x589
209 #define WM5100_AUDIO_IF_3_11                    0x58A
210 #define WM5100_AUDIO_IF_3_18                    0x591
211 #define WM5100_AUDIO_IF_3_19                    0x592
212 #define WM5100_AUDIO_IF_3_26                    0x599
213 #define WM5100_AUDIO_IF_3_27                    0x59A
214 #define WM5100_PWM1MIX_INPUT_1_SOURCE           0x640
215 #define WM5100_PWM1MIX_INPUT_1_VOLUME           0x641
216 #define WM5100_PWM1MIX_INPUT_2_SOURCE           0x642
217 #define WM5100_PWM1MIX_INPUT_2_VOLUME           0x643
218 #define WM5100_PWM1MIX_INPUT_3_SOURCE           0x644
219 #define WM5100_PWM1MIX_INPUT_3_VOLUME           0x645
220 #define WM5100_PWM1MIX_INPUT_4_SOURCE           0x646
221 #define WM5100_PWM1MIX_INPUT_4_VOLUME           0x647
222 #define WM5100_PWM2MIX_INPUT_1_SOURCE           0x648
223 #define WM5100_PWM2MIX_INPUT_1_VOLUME           0x649
224 #define WM5100_PWM2MIX_INPUT_2_SOURCE           0x64A
225 #define WM5100_PWM2MIX_INPUT_2_VOLUME           0x64B
226 #define WM5100_PWM2MIX_INPUT_3_SOURCE           0x64C
227 #define WM5100_PWM2MIX_INPUT_3_VOLUME           0x64D
228 #define WM5100_PWM2MIX_INPUT_4_SOURCE           0x64E
229 #define WM5100_PWM2MIX_INPUT_4_VOLUME           0x64F
230 #define WM5100_OUT1LMIX_INPUT_1_SOURCE          0x680
231 #define WM5100_OUT1LMIX_INPUT_1_VOLUME          0x681
232 #define WM5100_OUT1LMIX_INPUT_2_SOURCE          0x682
233 #define WM5100_OUT1LMIX_INPUT_2_VOLUME          0x683
234 #define WM5100_OUT1LMIX_INPUT_3_SOURCE          0x684
235 #define WM5100_OUT1LMIX_INPUT_3_VOLUME          0x685
236 #define WM5100_OUT1LMIX_INPUT_4_SOURCE          0x686
237 #define WM5100_OUT1LMIX_INPUT_4_VOLUME          0x687
238 #define WM5100_OUT1RMIX_INPUT_1_SOURCE          0x688
239 #define WM5100_OUT1RMIX_INPUT_1_VOLUME          0x689
240 #define WM5100_OUT1RMIX_INPUT_2_SOURCE          0x68A
241 #define WM5100_OUT1RMIX_INPUT_2_VOLUME          0x68B
242 #define WM5100_OUT1RMIX_INPUT_3_SOURCE          0x68C
243 #define WM5100_OUT1RMIX_INPUT_3_VOLUME          0x68D
244 #define WM5100_OUT1RMIX_INPUT_4_SOURCE          0x68E
245 #define WM5100_OUT1RMIX_INPUT_4_VOLUME          0x68F
246 #define WM5100_OUT2LMIX_INPUT_1_SOURCE          0x690
247 #define WM5100_OUT2LMIX_INPUT_1_VOLUME          0x691
248 #define WM5100_OUT2LMIX_INPUT_2_SOURCE          0x692
249 #define WM5100_OUT2LMIX_INPUT_2_VOLUME          0x693
250 #define WM5100_OUT2LMIX_INPUT_3_SOURCE          0x694
251 #define WM5100_OUT2LMIX_INPUT_3_VOLUME          0x695
252 #define WM5100_OUT2LMIX_INPUT_4_SOURCE          0x696
253 #define WM5100_OUT2LMIX_INPUT_4_VOLUME          0x697
254 #define WM5100_OUT2RMIX_INPUT_1_SOURCE          0x698
255 #define WM5100_OUT2RMIX_INPUT_1_VOLUME          0x699
256 #define WM5100_OUT2RMIX_INPUT_2_SOURCE          0x69A
257 #define WM5100_OUT2RMIX_INPUT_2_VOLUME          0x69B
258 #define WM5100_OUT2RMIX_INPUT_3_SOURCE          0x69C
259 #define WM5100_OUT2RMIX_INPUT_3_VOLUME          0x69D
260 #define WM5100_OUT2RMIX_INPUT_4_SOURCE          0x69E
261 #define WM5100_OUT2RMIX_INPUT_4_VOLUME          0x69F
262 #define WM5100_OUT3LMIX_INPUT_1_SOURCE          0x6A0
263 #define WM5100_OUT3LMIX_INPUT_1_VOLUME          0x6A1
264 #define WM5100_OUT3LMIX_INPUT_2_SOURCE          0x6A2
265 #define WM5100_OUT3LMIX_INPUT_2_VOLUME          0x6A3
266 #define WM5100_OUT3LMIX_INPUT_3_SOURCE          0x6A4
267 #define WM5100_OUT3LMIX_INPUT_3_VOLUME          0x6A5
268 #define WM5100_OUT3LMIX_INPUT_4_SOURCE          0x6A6
269 #define WM5100_OUT3LMIX_INPUT_4_VOLUME          0x6A7
270 #define WM5100_OUT3RMIX_INPUT_1_SOURCE          0x6A8
271 #define WM5100_OUT3RMIX_INPUT_1_VOLUME          0x6A9
272 #define WM5100_OUT3RMIX_INPUT_2_SOURCE          0x6AA
273 #define WM5100_OUT3RMIX_INPUT_2_VOLUME          0x6AB
274 #define WM5100_OUT3RMIX_INPUT_3_SOURCE          0x6AC
275 #define WM5100_OUT3RMIX_INPUT_3_VOLUME          0x6AD
276 #define WM5100_OUT3RMIX_INPUT_4_SOURCE          0x6AE
277 #define WM5100_OUT3RMIX_INPUT_4_VOLUME          0x6AF
278 #define WM5100_OUT4LMIX_INPUT_1_SOURCE          0x6B0
279 #define WM5100_OUT4LMIX_INPUT_1_VOLUME          0x6B1
280 #define WM5100_OUT4LMIX_INPUT_2_SOURCE          0x6B2
281 #define WM5100_OUT4LMIX_INPUT_2_VOLUME          0x6B3
282 #define WM5100_OUT4LMIX_INPUT_3_SOURCE          0x6B4
283 #define WM5100_OUT4LMIX_INPUT_3_VOLUME          0x6B5
284 #define WM5100_OUT4LMIX_INPUT_4_SOURCE          0x6B6
285 #define WM5100_OUT4LMIX_INPUT_4_VOLUME          0x6B7
286 #define WM5100_OUT4RMIX_INPUT_1_SOURCE          0x6B8
287 #define WM5100_OUT4RMIX_INPUT_1_VOLUME          0x6B9
288 #define WM5100_OUT4RMIX_INPUT_2_SOURCE          0x6BA
289 #define WM5100_OUT4RMIX_INPUT_2_VOLUME          0x6BB
290 #define WM5100_OUT4RMIX_INPUT_3_SOURCE          0x6BC
291 #define WM5100_OUT4RMIX_INPUT_3_VOLUME          0x6BD
292 #define WM5100_OUT4RMIX_INPUT_4_SOURCE          0x6BE
293 #define WM5100_OUT4RMIX_INPUT_4_VOLUME          0x6BF
294 #define WM5100_OUT5LMIX_INPUT_1_SOURCE          0x6C0
295 #define WM5100_OUT5LMIX_INPUT_1_VOLUME          0x6C1
296 #define WM5100_OUT5LMIX_INPUT_2_SOURCE          0x6C2
297 #define WM5100_OUT5LMIX_INPUT_2_VOLUME          0x6C3
298 #define WM5100_OUT5LMIX_INPUT_3_SOURCE          0x6C4
299 #define WM5100_OUT5LMIX_INPUT_3_VOLUME          0x6C5
300 #define WM5100_OUT5LMIX_INPUT_4_SOURCE          0x6C6
301 #define WM5100_OUT5LMIX_INPUT_4_VOLUME          0x6C7
302 #define WM5100_OUT5RMIX_INPUT_1_SOURCE          0x6C8
303 #define WM5100_OUT5RMIX_INPUT_1_VOLUME          0x6C9
304 #define WM5100_OUT5RMIX_INPUT_2_SOURCE          0x6CA
305 #define WM5100_OUT5RMIX_INPUT_2_VOLUME          0x6CB
306 #define WM5100_OUT5RMIX_INPUT_3_SOURCE          0x6CC
307 #define WM5100_OUT5RMIX_INPUT_3_VOLUME          0x6CD
308 #define WM5100_OUT5RMIX_INPUT_4_SOURCE          0x6CE
309 #define WM5100_OUT5RMIX_INPUT_4_VOLUME          0x6CF
310 #define WM5100_OUT6LMIX_INPUT_1_SOURCE          0x6D0
311 #define WM5100_OUT6LMIX_INPUT_1_VOLUME          0x6D1
312 #define WM5100_OUT6LMIX_INPUT_2_SOURCE          0x6D2
313 #define WM5100_OUT6LMIX_INPUT_2_VOLUME          0x6D3
314 #define WM5100_OUT6LMIX_INPUT_3_SOURCE          0x6D4
315 #define WM5100_OUT6LMIX_INPUT_3_VOLUME          0x6D5
316 #define WM5100_OUT6LMIX_INPUT_4_SOURCE          0x6D6
317 #define WM5100_OUT6LMIX_INPUT_4_VOLUME          0x6D7
318 #define WM5100_OUT6RMIX_INPUT_1_SOURCE          0x6D8
319 #define WM5100_OUT6RMIX_INPUT_1_VOLUME          0x6D9
320 #define WM5100_OUT6RMIX_INPUT_2_SOURCE          0x6DA
321 #define WM5100_OUT6RMIX_INPUT_2_VOLUME          0x6DB
322 #define WM5100_OUT6RMIX_INPUT_3_SOURCE          0x6DC
323 #define WM5100_OUT6RMIX_INPUT_3_VOLUME          0x6DD
324 #define WM5100_OUT6RMIX_INPUT_4_SOURCE          0x6DE
325 #define WM5100_OUT6RMIX_INPUT_4_VOLUME          0x6DF
326 #define WM5100_AIF1TX1MIX_INPUT_1_SOURCE        0x700
327 #define WM5100_AIF1TX1MIX_INPUT_1_VOLUME        0x701
328 #define WM5100_AIF1TX1MIX_INPUT_2_SOURCE        0x702
329 #define WM5100_AIF1TX1MIX_INPUT_2_VOLUME        0x703
330 #define WM5100_AIF1TX1MIX_INPUT_3_SOURCE        0x704
331 #define WM5100_AIF1TX1MIX_INPUT_3_VOLUME        0x705
332 #define WM5100_AIF1TX1MIX_INPUT_4_SOURCE        0x706
333 #define WM5100_AIF1TX1MIX_INPUT_4_VOLUME        0x707
334 #define WM5100_AIF1TX2MIX_INPUT_1_SOURCE        0x708
335 #define WM5100_AIF1TX2MIX_INPUT_1_VOLUME        0x709
336 #define WM5100_AIF1TX2MIX_INPUT_2_SOURCE        0x70A
337 #define WM5100_AIF1TX2MIX_INPUT_2_VOLUME        0x70B
338 #define WM5100_AIF1TX2MIX_INPUT_3_SOURCE        0x70C
339 #define WM5100_AIF1TX2MIX_INPUT_3_VOLUME        0x70D
340 #define WM5100_AIF1TX2MIX_INPUT_4_SOURCE        0x70E
341 #define WM5100_AIF1TX2MIX_INPUT_4_VOLUME        0x70F
342 #define WM5100_AIF1TX3MIX_INPUT_1_SOURCE        0x710
343 #define WM5100_AIF1TX3MIX_INPUT_1_VOLUME        0x711
344 #define WM5100_AIF1TX3MIX_INPUT_2_SOURCE        0x712
345 #define WM5100_AIF1TX3MIX_INPUT_2_VOLUME        0x713
346 #define WM5100_AIF1TX3MIX_INPUT_3_SOURCE        0x714
347 #define WM5100_AIF1TX3MIX_INPUT_3_VOLUME        0x715
348 #define WM5100_AIF1TX3MIX_INPUT_4_SOURCE        0x716
349 #define WM5100_AIF1TX3MIX_INPUT_4_VOLUME        0x717
350 #define WM5100_AIF1TX4MIX_INPUT_1_SOURCE        0x718
351 #define WM5100_AIF1TX4MIX_INPUT_1_VOLUME        0x719
352 #define WM5100_AIF1TX4MIX_INPUT_2_SOURCE        0x71A
353 #define WM5100_AIF1TX4MIX_INPUT_2_VOLUME        0x71B
354 #define WM5100_AIF1TX4MIX_INPUT_3_SOURCE        0x71C
355 #define WM5100_AIF1TX4MIX_INPUT_3_VOLUME        0x71D
356 #define WM5100_AIF1TX4MIX_INPUT_4_SOURCE        0x71E
357 #define WM5100_AIF1TX4MIX_INPUT_4_VOLUME        0x71F
358 #define WM5100_AIF1TX5MIX_INPUT_1_SOURCE        0x720
359 #define WM5100_AIF1TX5MIX_INPUT_1_VOLUME        0x721
360 #define WM5100_AIF1TX5MIX_INPUT_2_SOURCE        0x722
361 #define WM5100_AIF1TX5MIX_INPUT_2_VOLUME        0x723
362 #define WM5100_AIF1TX5MIX_INPUT_3_SOURCE        0x724
363 #define WM5100_AIF1TX5MIX_INPUT_3_VOLUME        0x725
364 #define WM5100_AIF1TX5MIX_INPUT_4_SOURCE        0x726
365 #define WM5100_AIF1TX5MIX_INPUT_4_VOLUME        0x727
366 #define WM5100_AIF1TX6MIX_INPUT_1_SOURCE        0x728
367 #define WM5100_AIF1TX6MIX_INPUT_1_VOLUME        0x729
368 #define WM5100_AIF1TX6MIX_INPUT_2_SOURCE        0x72A
369 #define WM5100_AIF1TX6MIX_INPUT_2_VOLUME        0x72B
370 #define WM5100_AIF1TX6MIX_INPUT_3_SOURCE        0x72C
371 #define WM5100_AIF1TX6MIX_INPUT_3_VOLUME        0x72D
372 #define WM5100_AIF1TX6MIX_INPUT_4_SOURCE        0x72E
373 #define WM5100_AIF1TX6MIX_INPUT_4_VOLUME        0x72F
374 #define WM5100_AIF1TX7MIX_INPUT_1_SOURCE        0x730
375 #define WM5100_AIF1TX7MIX_INPUT_1_VOLUME        0x731
376 #define WM5100_AIF1TX7MIX_INPUT_2_SOURCE        0x732
377 #define WM5100_AIF1TX7MIX_INPUT_2_VOLUME        0x733
378 #define WM5100_AIF1TX7MIX_INPUT_3_SOURCE        0x734
379 #define WM5100_AIF1TX7MIX_INPUT_3_VOLUME        0x735
380 #define WM5100_AIF1TX7MIX_INPUT_4_SOURCE        0x736
381 #define WM5100_AIF1TX7MIX_INPUT_4_VOLUME        0x737
382 #define WM5100_AIF1TX8MIX_INPUT_1_SOURCE        0x738
383 #define WM5100_AIF1TX8MIX_INPUT_1_VOLUME        0x739
384 #define WM5100_AIF1TX8MIX_INPUT_2_SOURCE        0x73A
385 #define WM5100_AIF1TX8MIX_INPUT_2_VOLUME        0x73B
386 #define WM5100_AIF1TX8MIX_INPUT_3_SOURCE        0x73C
387 #define WM5100_AIF1TX8MIX_INPUT_3_VOLUME        0x73D
388 #define WM5100_AIF1TX8MIX_INPUT_4_SOURCE        0x73E
389 #define WM5100_AIF1TX8MIX_INPUT_4_VOLUME        0x73F
390 #define WM5100_AIF2TX1MIX_INPUT_1_SOURCE        0x740
391 #define WM5100_AIF2TX1MIX_INPUT_1_VOLUME        0x741
392 #define WM5100_AIF2TX1MIX_INPUT_2_SOURCE        0x742
393 #define WM5100_AIF2TX1MIX_INPUT_2_VOLUME        0x743
394 #define WM5100_AIF2TX1MIX_INPUT_3_SOURCE        0x744
395 #define WM5100_AIF2TX1MIX_INPUT_3_VOLUME        0x745
396 #define WM5100_AIF2TX1MIX_INPUT_4_SOURCE        0x746
397 #define WM5100_AIF2TX1MIX_INPUT_4_VOLUME        0x747
398 #define WM5100_AIF2TX2MIX_INPUT_1_SOURCE        0x748
399 #define WM5100_AIF2TX2MIX_INPUT_1_VOLUME        0x749
400 #define WM5100_AIF2TX2MIX_INPUT_2_SOURCE        0x74A
401 #define WM5100_AIF2TX2MIX_INPUT_2_VOLUME        0x74B
402 #define WM5100_AIF2TX2MIX_INPUT_3_SOURCE        0x74C
403 #define WM5100_AIF2TX2MIX_INPUT_3_VOLUME        0x74D
404 #define WM5100_AIF2TX2MIX_INPUT_4_SOURCE        0x74E
405 #define WM5100_AIF2TX2MIX_INPUT_4_VOLUME        0x74F
406 #define WM5100_AIF3TX1MIX_INPUT_1_SOURCE        0x780
407 #define WM5100_AIF3TX1MIX_INPUT_1_VOLUME        0x781
408 #define WM5100_AIF3TX1MIX_INPUT_2_SOURCE        0x782
409 #define WM5100_AIF3TX1MIX_INPUT_2_VOLUME        0x783
410 #define WM5100_AIF3TX1MIX_INPUT_3_SOURCE        0x784
411 #define WM5100_AIF3TX1MIX_INPUT_3_VOLUME        0x785
412 #define WM5100_AIF3TX1MIX_INPUT_4_SOURCE        0x786
413 #define WM5100_AIF3TX1MIX_INPUT_4_VOLUME        0x787
414 #define WM5100_AIF3TX2MIX_INPUT_1_SOURCE        0x788
415 #define WM5100_AIF3TX2MIX_INPUT_1_VOLUME        0x789
416 #define WM5100_AIF3TX2MIX_INPUT_2_SOURCE        0x78A
417 #define WM5100_AIF3TX2MIX_INPUT_2_VOLUME        0x78B
418 #define WM5100_AIF3TX2MIX_INPUT_3_SOURCE        0x78C
419 #define WM5100_AIF3TX2MIX_INPUT_3_VOLUME        0x78D
420 #define WM5100_AIF3TX2MIX_INPUT_4_SOURCE        0x78E
421 #define WM5100_AIF3TX2MIX_INPUT_4_VOLUME        0x78F
422 #define WM5100_EQ1MIX_INPUT_1_SOURCE            0x880
423 #define WM5100_EQ1MIX_INPUT_1_VOLUME            0x881
424 #define WM5100_EQ1MIX_INPUT_2_SOURCE            0x882
425 #define WM5100_EQ1MIX_INPUT_2_VOLUME            0x883
426 #define WM5100_EQ1MIX_INPUT_3_SOURCE            0x884
427 #define WM5100_EQ1MIX_INPUT_3_VOLUME            0x885
428 #define WM5100_EQ1MIX_INPUT_4_SOURCE            0x886
429 #define WM5100_EQ1MIX_INPUT_4_VOLUME            0x887
430 #define WM5100_EQ2MIX_INPUT_1_SOURCE            0x888
431 #define WM5100_EQ2MIX_INPUT_1_VOLUME            0x889
432 #define WM5100_EQ2MIX_INPUT_2_SOURCE            0x88A
433 #define WM5100_EQ2MIX_INPUT_2_VOLUME            0x88B
434 #define WM5100_EQ2MIX_INPUT_3_SOURCE            0x88C
435 #define WM5100_EQ2MIX_INPUT_3_VOLUME            0x88D
436 #define WM5100_EQ2MIX_INPUT_4_SOURCE            0x88E
437 #define WM5100_EQ2MIX_INPUT_4_VOLUME            0x88F
438 #define WM5100_EQ3MIX_INPUT_1_SOURCE            0x890
439 #define WM5100_EQ3MIX_INPUT_1_VOLUME            0x891
440 #define WM5100_EQ3MIX_INPUT_2_SOURCE            0x892
441 #define WM5100_EQ3MIX_INPUT_2_VOLUME            0x893
442 #define WM5100_EQ3MIX_INPUT_3_SOURCE            0x894
443 #define WM5100_EQ3MIX_INPUT_3_VOLUME            0x895
444 #define WM5100_EQ3MIX_INPUT_4_SOURCE            0x896
445 #define WM5100_EQ3MIX_INPUT_4_VOLUME            0x897
446 #define WM5100_EQ4MIX_INPUT_1_SOURCE            0x898
447 #define WM5100_EQ4MIX_INPUT_1_VOLUME            0x899
448 #define WM5100_EQ4MIX_INPUT_2_SOURCE            0x89A
449 #define WM5100_EQ4MIX_INPUT_2_VOLUME            0x89B
450 #define WM5100_EQ4MIX_INPUT_3_SOURCE            0x89C
451 #define WM5100_EQ4MIX_INPUT_3_VOLUME            0x89D
452 #define WM5100_EQ4MIX_INPUT_4_SOURCE            0x89E
453 #define WM5100_EQ4MIX_INPUT_4_VOLUME            0x89F
454 #define WM5100_DRC1LMIX_INPUT_1_SOURCE          0x8C0
455 #define WM5100_DRC1LMIX_INPUT_1_VOLUME          0x8C1
456 #define WM5100_DRC1LMIX_INPUT_2_SOURCE          0x8C2
457 #define WM5100_DRC1LMIX_INPUT_2_VOLUME          0x8C3
458 #define WM5100_DRC1LMIX_INPUT_3_SOURCE          0x8C4
459 #define WM5100_DRC1LMIX_INPUT_3_VOLUME          0x8C5
460 #define WM5100_DRC1LMIX_INPUT_4_SOURCE          0x8C6
461 #define WM5100_DRC1LMIX_INPUT_4_VOLUME          0x8C7
462 #define WM5100_DRC1RMIX_INPUT_1_SOURCE          0x8C8
463 #define WM5100_DRC1RMIX_INPUT_1_VOLUME          0x8C9
464 #define WM5100_DRC1RMIX_INPUT_2_SOURCE          0x8CA
465 #define WM5100_DRC1RMIX_INPUT_2_VOLUME          0x8CB
466 #define WM5100_DRC1RMIX_INPUT_3_SOURCE          0x8CC
467 #define WM5100_DRC1RMIX_INPUT_3_VOLUME          0x8CD
468 #define WM5100_DRC1RMIX_INPUT_4_SOURCE          0x8CE
469 #define WM5100_DRC1RMIX_INPUT_4_VOLUME          0x8CF
470 #define WM5100_HPLP1MIX_INPUT_1_SOURCE          0x900
471 #define WM5100_HPLP1MIX_INPUT_1_VOLUME          0x901
472 #define WM5100_HPLP1MIX_INPUT_2_SOURCE          0x902
473 #define WM5100_HPLP1MIX_INPUT_2_VOLUME          0x903
474 #define WM5100_HPLP1MIX_INPUT_3_SOURCE          0x904
475 #define WM5100_HPLP1MIX_INPUT_3_VOLUME          0x905
476 #define WM5100_HPLP1MIX_INPUT_4_SOURCE          0x906
477 #define WM5100_HPLP1MIX_INPUT_4_VOLUME          0x907
478 #define WM5100_HPLP2MIX_INPUT_1_SOURCE          0x908
479 #define WM5100_HPLP2MIX_INPUT_1_VOLUME          0x909
480 #define WM5100_HPLP2MIX_INPUT_2_SOURCE          0x90A
481 #define WM5100_HPLP2MIX_INPUT_2_VOLUME          0x90B
482 #define WM5100_HPLP2MIX_INPUT_3_SOURCE          0x90C
483 #define WM5100_HPLP2MIX_INPUT_3_VOLUME          0x90D
484 #define WM5100_HPLP2MIX_INPUT_4_SOURCE          0x90E
485 #define WM5100_HPLP2MIX_INPUT_4_VOLUME          0x90F
486 #define WM5100_HPLP3MIX_INPUT_1_SOURCE          0x910
487 #define WM5100_HPLP3MIX_INPUT_1_VOLUME          0x911
488 #define WM5100_HPLP3MIX_INPUT_2_SOURCE          0x912
489 #define WM5100_HPLP3MIX_INPUT_2_VOLUME          0x913
490 #define WM5100_HPLP3MIX_INPUT_3_SOURCE          0x914
491 #define WM5100_HPLP3MIX_INPUT_3_VOLUME          0x915
492 #define WM5100_HPLP3MIX_INPUT_4_SOURCE          0x916
493 #define WM5100_HPLP3MIX_INPUT_4_VOLUME          0x917
494 #define WM5100_HPLP4MIX_INPUT_1_SOURCE          0x918
495 #define WM5100_HPLP4MIX_INPUT_1_VOLUME          0x919
496 #define WM5100_HPLP4MIX_INPUT_2_SOURCE          0x91A
497 #define WM5100_HPLP4MIX_INPUT_2_VOLUME          0x91B
498 #define WM5100_HPLP4MIX_INPUT_3_SOURCE          0x91C
499 #define WM5100_HPLP4MIX_INPUT_3_VOLUME          0x91D
500 #define WM5100_HPLP4MIX_INPUT_4_SOURCE          0x91E
501 #define WM5100_HPLP4MIX_INPUT_4_VOLUME          0x91F
502 #define WM5100_DSP1LMIX_INPUT_1_SOURCE          0x940
503 #define WM5100_DSP1LMIX_INPUT_1_VOLUME          0x941
504 #define WM5100_DSP1LMIX_INPUT_2_SOURCE          0x942
505 #define WM5100_DSP1LMIX_INPUT_2_VOLUME          0x943
506 #define WM5100_DSP1LMIX_INPUT_3_SOURCE          0x944
507 #define WM5100_DSP1LMIX_INPUT_3_VOLUME          0x945
508 #define WM5100_DSP1LMIX_INPUT_4_SOURCE          0x946
509 #define WM5100_DSP1LMIX_INPUT_4_VOLUME          0x947
510 #define WM5100_DSP1RMIX_INPUT_1_SOURCE          0x948
511 #define WM5100_DSP1RMIX_INPUT_1_VOLUME          0x949
512 #define WM5100_DSP1RMIX_INPUT_2_SOURCE          0x94A
513 #define WM5100_DSP1RMIX_INPUT_2_VOLUME          0x94B
514 #define WM5100_DSP1RMIX_INPUT_3_SOURCE          0x94C
515 #define WM5100_DSP1RMIX_INPUT_3_VOLUME          0x94D
516 #define WM5100_DSP1RMIX_INPUT_4_SOURCE          0x94E
517 #define WM5100_DSP1RMIX_INPUT_4_VOLUME          0x94F
518 #define WM5100_DSP1AUX1MIX_INPUT_1_SOURCE       0x950
519 #define WM5100_DSP1AUX2MIX_INPUT_1_SOURCE       0x958
520 #define WM5100_DSP1AUX3MIX_INPUT_1_SOURCE       0x960
521 #define WM5100_DSP1AUX4MIX_INPUT_1_SOURCE       0x968
522 #define WM5100_DSP1AUX5MIX_INPUT_1_SOURCE       0x970
523 #define WM5100_DSP1AUX6MIX_INPUT_1_SOURCE       0x978
524 #define WM5100_DSP2LMIX_INPUT_1_SOURCE          0x980
525 #define WM5100_DSP2LMIX_INPUT_1_VOLUME          0x981
526 #define WM5100_DSP2LMIX_INPUT_2_SOURCE          0x982
527 #define WM5100_DSP2LMIX_INPUT_2_VOLUME          0x983
528 #define WM5100_DSP2LMIX_INPUT_3_SOURCE          0x984
529 #define WM5100_DSP2LMIX_INPUT_3_VOLUME          0x985
530 #define WM5100_DSP2LMIX_INPUT_4_SOURCE          0x986
531 #define WM5100_DSP2LMIX_INPUT_4_VOLUME          0x987
532 #define WM5100_DSP2RMIX_INPUT_1_SOURCE          0x988
533 #define WM5100_DSP2RMIX_INPUT_1_VOLUME          0x989
534 #define WM5100_DSP2RMIX_INPUT_2_SOURCE          0x98A
535 #define WM5100_DSP2RMIX_INPUT_2_VOLUME          0x98B
536 #define WM5100_DSP2RMIX_INPUT_3_SOURCE          0x98C
537 #define WM5100_DSP2RMIX_INPUT_3_VOLUME          0x98D
538 #define WM5100_DSP2RMIX_INPUT_4_SOURCE          0x98E
539 #define WM5100_DSP2RMIX_INPUT_4_VOLUME          0x98F
540 #define WM5100_DSP2AUX1MIX_INPUT_1_SOURCE       0x990
541 #define WM5100_DSP2AUX2MIX_INPUT_1_SOURCE       0x998
542 #define WM5100_DSP2AUX3MIX_INPUT_1_SOURCE       0x9A0
543 #define WM5100_DSP2AUX4MIX_INPUT_1_SOURCE       0x9A8
544 #define WM5100_DSP2AUX5MIX_INPUT_1_SOURCE       0x9B0
545 #define WM5100_DSP2AUX6MIX_INPUT_1_SOURCE       0x9B8
546 #define WM5100_DSP3LMIX_INPUT_1_SOURCE          0x9C0
547 #define WM5100_DSP3LMIX_INPUT_1_VOLUME          0x9C1
548 #define WM5100_DSP3LMIX_INPUT_2_SOURCE          0x9C2
549 #define WM5100_DSP3LMIX_INPUT_2_VOLUME          0x9C3
550 #define WM5100_DSP3LMIX_INPUT_3_SOURCE          0x9C4
551 #define WM5100_DSP3LMIX_INPUT_3_VOLUME          0x9C5
552 #define WM5100_DSP3LMIX_INPUT_4_SOURCE          0x9C6
553 #define WM5100_DSP3LMIX_INPUT_4_VOLUME          0x9C7
554 #define WM5100_DSP3RMIX_INPUT_1_SOURCE          0x9C8
555 #define WM5100_DSP3RMIX_INPUT_1_VOLUME          0x9C9
556 #define WM5100_DSP3RMIX_INPUT_2_SOURCE          0x9CA
557 #define WM5100_DSP3RMIX_INPUT_2_VOLUME          0x9CB
558 #define WM5100_DSP3RMIX_INPUT_3_SOURCE          0x9CC
559 #define WM5100_DSP3RMIX_INPUT_3_VOLUME          0x9CD
560 #define WM5100_DSP3RMIX_INPUT_4_SOURCE          0x9CE
561 #define WM5100_DSP3RMIX_INPUT_4_VOLUME          0x9CF
562 #define WM5100_DSP3AUX1MIX_INPUT_1_SOURCE       0x9D0
563 #define WM5100_DSP3AUX2MIX_INPUT_1_SOURCE       0x9D8
564 #define WM5100_DSP3AUX3MIX_INPUT_1_SOURCE       0x9E0
565 #define WM5100_DSP3AUX4MIX_INPUT_1_SOURCE       0x9E8
566 #define WM5100_DSP3AUX5MIX_INPUT_1_SOURCE       0x9F0
567 #define WM5100_DSP3AUX6MIX_INPUT_1_SOURCE       0x9F8
568 #define WM5100_ASRC1LMIX_INPUT_1_SOURCE         0xA80
569 #define WM5100_ASRC1RMIX_INPUT_1_SOURCE         0xA88
570 #define WM5100_ASRC2LMIX_INPUT_1_SOURCE         0xA90
571 #define WM5100_ASRC2RMIX_INPUT_1_SOURCE         0xA98
572 #define WM5100_ISRC1DEC1MIX_INPUT_1_SOURCE      0xB00
573 #define WM5100_ISRC1DEC2MIX_INPUT_1_SOURCE      0xB08
574 #define WM5100_ISRC1DEC3MIX_INPUT_1_SOURCE      0xB10
575 #define WM5100_ISRC1DEC4MIX_INPUT_1_SOURCE      0xB18
576 #define WM5100_ISRC1INT1MIX_INPUT_1_SOURCE      0xB20
577 #define WM5100_ISRC1INT2MIX_INPUT_1_SOURCE      0xB28
578 #define WM5100_ISRC1INT3MIX_INPUT_1_SOURCE      0xB30
579 #define WM5100_ISRC1INT4MIX_INPUT_1_SOURCE      0xB38
580 #define WM5100_ISRC2DEC1MIX_INPUT_1_SOURCE      0xB40
581 #define WM5100_ISRC2DEC2MIX_INPUT_1_SOURCE      0xB48
582 #define WM5100_ISRC2DEC3MIX_INPUT_1_SOURCE      0xB50
583 #define WM5100_ISRC2DEC4MIX_INPUT_1_SOURCE      0xB58
584 #define WM5100_ISRC2INT1MIX_INPUT_1_SOURCE      0xB60
585 #define WM5100_ISRC2INT2MIX_INPUT_1_SOURCE      0xB68
586 #define WM5100_ISRC2INT3MIX_INPUT_1_SOURCE      0xB70
587 #define WM5100_ISRC2INT4MIX_INPUT_1_SOURCE      0xB78
588 #define WM5100_GPIO_CTRL_1                      0xC00
589 #define WM5100_GPIO_CTRL_2                      0xC01
590 #define WM5100_GPIO_CTRL_3                      0xC02
591 #define WM5100_GPIO_CTRL_4                      0xC03
592 #define WM5100_GPIO_CTRL_5                      0xC04
593 #define WM5100_GPIO_CTRL_6                      0xC05
594 #define WM5100_MISC_PAD_CTRL_1                  0xC23
595 #define WM5100_MISC_PAD_CTRL_2                  0xC24
596 #define WM5100_MISC_PAD_CTRL_3                  0xC25
597 #define WM5100_MISC_PAD_CTRL_4                  0xC26
598 #define WM5100_MISC_PAD_CTRL_5                  0xC27
599 #define WM5100_MISC_GPIO_1                      0xC28
600 #define WM5100_INTERRUPT_STATUS_1               0xD00
601 #define WM5100_INTERRUPT_STATUS_2               0xD01
602 #define WM5100_INTERRUPT_STATUS_3               0xD02
603 #define WM5100_INTERRUPT_STATUS_4               0xD03
604 #define WM5100_INTERRUPT_RAW_STATUS_2           0xD04
605 #define WM5100_INTERRUPT_RAW_STATUS_3           0xD05
606 #define WM5100_INTERRUPT_RAW_STATUS_4           0xD06
607 #define WM5100_INTERRUPT_STATUS_1_MASK          0xD07
608 #define WM5100_INTERRUPT_STATUS_2_MASK          0xD08
609 #define WM5100_INTERRUPT_STATUS_3_MASK          0xD09
610 #define WM5100_INTERRUPT_STATUS_4_MASK          0xD0A
611 #define WM5100_INTERRUPT_CONTROL                0xD1F
612 #define WM5100_IRQ_DEBOUNCE_1                   0xD20
613 #define WM5100_IRQ_DEBOUNCE_2                   0xD21
614 #define WM5100_FX_CTRL                          0xE00
615 #define WM5100_EQ1_1                            0xE10
616 #define WM5100_EQ1_2                            0xE11
617 #define WM5100_EQ1_3                            0xE12
618 #define WM5100_EQ1_4                            0xE13
619 #define WM5100_EQ1_5                            0xE14
620 #define WM5100_EQ1_6                            0xE15
621 #define WM5100_EQ1_7                            0xE16
622 #define WM5100_EQ1_8                            0xE17
623 #define WM5100_EQ1_9                            0xE18
624 #define WM5100_EQ1_10                           0xE19
625 #define WM5100_EQ1_11                           0xE1A
626 #define WM5100_EQ1_12                           0xE1B
627 #define WM5100_EQ1_13                           0xE1C
628 #define WM5100_EQ1_14                           0xE1D
629 #define WM5100_EQ1_15                           0xE1E
630 #define WM5100_EQ1_16                           0xE1F
631 #define WM5100_EQ1_17                           0xE20
632 #define WM5100_EQ1_18                           0xE21
633 #define WM5100_EQ1_19                           0xE22
634 #define WM5100_EQ1_20                           0xE23
635 #define WM5100_EQ2_1                            0xE26
636 #define WM5100_EQ2_2                            0xE27
637 #define WM5100_EQ2_3                            0xE28
638 #define WM5100_EQ2_4                            0xE29
639 #define WM5100_EQ2_5                            0xE2A
640 #define WM5100_EQ2_6                            0xE2B
641 #define WM5100_EQ2_7                            0xE2C
642 #define WM5100_EQ2_8                            0xE2D
643 #define WM5100_EQ2_9                            0xE2E
644 #define WM5100_EQ2_10                           0xE2F
645 #define WM5100_EQ2_11                           0xE30
646 #define WM5100_EQ2_12                           0xE31
647 #define WM5100_EQ2_13                           0xE32
648 #define WM5100_EQ2_14                           0xE33
649 #define WM5100_EQ2_15                           0xE34
650 #define WM5100_EQ2_16                           0xE35
651 #define WM5100_EQ2_17                           0xE36
652 #define WM5100_EQ2_18                           0xE37
653 #define WM5100_EQ2_19                           0xE38
654 #define WM5100_EQ2_20                           0xE39
655 #define WM5100_EQ3_1                            0xE3C
656 #define WM5100_EQ3_2                            0xE3D
657 #define WM5100_EQ3_3                            0xE3E
658 #define WM5100_EQ3_4                            0xE3F
659 #define WM5100_EQ3_5                            0xE40
660 #define WM5100_EQ3_6                            0xE41
661 #define WM5100_EQ3_7                            0xE42
662 #define WM5100_EQ3_8                            0xE43
663 #define WM5100_EQ3_9                            0xE44
664 #define WM5100_EQ3_10                           0xE45
665 #define WM5100_EQ3_11                           0xE46
666 #define WM5100_EQ3_12                           0xE47
667 #define WM5100_EQ3_13                           0xE48
668 #define WM5100_EQ3_14                           0xE49
669 #define WM5100_EQ3_15                           0xE4A
670 #define WM5100_EQ3_16                           0xE4B
671 #define WM5100_EQ3_17                           0xE4C
672 #define WM5100_EQ3_18                           0xE4D
673 #define WM5100_EQ3_19                           0xE4E
674 #define WM5100_EQ3_20                           0xE4F
675 #define WM5100_EQ4_1                            0xE52
676 #define WM5100_EQ4_2                            0xE53
677 #define WM5100_EQ4_3                            0xE54
678 #define WM5100_EQ4_4                            0xE55
679 #define WM5100_EQ4_5                            0xE56
680 #define WM5100_EQ4_6                            0xE57
681 #define WM5100_EQ4_7                            0xE58
682 #define WM5100_EQ4_8                            0xE59
683 #define WM5100_EQ4_9                            0xE5A
684 #define WM5100_EQ4_10                           0xE5B
685 #define WM5100_EQ4_11                           0xE5C
686 #define WM5100_EQ4_12                           0xE5D
687 #define WM5100_EQ4_13                           0xE5E
688 #define WM5100_EQ4_14                           0xE5F
689 #define WM5100_EQ4_15                           0xE60
690 #define WM5100_EQ4_16                           0xE61
691 #define WM5100_EQ4_17                           0xE62
692 #define WM5100_EQ4_18                           0xE63
693 #define WM5100_EQ4_19                           0xE64
694 #define WM5100_EQ4_20                           0xE65
695 #define WM5100_DRC1_CTRL1                       0xE80
696 #define WM5100_DRC1_CTRL2                       0xE81
697 #define WM5100_DRC1_CTRL3                       0xE82
698 #define WM5100_DRC1_CTRL4                       0xE83
699 #define WM5100_DRC1_CTRL5                       0xE84
700 #define WM5100_HPLPF1_1                         0xEC0
701 #define WM5100_HPLPF1_2                         0xEC1
702 #define WM5100_HPLPF2_1                         0xEC4
703 #define WM5100_HPLPF2_2                         0xEC5
704 #define WM5100_HPLPF3_1                         0xEC8
705 #define WM5100_HPLPF3_2                         0xEC9
706 #define WM5100_HPLPF4_1                         0xECC
707 #define WM5100_HPLPF4_2                         0xECD
708 #define WM5100_DSP1_CONTROL_1                   0xF00
709 #define WM5100_DSP1_CONTROL_2                   0xF02
710 #define WM5100_DSP1_CONTROL_3                   0xF03
711 #define WM5100_DSP1_CONTROL_4                   0xF04
712 #define WM5100_DSP1_CONTROL_5                   0xF06
713 #define WM5100_DSP1_CONTROL_6                   0xF07
714 #define WM5100_DSP1_CONTROL_7                   0xF08
715 #define WM5100_DSP1_CONTROL_8                   0xF09
716 #define WM5100_DSP1_CONTROL_9                   0xF0A
717 #define WM5100_DSP1_CONTROL_10                  0xF0B
718 #define WM5100_DSP1_CONTROL_11                  0xF0C
719 #define WM5100_DSP1_CONTROL_12                  0xF0D
720 #define WM5100_DSP1_CONTROL_13                  0xF0F
721 #define WM5100_DSP1_CONTROL_14                  0xF10
722 #define WM5100_DSP1_CONTROL_15                  0xF11
723 #define WM5100_DSP1_CONTROL_16                  0xF12
724 #define WM5100_DSP1_CONTROL_17                  0xF13
725 #define WM5100_DSP1_CONTROL_18                  0xF14
726 #define WM5100_DSP1_CONTROL_19                  0xF16
727 #define WM5100_DSP1_CONTROL_20                  0xF17
728 #define WM5100_DSP1_CONTROL_21                  0xF18
729 #define WM5100_DSP1_CONTROL_22                  0xF1A
730 #define WM5100_DSP1_CONTROL_23                  0xF1B
731 #define WM5100_DSP1_CONTROL_24                  0xF1C
732 #define WM5100_DSP1_CONTROL_25                  0xF1E
733 #define WM5100_DSP1_CONTROL_26                  0xF20
734 #define WM5100_DSP1_CONTROL_27                  0xF21
735 #define WM5100_DSP1_CONTROL_28                  0xF22
736 #define WM5100_DSP1_CONTROL_29                  0xF23
737 #define WM5100_DSP1_CONTROL_30                  0xF24
738 #define WM5100_DSP2_CONTROL_1                   0x1000
739 #define WM5100_DSP2_CONTROL_2                   0x1002
740 #define WM5100_DSP2_CONTROL_3                   0x1003
741 #define WM5100_DSP2_CONTROL_4                   0x1004
742 #define WM5100_DSP2_CONTROL_5                   0x1006
743 #define WM5100_DSP2_CONTROL_6                   0x1007
744 #define WM5100_DSP2_CONTROL_7                   0x1008
745 #define WM5100_DSP2_CONTROL_8                   0x1009
746 #define WM5100_DSP2_CONTROL_9                   0x100A
747 #define WM5100_DSP2_CONTROL_10                  0x100B
748 #define WM5100_DSP2_CONTROL_11                  0x100C
749 #define WM5100_DSP2_CONTROL_12                  0x100D
750 #define WM5100_DSP2_CONTROL_13                  0x100F
751 #define WM5100_DSP2_CONTROL_14                  0x1010
752 #define WM5100_DSP2_CONTROL_15                  0x1011
753 #define WM5100_DSP2_CONTROL_16                  0x1012
754 #define WM5100_DSP2_CONTROL_17                  0x1013
755 #define WM5100_DSP2_CONTROL_18                  0x1014
756 #define WM5100_DSP2_CONTROL_19                  0x1016
757 #define WM5100_DSP2_CONTROL_20                  0x1017
758 #define WM5100_DSP2_CONTROL_21                  0x1018
759 #define WM5100_DSP2_CONTROL_22                  0x101A
760 #define WM5100_DSP2_CONTROL_23                  0x101B
761 #define WM5100_DSP2_CONTROL_24                  0x101C
762 #define WM5100_DSP2_CONTROL_25                  0x101E
763 #define WM5100_DSP2_CONTROL_26                  0x1020
764 #define WM5100_DSP2_CONTROL_27                  0x1021
765 #define WM5100_DSP2_CONTROL_28                  0x1022
766 #define WM5100_DSP2_CONTROL_29                  0x1023
767 #define WM5100_DSP2_CONTROL_30                  0x1024
768 #define WM5100_DSP3_CONTROL_1                   0x1100
769 #define WM5100_DSP3_CONTROL_2                   0x1102
770 #define WM5100_DSP3_CONTROL_3                   0x1103
771 #define WM5100_DSP3_CONTROL_4                   0x1104
772 #define WM5100_DSP3_CONTROL_5                   0x1106
773 #define WM5100_DSP3_CONTROL_6                   0x1107
774 #define WM5100_DSP3_CONTROL_7                   0x1108
775 #define WM5100_DSP3_CONTROL_8                   0x1109
776 #define WM5100_DSP3_CONTROL_9                   0x110A
777 #define WM5100_DSP3_CONTROL_10                  0x110B
778 #define WM5100_DSP3_CONTROL_11                  0x110C
779 #define WM5100_DSP3_CONTROL_12                  0x110D
780 #define WM5100_DSP3_CONTROL_13                  0x110F
781 #define WM5100_DSP3_CONTROL_14                  0x1110
782 #define WM5100_DSP3_CONTROL_15                  0x1111
783 #define WM5100_DSP3_CONTROL_16                  0x1112
784 #define WM5100_DSP3_CONTROL_17                  0x1113
785 #define WM5100_DSP3_CONTROL_18                  0x1114
786 #define WM5100_DSP3_CONTROL_19                  0x1116
787 #define WM5100_DSP3_CONTROL_20                  0x1117
788 #define WM5100_DSP3_CONTROL_21                  0x1118
789 #define WM5100_DSP3_CONTROL_22                  0x111A
790 #define WM5100_DSP3_CONTROL_23                  0x111B
791 #define WM5100_DSP3_CONTROL_24                  0x111C
792 #define WM5100_DSP3_CONTROL_25                  0x111E
793 #define WM5100_DSP3_CONTROL_26                  0x1120
794 #define WM5100_DSP3_CONTROL_27                  0x1121
795 #define WM5100_DSP3_CONTROL_28                  0x1122
796 #define WM5100_DSP3_CONTROL_29                  0x1123
797 #define WM5100_DSP3_CONTROL_30                  0x1124
798 #define WM5100_DSP1_DM_0                        0x4000
799 #define WM5100_DSP1_DM_1                        0x4001
800 #define WM5100_DSP1_DM_2                        0x4002
801 #define WM5100_DSP1_DM_3                        0x4003
802 #define WM5100_DSP1_DM_508                      0x41FC
803 #define WM5100_DSP1_DM_509                      0x41FD
804 #define WM5100_DSP1_DM_510                      0x41FE
805 #define WM5100_DSP1_DM_511                      0x41FF
806 #define WM5100_DSP1_PM_0                        0x4800
807 #define WM5100_DSP1_PM_1                        0x4801
808 #define WM5100_DSP1_PM_2                        0x4802
809 #define WM5100_DSP1_PM_3                        0x4803
810 #define WM5100_DSP1_PM_4                        0x4804
811 #define WM5100_DSP1_PM_5                        0x4805
812 #define WM5100_DSP1_PM_1530                     0x4DFA
813 #define WM5100_DSP1_PM_1531                     0x4DFB
814 #define WM5100_DSP1_PM_1532                     0x4DFC
815 #define WM5100_DSP1_PM_1533                     0x4DFD
816 #define WM5100_DSP1_PM_1534                     0x4DFE
817 #define WM5100_DSP1_PM_1535                     0x4DFF
818 #define WM5100_DSP1_ZM_0                        0x5000
819 #define WM5100_DSP1_ZM_1                        0x5001
820 #define WM5100_DSP1_ZM_2                        0x5002
821 #define WM5100_DSP1_ZM_3                        0x5003
822 #define WM5100_DSP1_ZM_2044                     0x57FC
823 #define WM5100_DSP1_ZM_2045                     0x57FD
824 #define WM5100_DSP1_ZM_2046                     0x57FE
825 #define WM5100_DSP1_ZM_2047                     0x57FF
826 #define WM5100_DSP2_DM_0                        0x6000
827 #define WM5100_DSP2_DM_1                        0x6001
828 #define WM5100_DSP2_DM_2                        0x6002
829 #define WM5100_DSP2_DM_3                        0x6003
830 #define WM5100_DSP2_DM_508                      0x61FC
831 #define WM5100_DSP2_DM_509                      0x61FD
832 #define WM5100_DSP2_DM_510                      0x61FE
833 #define WM5100_DSP2_DM_511                      0x61FF
834 #define WM5100_DSP2_PM_0                        0x6800
835 #define WM5100_DSP2_PM_1                        0x6801
836 #define WM5100_DSP2_PM_2                        0x6802
837 #define WM5100_DSP2_PM_3                        0x6803
838 #define WM5100_DSP2_PM_4                        0x6804
839 #define WM5100_DSP2_PM_5                        0x6805
840 #define WM5100_DSP2_PM_1530                     0x6DFA
841 #define WM5100_DSP2_PM_1531                     0x6DFB
842 #define WM5100_DSP2_PM_1532                     0x6DFC
843 #define WM5100_DSP2_PM_1533                     0x6DFD
844 #define WM5100_DSP2_PM_1534                     0x6DFE
845 #define WM5100_DSP2_PM_1535                     0x6DFF
846 #define WM5100_DSP2_ZM_0                        0x7000
847 #define WM5100_DSP2_ZM_1                        0x7001
848 #define WM5100_DSP2_ZM_2                        0x7002
849 #define WM5100_DSP2_ZM_3                        0x7003
850 #define WM5100_DSP2_ZM_2044                     0x77FC
851 #define WM5100_DSP2_ZM_2045                     0x77FD
852 #define WM5100_DSP2_ZM_2046                     0x77FE
853 #define WM5100_DSP2_ZM_2047                     0x77FF
854 #define WM5100_DSP3_DM_0                        0x8000
855 #define WM5100_DSP3_DM_1                        0x8001
856 #define WM5100_DSP3_DM_2                        0x8002
857 #define WM5100_DSP3_DM_3                        0x8003
858 #define WM5100_DSP3_DM_508                      0x81FC
859 #define WM5100_DSP3_DM_509                      0x81FD
860 #define WM5100_DSP3_DM_510                      0x81FE
861 #define WM5100_DSP3_DM_511                      0x81FF
862 #define WM5100_DSP3_PM_0                        0x8800
863 #define WM5100_DSP3_PM_1                        0x8801
864 #define WM5100_DSP3_PM_2                        0x8802
865 #define WM5100_DSP3_PM_3                        0x8803
866 #define WM5100_DSP3_PM_4                        0x8804
867 #define WM5100_DSP3_PM_5                        0x8805
868 #define WM5100_DSP3_PM_1530                     0x8DFA
869 #define WM5100_DSP3_PM_1531                     0x8DFB
870 #define WM5100_DSP3_PM_1532                     0x8DFC
871 #define WM5100_DSP3_PM_1533                     0x8DFD
872 #define WM5100_DSP3_PM_1534                     0x8DFE
873 #define WM5100_DSP3_PM_1535                     0x8DFF
874 #define WM5100_DSP3_ZM_0                        0x9000
875 #define WM5100_DSP3_ZM_1                        0x9001
876 #define WM5100_DSP3_ZM_2                        0x9002
877 #define WM5100_DSP3_ZM_3                        0x9003
878 #define WM5100_DSP3_ZM_2044                     0x97FC
879 #define WM5100_DSP3_ZM_2045                     0x97FD
880 #define WM5100_DSP3_ZM_2046                     0x97FE
881 #define WM5100_DSP3_ZM_2047                     0x97FF
882
883 #define WM5100_REGISTER_COUNT                   1435
884 #define WM5100_MAX_REGISTER                     0x97FF
885
886 /*
887  * Field Definitions.
888  */
889
890 /*
891  * R0 (0x00) - software reset
892  */
893 #define WM5100_SW_RST_DEV_ID1_MASK              0xFFFF  /* SW_RST_DEV_ID1 - [15:0] */
894 #define WM5100_SW_RST_DEV_ID1_SHIFT                  0  /* SW_RST_DEV_ID1 - [15:0] */
895 #define WM5100_SW_RST_DEV_ID1_WIDTH                 16  /* SW_RST_DEV_ID1 - [15:0] */
896
897 /*
898  * R1 (0x01) - Device Revision
899  */
900 #define WM5100_DEVICE_REVISION_MASK             0x000F  /* DEVICE_REVISION - [3:0] */
901 #define WM5100_DEVICE_REVISION_SHIFT                 0  /* DEVICE_REVISION - [3:0] */
902 #define WM5100_DEVICE_REVISION_WIDTH                 4  /* DEVICE_REVISION - [3:0] */
903
904 /*
905  * R16 (0x10) - Ctrl IF 1
906  */
907 #define WM5100_AUTO_INC                         0x0001  /* AUTO_INC */
908 #define WM5100_AUTO_INC_MASK                    0x0001  /* AUTO_INC */
909 #define WM5100_AUTO_INC_SHIFT                        0  /* AUTO_INC */
910 #define WM5100_AUTO_INC_WIDTH                        1  /* AUTO_INC */
911
912 /*
913  * R32 (0x20) - Tone Generator 1
914  */
915 #define WM5100_TONE_RATE_MASK                   0x3000  /* TONE_RATE - [13:12] */
916 #define WM5100_TONE_RATE_SHIFT                      12  /* TONE_RATE - [13:12] */
917 #define WM5100_TONE_RATE_WIDTH                       2  /* TONE_RATE - [13:12] */
918 #define WM5100_TONE_OFFSET_MASK                 0x0300  /* TONE_OFFSET - [9:8] */
919 #define WM5100_TONE_OFFSET_SHIFT                     8  /* TONE_OFFSET - [9:8] */
920 #define WM5100_TONE_OFFSET_WIDTH                     2  /* TONE_OFFSET - [9:8] */
921 #define WM5100_TONE2_ENA                        0x0002  /* TONE2_ENA */
922 #define WM5100_TONE2_ENA_MASK                   0x0002  /* TONE2_ENA */
923 #define WM5100_TONE2_ENA_SHIFT                       1  /* TONE2_ENA */
924 #define WM5100_TONE2_ENA_WIDTH                       1  /* TONE2_ENA */
925 #define WM5100_TONE1_ENA                        0x0001  /* TONE1_ENA */
926 #define WM5100_TONE1_ENA_MASK                   0x0001  /* TONE1_ENA */
927 #define WM5100_TONE1_ENA_SHIFT                       0  /* TONE1_ENA */
928 #define WM5100_TONE1_ENA_WIDTH                       1  /* TONE1_ENA */
929
930 /*
931  * R48 (0x30) - PWM Drive 1
932  */
933 #define WM5100_PWM_RATE_MASK                    0x3000  /* PWM_RATE - [13:12] */
934 #define WM5100_PWM_RATE_SHIFT                       12  /* PWM_RATE - [13:12] */
935 #define WM5100_PWM_RATE_WIDTH                        2  /* PWM_RATE - [13:12] */
936 #define WM5100_PWM_CLK_SEL_MASK                 0x0300  /* PWM_CLK_SEL - [9:8] */
937 #define WM5100_PWM_CLK_SEL_SHIFT                     8  /* PWM_CLK_SEL - [9:8] */
938 #define WM5100_PWM_CLK_SEL_WIDTH                     2  /* PWM_CLK_SEL - [9:8] */
939 #define WM5100_PWM2_OVD                         0x0020  /* PWM2_OVD */
940 #define WM5100_PWM2_OVD_MASK                    0x0020  /* PWM2_OVD */
941 #define WM5100_PWM2_OVD_SHIFT                        5  /* PWM2_OVD */
942 #define WM5100_PWM2_OVD_WIDTH                        1  /* PWM2_OVD */
943 #define WM5100_PWM1_OVD                         0x0010  /* PWM1_OVD */
944 #define WM5100_PWM1_OVD_MASK                    0x0010  /* PWM1_OVD */
945 #define WM5100_PWM1_OVD_SHIFT                        4  /* PWM1_OVD */
946 #define WM5100_PWM1_OVD_WIDTH                        1  /* PWM1_OVD */
947 #define WM5100_PWM2_ENA                         0x0002  /* PWM2_ENA */
948 #define WM5100_PWM2_ENA_MASK                    0x0002  /* PWM2_ENA */
949 #define WM5100_PWM2_ENA_SHIFT                        1  /* PWM2_ENA */
950 #define WM5100_PWM2_ENA_WIDTH                        1  /* PWM2_ENA */
951 #define WM5100_PWM1_ENA                         0x0001  /* PWM1_ENA */
952 #define WM5100_PWM1_ENA_MASK                    0x0001  /* PWM1_ENA */
953 #define WM5100_PWM1_ENA_SHIFT                        0  /* PWM1_ENA */
954 #define WM5100_PWM1_ENA_WIDTH                        1  /* PWM1_ENA */
955
956 /*
957  * R49 (0x31) - PWM Drive 2
958  */
959 #define WM5100_PWM1_LVL_MASK                    0x03FF  /* PWM1_LVL - [9:0] */
960 #define WM5100_PWM1_LVL_SHIFT                        0  /* PWM1_LVL - [9:0] */
961 #define WM5100_PWM1_LVL_WIDTH                       10  /* PWM1_LVL - [9:0] */
962
963 /*
964  * R50 (0x32) - PWM Drive 3
965  */
966 #define WM5100_PWM2_LVL_MASK                    0x03FF  /* PWM2_LVL - [9:0] */
967 #define WM5100_PWM2_LVL_SHIFT                        0  /* PWM2_LVL - [9:0] */
968 #define WM5100_PWM2_LVL_WIDTH                       10  /* PWM2_LVL - [9:0] */
969
970 /*
971  * R256 (0x100) - Clocking 1
972  */
973 #define WM5100_CLK_32K_SRC_MASK                 0x000F  /* CLK_32K_SRC - [3:0] */
974 #define WM5100_CLK_32K_SRC_SHIFT                     0  /* CLK_32K_SRC - [3:0] */
975 #define WM5100_CLK_32K_SRC_WIDTH                     4  /* CLK_32K_SRC - [3:0] */
976
977 /*
978  * R257 (0x101) - Clocking 3
979  */
980 #define WM5100_SYSCLK_FREQ_MASK                 0x0700  /* SYSCLK_FREQ - [10:8] */
981 #define WM5100_SYSCLK_FREQ_SHIFT                     8  /* SYSCLK_FREQ - [10:8] */
982 #define WM5100_SYSCLK_FREQ_WIDTH                     3  /* SYSCLK_FREQ - [10:8] */
983 #define WM5100_SYSCLK_ENA                       0x0040  /* SYSCLK_ENA */
984 #define WM5100_SYSCLK_ENA_MASK                  0x0040  /* SYSCLK_ENA */
985 #define WM5100_SYSCLK_ENA_SHIFT                      6  /* SYSCLK_ENA */
986 #define WM5100_SYSCLK_ENA_WIDTH                      1  /* SYSCLK_ENA */
987 #define WM5100_SYSCLK_SRC_MASK                  0x000F  /* SYSCLK_SRC - [3:0] */
988 #define WM5100_SYSCLK_SRC_SHIFT                      0  /* SYSCLK_SRC - [3:0] */
989 #define WM5100_SYSCLK_SRC_WIDTH                      4  /* SYSCLK_SRC - [3:0] */
990
991 /*
992  * R258 (0x102) - Clocking 4
993  */
994 #define WM5100_SAMPLE_RATE_1_MASK               0x001F  /* SAMPLE_RATE_1 - [4:0] */
995 #define WM5100_SAMPLE_RATE_1_SHIFT                   0  /* SAMPLE_RATE_1 - [4:0] */
996 #define WM5100_SAMPLE_RATE_1_WIDTH                   5  /* SAMPLE_RATE_1 - [4:0] */
997
998 /*
999  * R259 (0x103) - Clocking 5
1000  */
1001 #define WM5100_SAMPLE_RATE_2_MASK               0x001F  /* SAMPLE_RATE_2 - [4:0] */
1002 #define WM5100_SAMPLE_RATE_2_SHIFT                   0  /* SAMPLE_RATE_2 - [4:0] */
1003 #define WM5100_SAMPLE_RATE_2_WIDTH                   5  /* SAMPLE_RATE_2 - [4:0] */
1004
1005 /*
1006  * R260 (0x104) - Clocking 6
1007  */
1008 #define WM5100_SAMPLE_RATE_3_MASK               0x001F  /* SAMPLE_RATE_3 - [4:0] */
1009 #define WM5100_SAMPLE_RATE_3_SHIFT                   0  /* SAMPLE_RATE_3 - [4:0] */
1010 #define WM5100_SAMPLE_RATE_3_WIDTH                   5  /* SAMPLE_RATE_3 - [4:0] */
1011
1012 /*
1013  * R263 (0x107) - Clocking 7
1014  */
1015 #define WM5100_ASYNC_CLK_FREQ_MASK              0x0700  /* ASYNC_CLK_FREQ - [10:8] */
1016 #define WM5100_ASYNC_CLK_FREQ_SHIFT                  8  /* ASYNC_CLK_FREQ - [10:8] */
1017 #define WM5100_ASYNC_CLK_FREQ_WIDTH                  3  /* ASYNC_CLK_FREQ - [10:8] */
1018 #define WM5100_ASYNC_CLK_ENA                    0x0040  /* ASYNC_CLK_ENA */
1019 #define WM5100_ASYNC_CLK_ENA_MASK               0x0040  /* ASYNC_CLK_ENA */
1020 #define WM5100_ASYNC_CLK_ENA_SHIFT                   6  /* ASYNC_CLK_ENA */
1021 #define WM5100_ASYNC_CLK_ENA_WIDTH                   1  /* ASYNC_CLK_ENA */
1022 #define WM5100_ASYNC_CLK_SRC_MASK               0x000F  /* ASYNC_CLK_SRC - [3:0] */
1023 #define WM5100_ASYNC_CLK_SRC_SHIFT                   0  /* ASYNC_CLK_SRC - [3:0] */
1024 #define WM5100_ASYNC_CLK_SRC_WIDTH                   4  /* ASYNC_CLK_SRC - [3:0] */
1025
1026 /*
1027  * R264 (0x108) - Clocking 8
1028  */
1029 #define WM5100_ASYNC_SAMPLE_RATE_MASK           0x001F  /* ASYNC_SAMPLE_RATE - [4:0] */
1030 #define WM5100_ASYNC_SAMPLE_RATE_SHIFT               0  /* ASYNC_SAMPLE_RATE - [4:0] */
1031 #define WM5100_ASYNC_SAMPLE_RATE_WIDTH               5  /* ASYNC_SAMPLE_RATE - [4:0] */
1032
1033 /*
1034  * R288 (0x120) - ASRC_ENABLE
1035  */
1036 #define WM5100_ASRC2L_ENA                       0x0008  /* ASRC2L_ENA */
1037 #define WM5100_ASRC2L_ENA_MASK                  0x0008  /* ASRC2L_ENA */
1038 #define WM5100_ASRC2L_ENA_SHIFT                      3  /* ASRC2L_ENA */
1039 #define WM5100_ASRC2L_ENA_WIDTH                      1  /* ASRC2L_ENA */
1040 #define WM5100_ASRC2R_ENA                       0x0004  /* ASRC2R_ENA */
1041 #define WM5100_ASRC2R_ENA_MASK                  0x0004  /* ASRC2R_ENA */
1042 #define WM5100_ASRC2R_ENA_SHIFT                      2  /* ASRC2R_ENA */
1043 #define WM5100_ASRC2R_ENA_WIDTH                      1  /* ASRC2R_ENA */
1044 #define WM5100_ASRC1L_ENA                       0x0002  /* ASRC1L_ENA */
1045 #define WM5100_ASRC1L_ENA_MASK                  0x0002  /* ASRC1L_ENA */
1046 #define WM5100_ASRC1L_ENA_SHIFT                      1  /* ASRC1L_ENA */
1047 #define WM5100_ASRC1L_ENA_WIDTH                      1  /* ASRC1L_ENA */
1048 #define WM5100_ASRC1R_ENA                       0x0001  /* ASRC1R_ENA */
1049 #define WM5100_ASRC1R_ENA_MASK                  0x0001  /* ASRC1R_ENA */
1050 #define WM5100_ASRC1R_ENA_SHIFT                      0  /* ASRC1R_ENA */
1051 #define WM5100_ASRC1R_ENA_WIDTH                      1  /* ASRC1R_ENA */
1052
1053 /*
1054  * R289 (0x121) - ASRC_STATUS
1055  */
1056 #define WM5100_ASRC2L_ENA_STS                   0x0008  /* ASRC2L_ENA_STS */
1057 #define WM5100_ASRC2L_ENA_STS_MASK              0x0008  /* ASRC2L_ENA_STS */
1058 #define WM5100_ASRC2L_ENA_STS_SHIFT                  3  /* ASRC2L_ENA_STS */
1059 #define WM5100_ASRC2L_ENA_STS_WIDTH                  1  /* ASRC2L_ENA_STS */
1060 #define WM5100_ASRC2R_ENA_STS                   0x0004  /* ASRC2R_ENA_STS */
1061 #define WM5100_ASRC2R_ENA_STS_MASK              0x0004  /* ASRC2R_ENA_STS */
1062 #define WM5100_ASRC2R_ENA_STS_SHIFT                  2  /* ASRC2R_ENA_STS */
1063 #define WM5100_ASRC2R_ENA_STS_WIDTH                  1  /* ASRC2R_ENA_STS */
1064 #define WM5100_ASRC1L_ENA_STS                   0x0002  /* ASRC1L_ENA_STS */
1065 #define WM5100_ASRC1L_ENA_STS_MASK              0x0002  /* ASRC1L_ENA_STS */
1066 #define WM5100_ASRC1L_ENA_STS_SHIFT                  1  /* ASRC1L_ENA_STS */
1067 #define WM5100_ASRC1L_ENA_STS_WIDTH                  1  /* ASRC1L_ENA_STS */
1068 #define WM5100_ASRC1R_ENA_STS                   0x0001  /* ASRC1R_ENA_STS */
1069 #define WM5100_ASRC1R_ENA_STS_MASK              0x0001  /* ASRC1R_ENA_STS */
1070 #define WM5100_ASRC1R_ENA_STS_SHIFT                  0  /* ASRC1R_ENA_STS */
1071 #define WM5100_ASRC1R_ENA_STS_WIDTH                  1  /* ASRC1R_ENA_STS */
1072
1073 /*
1074  * R290 (0x122) - ASRC_RATE1
1075  */
1076 #define WM5100_ASRC_RATE1_MASK                  0x0006  /* ASRC_RATE1 - [2:1] */
1077 #define WM5100_ASRC_RATE1_SHIFT                      1  /* ASRC_RATE1 - [2:1] */
1078 #define WM5100_ASRC_RATE1_WIDTH                      2  /* ASRC_RATE1 - [2:1] */
1079
1080 /*
1081  * R321 (0x141) - ISRC 1 CTRL 1
1082  */
1083 #define WM5100_ISRC1_DFS_ENA                    0x2000  /* ISRC1_DFS_ENA */
1084 #define WM5100_ISRC1_DFS_ENA_MASK               0x2000  /* ISRC1_DFS_ENA */
1085 #define WM5100_ISRC1_DFS_ENA_SHIFT                  13  /* ISRC1_DFS_ENA */
1086 #define WM5100_ISRC1_DFS_ENA_WIDTH                   1  /* ISRC1_DFS_ENA */
1087 #define WM5100_ISRC1_CLK_SEL_MASK               0x0300  /* ISRC1_CLK_SEL - [9:8] */
1088 #define WM5100_ISRC1_CLK_SEL_SHIFT                   8  /* ISRC1_CLK_SEL - [9:8] */
1089 #define WM5100_ISRC1_CLK_SEL_WIDTH                   2  /* ISRC1_CLK_SEL - [9:8] */
1090 #define WM5100_ISRC1_FSH_MASK                   0x000C  /* ISRC1_FSH - [3:2] */
1091 #define WM5100_ISRC1_FSH_SHIFT                       2  /* ISRC1_FSH - [3:2] */
1092 #define WM5100_ISRC1_FSH_WIDTH                       2  /* ISRC1_FSH - [3:2] */
1093 #define WM5100_ISRC1_FSL_MASK                   0x0003  /* ISRC1_FSL - [1:0] */
1094 #define WM5100_ISRC1_FSL_SHIFT                       0  /* ISRC1_FSL - [1:0] */
1095 #define WM5100_ISRC1_FSL_WIDTH                       2  /* ISRC1_FSL - [1:0] */
1096
1097 /*
1098  * R322 (0x142) - ISRC 1 CTRL 2
1099  */
1100 #define WM5100_ISRC1_INT1_ENA                   0x8000  /* ISRC1_INT1_ENA */
1101 #define WM5100_ISRC1_INT1_ENA_MASK              0x8000  /* ISRC1_INT1_ENA */
1102 #define WM5100_ISRC1_INT1_ENA_SHIFT                 15  /* ISRC1_INT1_ENA */
1103 #define WM5100_ISRC1_INT1_ENA_WIDTH                  1  /* ISRC1_INT1_ENA */
1104 #define WM5100_ISRC1_INT2_ENA                   0x4000  /* ISRC1_INT2_ENA */
1105 #define WM5100_ISRC1_INT2_ENA_MASK              0x4000  /* ISRC1_INT2_ENA */
1106 #define WM5100_ISRC1_INT2_ENA_SHIFT                 14  /* ISRC1_INT2_ENA */
1107 #define WM5100_ISRC1_INT2_ENA_WIDTH                  1  /* ISRC1_INT2_ENA */
1108 #define WM5100_ISRC1_INT3_ENA                   0x2000  /* ISRC1_INT3_ENA */
1109 #define WM5100_ISRC1_INT3_ENA_MASK              0x2000  /* ISRC1_INT3_ENA */
1110 #define WM5100_ISRC1_INT3_ENA_SHIFT                 13  /* ISRC1_INT3_ENA */
1111 #define WM5100_ISRC1_INT3_ENA_WIDTH                  1  /* ISRC1_INT3_ENA */
1112 #define WM5100_ISRC1_INT4_ENA                   0x1000  /* ISRC1_INT4_ENA */
1113 #define WM5100_ISRC1_INT4_ENA_MASK              0x1000  /* ISRC1_INT4_ENA */
1114 #define WM5100_ISRC1_INT4_ENA_SHIFT                 12  /* ISRC1_INT4_ENA */
1115 #define WM5100_ISRC1_INT4_ENA_WIDTH                  1  /* ISRC1_INT4_ENA */
1116 #define WM5100_ISRC1_DEC1_ENA                   0x0200  /* ISRC1_DEC1_ENA */
1117 #define WM5100_ISRC1_DEC1_ENA_MASK              0x0200  /* ISRC1_DEC1_ENA */
1118 #define WM5100_ISRC1_DEC1_ENA_SHIFT                  9  /* ISRC1_DEC1_ENA */
1119 #define WM5100_ISRC1_DEC1_ENA_WIDTH                  1  /* ISRC1_DEC1_ENA */
1120 #define WM5100_ISRC1_DEC2_ENA                   0x0100  /* ISRC1_DEC2_ENA */
1121 #define WM5100_ISRC1_DEC2_ENA_MASK              0x0100  /* ISRC1_DEC2_ENA */
1122 #define WM5100_ISRC1_DEC2_ENA_SHIFT                  8  /* ISRC1_DEC2_ENA */
1123 #define WM5100_ISRC1_DEC2_ENA_WIDTH                  1  /* ISRC1_DEC2_ENA */
1124 #define WM5100_ISRC1_DEC3_ENA                   0x0080  /* ISRC1_DEC3_ENA */
1125 #define WM5100_ISRC1_DEC3_ENA_MASK              0x0080  /* ISRC1_DEC3_ENA */
1126 #define WM5100_ISRC1_DEC3_ENA_SHIFT                  7  /* ISRC1_DEC3_ENA */
1127 #define WM5100_ISRC1_DEC3_ENA_WIDTH                  1  /* ISRC1_DEC3_ENA */
1128 #define WM5100_ISRC1_DEC4_ENA                   0x0040  /* ISRC1_DEC4_ENA */
1129 #define WM5100_ISRC1_DEC4_ENA_MASK              0x0040  /* ISRC1_DEC4_ENA */
1130 #define WM5100_ISRC1_DEC4_ENA_SHIFT                  6  /* ISRC1_DEC4_ENA */
1131 #define WM5100_ISRC1_DEC4_ENA_WIDTH                  1  /* ISRC1_DEC4_ENA */
1132 #define WM5100_ISRC1_NOTCH_ENA                  0x0001  /* ISRC1_NOTCH_ENA */
1133 #define WM5100_ISRC1_NOTCH_ENA_MASK             0x0001  /* ISRC1_NOTCH_ENA */
1134 #define WM5100_ISRC1_NOTCH_ENA_SHIFT                 0  /* ISRC1_NOTCH_ENA */
1135 #define WM5100_ISRC1_NOTCH_ENA_WIDTH                 1  /* ISRC1_NOTCH_ENA */
1136
1137 /*
1138  * R323 (0x143) - ISRC 2 CTRL1
1139  */
1140 #define WM5100_ISRC2_DFS_ENA                    0x2000  /* ISRC2_DFS_ENA */
1141 #define WM5100_ISRC2_DFS_ENA_MASK               0x2000  /* ISRC2_DFS_ENA */
1142 #define WM5100_ISRC2_DFS_ENA_SHIFT                  13  /* ISRC2_DFS_ENA */
1143 #define WM5100_ISRC2_DFS_ENA_WIDTH                   1  /* ISRC2_DFS_ENA */
1144 #define WM5100_ISRC2_CLK_SEL_MASK               0x0300  /* ISRC2_CLK_SEL - [9:8] */
1145 #define WM5100_ISRC2_CLK_SEL_SHIFT                   8  /* ISRC2_CLK_SEL - [9:8] */
1146 #define WM5100_ISRC2_CLK_SEL_WIDTH                   2  /* ISRC2_CLK_SEL - [9:8] */
1147 #define WM5100_ISRC2_FSH_MASK                   0x000C  /* ISRC2_FSH - [3:2] */
1148 #define WM5100_ISRC2_FSH_SHIFT                       2  /* ISRC2_FSH - [3:2] */
1149 #define WM5100_ISRC2_FSH_WIDTH                       2  /* ISRC2_FSH - [3:2] */
1150 #define WM5100_ISRC2_FSL_MASK                   0x0003  /* ISRC2_FSL - [1:0] */
1151 #define WM5100_ISRC2_FSL_SHIFT                       0  /* ISRC2_FSL - [1:0] */
1152 #define WM5100_ISRC2_FSL_WIDTH                       2  /* ISRC2_FSL - [1:0] */
1153
1154 /*
1155  * R324 (0x144) - ISRC 2 CTRL 2
1156  */
1157 #define WM5100_ISRC2_INT1_ENA                   0x8000  /* ISRC2_INT1_ENA */
1158 #define WM5100_ISRC2_INT1_ENA_MASK              0x8000  /* ISRC2_INT1_ENA */
1159 #define WM5100_ISRC2_INT1_ENA_SHIFT                 15  /* ISRC2_INT1_ENA */
1160 #define WM5100_ISRC2_INT1_ENA_WIDTH                  1  /* ISRC2_INT1_ENA */
1161 #define WM5100_ISRC2_INT2_ENA                   0x4000  /* ISRC2_INT2_ENA */
1162 #define WM5100_ISRC2_INT2_ENA_MASK              0x4000  /* ISRC2_INT2_ENA */
1163 #define WM5100_ISRC2_INT2_ENA_SHIFT                 14  /* ISRC2_INT2_ENA */
1164 #define WM5100_ISRC2_INT2_ENA_WIDTH                  1  /* ISRC2_INT2_ENA */
1165 #define WM5100_ISRC2_INT3_ENA                   0x2000  /* ISRC2_INT3_ENA */
1166 #define WM5100_ISRC2_INT3_ENA_MASK              0x2000  /* ISRC2_INT3_ENA */
1167 #define WM5100_ISRC2_INT3_ENA_SHIFT                 13  /* ISRC2_INT3_ENA */
1168 #define WM5100_ISRC2_INT3_ENA_WIDTH                  1  /* ISRC2_INT3_ENA */
1169 #define WM5100_ISRC2_INT4_ENA                   0x1000  /* ISRC2_INT4_ENA */
1170 #define WM5100_ISRC2_INT4_ENA_MASK              0x1000  /* ISRC2_INT4_ENA */
1171 #define WM5100_ISRC2_INT4_ENA_SHIFT                 12  /* ISRC2_INT4_ENA */
1172 #define WM5100_ISRC2_INT4_ENA_WIDTH                  1  /* ISRC2_INT4_ENA */
1173 #define WM5100_ISRC2_DEC1_ENA                   0x0200  /* ISRC2_DEC1_ENA */
1174 #define WM5100_ISRC2_DEC1_ENA_MASK              0x0200  /* ISRC2_DEC1_ENA */
1175 #define WM5100_ISRC2_DEC1_ENA_SHIFT                  9  /* ISRC2_DEC1_ENA */
1176 #define WM5100_ISRC2_DEC1_ENA_WIDTH                  1  /* ISRC2_DEC1_ENA */
1177 #define WM5100_ISRC2_DEC2_ENA                   0x0100  /* ISRC2_DEC2_ENA */
1178 #define WM5100_ISRC2_DEC2_ENA_MASK              0x0100  /* ISRC2_DEC2_ENA */
1179 #define WM5100_ISRC2_DEC2_ENA_SHIFT                  8  /* ISRC2_DEC2_ENA */
1180 #define WM5100_ISRC2_DEC2_ENA_WIDTH                  1  /* ISRC2_DEC2_ENA */
1181 #define WM5100_ISRC2_DEC3_ENA                   0x0080  /* ISRC2_DEC3_ENA */
1182 #define WM5100_ISRC2_DEC3_ENA_MASK              0x0080  /* ISRC2_DEC3_ENA */
1183 #define WM5100_ISRC2_DEC3_ENA_SHIFT                  7  /* ISRC2_DEC3_ENA */
1184 #define WM5100_ISRC2_DEC3_ENA_WIDTH                  1  /* ISRC2_DEC3_ENA */
1185 #define WM5100_ISRC2_DEC4_ENA                   0x0040  /* ISRC2_DEC4_ENA */
1186 #define WM5100_ISRC2_DEC4_ENA_MASK              0x0040  /* ISRC2_DEC4_ENA */
1187 #define WM5100_ISRC2_DEC4_ENA_SHIFT                  6  /* ISRC2_DEC4_ENA */
1188 #define WM5100_ISRC2_DEC4_ENA_WIDTH                  1  /* ISRC2_DEC4_ENA */
1189 #define WM5100_ISRC2_NOTCH_ENA                  0x0001  /* ISRC2_NOTCH_ENA */
1190 #define WM5100_ISRC2_NOTCH_ENA_MASK             0x0001  /* ISRC2_NOTCH_ENA */
1191 #define WM5100_ISRC2_NOTCH_ENA_SHIFT                 0  /* ISRC2_NOTCH_ENA */
1192 #define WM5100_ISRC2_NOTCH_ENA_WIDTH                 1  /* ISRC2_NOTCH_ENA */
1193
1194 /*
1195  * R386 (0x182) - FLL1 Control 1
1196  */
1197 #define WM5100_FLL1_ENA                         0x0001  /* FLL1_ENA */
1198 #define WM5100_FLL1_ENA_MASK                    0x0001  /* FLL1_ENA */
1199 #define WM5100_FLL1_ENA_SHIFT                        0  /* FLL1_ENA */
1200 #define WM5100_FLL1_ENA_WIDTH                        1  /* FLL1_ENA */
1201
1202 /*
1203  * R387 (0x183) - FLL1 Control 2
1204  */
1205 #define WM5100_FLL1_OUTDIV_MASK                 0x3F00  /* FLL1_OUTDIV - [13:8] */
1206 #define WM5100_FLL1_OUTDIV_SHIFT                     8  /* FLL1_OUTDIV - [13:8] */
1207 #define WM5100_FLL1_OUTDIV_WIDTH                     6  /* FLL1_OUTDIV - [13:8] */
1208 #define WM5100_FLL1_FRATIO_MASK                 0x0007  /* FLL1_FRATIO - [2:0] */
1209 #define WM5100_FLL1_FRATIO_SHIFT                     0  /* FLL1_FRATIO - [2:0] */
1210 #define WM5100_FLL1_FRATIO_WIDTH                     3  /* FLL1_FRATIO - [2:0] */
1211
1212 /*
1213  * R388 (0x184) - FLL1 Control 3
1214  */
1215 #define WM5100_FLL1_THETA_MASK                  0xFFFF  /* FLL1_THETA - [15:0] */
1216 #define WM5100_FLL1_THETA_SHIFT                      0  /* FLL1_THETA - [15:0] */
1217 #define WM5100_FLL1_THETA_WIDTH                     16  /* FLL1_THETA - [15:0] */
1218
1219 /*
1220  * R390 (0x186) - FLL1 Control 5
1221  */
1222 #define WM5100_FLL1_N_MASK                      0x03FF  /* FLL1_N - [9:0] */
1223 #define WM5100_FLL1_N_SHIFT                          0  /* FLL1_N - [9:0] */
1224 #define WM5100_FLL1_N_WIDTH                         10  /* FLL1_N - [9:0] */
1225
1226 /*
1227  * R391 (0x187) - FLL1 Control 6
1228  */
1229 #define WM5100_FLL1_REFCLK_DIV_MASK             0x00C0  /* FLL1_REFCLK_DIV - [7:6] */
1230 #define WM5100_FLL1_REFCLK_DIV_SHIFT                 6  /* FLL1_REFCLK_DIV - [7:6] */
1231 #define WM5100_FLL1_REFCLK_DIV_WIDTH                 2  /* FLL1_REFCLK_DIV - [7:6] */
1232 #define WM5100_FLL1_REFCLK_SRC_MASK             0x000F  /* FLL1_REFCLK_SRC - [3:0] */
1233 #define WM5100_FLL1_REFCLK_SRC_SHIFT                 0  /* FLL1_REFCLK_SRC - [3:0] */
1234 #define WM5100_FLL1_REFCLK_SRC_WIDTH                 4  /* FLL1_REFCLK_SRC - [3:0] */
1235
1236 /*
1237  * R392 (0x188) - FLL1 EFS 1
1238  */
1239 #define WM5100_FLL1_LAMBDA_MASK                 0xFFFF  /* FLL1_LAMBDA - [15:0] */
1240 #define WM5100_FLL1_LAMBDA_SHIFT                     0  /* FLL1_LAMBDA - [15:0] */
1241 #define WM5100_FLL1_LAMBDA_WIDTH                    16  /* FLL1_LAMBDA - [15:0] */
1242
1243 /*
1244  * R418 (0x1A2) - FLL2 Control 1
1245  */
1246 #define WM5100_FLL2_ENA                         0x0001  /* FLL2_ENA */
1247 #define WM5100_FLL2_ENA_MASK                    0x0001  /* FLL2_ENA */
1248 #define WM5100_FLL2_ENA_SHIFT                        0  /* FLL2_ENA */
1249 #define WM5100_FLL2_ENA_WIDTH                        1  /* FLL2_ENA */
1250
1251 /*
1252  * R419 (0x1A3) - FLL2 Control 2
1253  */
1254 #define WM5100_FLL2_OUTDIV_MASK                 0x3F00  /* FLL2_OUTDIV - [13:8] */
1255 #define WM5100_FLL2_OUTDIV_SHIFT                     8  /* FLL2_OUTDIV - [13:8] */
1256 #define WM5100_FLL2_OUTDIV_WIDTH                     6  /* FLL2_OUTDIV - [13:8] */
1257 #define WM5100_FLL2_FRATIO_MASK                 0x0007  /* FLL2_FRATIO - [2:0] */
1258 #define WM5100_FLL2_FRATIO_SHIFT                     0  /* FLL2_FRATIO - [2:0] */
1259 #define WM5100_FLL2_FRATIO_WIDTH                     3  /* FLL2_FRATIO - [2:0] */
1260
1261 /*
1262  * R420 (0x1A4) - FLL2 Control 3
1263  */
1264 #define WM5100_FLL2_THETA_MASK                  0xFFFF  /* FLL2_THETA - [15:0] */
1265 #define WM5100_FLL2_THETA_SHIFT                      0  /* FLL2_THETA - [15:0] */
1266 #define WM5100_FLL2_THETA_WIDTH                     16  /* FLL2_THETA - [15:0] */
1267
1268 /*
1269  * R422 (0x1A6) - FLL2 Control 5
1270  */
1271 #define WM5100_FLL2_N_MASK                      0x03FF  /* FLL2_N - [9:0] */
1272 #define WM5100_FLL2_N_SHIFT                          0  /* FLL2_N - [9:0] */
1273 #define WM5100_FLL2_N_WIDTH                         10  /* FLL2_N - [9:0] */
1274
1275 /*
1276  * R423 (0x1A7) - FLL2 Control 6
1277  */
1278 #define WM5100_FLL2_REFCLK_DIV_MASK             0x00C0  /* FLL2_REFCLK_DIV - [7:6] */
1279 #define WM5100_FLL2_REFCLK_DIV_SHIFT                 6  /* FLL2_REFCLK_DIV - [7:6] */
1280 #define WM5100_FLL2_REFCLK_DIV_WIDTH                 2  /* FLL2_REFCLK_DIV - [7:6] */
1281 #define WM5100_FLL2_REFCLK_SRC_MASK             0x000F  /* FLL2_REFCLK_SRC - [3:0] */
1282 #define WM5100_FLL2_REFCLK_SRC_SHIFT                 0  /* FLL2_REFCLK_SRC - [3:0] */
1283 #define WM5100_FLL2_REFCLK_SRC_WIDTH                 4  /* FLL2_REFCLK_SRC - [3:0] */
1284
1285 /*
1286  * R424 (0x1A8) - FLL2 EFS 1
1287  */
1288 #define WM5100_FLL2_LAMBDA_MASK                 0xFFFF  /* FLL2_LAMBDA - [15:0] */
1289 #define WM5100_FLL2_LAMBDA_SHIFT                     0  /* FLL2_LAMBDA - [15:0] */
1290 #define WM5100_FLL2_LAMBDA_WIDTH                    16  /* FLL2_LAMBDA - [15:0] */
1291
1292 /*
1293  * R512 (0x200) - Mic Charge Pump 1
1294  */
1295 #define WM5100_CP2_BYPASS                       0x0020  /* CP2_BYPASS */
1296 #define WM5100_CP2_BYPASS_MASK                  0x0020  /* CP2_BYPASS */
1297 #define WM5100_CP2_BYPASS_SHIFT                      5  /* CP2_BYPASS */
1298 #define WM5100_CP2_BYPASS_WIDTH                      1  /* CP2_BYPASS */
1299 #define WM5100_CP2_ENA                          0x0001  /* CP2_ENA */
1300 #define WM5100_CP2_ENA_MASK                     0x0001  /* CP2_ENA */
1301 #define WM5100_CP2_ENA_SHIFT                         0  /* CP2_ENA */
1302 #define WM5100_CP2_ENA_WIDTH                         1  /* CP2_ENA */
1303
1304 /*
1305  * R513 (0x201) - Mic Charge Pump 2
1306  */
1307 #define WM5100_LDO2_VSEL_MASK                   0xF800  /* LDO2_VSEL - [15:11] */
1308 #define WM5100_LDO2_VSEL_SHIFT                      11  /* LDO2_VSEL - [15:11] */
1309 #define WM5100_LDO2_VSEL_WIDTH                       5  /* LDO2_VSEL - [15:11] */
1310
1311 /*
1312  * R514 (0x202) - HP Charge Pump 1
1313  */
1314 #define WM5100_CP1_ENA                          0x0001  /* CP1_ENA */
1315 #define WM5100_CP1_ENA_MASK                     0x0001  /* CP1_ENA */
1316 #define WM5100_CP1_ENA_SHIFT                         0  /* CP1_ENA */
1317 #define WM5100_CP1_ENA_WIDTH                         1  /* CP1_ENA */
1318
1319 /*
1320  * R529 (0x211) - LDO1 Control
1321  */
1322 #define WM5100_LDO1_BYPASS                      0x0002  /* LDO1_BYPASS */
1323 #define WM5100_LDO1_BYPASS_MASK                 0x0002  /* LDO1_BYPASS */
1324 #define WM5100_LDO1_BYPASS_SHIFT                     1  /* LDO1_BYPASS */
1325 #define WM5100_LDO1_BYPASS_WIDTH                     1  /* LDO1_BYPASS */
1326
1327 /*
1328  * R533 (0x215) - Mic Bias Ctrl 1
1329  */
1330 #define WM5100_MICB1_DISCH                      0x0040  /* MICB1_DISCH */
1331 #define WM5100_MICB1_DISCH_MASK                 0x0040  /* MICB1_DISCH */
1332 #define WM5100_MICB1_DISCH_SHIFT                     6  /* MICB1_DISCH */
1333 #define WM5100_MICB1_DISCH_WIDTH                     1  /* MICB1_DISCH */
1334 #define WM5100_MICB1_RATE                       0x0020  /* MICB1_RATE */
1335 #define WM5100_MICB1_RATE_MASK                  0x0020  /* MICB1_RATE */
1336 #define WM5100_MICB1_RATE_SHIFT                      5  /* MICB1_RATE */
1337 #define WM5100_MICB1_RATE_WIDTH                      1  /* MICB1_RATE */
1338 #define WM5100_MICB1_LVL_MASK                   0x001C  /* MICB1_LVL - [4:2] */
1339 #define WM5100_MICB1_LVL_SHIFT                       2  /* MICB1_LVL - [4:2] */
1340 #define WM5100_MICB1_LVL_WIDTH                       3  /* MICB1_LVL - [4:2] */
1341 #define WM5100_MICB1_BYPASS                     0x0002  /* MICB1_BYPASS */
1342 #define WM5100_MICB1_BYPASS_MASK                0x0002  /* MICB1_BYPASS */
1343 #define WM5100_MICB1_BYPASS_SHIFT                    1  /* MICB1_BYPASS */
1344 #define WM5100_MICB1_BYPASS_WIDTH                    1  /* MICB1_BYPASS */
1345 #define WM5100_MICB1_ENA                        0x0001  /* MICB1_ENA */
1346 #define WM5100_MICB1_ENA_MASK                   0x0001  /* MICB1_ENA */
1347 #define WM5100_MICB1_ENA_SHIFT                       0  /* MICB1_ENA */
1348 #define WM5100_MICB1_ENA_WIDTH                       1  /* MICB1_ENA */
1349
1350 /*
1351  * R534 (0x216) - Mic Bias Ctrl 2
1352  */
1353 #define WM5100_MICB2_DISCH                      0x0040  /* MICB2_DISCH */
1354 #define WM5100_MICB2_DISCH_MASK                 0x0040  /* MICB2_DISCH */
1355 #define WM5100_MICB2_DISCH_SHIFT                     6  /* MICB2_DISCH */
1356 #define WM5100_MICB2_DISCH_WIDTH                     1  /* MICB2_DISCH */
1357 #define WM5100_MICB2_RATE                       0x0020  /* MICB2_RATE */
1358 #define WM5100_MICB2_RATE_MASK                  0x0020  /* MICB2_RATE */
1359 #define WM5100_MICB2_RATE_SHIFT                      5  /* MICB2_RATE */
1360 #define WM5100_MICB2_RATE_WIDTH                      1  /* MICB2_RATE */
1361 #define WM5100_MICB2_LVL_MASK                   0x001C  /* MICB2_LVL - [4:2] */
1362 #define WM5100_MICB2_LVL_SHIFT                       2  /* MICB2_LVL - [4:2] */
1363 #define WM5100_MICB2_LVL_WIDTH                       3  /* MICB2_LVL - [4:2] */
1364 #define WM5100_MICB2_BYPASS                     0x0002  /* MICB2_BYPASS */
1365 #define WM5100_MICB2_BYPASS_MASK                0x0002  /* MICB2_BYPASS */
1366 #define WM5100_MICB2_BYPASS_SHIFT                    1  /* MICB2_BYPASS */
1367 #define WM5100_MICB2_BYPASS_WIDTH                    1  /* MICB2_BYPASS */
1368 #define WM5100_MICB2_ENA                        0x0001  /* MICB2_ENA */
1369 #define WM5100_MICB2_ENA_MASK                   0x0001  /* MICB2_ENA */
1370 #define WM5100_MICB2_ENA_SHIFT                       0  /* MICB2_ENA */
1371 #define WM5100_MICB2_ENA_WIDTH                       1  /* MICB2_ENA */
1372
1373 /*
1374  * R535 (0x217) - Mic Bias Ctrl 3
1375  */
1376 #define WM5100_MICB3_DISCH                      0x0040  /* MICB3_DISCH */
1377 #define WM5100_MICB3_DISCH_MASK                 0x0040  /* MICB3_DISCH */
1378 #define WM5100_MICB3_DISCH_SHIFT                     6  /* MICB3_DISCH */
1379 #define WM5100_MICB3_DISCH_WIDTH                     1  /* MICB3_DISCH */
1380 #define WM5100_MICB3_RATE                       0x0020  /* MICB3_RATE */
1381 #define WM5100_MICB3_RATE_MASK                  0x0020  /* MICB3_RATE */
1382 #define WM5100_MICB3_RATE_SHIFT                      5  /* MICB3_RATE */
1383 #define WM5100_MICB3_RATE_WIDTH                      1  /* MICB3_RATE */
1384 #define WM5100_MICB3_LVL_MASK                   0x001C  /* MICB3_LVL - [4:2] */
1385 #define WM5100_MICB3_LVL_SHIFT                       2  /* MICB3_LVL - [4:2] */
1386 #define WM5100_MICB3_LVL_WIDTH                       3  /* MICB3_LVL - [4:2] */
1387 #define WM5100_MICB3_BYPASS                     0x0002  /* MICB3_BYPASS */
1388 #define WM5100_MICB3_BYPASS_MASK                0x0002  /* MICB3_BYPASS */
1389 #define WM5100_MICB3_BYPASS_SHIFT                    1  /* MICB3_BYPASS */
1390 #define WM5100_MICB3_BYPASS_WIDTH                    1  /* MICB3_BYPASS */
1391 #define WM5100_MICB3_ENA                        0x0001  /* MICB3_ENA */
1392 #define WM5100_MICB3_ENA_MASK                   0x0001  /* MICB3_ENA */
1393 #define WM5100_MICB3_ENA_SHIFT                       0  /* MICB3_ENA */
1394 #define WM5100_MICB3_ENA_WIDTH                       1  /* MICB3_ENA */
1395
1396 /*
1397  * R640 (0x280) - Accessory Detect Mode 1
1398  */
1399 #define WM5100_ACCDET_BIAS_SRC_MASK             0xC000  /* ACCDET_BIAS_SRC - [15:14] */
1400 #define WM5100_ACCDET_BIAS_SRC_SHIFT                14  /* ACCDET_BIAS_SRC - [15:14] */
1401 #define WM5100_ACCDET_BIAS_SRC_WIDTH                 2  /* ACCDET_BIAS_SRC - [15:14] */
1402 #define WM5100_ACCDET_SRC                       0x2000  /* ACCDET_SRC */
1403 #define WM5100_ACCDET_SRC_MASK                  0x2000  /* ACCDET_SRC */
1404 #define WM5100_ACCDET_SRC_SHIFT                     13  /* ACCDET_SRC */
1405 #define WM5100_ACCDET_SRC_WIDTH                      1  /* ACCDET_SRC */
1406 #define WM5100_ACCDET_MODE_MASK                 0x0003  /* ACCDET_MODE - [1:0] */
1407 #define WM5100_ACCDET_MODE_SHIFT                     0  /* ACCDET_MODE - [1:0] */
1408 #define WM5100_ACCDET_MODE_WIDTH                     2  /* ACCDET_MODE - [1:0] */
1409
1410 /*
1411  * R648 (0x288) - Headphone Detect 1
1412  */
1413 #define WM5100_HP_HOLDTIME_MASK                 0x00E0  /* HP_HOLDTIME - [7:5] */
1414 #define WM5100_HP_HOLDTIME_SHIFT                     5  /* HP_HOLDTIME - [7:5] */
1415 #define WM5100_HP_HOLDTIME_WIDTH                     3  /* HP_HOLDTIME - [7:5] */
1416 #define WM5100_HP_CLK_DIV_MASK                  0x0018  /* HP_CLK_DIV - [4:3] */
1417 #define WM5100_HP_CLK_DIV_SHIFT                      3  /* HP_CLK_DIV - [4:3] */
1418 #define WM5100_HP_CLK_DIV_WIDTH                      2  /* HP_CLK_DIV - [4:3] */
1419 #define WM5100_HP_STEP_SIZE                     0x0002  /* HP_STEP_SIZE */
1420 #define WM5100_HP_STEP_SIZE_MASK                0x0002  /* HP_STEP_SIZE */
1421 #define WM5100_HP_STEP_SIZE_SHIFT                    1  /* HP_STEP_SIZE */
1422 #define WM5100_HP_STEP_SIZE_WIDTH                    1  /* HP_STEP_SIZE */
1423 #define WM5100_HP_POLL                          0x0001  /* HP_POLL */
1424 #define WM5100_HP_POLL_MASK                     0x0001  /* HP_POLL */
1425 #define WM5100_HP_POLL_SHIFT                         0  /* HP_POLL */
1426 #define WM5100_HP_POLL_WIDTH                         1  /* HP_POLL */
1427
1428 /*
1429  * R649 (0x289) - Headphone Detect 2
1430  */
1431 #define WM5100_HP_DONE                          0x0080  /* HP_DONE */
1432 #define WM5100_HP_DONE_MASK                     0x0080  /* HP_DONE */
1433 #define WM5100_HP_DONE_SHIFT                         7  /* HP_DONE */
1434 #define WM5100_HP_DONE_WIDTH                         1  /* HP_DONE */
1435 #define WM5100_HP_LVL_MASK                      0x007F  /* HP_LVL - [6:0] */
1436 #define WM5100_HP_LVL_SHIFT                          0  /* HP_LVL - [6:0] */
1437 #define WM5100_HP_LVL_WIDTH                          7  /* HP_LVL - [6:0] */
1438
1439 /*
1440  * R656 (0x290) - Mic Detect 1
1441  */
1442 #define WM5100_ACCDET_BIAS_STARTTIME_MASK       0xF000  /* ACCDET_BIAS_STARTTIME - [15:12] */
1443 #define WM5100_ACCDET_BIAS_STARTTIME_SHIFT          12  /* ACCDET_BIAS_STARTTIME - [15:12] */
1444 #define WM5100_ACCDET_BIAS_STARTTIME_WIDTH           4  /* ACCDET_BIAS_STARTTIME - [15:12] */
1445 #define WM5100_ACCDET_RATE_MASK                 0x0F00  /* ACCDET_RATE - [11:8] */
1446 #define WM5100_ACCDET_RATE_SHIFT                     8  /* ACCDET_RATE - [11:8] */
1447 #define WM5100_ACCDET_RATE_WIDTH                     4  /* ACCDET_RATE - [11:8] */
1448 #define WM5100_ACCDET_DBTIME                    0x0002  /* ACCDET_DBTIME */
1449 #define WM5100_ACCDET_DBTIME_MASK               0x0002  /* ACCDET_DBTIME */
1450 #define WM5100_ACCDET_DBTIME_SHIFT                   1  /* ACCDET_DBTIME */
1451 #define WM5100_ACCDET_DBTIME_WIDTH                   1  /* ACCDET_DBTIME */
1452 #define WM5100_ACCDET_ENA                       0x0001  /* ACCDET_ENA */
1453 #define WM5100_ACCDET_ENA_MASK                  0x0001  /* ACCDET_ENA */
1454 #define WM5100_ACCDET_ENA_SHIFT                      0  /* ACCDET_ENA */
1455 #define WM5100_ACCDET_ENA_WIDTH                      1  /* ACCDET_ENA */
1456
1457 /*
1458  * R657 (0x291) - Mic Detect 2
1459  */
1460 #define WM5100_ACCDET_LVL_SEL_MASK              0x00FF  /* ACCDET_LVL_SEL - [7:0] */
1461 #define WM5100_ACCDET_LVL_SEL_SHIFT                  0  /* ACCDET_LVL_SEL - [7:0] */
1462 #define WM5100_ACCDET_LVL_SEL_WIDTH                  8  /* ACCDET_LVL_SEL - [7:0] */
1463
1464 /*
1465  * R658 (0x292) - Mic Detect 3
1466  */
1467 #define WM5100_ACCDET_LVL_MASK                  0x07FC  /* ACCDET_LVL - [10:2] */
1468 #define WM5100_ACCDET_LVL_SHIFT                      2  /* ACCDET_LVL - [10:2] */
1469 #define WM5100_ACCDET_LVL_WIDTH                      9  /* ACCDET_LVL - [10:2] */
1470 #define WM5100_ACCDET_VALID                     0x0002  /* ACCDET_VALID */
1471 #define WM5100_ACCDET_VALID_MASK                0x0002  /* ACCDET_VALID */
1472 #define WM5100_ACCDET_VALID_SHIFT                    1  /* ACCDET_VALID */
1473 #define WM5100_ACCDET_VALID_WIDTH                    1  /* ACCDET_VALID */
1474 #define WM5100_ACCDET_STS                       0x0001  /* ACCDET_STS */
1475 #define WM5100_ACCDET_STS_MASK                  0x0001  /* ACCDET_STS */
1476 #define WM5100_ACCDET_STS_SHIFT                      0  /* ACCDET_STS */
1477 #define WM5100_ACCDET_STS_WIDTH                      1  /* ACCDET_STS */
1478
1479 /*
1480  * R699 (0x2BB) - Misc Control
1481  */
1482 #define WM5100_HPCOM_SRC                         0x200  /* HPCOM_SRC */
1483 #define WM5100_HPCOM_SRC_SHIFT                       9  /* HPCOM_SRC */
1484
1485 /*
1486  * R769 (0x301) - Input Enables
1487  */
1488 #define WM5100_IN4L_ENA                         0x0080  /* IN4L_ENA */
1489 #define WM5100_IN4L_ENA_MASK                    0x0080  /* IN4L_ENA */
1490 #define WM5100_IN4L_ENA_SHIFT                        7  /* IN4L_ENA */
1491 #define WM5100_IN4L_ENA_WIDTH                        1  /* IN4L_ENA */
1492 #define WM5100_IN4R_ENA                         0x0040  /* IN4R_ENA */
1493 #define WM5100_IN4R_ENA_MASK                    0x0040  /* IN4R_ENA */
1494 #define WM5100_IN4R_ENA_SHIFT                        6  /* IN4R_ENA */
1495 #define WM5100_IN4R_ENA_WIDTH                        1  /* IN4R_ENA */
1496 #define WM5100_IN3L_ENA                         0x0020  /* IN3L_ENA */
1497 #define WM5100_IN3L_ENA_MASK                    0x0020  /* IN3L_ENA */
1498 #define WM5100_IN3L_ENA_SHIFT                        5  /* IN3L_ENA */
1499 #define WM5100_IN3L_ENA_WIDTH                        1  /* IN3L_ENA */
1500 #define WM5100_IN3R_ENA                         0x0010  /* IN3R_ENA */
1501 #define WM5100_IN3R_ENA_MASK                    0x0010  /* IN3R_ENA */
1502 #define WM5100_IN3R_ENA_SHIFT                        4  /* IN3R_ENA */
1503 #define WM5100_IN3R_ENA_WIDTH                        1  /* IN3R_ENA */
1504 #define WM5100_IN2L_ENA                         0x0008  /* IN2L_ENA */
1505 #define WM5100_IN2L_ENA_MASK                    0x0008  /* IN2L_ENA */
1506 #define WM5100_IN2L_ENA_SHIFT                        3  /* IN2L_ENA */
1507 #define WM5100_IN2L_ENA_WIDTH                        1  /* IN2L_ENA */
1508 #define WM5100_IN2R_ENA                         0x0004  /* IN2R_ENA */
1509 #define WM5100_IN2R_ENA_MASK                    0x0004  /* IN2R_ENA */
1510 #define WM5100_IN2R_ENA_SHIFT                        2  /* IN2R_ENA */
1511 #define WM5100_IN2R_ENA_WIDTH                        1  /* IN2R_ENA */
1512 #define WM5100_IN1L_ENA                         0x0002  /* IN1L_ENA */
1513 #define WM5100_IN1L_ENA_MASK                    0x0002  /* IN1L_ENA */
1514 #define WM5100_IN1L_ENA_SHIFT                        1  /* IN1L_ENA */
1515 #define WM5100_IN1L_ENA_WIDTH                        1  /* IN1L_ENA */
1516 #define WM5100_IN1R_ENA                         0x0001  /* IN1R_ENA */
1517 #define WM5100_IN1R_ENA_MASK                    0x0001  /* IN1R_ENA */
1518 #define WM5100_IN1R_ENA_SHIFT                        0  /* IN1R_ENA */
1519 #define WM5100_IN1R_ENA_WIDTH                        1  /* IN1R_ENA */
1520
1521 /*
1522  * R770 (0x302) - Input Enables Status
1523  */
1524 #define WM5100_IN4L_ENA_STS                     0x0080  /* IN4L_ENA_STS */
1525 #define WM5100_IN4L_ENA_STS_MASK                0x0080  /* IN4L_ENA_STS */
1526 #define WM5100_IN4L_ENA_STS_SHIFT                    7  /* IN4L_ENA_STS */
1527 #define WM5100_IN4L_ENA_STS_WIDTH                    1  /* IN4L_ENA_STS */
1528 #define WM5100_IN4R_ENA_STS                     0x0040  /* IN4R_ENA_STS */
1529 #define WM5100_IN4R_ENA_STS_MASK                0x0040  /* IN4R_ENA_STS */
1530 #define WM5100_IN4R_ENA_STS_SHIFT                    6  /* IN4R_ENA_STS */
1531 #define WM5100_IN4R_ENA_STS_WIDTH                    1  /* IN4R_ENA_STS */
1532 #define WM5100_IN3L_ENA_STS                     0x0020  /* IN3L_ENA_STS */
1533 #define WM5100_IN3L_ENA_STS_MASK                0x0020  /* IN3L_ENA_STS */
1534 #define WM5100_IN3L_ENA_STS_SHIFT                    5  /* IN3L_ENA_STS */
1535 #define WM5100_IN3L_ENA_STS_WIDTH                    1  /* IN3L_ENA_STS */
1536 #define WM5100_IN3R_ENA_STS                     0x0010  /* IN3R_ENA_STS */
1537 #define WM5100_IN3R_ENA_STS_MASK                0x0010  /* IN3R_ENA_STS */
1538 #define WM5100_IN3R_ENA_STS_SHIFT                    4  /* IN3R_ENA_STS */
1539 #define WM5100_IN3R_ENA_STS_WIDTH                    1  /* IN3R_ENA_STS */
1540 #define WM5100_IN2L_ENA_STS                     0x0008  /* IN2L_ENA_STS */
1541 #define WM5100_IN2L_ENA_STS_MASK                0x0008  /* IN2L_ENA_STS */
1542 #define WM5100_IN2L_ENA_STS_SHIFT                    3  /* IN2L_ENA_STS */
1543 #define WM5100_IN2L_ENA_STS_WIDTH                    1  /* IN2L_ENA_STS */
1544 #define WM5100_IN2R_ENA_STS                     0x0004  /* IN2R_ENA_STS */
1545 #define WM5100_IN2R_ENA_STS_MASK                0x0004  /* IN2R_ENA_STS */
1546 #define WM5100_IN2R_ENA_STS_SHIFT                    2  /* IN2R_ENA_STS */
1547 #define WM5100_IN2R_ENA_STS_WIDTH                    1  /* IN2R_ENA_STS */
1548 #define WM5100_IN1L_ENA_STS                     0x0002  /* IN1L_ENA_STS */
1549 #define WM5100_IN1L_ENA_STS_MASK                0x0002  /* IN1L_ENA_STS */
1550 #define WM5100_IN1L_ENA_STS_SHIFT                    1  /* IN1L_ENA_STS */
1551 #define WM5100_IN1L_ENA_STS_WIDTH                    1  /* IN1L_ENA_STS */
1552 #define WM5100_IN1R_ENA_STS                     0x0001  /* IN1R_ENA_STS */
1553 #define WM5100_IN1R_ENA_STS_MASK                0x0001  /* IN1R_ENA_STS */
1554 #define WM5100_IN1R_ENA_STS_SHIFT                    0  /* IN1R_ENA_STS */
1555 #define WM5100_IN1R_ENA_STS_WIDTH                    1  /* IN1R_ENA_STS */
1556
1557 /*
1558  * R784 (0x310) - IN1L Control
1559  */
1560 #define WM5100_IN_RATE_MASK                     0xC000  /* IN_RATE - [15:14] */
1561 #define WM5100_IN_RATE_SHIFT                        14  /* IN_RATE - [15:14] */
1562 #define WM5100_IN_RATE_WIDTH                         2  /* IN_RATE - [15:14] */
1563 #define WM5100_IN1_OSR                          0x2000  /* IN1_OSR */
1564 #define WM5100_IN1_OSR_MASK                     0x2000  /* IN1_OSR */
1565 #define WM5100_IN1_OSR_SHIFT                        13  /* IN1_OSR */
1566 #define WM5100_IN1_OSR_WIDTH                         1  /* IN1_OSR */
1567 #define WM5100_IN1_DMIC_SUP_MASK                0x1800  /* IN1_DMIC_SUP - [12:11] */
1568 #define WM5100_IN1_DMIC_SUP_SHIFT                   11  /* IN1_DMIC_SUP - [12:11] */
1569 #define WM5100_IN1_DMIC_SUP_WIDTH                    2  /* IN1_DMIC_SUP - [12:11] */
1570 #define WM5100_IN1_MODE_MASK                    0x0600  /* IN1_MODE - [10:9] */
1571 #define WM5100_IN1_MODE_SHIFT                        9  /* IN1_MODE - [10:9] */
1572 #define WM5100_IN1_MODE_WIDTH                        2  /* IN1_MODE - [10:9] */
1573 #define WM5100_IN1L_PGA_VOL_MASK                0x00FE  /* IN1L_PGA_VOL - [7:1] */
1574 #define WM5100_IN1L_PGA_VOL_SHIFT                    1  /* IN1L_PGA_VOL - [7:1] */
1575 #define WM5100_IN1L_PGA_VOL_WIDTH                    7  /* IN1L_PGA_VOL - [7:1] */
1576
1577 /*
1578  * R785 (0x311) - IN1R Control
1579  */
1580 #define WM5100_IN1R_PGA_VOL_MASK                0x00FE  /* IN1R_PGA_VOL - [7:1] */
1581 #define WM5100_IN1R_PGA_VOL_SHIFT                    1  /* IN1R_PGA_VOL - [7:1] */
1582 #define WM5100_IN1R_PGA_VOL_WIDTH                    7  /* IN1R_PGA_VOL - [7:1] */
1583
1584 /*
1585  * R786 (0x312) - IN2L Control
1586  */
1587 #define WM5100_IN2_OSR                          0x2000  /* IN2_OSR */
1588 #define WM5100_IN2_OSR_MASK                     0x2000  /* IN2_OSR */
1589 #define WM5100_IN2_OSR_SHIFT                        13  /* IN2_OSR */
1590 #define WM5100_IN2_OSR_WIDTH                         1  /* IN2_OSR */
1591 #define WM5100_IN2_DMIC_SUP_MASK                0x1800  /* IN2_DMIC_SUP - [12:11] */
1592 #define WM5100_IN2_DMIC_SUP_SHIFT                   11  /* IN2_DMIC_SUP - [12:11] */
1593 #define WM5100_IN2_DMIC_SUP_WIDTH                    2  /* IN2_DMIC_SUP - [12:11] */
1594 #define WM5100_IN2_MODE_MASK                    0x0600  /* IN2_MODE - [10:9] */
1595 #define WM5100_IN2_MODE_SHIFT                        9  /* IN2_MODE - [10:9] */
1596 #define WM5100_IN2_MODE_WIDTH                        2  /* IN2_MODE - [10:9] */
1597 #define WM5100_IN2L_PGA_VOL_MASK                0x00FE  /* IN2L_PGA_VOL - [7:1] */
1598 #define WM5100_IN2L_PGA_VOL_SHIFT                    1  /* IN2L_PGA_VOL - [7:1] */
1599 #define WM5100_IN2L_PGA_VOL_WIDTH                    7  /* IN2L_PGA_VOL - [7:1] */
1600
1601 /*
1602  * R787 (0x313) - IN2R Control
1603  */
1604 #define WM5100_IN2R_PGA_VOL_MASK                0x00FE  /* IN2R_PGA_VOL - [7:1] */
1605 #define WM5100_IN2R_PGA_VOL_SHIFT                    1  /* IN2R_PGA_VOL - [7:1] */
1606 #define WM5100_IN2R_PGA_VOL_WIDTH                    7  /* IN2R_PGA_VOL - [7:1] */
1607
1608 /*
1609  * R788 (0x314) - IN3L Control
1610  */
1611 #define WM5100_IN3_OSR                          0x2000  /* IN3_OSR */
1612 #define WM5100_IN3_OSR_MASK                     0x2000  /* IN3_OSR */
1613 #define WM5100_IN3_OSR_SHIFT                        13  /* IN3_OSR */
1614 #define WM5100_IN3_OSR_WIDTH                         1  /* IN3_OSR */
1615 #define WM5100_IN3_DMIC_SUP_MASK                0x1800  /* IN3_DMIC_SUP - [12:11] */
1616 #define WM5100_IN3_DMIC_SUP_SHIFT                   11  /* IN3_DMIC_SUP - [12:11] */
1617 #define WM5100_IN3_DMIC_SUP_WIDTH                    2  /* IN3_DMIC_SUP - [12:11] */
1618 #define WM5100_IN3_MODE_MASK                    0x0600  /* IN3_MODE - [10:9] */
1619 #define WM5100_IN3_MODE_SHIFT                        9  /* IN3_MODE - [10:9] */
1620 #define WM5100_IN3_MODE_WIDTH                        2  /* IN3_MODE - [10:9] */
1621 #define WM5100_IN3L_PGA_VOL_MASK                0x00FE  /* IN3L_PGA_VOL - [7:1] */
1622 #define WM5100_IN3L_PGA_VOL_SHIFT                    1  /* IN3L_PGA_VOL - [7:1] */
1623 #define WM5100_IN3L_PGA_VOL_WIDTH                    7  /* IN3L_PGA_VOL - [7:1] */
1624
1625 /*
1626  * R789 (0x315) - IN3R Control
1627  */
1628 #define WM5100_IN3R_PGA_VOL_MASK                0x00FE  /* IN3R_PGA_VOL - [7:1] */
1629 #define WM5100_IN3R_PGA_VOL_SHIFT                    1  /* IN3R_PGA_VOL - [7:1] */
1630 #define WM5100_IN3R_PGA_VOL_WIDTH                    7  /* IN3R_PGA_VOL - [7:1] */
1631
1632 /*
1633  * R790 (0x316) - IN4L Control
1634  */
1635 #define WM5100_IN4_OSR                          0x2000  /* IN4_OSR */
1636 #define WM5100_IN4_OSR_MASK                     0x2000  /* IN4_OSR */
1637 #define WM5100_IN4_OSR_SHIFT                        13  /* IN4_OSR */
1638 #define WM5100_IN4_OSR_WIDTH                         1  /* IN4_OSR */
1639 #define WM5100_IN4_DMIC_SUP_MASK                0x1800  /* IN4_DMIC_SUP - [12:11] */
1640 #define WM5100_IN4_DMIC_SUP_SHIFT                   11  /* IN4_DMIC_SUP - [12:11] */
1641 #define WM5100_IN4_DMIC_SUP_WIDTH                    2  /* IN4_DMIC_SUP - [12:11] */
1642 #define WM5100_IN4_MODE_MASK                    0x0600  /* IN4_MODE - [10:9] */
1643 #define WM5100_IN4_MODE_SHIFT                        9  /* IN4_MODE - [10:9] */
1644 #define WM5100_IN4_MODE_WIDTH                        2  /* IN4_MODE - [10:9] */
1645 #define WM5100_IN4L_PGA_VOL_MASK                0x00FE  /* IN4L_PGA_VOL - [7:1] */
1646 #define WM5100_IN4L_PGA_VOL_SHIFT                    1  /* IN4L_PGA_VOL - [7:1] */
1647 #define WM5100_IN4L_PGA_VOL_WIDTH                    7  /* IN4L_PGA_VOL - [7:1] */
1648
1649 /*
1650  * R791 (0x317) - IN4R Control
1651  */
1652 #define WM5100_IN4R_PGA_VOL_MASK                0x00FE  /* IN4R_PGA_VOL - [7:1] */
1653 #define WM5100_IN4R_PGA_VOL_SHIFT                    1  /* IN4R_PGA_VOL - [7:1] */
1654 #define WM5100_IN4R_PGA_VOL_WIDTH                    7  /* IN4R_PGA_VOL - [7:1] */
1655
1656 /*
1657  * R792 (0x318) - RXANC_SRC
1658  */
1659 #define WM5100_IN_RXANC_SEL_MASK                0x0007  /* IN_RXANC_SEL - [2:0] */
1660 #define WM5100_IN_RXANC_SEL_SHIFT                    0  /* IN_RXANC_SEL - [2:0] */
1661 #define WM5100_IN_RXANC_SEL_WIDTH                    3  /* IN_RXANC_SEL - [2:0] */
1662
1663 /*
1664  * R793 (0x319) - Input Volume Ramp
1665  */
1666 #define WM5100_IN_VD_RAMP_MASK                  0x0070  /* IN_VD_RAMP - [6:4] */
1667 #define WM5100_IN_VD_RAMP_SHIFT                      4  /* IN_VD_RAMP - [6:4] */
1668 #define WM5100_IN_VD_RAMP_WIDTH                      3  /* IN_VD_RAMP - [6:4] */
1669 #define WM5100_IN_VI_RAMP_MASK                  0x0007  /* IN_VI_RAMP - [2:0] */
1670 #define WM5100_IN_VI_RAMP_SHIFT                      0  /* IN_VI_RAMP - [2:0] */
1671 #define WM5100_IN_VI_RAMP_WIDTH                      3  /* IN_VI_RAMP - [2:0] */
1672
1673 /*
1674  * R800 (0x320) - ADC Digital Volume 1L
1675  */
1676 #define WM5100_IN_VU                            0x0200  /* IN_VU */
1677 #define WM5100_IN_VU_MASK                       0x0200  /* IN_VU */
1678 #define WM5100_IN_VU_SHIFT                           9  /* IN_VU */
1679 #define WM5100_IN_VU_WIDTH                           1  /* IN_VU */
1680 #define WM5100_IN1L_MUTE                        0x0100  /* IN1L_MUTE */
1681 #define WM5100_IN1L_MUTE_MASK                   0x0100  /* IN1L_MUTE */
1682 #define WM5100_IN1L_MUTE_SHIFT                       8  /* IN1L_MUTE */
1683 #define WM5100_IN1L_MUTE_WIDTH                       1  /* IN1L_MUTE */
1684 #define WM5100_IN1L_VOL_MASK                    0x00FF  /* IN1L_VOL - [7:0] */
1685 #define WM5100_IN1L_VOL_SHIFT                        0  /* IN1L_VOL - [7:0] */
1686 #define WM5100_IN1L_VOL_WIDTH                        8  /* IN1L_VOL - [7:0] */
1687
1688 /*
1689  * R801 (0x321) - ADC Digital Volume 1R
1690  */
1691 #define WM5100_IN_VU                            0x0200  /* IN_VU */
1692 #define WM5100_IN_VU_MASK                       0x0200  /* IN_VU */
1693 #define WM5100_IN_VU_SHIFT                           9  /* IN_VU */
1694 #define WM5100_IN_VU_WIDTH                           1  /* IN_VU */
1695 #define WM5100_IN1R_MUTE                        0x0100  /* IN1R_MUTE */
1696 #define WM5100_IN1R_MUTE_MASK                   0x0100  /* IN1R_MUTE */
1697 #define WM5100_IN1R_MUTE_SHIFT                       8  /* IN1R_MUTE */
1698 #define WM5100_IN1R_MUTE_WIDTH                       1  /* IN1R_MUTE */
1699 #define WM5100_IN1R_VOL_MASK                    0x00FF  /* IN1R_VOL - [7:0] */
1700 #define WM5100_IN1R_VOL_SHIFT                        0  /* IN1R_VOL - [7:0] */
1701 #define WM5100_IN1R_VOL_WIDTH                        8  /* IN1R_VOL - [7:0] */
1702
1703 /*
1704  * R802 (0x322) - ADC Digital Volume 2L
1705  */
1706 #define WM5100_IN_VU                            0x0200  /* IN_VU */
1707 #define WM5100_IN_VU_MASK                       0x0200  /* IN_VU */
1708 #define WM5100_IN_VU_SHIFT                           9  /* IN_VU */
1709 #define WM5100_IN_VU_WIDTH                           1  /* IN_VU */
1710 #define WM5100_IN2L_MUTE                        0x0100  /* IN2L_MUTE */
1711 #define WM5100_IN2L_MUTE_MASK                   0x0100  /* IN2L_MUTE */
1712 #define WM5100_IN2L_MUTE_SHIFT                       8  /* IN2L_MUTE */
1713 #define WM5100_IN2L_MUTE_WIDTH                       1  /* IN2L_MUTE */
1714 #define WM5100_IN2L_VOL_MASK                    0x00FF  /* IN2L_VOL - [7:0] */
1715 #define WM5100_IN2L_VOL_SHIFT                        0  /* IN2L_VOL - [7:0] */
1716 #define WM5100_IN2L_VOL_WIDTH                        8  /* IN2L_VOL - [7:0] */
1717
1718 /*
1719  * R803 (0x323) - ADC Digital Volume 2R
1720  */
1721 #define WM5100_IN_VU                            0x0200  /* IN_VU */
1722 #define WM5100_IN_VU_MASK                       0x0200  /* IN_VU */
1723 #define WM5100_IN_VU_SHIFT                           9  /* IN_VU */
1724 #define WM5100_IN_VU_WIDTH                           1  /* IN_VU */
1725 #define WM5100_IN2R_MUTE                        0x0100  /* IN2R_MUTE */
1726 #define WM5100_IN2R_MUTE_MASK                   0x0100  /* IN2R_MUTE */
1727 #define WM5100_IN2R_MUTE_SHIFT                       8  /* IN2R_MUTE */
1728 #define WM5100_IN2R_MUTE_WIDTH                       1  /* IN2R_MUTE */
1729 #define WM5100_IN2R_VOL_MASK                    0x00FF  /* IN2R_VOL - [7:0] */
1730 #define WM5100_IN2R_VOL_SHIFT                        0  /* IN2R_VOL - [7:0] */
1731 #define WM5100_IN2R_VOL_WIDTH                        8  /* IN2R_VOL - [7:0] */
1732
1733 /*
1734  * R804 (0x324) - ADC Digital Volume 3L
1735  */
1736 #define WM5100_IN_VU                            0x0200  /* IN_VU */
1737 #define WM5100_IN_VU_MASK                       0x0200  /* IN_VU */
1738 #define WM5100_IN_VU_SHIFT                           9  /* IN_VU */
1739 #define WM5100_IN_VU_WIDTH                           1  /* IN_VU */
1740 #define WM5100_IN3L_MUTE                        0x0100  /* IN3L_MUTE */
1741 #define WM5100_IN3L_MUTE_MASK                   0x0100  /* IN3L_MUTE */
1742 #define WM5100_IN3L_MUTE_SHIFT                       8  /* IN3L_MUTE */
1743 #define WM5100_IN3L_MUTE_WIDTH                       1  /* IN3L_MUTE */
1744 #define WM5100_IN3L_VOL_MASK                    0x00FF  /* IN3L_VOL - [7:0] */
1745 #define WM5100_IN3L_VOL_SHIFT                        0  /* IN3L_VOL - [7:0] */
1746 #define WM5100_IN3L_VOL_WIDTH                        8  /* IN3L_VOL - [7:0] */
1747
1748 /*
1749  * R805 (0x325) - ADC Digital Volume 3R
1750  */
1751 #define WM5100_IN_VU                            0x0200  /* IN_VU */
1752 #define WM5100_IN_VU_MASK                       0x0200  /* IN_VU */
1753 #define WM5100_IN_VU_SHIFT                           9  /* IN_VU */
1754 #define WM5100_IN_VU_WIDTH                           1  /* IN_VU */
1755 #define WM5100_IN3R_MUTE                        0x0100  /* IN3R_MUTE */
1756 #define WM5100_IN3R_MUTE_MASK                   0x0100  /* IN3R_MUTE */
1757 #define WM5100_IN3R_MUTE_SHIFT                       8  /* IN3R_MUTE */
1758 #define WM5100_IN3R_MUTE_WIDTH                       1  /* IN3R_MUTE */
1759 #define WM5100_IN3R_VOL_MASK                    0x00FF  /* IN3R_VOL - [7:0] */
1760 #define WM5100_IN3R_VOL_SHIFT                        0  /* IN3R_VOL - [7:0] */
1761 #define WM5100_IN3R_VOL_WIDTH                        8  /* IN3R_VOL - [7:0] */
1762
1763 /*
1764  * R806 (0x326) - ADC Digital Volume 4L
1765  */
1766 #define WM5100_IN_VU                            0x0200  /* IN_VU */
1767 #define WM5100_IN_VU_MASK                       0x0200  /* IN_VU */
1768 #define WM5100_IN_VU_SHIFT                           9  /* IN_VU */
1769 #define WM5100_IN_VU_WIDTH                           1  /* IN_VU */
1770 #define WM5100_IN4L_MUTE                        0x0100  /* IN4L_MUTE */
1771 #define WM5100_IN4L_MUTE_MASK                   0x0100  /* IN4L_MUTE */
1772 #define WM5100_IN4L_MUTE_SHIFT                       8  /* IN4L_MUTE */
1773 #define WM5100_IN4L_MUTE_WIDTH                       1  /* IN4L_MUTE */
1774 #define WM5100_IN4L_VOL_MASK                    0x00FF  /* IN4L_VOL - [7:0] */
1775 #define WM5100_IN4L_VOL_SHIFT                        0  /* IN4L_VOL - [7:0] */
1776 #define WM5100_IN4L_VOL_WIDTH                        8  /* IN4L_VOL - [7:0] */
1777
1778 /*
1779  * R807 (0x327) - ADC Digital Volume 4R
1780  */
1781 #define WM5100_IN_VU                            0x0200  /* IN_VU */
1782 #define WM5100_IN_VU_MASK                       0x0200  /* IN_VU */
1783 #define WM5100_IN_VU_SHIFT                           9  /* IN_VU */
1784 #define WM5100_IN_VU_WIDTH                           1  /* IN_VU */
1785 #define WM5100_IN4R_MUTE                        0x0100  /* IN4R_MUTE */
1786 #define WM5100_IN4R_MUTE_MASK                   0x0100  /* IN4R_MUTE */
1787 #define WM5100_IN4R_MUTE_SHIFT                       8  /* IN4R_MUTE */
1788 #define WM5100_IN4R_MUTE_WIDTH                       1  /* IN4R_MUTE */
1789 #define WM5100_IN4R_VOL_MASK                    0x00FF  /* IN4R_VOL - [7:0] */
1790 #define WM5100_IN4R_VOL_SHIFT                        0  /* IN4R_VOL - [7:0] */
1791 #define WM5100_IN4R_VOL_WIDTH                        8  /* IN4R_VOL - [7:0] */
1792
1793 /*
1794  * R1025 (0x401) - Output Enables 2
1795  */
1796 #define WM5100_OUT6L_ENA                        0x0800  /* OUT6L_ENA */
1797 #define WM5100_OUT6L_ENA_MASK                   0x0800  /* OUT6L_ENA */
1798 #define WM5100_OUT6L_ENA_SHIFT                      11  /* OUT6L_ENA */
1799 #define WM5100_OUT6L_ENA_WIDTH                       1  /* OUT6L_ENA */
1800 #define WM5100_OUT6R_ENA                        0x0400  /* OUT6R_ENA */
1801 #define WM5100_OUT6R_ENA_MASK                   0x0400  /* OUT6R_ENA */
1802 #define WM5100_OUT6R_ENA_SHIFT                      10  /* OUT6R_ENA */
1803 #define WM5100_OUT6R_ENA_WIDTH                       1  /* OUT6R_ENA */
1804 #define WM5100_OUT5L_ENA                        0x0200  /* OUT5L_ENA */
1805 #define WM5100_OUT5L_ENA_MASK                   0x0200  /* OUT5L_ENA */
1806 #define WM5100_OUT5L_ENA_SHIFT                       9  /* OUT5L_ENA */
1807 #define WM5100_OUT5L_ENA_WIDTH                       1  /* OUT5L_ENA */
1808 #define WM5100_OUT5R_ENA                        0x0100  /* OUT5R_ENA */
1809 #define WM5100_OUT5R_ENA_MASK                   0x0100  /* OUT5R_ENA */
1810 #define WM5100_OUT5R_ENA_SHIFT                       8  /* OUT5R_ENA */
1811 #define WM5100_OUT5R_ENA_WIDTH                       1  /* OUT5R_ENA */
1812 #define WM5100_OUT4L_ENA                        0x0080  /* OUT4L_ENA */
1813 #define WM5100_OUT4L_ENA_MASK                   0x0080  /* OUT4L_ENA */
1814 #define WM5100_OUT4L_ENA_SHIFT                       7  /* OUT4L_ENA */
1815 #define WM5100_OUT4L_ENA_WIDTH                       1  /* OUT4L_ENA */
1816 #define WM5100_OUT4R_ENA                        0x0040  /* OUT4R_ENA */
1817 #define WM5100_OUT4R_ENA_MASK                   0x0040  /* OUT4R_ENA */
1818 #define WM5100_OUT4R_ENA_SHIFT                       6  /* OUT4R_ENA */
1819 #define WM5100_OUT4R_ENA_WIDTH                       1  /* OUT4R_ENA */
1820
1821 /*
1822  * R1026 (0x402) - Output Status 1
1823  */
1824 #define WM5100_OUT3L_ENA_STS                    0x0020  /* OUT3L_ENA_STS */
1825 #define WM5100_OUT3L_ENA_STS_MASK               0x0020  /* OUT3L_ENA_STS */
1826 #define WM5100_OUT3L_ENA_STS_SHIFT                   5  /* OUT3L_ENA_STS */
1827 #define WM5100_OUT3L_ENA_STS_WIDTH                   1  /* OUT3L_ENA_STS */
1828 #define WM5100_OUT3R_ENA_STS                    0x0010  /* OUT3R_ENA_STS */
1829 #define WM5100_OUT3R_ENA_STS_MASK               0x0010  /* OUT3R_ENA_STS */
1830 #define WM5100_OUT3R_ENA_STS_SHIFT                   4  /* OUT3R_ENA_STS */
1831 #define WM5100_OUT3R_ENA_STS_WIDTH                   1  /* OUT3R_ENA_STS */
1832 #define WM5100_OUT2L_ENA_STS                    0x0008  /* OUT2L_ENA_STS */
1833 #define WM5100_OUT2L_ENA_STS_MASK               0x0008  /* OUT2L_ENA_STS */
1834 #define WM5100_OUT2L_ENA_STS_SHIFT                   3  /* OUT2L_ENA_STS */
1835 #define WM5100_OUT2L_ENA_STS_WIDTH                   1  /* OUT2L_ENA_STS */
1836 #define WM5100_OUT2R_ENA_STS                    0x0004  /* OUT2R_ENA_STS */
1837 #define WM5100_OUT2R_ENA_STS_MASK               0x0004  /* OUT2R_ENA_STS */
1838 #define WM5100_OUT2R_ENA_STS_SHIFT                   2  /* OUT2R_ENA_STS */
1839 #define WM5100_OUT2R_ENA_STS_WIDTH                   1  /* OUT2R_ENA_STS */
1840 #define WM5100_OUT1L_ENA_STS                    0x0002  /* OUT1L_ENA_STS */
1841 #define WM5100_OUT1L_ENA_STS_MASK               0x0002  /* OUT1L_ENA_STS */
1842 #define WM5100_OUT1L_ENA_STS_SHIFT                   1  /* OUT1L_ENA_STS */
1843 #define WM5100_OUT1L_ENA_STS_WIDTH                   1  /* OUT1L_ENA_STS */
1844 #define WM5100_OUT1R_ENA_STS                    0x0001  /* OUT1R_ENA_STS */
1845 #define WM5100_OUT1R_ENA_STS_MASK               0x0001  /* OUT1R_ENA_STS */
1846 #define WM5100_OUT1R_ENA_STS_SHIFT                   0  /* OUT1R_ENA_STS */
1847 #define WM5100_OUT1R_ENA_STS_WIDTH                   1  /* OUT1R_ENA_STS */
1848
1849 /*
1850  * R1027 (0x403) - Output Status 2
1851  */
1852 #define WM5100_OUT6L_ENA_STS                    0x0800  /* OUT6L_ENA_STS */
1853 #define WM5100_OUT6L_ENA_STS_MASK               0x0800  /* OUT6L_ENA_STS */
1854 #define WM5100_OUT6L_ENA_STS_SHIFT                  11  /* OUT6L_ENA_STS */
1855 #define WM5100_OUT6L_ENA_STS_WIDTH                   1  /* OUT6L_ENA_STS */
1856 #define WM5100_OUT6R_ENA_STS                    0x0400  /* OUT6R_ENA_STS */
1857 #define WM5100_OUT6R_ENA_STS_MASK               0x0400  /* OUT6R_ENA_STS */
1858 #define WM5100_OUT6R_ENA_STS_SHIFT                  10  /* OUT6R_ENA_STS */
1859 #define WM5100_OUT6R_ENA_STS_WIDTH                   1  /* OUT6R_ENA_STS */
1860 #define WM5100_OUT5L_ENA_STS                    0x0200  /* OUT5L_ENA_STS */
1861 #define WM5100_OUT5L_ENA_STS_MASK               0x0200  /* OUT5L_ENA_STS */
1862 #define WM5100_OUT5L_ENA_STS_SHIFT                   9  /* OUT5L_ENA_STS */
1863 #define WM5100_OUT5L_ENA_STS_WIDTH                   1  /* OUT5L_ENA_STS */
1864 #define WM5100_OUT5R_ENA_STS                    0x0100  /* OUT5R_ENA_STS */
1865 #define WM5100_OUT5R_ENA_STS_MASK               0x0100  /* OUT5R_ENA_STS */
1866 #define WM5100_OUT5R_ENA_STS_SHIFT                   8  /* OUT5R_ENA_STS */
1867 #define WM5100_OUT5R_ENA_STS_WIDTH                   1  /* OUT5R_ENA_STS */
1868 #define WM5100_OUT4L_ENA_STS                    0x0080  /* OUT4L_ENA_STS */
1869 #define WM5100_OUT4L_ENA_STS_MASK               0x0080  /* OUT4L_ENA_STS */
1870 #define WM5100_OUT4L_ENA_STS_SHIFT                   7  /* OUT4L_ENA_STS */
1871 #define WM5100_OUT4L_ENA_STS_WIDTH                   1  /* OUT4L_ENA_STS */
1872 #define WM5100_OUT4R_ENA_STS                    0x0040  /* OUT4R_ENA_STS */
1873 #define WM5100_OUT4R_ENA_STS_MASK               0x0040  /* OUT4R_ENA_STS */
1874 #define WM5100_OUT4R_ENA_STS_SHIFT                   6  /* OUT4R_ENA_STS */
1875 #define WM5100_OUT4R_ENA_STS_WIDTH                   1  /* OUT4R_ENA_STS */
1876
1877 /*
1878  * R1032 (0x408) - Channel Enables 1
1879  */
1880 #define WM5100_HP3L_ENA                         0x0020  /* HP3L_ENA */
1881 #define WM5100_HP3L_ENA_MASK                    0x0020  /* HP3L_ENA */
1882 #define WM5100_HP3L_ENA_SHIFT                        5  /* HP3L_ENA */
1883 #define WM5100_HP3L_ENA_WIDTH                        1  /* HP3L_ENA */
1884 #define WM5100_HP3R_ENA                         0x0010  /* HP3R_ENA */
1885 #define WM5100_HP3R_ENA_MASK                    0x0010  /* HP3R_ENA */
1886 #define WM5100_HP3R_ENA_SHIFT                        4  /* HP3R_ENA */
1887 #define WM5100_HP3R_ENA_WIDTH                        1  /* HP3R_ENA */
1888 #define WM5100_HP2L_ENA                         0x0008  /* HP2L_ENA */
1889 #define WM5100_HP2L_ENA_MASK                    0x0008  /* HP2L_ENA */
1890 #define WM5100_HP2L_ENA_SHIFT                        3  /* HP2L_ENA */
1891 #define WM5100_HP2L_ENA_WIDTH                        1  /* HP2L_ENA */
1892 #define WM5100_HP2R_ENA                         0x0004  /* HP2R_ENA */
1893 #define WM5100_HP2R_ENA_MASK                    0x0004  /* HP2R_ENA */
1894 #define WM5100_HP2R_ENA_SHIFT                        2  /* HP2R_ENA */
1895 #define WM5100_HP2R_ENA_WIDTH                        1  /* HP2R_ENA */
1896 #define WM5100_HP1L_ENA                         0x0002  /* HP1L_ENA */
1897 #define WM5100_HP1L_ENA_MASK                    0x0002  /* HP1L_ENA */
1898 #define WM5100_HP1L_ENA_SHIFT                        1  /* HP1L_ENA */
1899 #define WM5100_HP1L_ENA_WIDTH                        1  /* HP1L_ENA */
1900 #define WM5100_HP1R_ENA                         0x0001  /* HP1R_ENA */
1901 #define WM5100_HP1R_ENA_MASK                    0x0001  /* HP1R_ENA */
1902 #define WM5100_HP1R_ENA_SHIFT                        0  /* HP1R_ENA */
1903 #define WM5100_HP1R_ENA_WIDTH                        1  /* HP1R_ENA */
1904
1905 /*
1906  * R1040 (0x410) - Out Volume 1L
1907  */
1908 #define WM5100_OUT_RATE_MASK                    0xC000  /* OUT_RATE - [15:14] */
1909 #define WM5100_OUT_RATE_SHIFT                       14  /* OUT_RATE - [15:14] */
1910 #define WM5100_OUT_RATE_WIDTH                        2  /* OUT_RATE - [15:14] */
1911 #define WM5100_OUT1_OSR                         0x2000  /* OUT1_OSR */
1912 #define WM5100_OUT1_OSR_MASK                    0x2000  /* OUT1_OSR */
1913 #define WM5100_OUT1_OSR_SHIFT                       13  /* OUT1_OSR */
1914 #define WM5100_OUT1_OSR_WIDTH                        1  /* OUT1_OSR */
1915 #define WM5100_OUT1_MONO                        0x1000  /* OUT1_MONO */
1916 #define WM5100_OUT1_MONO_MASK                   0x1000  /* OUT1_MONO */
1917 #define WM5100_OUT1_MONO_SHIFT                      12  /* OUT1_MONO */
1918 #define WM5100_OUT1_MONO_WIDTH                       1  /* OUT1_MONO */
1919 #define WM5100_OUT1L_ANC_SRC                    0x0800  /* OUT1L_ANC_SRC */
1920 #define WM5100_OUT1L_ANC_SRC_MASK               0x0800  /* OUT1L_ANC_SRC */
1921 #define WM5100_OUT1L_ANC_SRC_SHIFT                  11  /* OUT1L_ANC_SRC */
1922 #define WM5100_OUT1L_ANC_SRC_WIDTH                   1  /* OUT1L_ANC_SRC */
1923 #define WM5100_OUT1L_PGA_VOL_MASK               0x00FE  /* OUT1L_PGA_VOL - [7:1] */
1924 #define WM5100_OUT1L_PGA_VOL_SHIFT                   1  /* OUT1L_PGA_VOL - [7:1] */
1925 #define WM5100_OUT1L_PGA_VOL_WIDTH                   7  /* OUT1L_PGA_VOL - [7:1] */
1926
1927 /*
1928  * R1041 (0x411) - Out Volume 1R
1929  */
1930 #define WM5100_OUT1R_ANC_SRC                    0x0800  /* OUT1R_ANC_SRC */
1931 #define WM5100_OUT1R_ANC_SRC_MASK               0x0800  /* OUT1R_ANC_SRC */
1932 #define WM5100_OUT1R_ANC_SRC_SHIFT                  11  /* OUT1R_ANC_SRC */
1933 #define WM5100_OUT1R_ANC_SRC_WIDTH                   1  /* OUT1R_ANC_SRC */
1934 #define WM5100_OUT1R_PGA_VOL_MASK               0x00FE  /* OUT1R_PGA_VOL - [7:1] */
1935 #define WM5100_OUT1R_PGA_VOL_SHIFT                   1  /* OUT1R_PGA_VOL - [7:1] */
1936 #define WM5100_OUT1R_PGA_VOL_WIDTH                   7  /* OUT1R_PGA_VOL - [7:1] */
1937
1938 /*
1939  * R1042 (0x412) - DAC Volume Limit 1L
1940  */
1941 #define WM5100_OUT1L_VOL_LIM_MASK               0x00FF  /* OUT1L_VOL_LIM - [7:0] */
1942 #define WM5100_OUT1L_VOL_LIM_SHIFT                   0  /* OUT1L_VOL_LIM - [7:0] */
1943 #define WM5100_OUT1L_VOL_LIM_WIDTH                   8  /* OUT1L_VOL_LIM - [7:0] */
1944
1945 /*
1946  * R1043 (0x413) - DAC Volume Limit 1R
1947  */
1948 #define WM5100_OUT1R_VOL_LIM_MASK               0x00FF  /* OUT1R_VOL_LIM - [7:0] */
1949 #define WM5100_OUT1R_VOL_LIM_SHIFT                   0  /* OUT1R_VOL_LIM - [7:0] */
1950 #define WM5100_OUT1R_VOL_LIM_WIDTH                   8  /* OUT1R_VOL_LIM - [7:0] */
1951
1952 /*
1953  * R1044 (0x414) - Out Volume 2L
1954  */
1955 #define WM5100_OUT2_OSR                         0x2000  /* OUT2_OSR */
1956 #define WM5100_OUT2_OSR_MASK                    0x2000  /* OUT2_OSR */
1957 #define WM5100_OUT2_OSR_SHIFT                       13  /* OUT2_OSR */
1958 #define WM5100_OUT2_OSR_WIDTH                        1  /* OUT2_OSR */
1959 #define WM5100_OUT2_MONO                        0x1000  /* OUT2_MONO */
1960 #define WM5100_OUT2_MONO_MASK                   0x1000  /* OUT2_MONO */
1961 #define WM5100_OUT2_MONO_SHIFT                      12  /* OUT2_MONO */
1962 #define WM5100_OUT2_MONO_WIDTH                       1  /* OUT2_MONO */
1963 #define WM5100_OUT2L_ANC_SRC                    0x0800  /* OUT2L_ANC_SRC */
1964 #define WM5100_OUT2L_ANC_SRC_MASK               0x0800  /* OUT2L_ANC_SRC */
1965 #define WM5100_OUT2L_ANC_SRC_SHIFT                  11  /* OUT2L_ANC_SRC */
1966 #define WM5100_OUT2L_ANC_SRC_WIDTH                   1  /* OUT2L_ANC_SRC */
1967 #define WM5100_OUT2L_PGA_VOL_MASK               0x00FE  /* OUT2L_PGA_VOL - [7:1] */
1968 #define WM5100_OUT2L_PGA_VOL_SHIFT                   1  /* OUT2L_PGA_VOL - [7:1] */
1969 #define WM5100_OUT2L_PGA_VOL_WIDTH                   7  /* OUT2L_PGA_VOL - [7:1] */
1970
1971 /*
1972  * R1045 (0x415) - Out Volume 2R
1973  */
1974 #define WM5100_OUT2R_ANC_SRC                    0x0800  /* OUT2R_ANC_SRC */
1975 #define WM5100_OUT2R_ANC_SRC_MASK               0x0800  /* OUT2R_ANC_SRC */
1976 #define WM5100_OUT2R_ANC_SRC_SHIFT                  11  /* OUT2R_ANC_SRC */
1977 #define WM5100_OUT2R_ANC_SRC_WIDTH                   1  /* OUT2R_ANC_SRC */
1978 #define WM5100_OUT2R_PGA_VOL_MASK               0x00FE  /* OUT2R_PGA_VOL - [7:1] */
1979 #define WM5100_OUT2R_PGA_VOL_SHIFT                   1  /* OUT2R_PGA_VOL - [7:1] */
1980 #define WM5100_OUT2R_PGA_VOL_WIDTH                   7  /* OUT2R_PGA_VOL - [7:1] */
1981
1982 /*
1983  * R1046 (0x416) - DAC Volume Limit 2L
1984  */
1985 #define WM5100_OUT2L_VOL_LIM_MASK               0x00FF  /* OUT2L_VOL_LIM - [7:0] */
1986 #define WM5100_OUT2L_VOL_LIM_SHIFT                   0  /* OUT2L_VOL_LIM - [7:0] */
1987 #define WM5100_OUT2L_VOL_LIM_WIDTH                   8  /* OUT2L_VOL_LIM - [7:0] */
1988
1989 /*
1990  * R1047 (0x417) - DAC Volume Limit 2R
1991  */
1992 #define WM5100_OUT2R_VOL_LIM_MASK               0x00FF  /* OUT2R_VOL_LIM - [7:0] */
1993 #define WM5100_OUT2R_VOL_LIM_SHIFT                   0  /* OUT2R_VOL_LIM - [7:0] */
1994 #define WM5100_OUT2R_VOL_LIM_WIDTH                   8  /* OUT2R_VOL_LIM - [7:0] */
1995
1996 /*
1997  * R1048 (0x418) - Out Volume 3L
1998  */
1999 #define WM5100_OUT3_OSR                         0x2000  /* OUT3_OSR */
2000 #define WM5100_OUT3_OSR_MASK                    0x2000  /* OUT3_OSR */
2001 #define WM5100_OUT3_OSR_SHIFT                       13  /* OUT3_OSR */
2002 #define WM5100_OUT3_OSR_WIDTH                        1  /* OUT3_OSR */
2003 #define WM5100_OUT3_MONO                        0x1000  /* OUT3_MONO */
2004 #define WM5100_OUT3_MONO_MASK                   0x1000  /* OUT3_MONO */
2005 #define WM5100_OUT3_MONO_SHIFT                      12  /* OUT3_MONO */
2006 #define WM5100_OUT3_MONO_WIDTH                       1  /* OUT3_MONO */
2007 #define WM5100_OUT3L_ANC_SRC                    0x0800  /* OUT3L_ANC_SRC */
2008 #define WM5100_OUT3L_ANC_SRC_MASK               0x0800  /* OUT3L_ANC_SRC */
2009 #define WM5100_OUT3L_ANC_SRC_SHIFT                  11  /* OUT3L_ANC_SRC */
2010 #define WM5100_OUT3L_ANC_SRC_WIDTH                   1  /* OUT3L_ANC_SRC */
2011 #define WM5100_OUT3L_PGA_VOL_MASK               0x00FE  /* OUT3L_PGA_VOL - [7:1] */
2012 #define WM5100_OUT3L_PGA_VOL_SHIFT                   1  /* OUT3L_PGA_VOL - [7:1] */
2013 #define WM5100_OUT3L_PGA_VOL_WIDTH                   7  /* OUT3L_PGA_VOL - [7:1] */
2014
2015 /*
2016  * R1049 (0x419) - Out Volume 3R
2017  */
2018 #define WM5100_OUT3R_ANC_SRC                    0x0800  /* OUT3R_ANC_SRC */
2019 #define WM5100_OUT3R_ANC_SRC_MASK               0x0800  /* OUT3R_ANC_SRC */
2020 #define WM5100_OUT3R_ANC_SRC_SHIFT                  11  /* OUT3R_ANC_SRC */
2021 #define WM5100_OUT3R_ANC_SRC_WIDTH                   1  /* OUT3R_ANC_SRC */
2022 #define WM5100_OUT3R_PGA_VOL_MASK               0x00FE  /* OUT3R_PGA_VOL - [7:1] */
2023 #define WM5100_OUT3R_PGA_VOL_SHIFT                   1  /* OUT3R_PGA_VOL - [7:1] */
2024 #define WM5100_OUT3R_PGA_VOL_WIDTH                   7  /* OUT3R_PGA_VOL - [7:1] */
2025
2026 /*
2027  * R1050 (0x41A) - DAC Volume Limit 3L
2028  */
2029 #define WM5100_OUT3L_VOL_LIM_MASK               0x00FF  /* OUT3L_VOL_LIM - [7:0] */
2030 #define WM5100_OUT3L_VOL_LIM_SHIFT                   0  /* OUT3L_VOL_LIM - [7:0] */
2031 #define WM5100_OUT3L_VOL_LIM_WIDTH                   8  /* OUT3L_VOL_LIM - [7:0] */
2032
2033 /*
2034  * R1051 (0x41B) - DAC Volume Limit 3R
2035  */
2036 #define WM5100_OUT3R_VOL_LIM_MASK               0x00FF  /* OUT3R_VOL_LIM - [7:0] */
2037 #define WM5100_OUT3R_VOL_LIM_SHIFT                   0  /* OUT3R_VOL_LIM - [7:0] */
2038 #define WM5100_OUT3R_VOL_LIM_WIDTH                   8  /* OUT3R_VOL_LIM - [7:0] */
2039
2040 /*
2041  * R1052 (0x41C) - Out Volume 4L
2042  */
2043 #define WM5100_OUT4_OSR                         0x2000  /* OUT4_OSR */
2044 #define WM5100_OUT4_OSR_MASK                    0x2000  /* OUT4_OSR */
2045 #define WM5100_OUT4_OSR_SHIFT                       13  /* OUT4_OSR */
2046 #define WM5100_OUT4_OSR_WIDTH                        1  /* OUT4_OSR */
2047 #define WM5100_OUT4L_ANC_SRC                    0x0800  /* OUT4L_ANC_SRC */
2048 #define WM5100_OUT4L_ANC_SRC_MASK               0x0800  /* OUT4L_ANC_SRC */
2049 #define WM5100_OUT4L_ANC_SRC_SHIFT                  11  /* OUT4L_ANC_SRC */
2050 #define WM5100_OUT4L_ANC_SRC_WIDTH                   1  /* OUT4L_ANC_SRC */
2051 #define WM5100_OUT4L_VOL_LIM_MASK               0x00FF  /* OUT4L_VOL_LIM - [7:0] */
2052 #define WM5100_OUT4L_VOL_LIM_SHIFT                   0  /* OUT4L_VOL_LIM - [7:0] */
2053 #define WM5100_OUT4L_VOL_LIM_WIDTH                   8  /* OUT4L_VOL_LIM - [7:0] */
2054
2055 /*
2056  * R1053 (0x41D) - Out Volume 4R
2057  */
2058 #define WM5100_OUT4R_ANC_SRC                    0x0800  /* OUT4R_ANC_SRC */
2059 #define WM5100_OUT4R_ANC_SRC_MASK               0x0800  /* OUT4R_ANC_SRC */
2060 #define WM5100_OUT4R_ANC_SRC_SHIFT                  11  /* OUT4R_ANC_SRC */
2061 #define WM5100_OUT4R_ANC_SRC_WIDTH                   1  /* OUT4R_ANC_SRC */
2062 #define WM5100_OUT4R_VOL_LIM_MASK               0x00FF  /* OUT4R_VOL_LIM - [7:0] */
2063 #define WM5100_OUT4R_VOL_LIM_SHIFT                   0  /* OUT4R_VOL_LIM - [7:0] */
2064 #define WM5100_OUT4R_VOL_LIM_WIDTH                   8  /* OUT4R_VOL_LIM - [7:0] */
2065
2066 /*
2067  * R1054 (0x41E) - DAC Volume Limit 5L
2068  */
2069 #define WM5100_OUT5_OSR                         0x2000  /* OUT5_OSR */
2070 #define WM5100_OUT5_OSR_MASK                    0x2000  /* OUT5_OSR */
2071 #define WM5100_OUT5_OSR_SHIFT                       13  /* OUT5_OSR */
2072 #define WM5100_OUT5_OSR_WIDTH                        1  /* OUT5_OSR */
2073 #define WM5100_OUT5L_ANC_SRC                    0x0800  /* OUT5L_ANC_SRC */
2074 #define WM5100_OUT5L_ANC_SRC_MASK               0x0800  /* OUT5L_ANC_SRC */
2075 #define WM5100_OUT5L_ANC_SRC_SHIFT                  11  /* OUT5L_ANC_SRC */
2076 #define WM5100_OUT5L_ANC_SRC_WIDTH                   1  /* OUT5L_ANC_SRC */
2077 #define WM5100_OUT5L_VOL_LIM_MASK               0x00FF  /* OUT5L_VOL_LIM - [7:0] */
2078 #define WM5100_OUT5L_VOL_LIM_SHIFT                   0  /* OUT5L_VOL_LIM - [7:0] */
2079 #define WM5100_OUT5L_VOL_LIM_WIDTH                   8  /* OUT5L_VOL_LIM - [7:0] */
2080
2081 /*
2082  * R1055 (0x41F) - DAC Volume Limit 5R
2083  */
2084 #define WM5100_OUT5R_ANC_SRC                    0x0800  /* OUT5R_ANC_SRC */
2085 #define WM5100_OUT5R_ANC_SRC_MASK               0x0800  /* OUT5R_ANC_SRC */
2086 #define WM5100_OUT5R_ANC_SRC_SHIFT                  11  /* OUT5R_ANC_SRC */
2087 #define WM5100_OUT5R_ANC_SRC_WIDTH                   1  /* OUT5R_ANC_SRC */
2088 #define WM5100_OUT5R_VOL_LIM_MASK               0x00FF  /* OUT5R_VOL_LIM - [7:0] */
2089 #define WM5100_OUT5R_VOL_LIM_SHIFT                   0  /* OUT5R_VOL_LIM - [7:0] */
2090 #define WM5100_OUT5R_VOL_LIM_WIDTH                   8  /* OUT5R_VOL_LIM - [7:0] */
2091
2092 /*
2093  * R1056 (0x420) - DAC Volume Limit 6L
2094  */
2095 #define WM5100_OUT6_OSR                         0x2000  /* OUT6_OSR */
2096 #define WM5100_OUT6_OSR_MASK                    0x2000  /* OUT6_OSR */
2097 #define WM5100_OUT6_OSR_SHIFT                       13  /* OUT6_OSR */
2098 #define WM5100_OUT6_OSR_WIDTH                        1  /* OUT6_OSR */
2099 #define WM5100_OUT6L_ANC_SRC                    0x0800  /* OUT6L_ANC_SRC */
2100 #define WM5100_OUT6L_ANC_SRC_MASK               0x0800  /* OUT6L_ANC_SRC */
2101 #define WM5100_OUT6L_ANC_SRC_SHIFT                  11  /* OUT6L_ANC_SRC */
2102 #define WM5100_OUT6L_ANC_SRC_WIDTH                   1  /* OUT6L_ANC_SRC */
2103 #define WM5100_OUT6L_VOL_LIM_MASK               0x00FF  /* OUT6L_VOL_LIM - [7:0] */
2104 #define WM5100_OUT6L_VOL_LIM_SHIFT                   0  /* OUT6L_VOL_LIM - [7:0] */
2105 #define WM5100_OUT6L_VOL_LIM_WIDTH                   8  /* OUT6L_VOL_LIM - [7:0] */
2106
2107 /*
2108  * R1057 (0x421) - DAC Volume Limit 6R
2109  */
2110 #define WM5100_OUT6R_ANC_SRC                    0x0800  /* OUT6R_ANC_SRC */
2111 #define WM5100_OUT6R_ANC_SRC_MASK               0x0800  /* OUT6R_ANC_SRC */
2112 #define WM5100_OUT6R_ANC_SRC_SHIFT                  11  /* OUT6R_ANC_SRC */
2113 #define WM5100_OUT6R_ANC_SRC_WIDTH                   1  /* OUT6R_ANC_SRC */
2114 #define WM5100_OUT6R_VOL_LIM_MASK               0x00FF  /* OUT6R_VOL_LIM - [7:0] */
2115 #define WM5100_OUT6R_VOL_LIM_SHIFT                   0  /* OUT6R_VOL_LIM - [7:0] */
2116 #define WM5100_OUT6R_VOL_LIM_WIDTH                   8  /* OUT6R_VOL_LIM - [7:0] */
2117
2118 /*
2119  * R1088 (0x440) - DAC AEC Control 1
2120  */
2121 #define WM5100_AEC_LOOPBACK_SRC_MASK            0x003C  /* AEC_LOOPBACK_SRC - [5:2] */
2122 #define WM5100_AEC_LOOPBACK_SRC_SHIFT                2  /* AEC_LOOPBACK_SRC - [5:2] */
2123 #define WM5100_AEC_LOOPBACK_SRC_WIDTH                4  /* AEC_LOOPBACK_SRC - [5:2] */
2124 #define WM5100_AEC_ENA_STS                      0x0002  /* AEC_ENA_STS */
2125 #define WM5100_AEC_ENA_STS_MASK                 0x0002  /* AEC_ENA_STS */
2126 #define WM5100_AEC_ENA_STS_SHIFT                     1  /* AEC_ENA_STS */
2127 #define WM5100_AEC_ENA_STS_WIDTH                     1  /* AEC_ENA_STS */
2128 #define WM5100_AEC_LOOPBACK_ENA                 0x0001  /* AEC_LOOPBACK_ENA */
2129 #define WM5100_AEC_LOOPBACK_ENA_MASK            0x0001  /* AEC_LOOPBACK_ENA */
2130 #define WM5100_AEC_LOOPBACK_ENA_SHIFT                0  /* AEC_LOOPBACK_ENA */
2131 #define WM5100_AEC_LOOPBACK_ENA_WIDTH                1  /* AEC_LOOPBACK_ENA */
2132
2133 /*
2134  * R1089 (0x441) - Output Volume Ramp
2135  */
2136 #define WM5100_OUT_VD_RAMP_MASK                 0x0070  /* OUT_VD_RAMP - [6:4] */
2137 #define WM5100_OUT_VD_RAMP_SHIFT                     4  /* OUT_VD_RAMP - [6:4] */
2138 #define WM5100_OUT_VD_RAMP_WIDTH                     3  /* OUT_VD_RAMP - [6:4] */
2139 #define WM5100_OUT_VI_RAMP_MASK                 0x0007  /* OUT_VI_RAMP - [2:0] */
2140 #define WM5100_OUT_VI_RAMP_SHIFT                     0  /* OUT_VI_RAMP - [2:0] */
2141 #define WM5100_OUT_VI_RAMP_WIDTH                     3  /* OUT_VI_RAMP - [2:0] */
2142
2143 /*
2144  * R1152 (0x480) - DAC Digital Volume 1L
2145  */
2146 #define WM5100_OUT_VU                           0x0200  /* OUT_VU */
2147 #define WM5100_OUT_VU_MASK                      0x0200  /* OUT_VU */
2148 #define WM5100_OUT_VU_SHIFT                          9  /* OUT_VU */
2149 #define WM5100_OUT_VU_WIDTH                          1  /* OUT_VU */
2150 #define WM5100_OUT1L_MUTE                       0x0100  /* OUT1L_MUTE */
2151 #define WM5100_OUT1L_MUTE_MASK                  0x0100  /* OUT1L_MUTE */
2152 #define WM5100_OUT1L_MUTE_SHIFT                      8  /* OUT1L_MUTE */
2153 #define WM5100_OUT1L_MUTE_WIDTH                      1  /* OUT1L_MUTE */
2154 #define WM5100_OUT1L_VOL_MASK                   0x00FF  /* OUT1L_VOL - [7:0] */
2155 #define WM5100_OUT1L_VOL_SHIFT                       0  /* OUT1L_VOL - [7:0] */
2156 #define WM5100_OUT1L_VOL_WIDTH                       8  /* OUT1L_VOL - [7:0] */
2157
2158 /*
2159  * R1153 (0x481) - DAC Digital Volume 1R
2160  */
2161 #define WM5100_OUT_VU                           0x0200  /* OUT_VU */
2162 #define WM5100_OUT_VU_MASK                      0x0200  /* OUT_VU */
2163 #define WM5100_OUT_VU_SHIFT                          9  /* OUT_VU */
2164 #define WM5100_OUT_VU_WIDTH                          1  /* OUT_VU */
2165 #define WM5100_OUT1R_MUTE                       0x0100  /* OUT1R_MUTE */
2166 #define WM5100_OUT1R_MUTE_MASK                  0x0100  /* OUT1R_MUTE */
2167 #define WM5100_OUT1R_MUTE_SHIFT                      8  /* OUT1R_MUTE */
2168 #define WM5100_OUT1R_MUTE_WIDTH                      1  /* OUT1R_MUTE */
2169 #define WM5100_OUT1R_VOL_MASK                   0x00FF  /* OUT1R_VOL - [7:0] */
2170 #define WM5100_OUT1R_VOL_SHIFT                       0  /* OUT1R_VOL - [7:0] */
2171 #define WM5100_OUT1R_VOL_WIDTH                       8  /* OUT1R_VOL - [7:0] */
2172
2173 /*
2174  * R1154 (0x482) - DAC Digital Volume 2L
2175  */
2176 #define WM5100_OUT_VU                           0x0200  /* OUT_VU */
2177 #define WM5100_OUT_VU_MASK                      0x0200  /* OUT_VU */
2178 #define WM5100_OUT_VU_SHIFT                          9  /* OUT_VU */
2179 #define WM5100_OUT_VU_WIDTH                          1  /* OUT_VU */
2180 #define WM5100_OUT2L_MUTE                       0x0100  /* OUT2L_MUTE */
2181 #define WM5100_OUT2L_MUTE_MASK                  0x0100  /* OUT2L_MUTE */
2182 #define WM5100_OUT2L_MUTE_SHIFT                      8  /* OUT2L_MUTE */
2183 #define WM5100_OUT2L_MUTE_WIDTH                      1  /* OUT2L_MUTE */
2184 #define WM5100_OUT2L_VOL_MASK                   0x00FF  /* OUT2L_VOL - [7:0] */
2185 #define WM5100_OUT2L_VOL_SHIFT                       0  /* OUT2L_VOL - [7:0] */
2186 #define WM5100_OUT2L_VOL_WIDTH                       8  /* OUT2L_VOL - [7:0] */
2187
2188 /*
2189  * R1155 (0x483) - DAC Digital Volume 2R
2190  */
2191 #define WM5100_OUT_VU                           0x0200  /* OUT_VU */
2192 #define WM5100_OUT_VU_MASK                      0x0200  /* OUT_VU */
2193 #define WM5100_OUT_VU_SHIFT                          9  /* OUT_VU */
2194 #define WM5100_OUT_VU_WIDTH                          1  /* OUT_VU */
2195 #define WM5100_OUT2R_MUTE                       0x0100  /* OUT2R_MUTE */
2196 #define WM5100_OUT2R_MUTE_MASK                  0x0100  /* OUT2R_MUTE */
2197 #define WM5100_OUT2R_MUTE_SHIFT                      8  /* OUT2R_MUTE */
2198 #define WM5100_OUT2R_MUTE_WIDTH                      1  /* OUT2R_MUTE */
2199 #define WM5100_OUT2R_VOL_MASK                   0x00FF  /* OUT2R_VOL - [7:0] */
2200 #define WM5100_OUT2R_VOL_SHIFT                       0  /* OUT2R_VOL - [7:0] */
2201 #define WM5100_OUT2R_VOL_WIDTH                       8  /* OUT2R_VOL - [7:0] */
2202
2203 /*
2204  * R1156 (0x484) - DAC Digital Volume 3L
2205  */
2206 #define WM5100_OUT_VU                           0x0200  /* OUT_VU */
2207 #define WM5100_OUT_VU_MASK                      0x0200  /* OUT_VU */
2208 #define WM5100_OUT_VU_SHIFT                          9  /* OUT_VU */
2209 #define WM5100_OUT_VU_WIDTH                          1  /* OUT_VU */
2210 #define WM5100_OUT3L_MUTE                       0x0100  /* OUT3L_MUTE */
2211 #define WM5100_OUT3L_MUTE_MASK                  0x0100  /* OUT3L_MUTE */
2212 #define WM5100_OUT3L_MUTE_SHIFT                      8  /* OUT3L_MUTE */
2213 #define WM5100_OUT3L_MUTE_WIDTH                      1  /* OUT3L_MUTE */
2214 #define WM5100_OUT3L_VOL_MASK                   0x00FF  /* OUT3L_VOL - [7:0] */
2215 #define WM5100_OUT3L_VOL_SHIFT                       0  /* OUT3L_VOL - [7:0] */
2216 #define WM5100_OUT3L_VOL_WIDTH                       8  /* OUT3L_VOL - [7:0] */
2217
2218 /*
2219  * R1157 (0x485) - DAC Digital Volume 3R
2220  */
2221 #define WM5100_OUT_VU                           0x0200  /* OUT_VU */
2222 #define WM5100_OUT_VU_MASK                      0x0200  /* OUT_VU */
2223 #define WM5100_OUT_VU_SHIFT                          9  /* OUT_VU */
2224 #define WM5100_OUT_VU_WIDTH                          1  /* OUT_VU */
2225 #define WM5100_OUT3R_MUTE                       0x0100  /* OUT3R_MUTE */
2226 #define WM5100_OUT3R_MUTE_MASK                  0x0100  /* OUT3R_MUTE */
2227 #define WM5100_OUT3R_MUTE_SHIFT                      8  /* OUT3R_MUTE */
2228 #define WM5100_OUT3R_MUTE_WIDTH                      1  /* OUT3R_MUTE */
2229 #define WM5100_OUT3R_VOL_MASK                   0x00FF  /* OUT3R_VOL - [7:0] */
2230 #define WM5100_OUT3R_VOL_SHIFT                       0  /* OUT3R_VOL - [7:0] */
2231 #define WM5100_OUT3R_VOL_WIDTH                       8  /* OUT3R_VOL - [7:0] */
2232
2233 /*
2234  * R1158 (0x486) - DAC Digital Volume 4L
2235  */
2236 #define WM5100_OUT_VU                           0x0200  /* OUT_VU */
2237 #define WM5100_OUT_VU_MASK                      0x0200  /* OUT_VU */
2238 #define WM5100_OUT_VU_SHIFT                          9  /* OUT_VU */
2239 #define WM5100_OUT_VU_WIDTH                          1  /* OUT_VU */
2240 #define WM5100_OUT4L_MUTE                       0x0100  /* OUT4L_MUTE */
2241 #define WM5100_OUT4L_MUTE_MASK                  0x0100  /* OUT4L_MUTE */
2242 #define WM5100_OUT4L_MUTE_SHIFT                      8  /* OUT4L_MUTE */
2243 #define WM5100_OUT4L_MUTE_WIDTH                      1  /* OUT4L_MUTE */
2244 #define WM5100_OUT4L_VOL_MASK                   0x00FF  /* OUT4L_VOL - [7:0] */
2245 #define WM5100_OUT4L_VOL_SHIFT                       0  /* OUT4L_VOL - [7:0] */
2246 #define WM5100_OUT4L_VOL_WIDTH                       8  /* OUT4L_VOL - [7:0] */
2247
2248 /*
2249  * R1159 (0x487) - DAC Digital Volume 4R
2250  */
2251 #define WM5100_OUT_VU                           0x0200  /* OUT_VU */
2252 #define WM5100_OUT_VU_MASK                      0x0200  /* OUT_VU */
2253 #define WM5100_OUT_VU_SHIFT                          9  /* OUT_VU */
2254 #define WM5100_OUT_VU_WIDTH                          1  /* OUT_VU */
2255 #define WM5100_OUT4R_MUTE                       0x0100  /* OUT4R_MUTE */
2256 #define WM5100_OUT4R_MUTE_MASK                  0x0100  /* OUT4R_MUTE */
2257 #define WM5100_OUT4R_MUTE_SHIFT                      8  /* OUT4R_MUTE */
2258 #define WM5100_OUT4R_MUTE_WIDTH                      1  /* OUT4R_MUTE */
2259 #define WM5100_OUT4R_VOL_MASK                   0x00FF  /* OUT4R_VOL - [7:0] */
2260 #define WM5100_OUT4R_VOL_SHIFT                       0  /* OUT4R_VOL - [7:0] */
2261 #define WM5100_OUT4R_VOL_WIDTH                       8  /* OUT4R_VOL - [7:0] */
2262
2263 /*
2264  * R1160 (0x488) - DAC Digital Volume 5L
2265  */
2266 #define WM5100_OUT_VU                           0x0200  /* OUT_VU */
2267 #define WM5100_OUT_VU_MASK                      0x0200  /* OUT_VU */
2268 #define WM5100_OUT_VU_SHIFT                          9  /* OUT_VU */
2269 #define WM5100_OUT_VU_WIDTH                          1  /* OUT_VU */
2270 #define WM5100_OUT5L_MUTE                       0x0100  /* OUT5L_MUTE */
2271 #define WM5100_OUT5L_MUTE_MASK                  0x0100  /* OUT5L_MUTE */
2272 #define WM5100_OUT5L_MUTE_SHIFT                      8  /* OUT5L_MUTE */
2273 #define WM5100_OUT5L_MUTE_WIDTH                      1  /* OUT5L_MUTE */
2274 #define WM5100_OUT5L_VOL_MASK                   0x00FF  /* OUT5L_VOL - [7:0] */
2275 #define WM5100_OUT5L_VOL_SHIFT                       0  /* OUT5L_VOL - [7:0] */
2276 #define WM5100_OUT5L_VOL_WIDTH                       8  /* OUT5L_VOL - [7:0] */
2277
2278 /*
2279  * R1161 (0x489) - DAC Digital Volume 5R
2280  */
2281 #define WM5100_OUT_VU                           0x0200  /* OUT_VU */
2282 #define WM5100_OUT_VU_MASK                      0x0200  /* OUT_VU */
2283 #define WM5100_OUT_VU_SHIFT                          9  /* OUT_VU */
2284 #define WM5100_OUT_VU_WIDTH                          1  /* OUT_VU */
2285 #define WM5100_OUT5R_MUTE                       0x0100  /* OUT5R_MUTE */
2286 #define WM5100_OUT5R_MUTE_MASK                  0x0100  /* OUT5R_MUTE */
2287 #define WM5100_OUT5R_MUTE_SHIFT                      8  /* OUT5R_MUTE */
2288 #define WM5100_OUT5R_MUTE_WIDTH                      1  /* OUT5R_MUTE */
2289 #define WM5100_OUT5R_VOL_MASK                   0x00FF  /* OUT5R_VOL - [7:0] */
2290 #define WM5100_OUT5R_VOL_SHIFT                       0  /* OUT5R_VOL - [7:0] */
2291 #define WM5100_OUT5R_VOL_WIDTH                       8  /* OUT5R_VOL - [7:0] */
2292
2293 /*
2294  * R1162 (0x48A) - DAC Digital Volume 6L
2295  */
2296 #define WM5100_OUT_VU                           0x0200  /* OUT_VU */
2297 #define WM5100_OUT_VU_MASK                      0x0200  /* OUT_VU */
2298 #define WM5100_OUT_VU_SHIFT                          9  /* OUT_VU */
2299 #define WM5100_OUT_VU_WIDTH                          1  /* OUT_VU */
2300 #define WM5100_OUT6L_MUTE                       0x0100  /* OUT6L_MUTE */
2301 #define WM5100_OUT6L_MUTE_MASK                  0x0100  /* OUT6L_MUTE */
2302 #define WM5100_OUT6L_MUTE_SHIFT                      8  /* OUT6L_MUTE */
2303 #define WM5100_OUT6L_MUTE_WIDTH                      1  /* OUT6L_MUTE */
2304 #define WM5100_OUT6L_VOL_MASK                   0x00FF  /* OUT6L_VOL - [7:0] */
2305 #define WM5100_OUT6L_VOL_SHIFT                       0  /* OUT6L_VOL - [7:0] */
2306 #define WM5100_OUT6L_VOL_WIDTH                       8  /* OUT6L_VOL - [7:0] */
2307
2308 /*
2309  * R1163 (0x48B) - DAC Digital Volume 6R
2310  */
2311 #define WM5100_OUT_VU                           0x0200  /* OUT_VU */
2312 #define WM5100_OUT_VU_MASK                      0x0200  /* OUT_VU */
2313 #define WM5100_OUT_VU_SHIFT                          9  /* OUT_VU */
2314 #define WM5100_OUT_VU_WIDTH                          1  /* OUT_VU */
2315 #define WM5100_OUT6R_MUTE                       0x0100  /* OUT6R_MUTE */
2316 #define WM5100_OUT6R_MUTE_MASK                  0x0100  /* OUT6R_MUTE */
2317 #define WM5100_OUT6R_MUTE_SHIFT                      8  /* OUT6R_MUTE */
2318 #define WM5100_OUT6R_MUTE_WIDTH                      1  /* OUT6R_MUTE */
2319 #define WM5100_OUT6R_VOL_MASK                   0x00FF  /* OUT6R_VOL - [7:0] */
2320 #define WM5100_OUT6R_VOL_SHIFT                       0  /* OUT6R_VOL - [7:0] */
2321 #define WM5100_OUT6R_VOL_WIDTH                       8  /* OUT6R_VOL - [7:0] */
2322
2323 /*
2324  * R1216 (0x4C0) - PDM SPK1 CTRL 1
2325  */
2326 #define WM5100_SPK1R_MUTE                       0x2000  /* SPK1R_MUTE */
2327 #define WM5100_SPK1R_MUTE_MASK                  0x2000  /* SPK1R_MUTE */
2328 #define WM5100_SPK1R_MUTE_SHIFT                     13  /* SPK1R_MUTE */
2329 #define WM5100_SPK1R_MUTE_WIDTH                      1  /* SPK1R_MUTE */
2330 #define WM5100_SPK1L_MUTE                       0x1000  /* SPK1L_MUTE */
2331 #define WM5100_SPK1L_MUTE_MASK                  0x1000  /* SPK1L_MUTE */
2332 #define WM5100_SPK1L_MUTE_SHIFT                     12  /* SPK1L_MUTE */
2333 #define WM5100_SPK1L_MUTE_WIDTH                      1  /* SPK1L_MUTE */
2334 #define WM5100_SPK1_MUTE_ENDIAN                 0x0100  /* SPK1_MUTE_ENDIAN */
2335 #define WM5100_SPK1_MUTE_ENDIAN_MASK            0x0100  /* SPK1_MUTE_ENDIAN */
2336 #define WM5100_SPK1_MUTE_ENDIAN_SHIFT                8  /* SPK1_MUTE_ENDIAN */
2337 #define WM5100_SPK1_MUTE_ENDIAN_WIDTH                1  /* SPK1_MUTE_ENDIAN */
2338 #define WM5100_SPK1_MUTE_SEQ1_MASK              0x00FF  /* SPK1_MUTE_SEQ1 - [7:0] */
2339 #define WM5100_SPK1_MUTE_SEQ1_SHIFT                  0  /* SPK1_MUTE_SEQ1 - [7:0] */
2340 #define WM5100_SPK1_MUTE_SEQ1_WIDTH                  8  /* SPK1_MUTE_SEQ1 - [7:0] */
2341
2342 /*
2343  * R1217 (0x4C1) - PDM SPK1 CTRL 2
2344  */
2345 #define WM5100_SPK1_FMT                         0x0001  /* SPK1_FMT */
2346 #define WM5100_SPK1_FMT_MASK                    0x0001  /* SPK1_FMT */
2347 #define WM5100_SPK1_FMT_SHIFT                        0  /* SPK1_FMT */
2348 #define WM5100_SPK1_FMT_WIDTH                        1  /* SPK1_FMT */
2349
2350 /*
2351  * R1218 (0x4C2) - PDM SPK2 CTRL 1
2352  */
2353 #define WM5100_SPK2R_MUTE                       0x2000  /* SPK2R_MUTE */
2354 #define WM5100_SPK2R_MUTE_MASK                  0x2000  /* SPK2R_MUTE */
2355 #define WM5100_SPK2R_MUTE_SHIFT                     13  /* SPK2R_MUTE */
2356 #define WM5100_SPK2R_MUTE_WIDTH                      1  /* SPK2R_MUTE */
2357 #define WM5100_SPK2L_MUTE                       0x1000  /* SPK2L_MUTE */
2358 #define WM5100_SPK2L_MUTE_MASK                  0x1000  /* SPK2L_MUTE */
2359 #define WM5100_SPK2L_MUTE_SHIFT                     12  /* SPK2L_MUTE */
2360 #define WM5100_SPK2L_MUTE_WIDTH                      1  /* SPK2L_MUTE */
2361 #define WM5100_SPK2_MUTE_ENDIAN                 0x0100  /* SPK2_MUTE_ENDIAN */
2362 #define WM5100_SPK2_MUTE_ENDIAN_MASK            0x0100  /* SPK2_MUTE_ENDIAN */
2363 #define WM5100_SPK2_MUTE_ENDIAN_SHIFT                8  /* SPK2_MUTE_ENDIAN */
2364 #define WM5100_SPK2_MUTE_ENDIAN_WIDTH                1  /* SPK2_MUTE_ENDIAN */
2365 #define WM5100_SPK2_MUTE_SEQ1_MASK              0x00FF  /* SPK2_MUTE_SEQ1 - [7:0] */
2366 #define WM5100_SPK2_MUTE_SEQ1_SHIFT                  0  /* SPK2_MUTE_SEQ1 - [7:0] */
2367 #define WM5100_SPK2_MUTE_SEQ1_WIDTH                  8  /* SPK2_MUTE_SEQ1 - [7:0] */
2368
2369 /*
2370  * R1219 (0x4C3) - PDM SPK2 CTRL 2
2371  */
2372 #define WM5100_SPK2_FMT                         0x0001  /* SPK2_FMT */
2373 #define WM5100_SPK2_FMT_MASK                    0x0001  /* SPK2_FMT */
2374 #define WM5100_SPK2_FMT_SHIFT                        0  /* SPK2_FMT */
2375 #define WM5100_SPK2_FMT_WIDTH                        1  /* SPK2_FMT */
2376
2377 /*
2378  * R1280 (0x500) - Audio IF 1_1
2379  */
2380 #define WM5100_AIF1_BCLK_INV                    0x0080  /* AIF1_BCLK_INV */
2381 #define WM5100_AIF1_BCLK_INV_MASK               0x0080  /* AIF1_BCLK_INV */
2382 #define WM5100_AIF1_BCLK_INV_SHIFT                   7  /* AIF1_BCLK_INV */
2383 #define WM5100_AIF1_BCLK_INV_WIDTH                   1  /* AIF1_BCLK_INV */
2384 #define WM5100_AIF1_BCLK_FRC                    0x0040  /* AIF1_BCLK_FRC */
2385 #define WM5100_AIF1_BCLK_FRC_MASK               0x0040  /* AIF1_BCLK_FRC */
2386 #define WM5100_AIF1_BCLK_FRC_SHIFT                   6  /* AIF1_BCLK_FRC */
2387 #define WM5100_AIF1_BCLK_FRC_WIDTH                   1  /* AIF1_BCLK_FRC */
2388 #define WM5100_AIF1_BCLK_MSTR                   0x0020  /* AIF1_BCLK_MSTR */
2389 #define WM5100_AIF1_BCLK_MSTR_MASK              0x0020  /* AIF1_BCLK_MSTR */
2390 #define WM5100_AIF1_BCLK_MSTR_SHIFT                  5  /* AIF1_BCLK_MSTR */
2391 #define WM5100_AIF1_BCLK_MSTR_WIDTH                  1  /* AIF1_BCLK_MSTR */
2392 #define WM5100_AIF1_BCLK_FREQ_MASK              0x001F  /* AIF1_BCLK_FREQ - [4:0] */
2393 #define WM5100_AIF1_BCLK_FREQ_SHIFT                  0  /* AIF1_BCLK_FREQ - [4:0] */
2394 #define WM5100_AIF1_BCLK_FREQ_WIDTH                  5  /* AIF1_BCLK_FREQ - [4:0] */
2395
2396 /*
2397  * R1281 (0x501) - Audio IF 1_2
2398  */
2399 #define WM5100_AIF1TX_DAT_TRI                   0x0020  /* AIF1TX_DAT_TRI */
2400 #define WM5100_AIF1TX_DAT_TRI_MASK              0x0020  /* AIF1TX_DAT_TRI */
2401 #define WM5100_AIF1TX_DAT_TRI_SHIFT                  5  /* AIF1TX_DAT_TRI */
2402 #define WM5100_AIF1TX_DAT_TRI_WIDTH                  1  /* AIF1TX_DAT_TRI */
2403 #define WM5100_AIF1TX_LRCLK_SRC                 0x0008  /* AIF1TX_LRCLK_SRC */
2404 #define WM5100_AIF1TX_LRCLK_SRC_MASK            0x0008  /* AIF1TX_LRCLK_SRC */
2405 #define WM5100_AIF1TX_LRCLK_SRC_SHIFT                3  /* AIF1TX_LRCLK_SRC */
2406 #define WM5100_AIF1TX_LRCLK_SRC_WIDTH                1  /* AIF1TX_LRCLK_SRC */
2407 #define WM5100_AIF1TX_LRCLK_INV                 0x0004  /* AIF1TX_LRCLK_INV */
2408 #define WM5100_AIF1TX_LRCLK_INV_MASK            0x0004  /* AIF1TX_LRCLK_INV */
2409 #define WM5100_AIF1TX_LRCLK_INV_SHIFT                2  /* AIF1TX_LRCLK_INV */
2410 #define WM5100_AIF1TX_LRCLK_INV_WIDTH                1  /* AIF1TX_LRCLK_INV */
2411 #define WM5100_AIF1TX_LRCLK_FRC                 0x0002  /* AIF1TX_LRCLK_FRC */
2412 #define WM5100_AIF1TX_LRCLK_FRC_MASK            0x0002  /* AIF1TX_LRCLK_FRC */
2413 #define WM5100_AIF1TX_LRCLK_FRC_SHIFT                1  /* AIF1TX_LRCLK_FRC */
2414 #define WM5100_AIF1TX_LRCLK_FRC_WIDTH                1  /* AIF1TX_LRCLK_FRC */
2415 #define WM5100_AIF1TX_LRCLK_MSTR                0x0001  /* AIF1TX_LRCLK_MSTR */
2416 #define WM5100_AIF1TX_LRCLK_MSTR_MASK           0x0001  /* AIF1TX_LRCLK_MSTR */
2417 #define WM5100_AIF1TX_LRCLK_MSTR_SHIFT               0  /* AIF1TX_LRCLK_MSTR */
2418 #define WM5100_AIF1TX_LRCLK_MSTR_WIDTH               1  /* AIF1TX_LRCLK_MSTR */
2419
2420 /*
2421  * R1282 (0x502) - Audio IF 1_3
2422  */
2423 #define WM5100_AIF1RX_LRCLK_INV                 0x0004  /* AIF1RX_LRCLK_INV */
2424 #define WM5100_AIF1RX_LRCLK_INV_MASK            0x0004  /* AIF1RX_LRCLK_INV */
2425 #define WM5100_AIF1RX_LRCLK_INV_SHIFT                2  /* AIF1RX_LRCLK_INV */
2426 #define WM5100_AIF1RX_LRCLK_INV_WIDTH                1  /* AIF1RX_LRCLK_INV */
2427 #define WM5100_AIF1RX_LRCLK_FRC                 0x0002  /* AIF1RX_LRCLK_FRC */
2428 #define WM5100_AIF1RX_LRCLK_FRC_MASK            0x0002  /* AIF1RX_LRCLK_FRC */
2429 #define WM5100_AIF1RX_LRCLK_FRC_SHIFT                1  /* AIF1RX_LRCLK_FRC */
2430 #define WM5100_AIF1RX_LRCLK_FRC_WIDTH                1  /* AIF1RX_LRCLK_FRC */
2431 #define WM5100_AIF1RX_LRCLK_MSTR                0x0001  /* AIF1RX_LRCLK_MSTR */
2432 #define WM5100_AIF1RX_LRCLK_MSTR_MASK           0x0001  /* AIF1RX_LRCLK_MSTR */
2433 #define WM5100_AIF1RX_LRCLK_MSTR_SHIFT               0  /* AIF1RX_LRCLK_MSTR */
2434 #define WM5100_AIF1RX_LRCLK_MSTR_WIDTH               1  /* AIF1RX_LRCLK_MSTR */
2435
2436 /*
2437  * R1283 (0x503) - Audio IF 1_4
2438  */
2439 #define WM5100_AIF1_TRI                         0x0040  /* AIF1_TRI */
2440 #define WM5100_AIF1_TRI_MASK                    0x0040  /* AIF1_TRI */
2441 #define WM5100_AIF1_TRI_SHIFT                        6  /* AIF1_TRI */
2442 #define WM5100_AIF1_TRI_WIDTH                        1  /* AIF1_TRI */
2443 #define WM5100_AIF1_RATE_MASK                   0x0003  /* AIF1_RATE - [1:0] */
2444 #define WM5100_AIF1_RATE_SHIFT                       0  /* AIF1_RATE - [1:0] */
2445 #define WM5100_AIF1_RATE_WIDTH                       2  /* AIF1_RATE - [1:0] */
2446
2447 /*
2448  * R1284 (0x504) - Audio IF 1_5
2449  */
2450 #define WM5100_AIF1_FMT_MASK                    0x0007  /* AIF1_FMT - [2:0] */
2451 #define WM5100_AIF1_FMT_SHIFT                        0  /* AIF1_FMT - [2:0] */
2452 #define WM5100_AIF1_FMT_WIDTH                        3  /* AIF1_FMT - [2:0] */
2453
2454 /*
2455  * R1285 (0x505) - Audio IF 1_6
2456  */
2457 #define WM5100_AIF1TX_BCPF_MASK                 0x1FFF  /* AIF1TX_BCPF - [12:0] */
2458 #define WM5100_AIF1TX_BCPF_SHIFT                     0  /* AIF1TX_BCPF - [12:0] */
2459 #define WM5100_AIF1TX_BCPF_WIDTH                    13  /* AIF1TX_BCPF - [12:0] */
2460
2461 /*
2462  * R1286 (0x506) - Audio IF 1_7
2463  */
2464 #define WM5100_AIF1RX_BCPF_MASK                 0x1FFF  /* AIF1RX_BCPF - [12:0] */
2465 #define WM5100_AIF1RX_BCPF_SHIFT                     0  /* AIF1RX_BCPF - [12:0] */
2466 #define WM5100_AIF1RX_BCPF_WIDTH                    13  /* AIF1RX_BCPF - [12:0] */
2467
2468 /*
2469  * R1287 (0x507) - Audio IF 1_8
2470  */
2471 #define WM5100_AIF1TX_WL_MASK                   0x3F00  /* AIF1TX_WL - [13:8] */
2472 #define WM5100_AIF1TX_WL_SHIFT                       8  /* AIF1TX_WL - [13:8] */
2473 #define WM5100_AIF1TX_WL_WIDTH                       6  /* AIF1TX_WL - [13:8] */
2474 #define WM5100_AIF1TX_SLOT_LEN_MASK             0x00FF  /* AIF1TX_SLOT_LEN - [7:0] */
2475 #define WM5100_AIF1TX_SLOT_LEN_SHIFT                 0  /* AIF1TX_SLOT_LEN - [7:0] */
2476 #define WM5100_AIF1TX_SLOT_LEN_WIDTH                 8  /* AIF1TX_SLOT_LEN - [7:0] */
2477
2478 /*
2479  * R1288 (0x508) - Audio IF 1_9
2480  */
2481 #define WM5100_AIF1RX_WL_MASK                   0x3F00  /* AIF1RX_WL - [13:8] */
2482 #define WM5100_AIF1RX_WL_SHIFT                       8  /* AIF1RX_WL - [13:8] */
2483 #define WM5100_AIF1RX_WL_WIDTH                       6  /* AIF1RX_WL - [13:8] */
2484 #define WM5100_AIF1RX_SLOT_LEN_MASK             0x00FF  /* AIF1RX_SLOT_LEN - [7:0] */
2485 #define WM5100_AIF1RX_SLOT_LEN_SHIFT                 0  /* AIF1RX_SLOT_LEN - [7:0] */
2486 #define WM5100_AIF1RX_SLOT_LEN_WIDTH                 8  /* AIF1RX_SLOT_LEN - [7:0] */
2487
2488 /*
2489  * R1289 (0x509) - Audio IF 1_10
2490  */
2491 #define WM5100_AIF1TX1_SLOT_MASK                0x003F  /* AIF1TX1_SLOT - [5:0] */
2492 #define WM5100_AIF1TX1_SLOT_SHIFT                    0  /* AIF1TX1_SLOT - [5:0] */
2493 #define WM5100_AIF1TX1_SLOT_WIDTH                    6  /* AIF1TX1_SLOT - [5:0] */
2494
2495 /*
2496  * R1290 (0x50A) - Audio IF 1_11
2497  */
2498 #define WM5100_AIF1TX2_SLOT_MASK                0x003F  /* AIF1TX2_SLOT - [5:0] */
2499 #define WM5100_AIF1TX2_SLOT_SHIFT                    0  /* AIF1TX2_SLOT - [5:0] */
2500 #define WM5100_AIF1TX2_SLOT_WIDTH                    6  /* AIF1TX2_SLOT - [5:0] */
2501
2502 /*
2503  * R1291 (0x50B) - Audio IF 1_12
2504  */
2505 #define WM5100_AIF1TX3_SLOT_MASK                0x003F  /* AIF1TX3_SLOT - [5:0] */
2506 #define WM5100_AIF1TX3_SLOT_SHIFT                    0  /* AIF1TX3_SLOT - [5:0] */
2507 #define WM5100_AIF1TX3_SLOT_WIDTH                    6  /* AIF1TX3_SLOT - [5:0] */
2508
2509 /*
2510  * R1292 (0x50C) - Audio IF 1_13
2511  */
2512 #define WM5100_AIF1TX4_SLOT_MASK                0x003F  /* AIF1TX4_SLOT - [5:0] */
2513 #define WM5100_AIF1TX4_SLOT_SHIFT                    0  /* AIF1TX4_SLOT - [5:0] */
2514 #define WM5100_AIF1TX4_SLOT_WIDTH                    6  /* AIF1TX4_SLOT - [5:0] */
2515
2516 /*
2517  * R1293 (0x50D) - Audio IF 1_14
2518  */
2519 #define WM5100_AIF1TX5_SLOT_MASK                0x003F  /* AIF1TX5_SLOT - [5:0] */
2520 #define WM5100_AIF1TX5_SLOT_SHIFT                    0  /* AIF1TX5_SLOT - [5:0] */
2521 #define WM5100_AIF1TX5_SLOT_WIDTH                    6  /* AIF1TX5_SLOT - [5:0] */
2522
2523 /*
2524  * R1294 (0x50E) - Audio IF 1_15
2525  */
2526 #define WM5100_AIF1TX6_SLOT_MASK                0x003F  /* AIF1TX6_SLOT - [5:0] */
2527 #define WM5100_AIF1TX6_SLOT_SHIFT                    0  /* AIF1TX6_SLOT - [5:0] */
2528 #define WM5100_AIF1TX6_SLOT_WIDTH                    6  /* AIF1TX6_SLOT - [5:0] */
2529
2530 /*
2531  * R1295 (0x50F) - Audio IF 1_16
2532  */
2533 #define WM5100_AIF1TX7_SLOT_MASK                0x003F  /* AIF1TX7_SLOT - [5:0] */
2534 #define WM5100_AIF1TX7_SLOT_SHIFT                    0  /* AIF1TX7_SLOT - [5:0] */
2535 #define WM5100_AIF1TX7_SLOT_WIDTH                    6  /* AIF1TX7_SLOT - [5:0] */
2536
2537 /*
2538  * R1296 (0x510) - Audio IF 1_17
2539  */
2540 #define WM5100_AIF1TX8_SLOT_MASK                0x003F  /* AIF1TX8_SLOT - [5:0] */
2541 #define WM5100_AIF1TX8_SLOT_SHIFT                    0  /* AIF1TX8_SLOT - [5:0] */
2542 #define WM5100_AIF1TX8_SLOT_WIDTH                    6  /* AIF1TX8_SLOT - [5:0] */
2543
2544 /*
2545  * R1297 (0x511) - Audio IF 1_18
2546  */
2547 #define WM5100_AIF1RX1_SLOT_MASK                0x003F  /* AIF1RX1_SLOT - [5:0] */
2548 #define WM5100_AIF1RX1_SLOT_SHIFT                    0  /* AIF1RX1_SLOT - [5:0] */
2549 #define WM5100_AIF1RX1_SLOT_WIDTH                    6  /* AIF1RX1_SLOT - [5:0] */
2550
2551 /*
2552  * R1298 (0x512) - Audio IF 1_19
2553  */
2554 #define WM5100_AIF1RX2_SLOT_MASK                0x003F  /* AIF1RX2_SLOT - [5:0] */
2555 #define WM5100_AIF1RX2_SLOT_SHIFT                    0  /* AIF1RX2_SLOT - [5:0] */
2556 #define WM5100_AIF1RX2_SLOT_WIDTH                    6  /* AIF1RX2_SLOT - [5:0] */
2557
2558 /*
2559  * R1299 (0x513) - Audio IF 1_20
2560  */
2561 #define WM5100_AIF1RX3_SLOT_MASK                0x003F  /* AIF1RX3_SLOT - [5:0] */
2562 #define WM5100_AIF1RX3_SLOT_SHIFT                    0  /* AIF1RX3_SLOT - [5:0] */
2563 #define WM5100_AIF1RX3_SLOT_WIDTH                    6  /* AIF1RX3_SLOT - [5:0] */
2564
2565 /*
2566  * R1300 (0x514) - Audio IF 1_21
2567  */
2568 #define WM5100_AIF1RX4_SLOT_MASK                0x003F  /* AIF1RX4_SLOT - [5:0] */
2569 #define WM5100_AIF1RX4_SLOT_SHIFT                    0  /* AIF1RX4_SLOT - [5:0] */
2570 #define WM5100_AIF1RX4_SLOT_WIDTH                    6  /* AIF1RX4_SLOT - [5:0] */
2571
2572 /*
2573  * R1301 (0x515) - Audio IF 1_22
2574  */
2575 #define WM5100_AIF1RX5_SLOT_MASK                0x003F  /* AIF1RX5_SLOT - [5:0] */
2576 #define WM5100_AIF1RX5_SLOT_SHIFT                    0  /* AIF1RX5_SLOT - [5:0] */
2577 #define WM5100_AIF1RX5_SLOT_WIDTH                    6  /* AIF1RX5_SLOT - [5:0] */
2578
2579 /*
2580  * R1302 (0x516) - Audio IF 1_23
2581  */
2582 #define WM5100_AIF1RX6_SLOT_MASK                0x003F  /* AIF1RX6_SLOT - [5:0] */
2583 #define WM5100_AIF1RX6_SLOT_SHIFT                    0  /* AIF1RX6_SLOT - [5:0] */
2584 #define WM5100_AIF1RX6_SLOT_WIDTH                    6  /* AIF1RX6_SLOT - [5:0] */
2585
2586 /*
2587  * R1303 (0x517) - Audio IF 1_24
2588  */
2589 #define WM5100_AIF1RX7_SLOT_MASK                0x003F  /* AIF1RX7_SLOT - [5:0] */
2590 #define WM5100_AIF1RX7_SLOT_SHIFT                    0  /* AIF1RX7_SLOT - [5:0] */
2591 #define WM5100_AIF1RX7_SLOT_WIDTH                    6  /* AIF1RX7_SLOT - [5:0] */
2592
2593 /*
2594  * R1304 (0x518) - Audio IF 1_25
2595  */
2596 #define WM5100_AIF1RX8_SLOT_MASK                0x003F  /* AIF1RX8_SLOT - [5:0] */
2597 #define WM5100_AIF1RX8_SLOT_SHIFT                    0  /* AIF1RX8_SLOT - [5:0] */
2598 #define WM5100_AIF1RX8_SLOT_WIDTH                    6  /* AIF1RX8_SLOT - [5:0] */
2599
2600 /*
2601  * R1305 (0x519) - Audio IF 1_26
2602  */
2603 #define WM5100_AIF1TX8_ENA                      0x0080  /* AIF1TX8_ENA */
2604 #define WM5100_AIF1TX8_ENA_MASK                 0x0080  /* AIF1TX8_ENA */
2605 #define WM5100_AIF1TX8_ENA_SHIFT                     7  /* AIF1TX8_ENA */
2606 #define WM5100_AIF1TX8_ENA_WIDTH                     1  /* AIF1TX8_ENA */
2607 #define WM5100_AIF1TX7_ENA                      0x0040  /* AIF1TX7_ENA */
2608 #define WM5100_AIF1TX7_ENA_MASK                 0x0040  /* AIF1TX7_ENA */
2609 #define WM5100_AIF1TX7_ENA_SHIFT                     6  /* AIF1TX7_ENA */
2610 #define WM5100_AIF1TX7_ENA_WIDTH                     1  /* AIF1TX7_ENA */
2611 #define WM5100_AIF1TX6_ENA                      0x0020  /* AIF1TX6_ENA */
2612 #define WM5100_AIF1TX6_ENA_MASK                 0x0020  /* AIF1TX6_ENA */
2613 #define WM5100_AIF1TX6_ENA_SHIFT                     5  /* AIF1TX6_ENA */
2614 #define WM5100_AIF1TX6_ENA_WIDTH                     1  /* AIF1TX6_ENA */
2615 #define WM5100_AIF1TX5_ENA                      0x0010  /* AIF1TX5_ENA */
2616 #define WM5100_AIF1TX5_ENA_MASK                 0x0010  /* AIF1TX5_ENA */
2617 #define WM5100_AIF1TX5_ENA_SHIFT                     4  /* AIF1TX5_ENA */
2618 #define WM5100_AIF1TX5_ENA_WIDTH                     1  /* AIF1TX5_ENA */
2619 #define WM5100_AIF1TX4_ENA                      0x0008  /* AIF1TX4_ENA */
2620 #define WM5100_AIF1TX4_ENA_MASK                 0x0008  /* AIF1TX4_ENA */
2621 #define WM5100_AIF1TX4_ENA_SHIFT                     3  /* AIF1TX4_ENA */
2622 #define WM5100_AIF1TX4_ENA_WIDTH                     1  /* AIF1TX4_ENA */
2623 #define WM5100_AIF1TX3_ENA                      0x0004  /* AIF1TX3_ENA */
2624 #define WM5100_AIF1TX3_ENA_MASK                 0x0004  /* AIF1TX3_ENA */
2625 #define WM5100_AIF1TX3_ENA_SHIFT                     2  /* AIF1TX3_ENA */
2626 #define WM5100_AIF1TX3_ENA_WIDTH                     1  /* AIF1TX3_ENA */
2627 #define WM5100_AIF1TX2_ENA                      0x0002  /* AIF1TX2_ENA */
2628 #define WM5100_AIF1TX2_ENA_MASK                 0x0002  /* AIF1TX2_ENA */
2629 #define WM5100_AIF1TX2_ENA_SHIFT                     1  /* AIF1TX2_ENA */
2630 #define WM5100_AIF1TX2_ENA_WIDTH                     1  /* AIF1TX2_ENA */
2631 #define WM5100_AIF1TX1_ENA                      0x0001  /* AIF1TX1_ENA */
2632 #define WM5100_AIF1TX1_ENA_MASK                 0x0001  /* AIF1TX1_ENA */
2633 #define WM5100_AIF1TX1_ENA_SHIFT                     0  /* AIF1TX1_ENA */
2634 #define WM5100_AIF1TX1_ENA_WIDTH                     1  /* AIF1TX1_ENA */
2635
2636 /*
2637  * R1306 (0x51A) - Audio IF 1_27
2638  */
2639 #define WM5100_AIF1RX8_ENA                      0x0080  /* AIF1RX8_ENA */
2640 #define WM5100_AIF1RX8_ENA_MASK                 0x0080  /* AIF1RX8_ENA */
2641 #define WM5100_AIF1RX8_ENA_SHIFT                     7  /* AIF1RX8_ENA */
2642 #define WM5100_AIF1RX8_ENA_WIDTH                     1  /* AIF1RX8_ENA */
2643 #define WM5100_AIF1RX7_ENA                      0x0040  /* AIF1RX7_ENA */
2644 #define WM5100_AIF1RX7_ENA_MASK                 0x0040  /* AIF1RX7_ENA */
2645 #define WM5100_AIF1RX7_ENA_SHIFT                     6  /* AIF1RX7_ENA */
2646 #define WM5100_AIF1RX7_ENA_WIDTH                     1  /* AIF1RX7_ENA */
2647 #define WM5100_AIF1RX6_ENA                      0x0020  /* AIF1RX6_ENA */
2648 #define WM5100_AIF1RX6_ENA_MASK                 0x0020  /* AIF1RX6_ENA */
2649 #define WM5100_AIF1RX6_ENA_SHIFT                     5  /* AIF1RX6_ENA */
2650 #define WM5100_AIF1RX6_ENA_WIDTH                     1  /* AIF1RX6_ENA */
2651 #define WM5100_AIF1RX5_ENA                      0x0010  /* AIF1RX5_ENA */
2652 #define WM5100_AIF1RX5_ENA_MASK                 0x0010  /* AIF1RX5_ENA */
2653 #define WM5100_AIF1RX5_ENA_SHIFT                     4  /* AIF1RX5_ENA */
2654 #define WM5100_AIF1RX5_ENA_WIDTH                     1  /* AIF1RX5_ENA */
2655 #define WM5100_AIF1RX4_ENA                      0x0008  /* AIF1RX4_ENA */
2656 #define WM5100_AIF1RX4_ENA_MASK                 0x0008  /* AIF1RX4_ENA */
2657 #define WM5100_AIF1RX4_ENA_SHIFT                     3  /* AIF1RX4_ENA */
2658 #define WM5100_AIF1RX4_ENA_WIDTH                     1  /* AIF1RX4_ENA */
2659 #define WM5100_AIF1RX3_ENA                      0x0004  /* AIF1RX3_ENA */
2660 #define WM5100_AIF1RX3_ENA_MASK                 0x0004  /* AIF1RX3_ENA */
2661 #define WM5100_AIF1RX3_ENA_SHIFT                     2  /* AIF1RX3_ENA */
2662 #define WM5100_AIF1RX3_ENA_WIDTH                     1  /* AIF1RX3_ENA */
2663 #define WM5100_AIF1RX2_ENA                      0x0002  /* AIF1RX2_ENA */
2664 #define WM5100_AIF1RX2_ENA_MASK                 0x0002  /* AIF1RX2_ENA */
2665 #define WM5100_AIF1RX2_ENA_SHIFT                     1  /* AIF1RX2_ENA */
2666 #define WM5100_AIF1RX2_ENA_WIDTH                     1  /* AIF1RX2_ENA */
2667 #define WM5100_AIF1RX1_ENA                      0x0001  /* AIF1RX1_ENA */
2668 #define WM5100_AIF1RX1_ENA_MASK                 0x0001  /* AIF1RX1_ENA */
2669 #define WM5100_AIF1RX1_ENA_SHIFT                     0  /* AIF1RX1_ENA */
2670 #define WM5100_AIF1RX1_ENA_WIDTH                     1  /* AIF1RX1_ENA */
2671
2672 /*
2673  * R1344 (0x540) - Audio IF 2_1
2674  */
2675 #define WM5100_AIF2_BCLK_INV                    0x0080  /* AIF2_BCLK_INV */
2676 #define WM5100_AIF2_BCLK_INV_MASK               0x0080  /* AIF2_BCLK_INV */
2677 #define WM5100_AIF2_BCLK_INV_SHIFT                   7  /* AIF2_BCLK_INV */
2678 #define WM5100_AIF2_BCLK_INV_WIDTH                   1  /* AIF2_BCLK_INV */
2679 #define WM5100_AIF2_BCLK_FRC                    0x0040  /* AIF2_BCLK_FRC */
2680 #define WM5100_AIF2_BCLK_FRC_MASK               0x0040  /* AIF2_BCLK_FRC */
2681 #define WM5100_AIF2_BCLK_FRC_SHIFT                   6  /* AIF2_BCLK_FRC */
2682 #define WM5100_AIF2_BCLK_FRC_WIDTH                   1  /* AIF2_BCLK_FRC */
2683 #define WM5100_AIF2_BCLK_MSTR                   0x0020  /* AIF2_BCLK_MSTR */
2684 #define WM5100_AIF2_BCLK_MSTR_MASK              0x0020  /* AIF2_BCLK_MSTR */
2685 #define WM5100_AIF2_BCLK_MSTR_SHIFT                  5  /* AIF2_BCLK_MSTR */
2686 #define WM5100_AIF2_BCLK_MSTR_WIDTH                  1  /* AIF2_BCLK_MSTR */
2687 #define WM5100_AIF2_BCLK_FREQ_MASK              0x001F  /* AIF2_BCLK_FREQ - [4:0] */
2688 #define WM5100_AIF2_BCLK_FREQ_SHIFT                  0  /* AIF2_BCLK_FREQ - [4:0] */
2689 #define WM5100_AIF2_BCLK_FREQ_WIDTH                  5  /* AIF2_BCLK_FREQ - [4:0] */
2690
2691 /*
2692  * R1345 (0x541) - Audio IF 2_2
2693  */
2694 #define WM5100_AIF2TX_DAT_TRI                   0x0020  /* AIF2TX_DAT_TRI */
2695 #define WM5100_AIF2TX_DAT_TRI_MASK              0x0020  /* AIF2TX_DAT_TRI */
2696 #define WM5100_AIF2TX_DAT_TRI_SHIFT                  5  /* AIF2TX_DAT_TRI */
2697 #define WM5100_AIF2TX_DAT_TRI_WIDTH                  1  /* AIF2TX_DAT_TRI */
2698 #define WM5100_AIF2TX_LRCLK_SRC                 0x0008  /* AIF2TX_LRCLK_SRC */
2699 #define WM5100_AIF2TX_LRCLK_SRC_MASK            0x0008  /* AIF2TX_LRCLK_SRC */
2700 #define WM5100_AIF2TX_LRCLK_SRC_SHIFT                3  /* AIF2TX_LRCLK_SRC */
2701 #define WM5100_AIF2TX_LRCLK_SRC_WIDTH                1  /* AIF2TX_LRCLK_SRC */
2702 #define WM5100_AIF2TX_LRCLK_INV                 0x0004  /* AIF2TX_LRCLK_INV */
2703 #define WM5100_AIF2TX_LRCLK_INV_MASK            0x0004  /* AIF2TX_LRCLK_INV */
2704 #define WM5100_AIF2TX_LRCLK_INV_SHIFT                2  /* AIF2TX_LRCLK_INV */
2705 #define WM5100_AIF2TX_LRCLK_INV_WIDTH                1  /* AIF2TX_LRCLK_INV */
2706 #define WM5100_AIF2TX_LRCLK_FRC                 0x0002  /* AIF2TX_LRCLK_FRC */
2707 #define WM5100_AIF2TX_LRCLK_FRC_MASK            0x0002  /* AIF2TX_LRCLK_FRC */
2708 #define WM5100_AIF2TX_LRCLK_FRC_SHIFT                1  /* AIF2TX_LRCLK_FRC */
2709 #define WM5100_AIF2TX_LRCLK_FRC_WIDTH                1  /* AIF2TX_LRCLK_FRC */
2710 #define WM5100_AIF2TX_LRCLK_MSTR                0x0001  /* AIF2TX_LRCLK_MSTR */
2711 #define WM5100_AIF2TX_LRCLK_MSTR_MASK           0x0001  /* AIF2TX_LRCLK_MSTR */
2712 #define WM5100_AIF2TX_LRCLK_MSTR_SHIFT               0  /* AIF2TX_LRCLK_MSTR */
2713 #define WM5100_AIF2TX_LRCLK_MSTR_WIDTH               1  /* AIF2TX_LRCLK_MSTR */
2714
2715 /*
2716  * R1346 (0x542) - Audio IF 2_3
2717  */
2718 #define WM5100_AIF2RX_LRCLK_INV                 0x0004  /* AIF2RX_LRCLK_INV */
2719 #define WM5100_AIF2RX_LRCLK_INV_MASK            0x0004  /* AIF2RX_LRCLK_INV */
2720 #define WM5100_AIF2RX_LRCLK_INV_SHIFT                2  /* AIF2RX_LRCLK_INV */
2721 #define WM5100_AIF2RX_LRCLK_INV_WIDTH                1  /* AIF2RX_LRCLK_INV */
2722 #define WM5100_AIF2RX_LRCLK_FRC                 0x0002  /* AIF2RX_LRCLK_FRC */
2723 #define WM5100_AIF2RX_LRCLK_FRC_MASK            0x0002  /* AIF2RX_LRCLK_FRC */
2724 #define WM5100_AIF2RX_LRCLK_FRC_SHIFT                1  /* AIF2RX_LRCLK_FRC */
2725 #define WM5100_AIF2RX_LRCLK_FRC_WIDTH                1  /* AIF2RX_LRCLK_FRC */
2726 #define WM5100_AIF2RX_LRCLK_MSTR                0x0001  /* AIF2RX_LRCLK_MSTR */
2727 #define WM5100_AIF2RX_LRCLK_MSTR_MASK           0x0001  /* AIF2RX_LRCLK_MSTR */
2728 #define WM5100_AIF2RX_LRCLK_MSTR_SHIFT               0  /* AIF2RX_LRCLK_MSTR */
2729 #define WM5100_AIF2RX_LRCLK_MSTR_WIDTH               1  /* AIF2RX_LRCLK_MSTR */
2730
2731 /*
2732  * R1347 (0x543) - Audio IF 2_4
2733  */
2734 #define WM5100_AIF2_TRI                         0x0040  /* AIF2_TRI */
2735 #define WM5100_AIF2_TRI_MASK                    0x0040  /* AIF2_TRI */
2736 #define WM5100_AIF2_TRI_SHIFT                        6  /* AIF2_TRI */
2737 #define WM5100_AIF2_TRI_WIDTH                        1  /* AIF2_TRI */
2738 #define WM5100_AIF2_RATE_MASK                   0x0003  /* AIF2_RATE - [1:0] */
2739 #define WM5100_AIF2_RATE_SHIFT                       0  /* AIF2_RATE - [1:0] */
2740 #define WM5100_AIF2_RATE_WIDTH                       2  /* AIF2_RATE - [1:0] */
2741
2742 /*
2743  * R1348 (0x544) - Audio IF 2_5
2744  */
2745 #define WM5100_AIF2_FMT_MASK                    0x0007  /* AIF2_FMT - [2:0] */
2746 #define WM5100_AIF2_FMT_SHIFT                        0  /* AIF2_FMT - [2:0] */
2747 #define WM5100_AIF2_FMT_WIDTH                        3  /* AIF2_FMT - [2:0] */
2748
2749 /*
2750  * R1349 (0x545) - Audio IF 2_6
2751  */
2752 #define WM5100_AIF2TX_BCPF_MASK                 0x1FFF  /* AIF2TX_BCPF - [12:0] */
2753 #define WM5100_AIF2TX_BCPF_SHIFT                     0  /* AIF2TX_BCPF - [12:0] */
2754 #define WM5100_AIF2TX_BCPF_WIDTH                    13  /* AIF2TX_BCPF - [12:0] */
2755
2756 /*
2757  * R1350 (0x546) - Audio IF 2_7
2758  */
2759 #define WM5100_AIF2RX_BCPF_MASK                 0x1FFF  /* AIF2RX_BCPF - [12:0] */
2760 #define WM5100_AIF2RX_BCPF_SHIFT                     0  /* AIF2RX_BCPF - [12:0] */
2761 #define WM5100_AIF2RX_BCPF_WIDTH                    13  /* AIF2RX_BCPF - [12:0] */
2762
2763 /*
2764  * R1351 (0x547) - Audio IF 2_8
2765  */
2766 #define WM5100_AIF2TX_WL_MASK                   0x3F00  /* AIF2TX_WL - [13:8] */
2767 #define WM5100_AIF2TX_WL_SHIFT                       8  /* AIF2TX_WL - [13:8] */
2768 #define WM5100_AIF2TX_WL_WIDTH                       6  /* AIF2TX_WL - [13:8] */
2769 #define WM5100_AIF2TX_SLOT_LEN_MASK             0x00FF  /* AIF2TX_SLOT_LEN - [7:0] */
2770 #define WM5100_AIF2TX_SLOT_LEN_SHIFT                 0  /* AIF2TX_SLOT_LEN - [7:0] */
2771 #define WM5100_AIF2TX_SLOT_LEN_WIDTH                 8  /* AIF2TX_SLOT_LEN - [7:0] */
2772
2773 /*
2774  * R1352 (0x548) - Audio IF 2_9
2775  */
2776 #define WM5100_AIF2RX_WL_MASK                   0x3F00  /* AIF2RX_WL - [13:8] */
2777 #define WM5100_AIF2RX_WL_SHIFT                       8  /* AIF2RX_WL - [13:8] */
2778 #define WM5100_AIF2RX_WL_WIDTH                       6  /* AIF2RX_WL - [13:8] */
2779 #define WM5100_AIF2RX_SLOT_LEN_MASK             0x00FF  /* AIF2RX_SLOT_LEN - [7:0] */
2780 #define WM5100_AIF2RX_SLOT_LEN_SHIFT                 0  /* AIF2RX_SLOT_LEN - [7:0] */
2781 #define WM5100_AIF2RX_SLOT_LEN_WIDTH                 8  /* AIF2RX_SLOT_LEN - [7:0] */
2782
2783 /*
2784  * R1353 (0x549) - Audio IF 2_10
2785  */
2786 #define WM5100_AIF2TX1_SLOT_MASK                0x003F  /* AIF2TX1_SLOT - [5:0] */
2787 #define WM5100_AIF2TX1_SLOT_SHIFT                    0  /* AIF2TX1_SLOT - [5:0] */
2788 #define WM5100_AIF2TX1_SLOT_WIDTH                    6  /* AIF2TX1_SLOT - [5:0] */
2789
2790 /*
2791  * R1354 (0x54A) - Audio IF 2_11
2792  */
2793 #define WM5100_AIF2TX2_SLOT_MASK                0x003F  /* AIF2TX2_SLOT - [5:0] */
2794 #define WM5100_AIF2TX2_SLOT_SHIFT                    0  /* AIF2TX2_SLOT - [5:0] */
2795 #define WM5100_AIF2TX2_SLOT_WIDTH                    6  /* AIF2TX2_SLOT - [5:0] */
2796
2797 /*
2798  * R1361 (0x551) - Audio IF 2_18
2799  */
2800 #define WM5100_AIF2RX1_SLOT_MASK                0x003F  /* AIF2RX1_SLOT - [5:0] */
2801 #define WM5100_AIF2RX1_SLOT_SHIFT                    0  /* AIF2RX1_SLOT - [5:0] */
2802 #define WM5100_AIF2RX1_SLOT_WIDTH                    6  /* AIF2RX1_SLOT - [5:0] */
2803
2804 /*
2805  * R1362 (0x552) - Audio IF 2_19
2806  */
2807 #define WM5100_AIF2RX2_SLOT_MASK                0x003F  /* AIF2RX2_SLOT - [5:0] */
2808 #define WM5100_AIF2RX2_SLOT_SHIFT                    0  /* AIF2RX2_SLOT - [5:0] */
2809 #define WM5100_AIF2RX2_SLOT_WIDTH                    6  /* AIF2RX2_SLOT - [5:0] */
2810
2811 /*
2812  * R1369 (0x559) - Audio IF 2_26
2813  */
2814 #define WM5100_AIF2TX2_ENA                      0x0002  /* AIF2TX2_ENA */
2815 #define WM5100_AIF2TX2_ENA_MASK                 0x0002  /* AIF2TX2_ENA */
2816 #define WM5100_AIF2TX2_ENA_SHIFT                     1  /* AIF2TX2_ENA */
2817 #define WM5100_AIF2TX2_ENA_WIDTH                     1  /* AIF2TX2_ENA */
2818 #define WM5100_AIF2TX1_ENA                      0x0001  /* AIF2TX1_ENA */
2819 #define WM5100_AIF2TX1_ENA_MASK                 0x0001  /* AIF2TX1_ENA */
2820 #define WM5100_AIF2TX1_ENA_SHIFT                     0  /* AIF2TX1_ENA */
2821 #define WM5100_AIF2TX1_ENA_WIDTH                     1  /* AIF2TX1_ENA */
2822
2823 /*
2824  * R1370 (0x55A) - Audio IF 2_27
2825  */
2826 #define WM5100_AIF2RX2_ENA                      0x0002  /* AIF2RX2_ENA */
2827 #define WM5100_AIF2RX2_ENA_MASK                 0x0002  /* AIF2RX2_ENA */
2828 #define WM5100_AIF2RX2_ENA_SHIFT                     1  /* AIF2RX2_ENA */
2829 #define WM5100_AIF2RX2_ENA_WIDTH                     1  /* AIF2RX2_ENA */
2830 #define WM5100_AIF2RX1_ENA                      0x0001  /* AIF2RX1_ENA */
2831 #define WM5100_AIF2RX1_ENA_MASK                 0x0001  /* AIF2RX1_ENA */
2832 #define WM5100_AIF2RX1_ENA_SHIFT                     0  /* AIF2RX1_ENA */
2833 #define WM5100_AIF2RX1_ENA_WIDTH                     1  /* AIF2RX1_ENA */
2834
2835 /*
2836  * R1408 (0x580) - Audio IF 3_1
2837  */
2838 #define WM5100_AIF3_BCLK_INV                    0x0080  /* AIF3_BCLK_INV */
2839 #define WM5100_AIF3_BCLK_INV_MASK               0x0080  /* AIF3_BCLK_INV */
2840 #define WM5100_AIF3_BCLK_INV_SHIFT                   7  /* AIF3_BCLK_INV */
2841 #define WM5100_AIF3_BCLK_INV_WIDTH                   1  /* AIF3_BCLK_INV */
2842 #define WM5100_AIF3_BCLK_FRC                    0x0040  /* AIF3_BCLK_FRC */
2843 #define WM5100_AIF3_BCLK_FRC_MASK               0x0040  /* AIF3_BCLK_FRC */
2844 #define WM5100_AIF3_BCLK_FRC_SHIFT                   6  /* AIF3_BCLK_FRC */
2845 #define WM5100_AIF3_BCLK_FRC_WIDTH                   1  /* AIF3_BCLK_FRC */
2846 #define WM5100_AIF3_BCLK_MSTR                   0x0020  /* AIF3_BCLK_MSTR */
2847 #define WM5100_AIF3_BCLK_MSTR_MASK              0x0020  /* AIF3_BCLK_MSTR */
2848 #define WM5100_AIF3_BCLK_MSTR_SHIFT                  5  /* AIF3_BCLK_MSTR */
2849 #define WM5100_AIF3_BCLK_MSTR_WIDTH                  1  /* AIF3_BCLK_MSTR */
2850 #define WM5100_AIF3_BCLK_FREQ_MASK              0x001F  /* AIF3_BCLK_FREQ - [4:0] */
2851 #define WM5100_AIF3_BCLK_FREQ_SHIFT                  0  /* AIF3_BCLK_FREQ - [4:0] */
2852 #define WM5100_AIF3_BCLK_FREQ_WIDTH                  5  /* AIF3_BCLK_FREQ - [4:0] */
2853
2854 /*
2855  * R1409 (0x581) - Audio IF 3_2
2856  */
2857 #define WM5100_AIF3TX_DAT_TRI                   0x0020  /* AIF3TX_DAT_TRI */
2858 #define WM5100_AIF3TX_DAT_TRI_MASK              0x0020  /* AIF3TX_DAT_TRI */
2859 #define WM5100_AIF3TX_DAT_TRI_SHIFT                  5  /* AIF3TX_DAT_TRI */
2860 #define WM5100_AIF3TX_DAT_TRI_WIDTH                  1  /* AIF3TX_DAT_TRI */
2861 #define WM5100_AIF3TX_LRCLK_SRC                 0x0008  /* AIF3TX_LRCLK_SRC */
2862 #define WM5100_AIF3TX_LRCLK_SRC_MASK            0x0008  /* AIF3TX_LRCLK_SRC */
2863 #define WM5100_AIF3TX_LRCLK_SRC_SHIFT                3  /* AIF3TX_LRCLK_SRC */
2864 #define WM5100_AIF3TX_LRCLK_SRC_WIDTH                1  /* AIF3TX_LRCLK_SRC */
2865 #define WM5100_AIF3TX_LRCLK_INV                 0x0004  /* AIF3TX_LRCLK_INV */
2866 #define WM5100_AIF3TX_LRCLK_INV_MASK            0x0004  /* AIF3TX_LRCLK_INV */
2867 #define WM5100_AIF3TX_LRCLK_INV_SHIFT                2  /* AIF3TX_LRCLK_INV */
2868 #define WM5100_AIF3TX_LRCLK_INV_WIDTH                1  /* AIF3TX_LRCLK_INV */
2869 #define WM5100_AIF3TX_LRCLK_FRC                 0x0002  /* AIF3TX_LRCLK_FRC */
2870 #define WM5100_AIF3TX_LRCLK_FRC_MASK            0x0002  /* AIF3TX_LRCLK_FRC */
2871 #define WM5100_AIF3TX_LRCLK_FRC_SHIFT                1  /* AIF3TX_LRCLK_FRC */
2872 #define WM5100_AIF3TX_LRCLK_FRC_WIDTH                1  /* AIF3TX_LRCLK_FRC */
2873 #define WM5100_AIF3TX_LRCLK_MSTR                0x0001  /* AIF3TX_LRCLK_MSTR */
2874 #define WM5100_AIF3TX_LRCLK_MSTR_MASK           0x0001  /* AIF3TX_LRCLK_MSTR */
2875 #define WM5100_AIF3TX_LRCLK_MSTR_SHIFT               0  /* AIF3TX_LRCLK_MSTR */
2876 #define WM5100_AIF3TX_LRCLK_MSTR_WIDTH               1  /* AIF3TX_LRCLK_MSTR */
2877
2878 /*
2879  * R1410 (0x582) - Audio IF 3_3
2880  */
2881 #define WM5100_AIF3RX_LRCLK_INV                 0x0004  /* AIF3RX_LRCLK_INV */
2882 #define WM5100_AIF3RX_LRCLK_INV_MASK            0x0004  /* AIF3RX_LRCLK_INV */
2883 #define WM5100_AIF3RX_LRCLK_INV_SHIFT                2  /* AIF3RX_LRCLK_INV */
2884 #define WM5100_AIF3RX_LRCLK_INV_WIDTH                1  /* AIF3RX_LRCLK_INV */
2885 #define WM5100_AIF3RX_LRCLK_FRC                 0x0002  /* AIF3RX_LRCLK_FRC */
2886 #define WM5100_AIF3RX_LRCLK_FRC_MASK            0x0002  /* AIF3RX_LRCLK_FRC */
2887 #define WM5100_AIF3RX_LRCLK_FRC_SHIFT                1  /* AIF3RX_LRCLK_FRC */
2888 #define WM5100_AIF3RX_LRCLK_FRC_WIDTH                1  /* AIF3RX_LRCLK_FRC */
2889 #define WM5100_AIF3RX_LRCLK_MSTR                0x0001  /* AIF3RX_LRCLK_MSTR */
2890 #define WM5100_AIF3RX_LRCLK_MSTR_MASK           0x0001  /* AIF3RX_LRCLK_MSTR */
2891 #define WM5100_AIF3RX_LRCLK_MSTR_SHIFT               0  /* AIF3RX_LRCLK_MSTR */
2892 #define WM5100_AIF3RX_LRCLK_MSTR_WIDTH               1  /* AIF3RX_LRCLK_MSTR */
2893
2894 /*
2895  * R1411 (0x583) - Audio IF 3_4
2896  */
2897 #define WM5100_AIF3_TRI                         0x0040  /* AIF3_TRI */
2898 #define WM5100_AIF3_TRI_MASK                    0x0040  /* AIF3_TRI */
2899 #define WM5100_AIF3_TRI_SHIFT                        6  /* AIF3_TRI */
2900 #define WM5100_AIF3_TRI_WIDTH                        1  /* AIF3_TRI */
2901 #define WM5100_AIF3_RATE_MASK                   0x0003  /* AIF3_RATE - [1:0] */
2902 #define WM5100_AIF3_RATE_SHIFT                       0  /* AIF3_RATE - [1:0] */
2903 #define WM5100_AIF3_RATE_WIDTH                       2  /* AIF3_RATE - [1:0] */
2904
2905 /*
2906  * R1412 (0x584) - Audio IF 3_5
2907  */
2908 #define WM5100_AIF3_FMT_MASK                    0x0007  /* AIF3_FMT - [2:0] */
2909 #define WM5100_AIF3_FMT_SHIFT                        0  /* AIF3_FMT - [2:0] */
2910 #define WM5100_AIF3_FMT_WIDTH                        3  /* AIF3_FMT - [2:0] */
2911
2912 /*
2913  * R1413 (0x585) - Audio IF 3_6
2914  */
2915 #define WM5100_AIF3TX_BCPF_MASK                 0x1FFF  /* AIF3TX_BCPF - [12:0] */
2916 #define WM5100_AIF3TX_BCPF_SHIFT                     0  /* AIF3TX_BCPF - [12:0] */
2917 #define WM5100_AIF3TX_BCPF_WIDTH                    13  /* AIF3TX_BCPF - [12:0] */
2918
2919 /*
2920  * R1414 (0x586) - Audio IF 3_7
2921  */
2922 #define WM5100_AIF3RX_BCPF_MASK                 0x1FFF  /* AIF3RX_BCPF - [12:0] */
2923 #define WM5100_AIF3RX_BCPF_SHIFT                     0  /* AIF3RX_BCPF - [12:0] */
2924 #define WM5100_AIF3RX_BCPF_WIDTH                    13  /* AIF3RX_BCPF - [12:0] */
2925
2926 /*
2927  * R1415 (0x587) - Audio IF 3_8
2928  */
2929 #define WM5100_AIF3TX_WL_MASK                   0x3F00  /* AIF3TX_WL - [13:8] */
2930 #define WM5100_AIF3TX_WL_SHIFT                       8  /* AIF3TX_WL - [13:8] */
2931 #define WM5100_AIF3TX_WL_WIDTH                       6  /* AIF3TX_WL - [13:8] */
2932 #define WM5100_AIF3TX_SLOT_LEN_MASK             0x00FF  /* AIF3TX_SLOT_LEN - [7:0] */
2933 #define WM5100_AIF3TX_SLOT_LEN_SHIFT                 0  /* AIF3TX_SLOT_LEN - [7:0] */
2934 #define WM5100_AIF3TX_SLOT_LEN_WIDTH                 8  /* AIF3TX_SLOT_LEN - [7:0] */
2935
2936 /*
2937  * R1416 (0x588) - Audio IF 3_9
2938  */
2939 #define WM5100_AIF3RX_WL_MASK                   0x3F00  /* AIF3RX_WL - [13:8] */
2940 #define WM5100_AIF3RX_WL_SHIFT                       8  /* AIF3RX_WL - [13:8] */
2941 #define WM5100_AIF3RX_WL_WIDTH                       6  /* AIF3RX_WL - [13:8] */
2942 #define WM5100_AIF3RX_SLOT_LEN_MASK             0x00FF  /* AIF3RX_SLOT_LEN - [7:0] */
2943 #define WM5100_AIF3RX_SLOT_LEN_SHIFT                 0  /* AIF3RX_SLOT_LEN - [7:0] */
2944 #define WM5100_AIF3RX_SLOT_LEN_WIDTH                 8  /* AIF3RX_SLOT_LEN - [7:0] */
2945
2946 /*
2947  * R1417 (0x589) - Audio IF 3_10
2948  */
2949 #define WM5100_AIF3TX1_SLOT_MASK                0x003F  /* AIF3TX1_SLOT - [5:0] */
2950 #define WM5100_AIF3TX1_SLOT_SHIFT                    0  /* AIF3TX1_SLOT - [5:0] */
2951 #define WM5100_AIF3TX1_SLOT_WIDTH                    6  /* AIF3TX1_SLOT - [5:0] */
2952
2953 /*
2954  * R1418 (0x58A) - Audio IF 3_11
2955  */
2956 #define WM5100_AIF3TX2_SLOT_MASK                0x003F  /* AIF3TX2_SLOT - [5:0] */
2957 #define WM5100_AIF3TX2_SLOT_SHIFT                    0  /* AIF3TX2_SLOT - [5:0] */
2958 #define WM5100_AIF3TX2_SLOT_WIDTH                    6  /* AIF3TX2_SLOT - [5:0] */
2959
2960 /*
2961  * R1425 (0x591) - Audio IF 3_18
2962  */
2963 #define WM5100_AIF3RX1_SLOT_MASK                0x003F  /* AIF3RX1_SLOT - [5:0] */
2964 #define WM5100_AIF3RX1_SLOT_SHIFT                    0  /* AIF3RX1_SLOT - [5:0] */
2965 #define WM5100_AIF3RX1_SLOT_WIDTH                    6  /* AIF3RX1_SLOT - [5:0] */
2966
2967 /*
2968  * R1426 (0x592) - Audio IF 3_19
2969  */
2970 #define WM5100_AIF3RX2_SLOT_MASK                0x003F  /* AIF3RX2_SLOT - [5:0] */
2971 #define WM5100_AIF3RX2_SLOT_SHIFT                    0  /* AIF3RX2_SLOT - [5:0] */
2972 #define WM5100_AIF3RX2_SLOT_WIDTH                    6  /* AIF3RX2_SLOT - [5:0] */
2973
2974 /*
2975  * R1433 (0x599) - Audio IF 3_26
2976  */
2977 #define WM5100_AIF3TX2_ENA                      0x0002  /* AIF3TX2_ENA */
2978 #define WM5100_AIF3TX2_ENA_MASK                 0x0002  /* AIF3TX2_ENA */
2979 #define WM5100_AIF3TX2_ENA_SHIFT                     1  /* AIF3TX2_ENA */
2980 #define WM5100_AIF3TX2_ENA_WIDTH                     1  /* AIF3TX2_ENA */
2981 #define WM5100_AIF3TX1_ENA                      0x0001  /* AIF3TX1_ENA */
2982 #define WM5100_AIF3TX1_ENA_MASK                 0x0001  /* AIF3TX1_ENA */
2983 #define WM5100_AIF3TX1_ENA_SHIFT                     0  /* AIF3TX1_ENA */
2984 #define WM5100_AIF3TX1_ENA_WIDTH                     1  /* AIF3TX1_ENA */
2985
2986 /*
2987  * R1434 (0x59A) - Audio IF 3_27
2988  */
2989 #define WM5100_AIF3RX2_ENA                      0x0002  /* AIF3RX2_ENA */
2990 #define WM5100_AIF3RX2_ENA_MASK                 0x0002  /* AIF3RX2_ENA */
2991 #define WM5100_AIF3RX2_ENA_SHIFT                     1  /* AIF3RX2_ENA */
2992 #define WM5100_AIF3RX2_ENA_WIDTH                     1  /* AIF3RX2_ENA */
2993 #define WM5100_AIF3RX1_ENA                      0x0001  /* AIF3RX1_ENA */
2994 #define WM5100_AIF3RX1_ENA_MASK                 0x0001  /* AIF3RX1_ENA */
2995 #define WM5100_AIF3RX1_ENA_SHIFT                     0  /* AIF3RX1_ENA */
2996 #define WM5100_AIF3RX1_ENA_WIDTH                     1  /* AIF3RX1_ENA */
2997
2998 #define WM5100_MIXER_VOL_MASK                0x00FE  /* MIXER_VOL - [7:1] */
2999 #define WM5100_MIXER_VOL_SHIFT                    1  /* MIXER_VOL - [7:1] */
3000 #define WM5100_MIXER_VOL_WIDTH                    7  /* MIXER_VOL - [7:1] */
3001
3002 /*
3003  * R3072 (0xC00) - GPIO CTRL 1
3004  */
3005 #define WM5100_GP1_DIR                          0x8000  /* GP1_DIR */
3006 #define WM5100_GP1_DIR_MASK                     0x8000  /* GP1_DIR */
3007 #define WM5100_GP1_DIR_SHIFT                        15  /* GP1_DIR */
3008 #define WM5100_GP1_DIR_WIDTH                         1  /* GP1_DIR */
3009 #define WM5100_GP1_PU                           0x4000  /* GP1_PU */
3010 #define WM5100_GP1_PU_MASK                      0x4000  /* GP1_PU */
3011 #define WM5100_GP1_PU_SHIFT                         14  /* GP1_PU */
3012 #define WM5100_GP1_PU_WIDTH                          1  /* GP1_PU */
3013 #define WM5100_GP1_PD                           0x2000  /* GP1_PD */
3014 #define WM5100_GP1_PD_MASK                      0x2000  /* GP1_PD */
3015 #define WM5100_GP1_PD_SHIFT                         13  /* GP1_PD */
3016 #define WM5100_GP1_PD_WIDTH                          1  /* GP1_PD */
3017 #define WM5100_GP1_POL                          0x0400  /* GP1_POL */
3018 #define WM5100_GP1_POL_MASK                     0x0400  /* GP1_POL */
3019 #define WM5100_GP1_POL_SHIFT                        10  /* GP1_POL */
3020 #define WM5100_GP1_POL_WIDTH                         1  /* GP1_POL */
3021 #define WM5100_GP1_OP_CFG                       0x0200  /* GP1_OP_CFG */
3022 #define WM5100_GP1_OP_CFG_MASK                  0x0200  /* GP1_OP_CFG */
3023 #define WM5100_GP1_OP_CFG_SHIFT                      9  /* GP1_OP_CFG */
3024 #define WM5100_GP1_OP_CFG_WIDTH                      1  /* GP1_OP_CFG */
3025 #define WM5100_GP1_DB                           0x0100  /* GP1_DB */
3026 #define WM5100_GP1_DB_MASK                      0x0100  /* GP1_DB */
3027 #define WM5100_GP1_DB_SHIFT                          8  /* GP1_DB */
3028 #define WM5100_GP1_DB_WIDTH                          1  /* GP1_DB */
3029 #define WM5100_GP1_LVL                          0x0040  /* GP1_LVL */
3030 #define WM5100_GP1_LVL_MASK                     0x0040  /* GP1_LVL */
3031 #define WM5100_GP1_LVL_SHIFT                         6  /* GP1_LVL */
3032 #define WM5100_GP1_LVL_WIDTH                         1  /* GP1_LVL */
3033 #define WM5100_GP1_FN_MASK                      0x003F  /* GP1_FN - [5:0] */
3034 #define WM5100_GP1_FN_SHIFT                          0  /* GP1_FN - [5:0] */
3035 #define WM5100_GP1_FN_WIDTH                          6  /* GP1_FN - [5:0] */
3036
3037 /*
3038  * R3073 (0xC01) - GPIO CTRL 2
3039  */
3040 #define WM5100_GP2_DIR                          0x8000  /* GP2_DIR */
3041 #define WM5100_GP2_DIR_MASK                     0x8000  /* GP2_DIR */
3042 #define WM5100_GP2_DIR_SHIFT                        15  /* GP2_DIR */
3043 #define WM5100_GP2_DIR_WIDTH                         1  /* GP2_DIR */
3044 #define WM5100_GP2_PU                           0x4000  /* GP2_PU */
3045 #define WM5100_GP2_PU_MASK                      0x4000  /* GP2_PU */
3046 #define WM5100_GP2_PU_SHIFT                         14  /* GP2_PU */
3047 #define WM5100_GP2_PU_WIDTH                          1  /* GP2_PU */
3048 #define WM5100_GP2_PD                           0x2000  /* GP2_PD */
3049 #define WM5100_GP2_PD_MASK                      0x2000  /* GP2_PD */
3050 #define WM5100_GP2_PD_SHIFT                         13  /* GP2_PD */
3051 #define WM5100_GP2_PD_WIDTH                          1  /* GP2_PD */
3052 #define WM5100_GP2_POL                          0x0400  /* GP2_POL */
3053 #define WM5100_GP2_POL_MASK                     0x0400  /* GP2_POL */
3054 #define WM5100_GP2_POL_SHIFT                        10  /* GP2_POL */
3055 #define WM5100_GP2_POL_WIDTH                         1  /* GP2_POL */
3056 #define WM5100_GP2_OP_CFG                       0x0200  /* GP2_OP_CFG */
3057 #define WM5100_GP2_OP_CFG_MASK                  0x0200  /* GP2_OP_CFG */
3058 #define WM5100_GP2_OP_CFG_SHIFT                      9  /* GP2_OP_CFG */
3059 #define WM5100_GP2_OP_CFG_WIDTH                      1  /* GP2_OP_CFG */
3060 #define WM5100_GP2_DB                           0x0100  /* GP2_DB */
3061 #define WM5100_GP2_DB_MASK                      0x0100  /* GP2_DB */
3062 #define WM5100_GP2_DB_SHIFT                          8  /* GP2_DB */
3063 #define WM5100_GP2_DB_WIDTH                          1  /* GP2_DB */
3064 #define WM5100_GP2_LVL                          0x0040  /* GP2_LVL */
3065 #define WM5100_GP2_LVL_MASK                     0x0040  /* GP2_LVL */
3066 #define WM5100_GP2_LVL_SHIFT                         6  /* GP2_LVL */
3067 #define WM5100_GP2_LVL_WIDTH                         1  /* GP2_LVL */
3068 #define WM5100_GP2_FN_MASK                      0x003F  /* GP2_FN - [5:0] */
3069 #define WM5100_GP2_FN_SHIFT                          0  /* GP2_FN - [5:0] */
3070 #define WM5100_GP2_FN_WIDTH                          6  /* GP2_FN - [5:0] */
3071
3072 /*
3073  * R3074 (0xC02) - GPIO CTRL 3
3074  */
3075 #define WM5100_GP3_DIR                          0x8000  /* GP3_DIR */
3076 #define WM5100_GP3_DIR_MASK                     0x8000  /* GP3_DIR */
3077 #define WM5100_GP3_DIR_SHIFT                        15  /* GP3_DIR */
3078 #define WM5100_GP3_DIR_WIDTH                         1  /* GP3_DIR */
3079 #define WM5100_GP3_PU                           0x4000  /* GP3_PU */
3080 #define WM5100_GP3_PU_MASK                      0x4000  /* GP3_PU */
3081 #define WM5100_GP3_PU_SHIFT                         14  /* GP3_PU */
3082 #define WM5100_GP3_PU_WIDTH                          1  /* GP3_PU */
3083 #define WM5100_GP3_PD                           0x2000  /* GP3_PD */
3084 #define WM5100_GP3_PD_MASK                      0x2000  /* GP3_PD */
3085 #define WM5100_GP3_PD_SHIFT                         13  /* GP3_PD */
3086 #define WM5100_GP3_PD_WIDTH                          1  /* GP3_PD */
3087 #define WM5100_GP3_POL                          0x0400  /* GP3_POL */
3088 #define WM5100_GP3_POL_MASK                     0x0400  /* GP3_POL */
3089 #define WM5100_GP3_POL_SHIFT                        10  /* GP3_POL */
3090 #define WM5100_GP3_POL_WIDTH                         1  /* GP3_POL */
3091 #define WM5100_GP3_OP_CFG                       0x0200  /* GP3_OP_CFG */
3092 #define WM5100_GP3_OP_CFG_MASK                  0x0200  /* GP3_OP_CFG */
3093 #define WM5100_GP3_OP_CFG_SHIFT                      9  /* GP3_OP_CFG */
3094 #define WM5100_GP3_OP_CFG_WIDTH                      1  /* GP3_OP_CFG */
3095 #define WM5100_GP3_DB                           0x0100  /* GP3_DB */
3096 #define WM5100_GP3_DB_MASK                      0x0100  /* GP3_DB */
3097 #define WM5100_GP3_DB_SHIFT                          8  /* GP3_DB */
3098 #define WM5100_GP3_DB_WIDTH                          1  /* GP3_DB */
3099 #define WM5100_GP3_LVL                          0x0040  /* GP3_LVL */
3100 #define WM5100_GP3_LVL_MASK                     0x0040  /* GP3_LVL */
3101 #define WM5100_GP3_LVL_SHIFT                         6  /* GP3_LVL */
3102 #define WM5100_GP3_LVL_WIDTH                         1  /* GP3_LVL */
3103 #define WM5100_GP3_FN_MASK                      0x003F  /* GP3_FN - [5:0] */
3104 #define WM5100_GP3_FN_SHIFT                          0  /* GP3_FN - [5:0] */
3105 #define WM5100_GP3_FN_WIDTH                          6  /* GP3_FN - [5:0] */
3106
3107 /*
3108  * R3075 (0xC03) - GPIO CTRL 4
3109  */
3110 #define WM5100_GP4_DIR                          0x8000  /* GP4_DIR */
3111 #define WM5100_GP4_DIR_MASK                     0x8000  /* GP4_DIR */
3112 #define WM5100_GP4_DIR_SHIFT                        15  /* GP4_DIR */
3113 #define WM5100_GP4_DIR_WIDTH                         1  /* GP4_DIR */
3114 #define WM5100_GP4_PU                           0x4000  /* GP4_PU */
3115 #define WM5100_GP4_PU_MASK                      0x4000  /* GP4_PU */
3116 #define WM5100_GP4_PU_SHIFT                         14  /* GP4_PU */
3117 #define WM5100_GP4_PU_WIDTH                          1  /* GP4_PU */
3118 #define WM5100_GP4_PD                           0x2000  /* GP4_PD */
3119 #define WM5100_GP4_PD_MASK                      0x2000  /* GP4_PD */
3120 #define WM5100_GP4_PD_SHIFT                         13  /* GP4_PD */
3121 #define WM5100_GP4_PD_WIDTH                          1  /* GP4_PD */
3122 #define WM5100_GP4_POL                          0x0400  /* GP4_POL */
3123 #define WM5100_GP4_POL_MASK                     0x0400  /* GP4_POL */
3124 #define WM5100_GP4_POL_SHIFT                        10  /* GP4_POL */
3125 #define WM5100_GP4_POL_WIDTH                         1  /* GP4_POL */
3126 #define WM5100_GP4_OP_CFG                       0x0200  /* GP4_OP_CFG */
3127 #define WM5100_GP4_OP_CFG_MASK                  0x0200  /* GP4_OP_CFG */
3128 #define WM5100_GP4_OP_CFG_SHIFT                      9  /* GP4_OP_CFG */
3129 #define WM5100_GP4_OP_CFG_WIDTH                      1  /* GP4_OP_CFG */
3130 #define WM5100_GP4_DB                           0x0100  /* GP4_DB */
3131 #define WM5100_GP4_DB_MASK                      0x0100  /* GP4_DB */
3132 #define WM5100_GP4_DB_SHIFT                          8  /* GP4_DB */
3133 #define WM5100_GP4_DB_WIDTH                          1  /* GP4_DB */
3134 #define WM5100_GP4_LVL                          0x0040  /* GP4_LVL */
3135 #define WM5100_GP4_LVL_MASK                     0x0040  /* GP4_LVL */
3136 #define WM5100_GP4_LVL_SHIFT                         6  /* GP4_LVL */
3137 #define WM5100_GP4_LVL_WIDTH                         1  /* GP4_LVL */
3138 #define WM5100_GP4_FN_MASK                      0x003F  /* GP4_FN - [5:0] */
3139 #define WM5100_GP4_FN_SHIFT                          0  /* GP4_FN - [5:0] */
3140 #define WM5100_GP4_FN_WIDTH                          6  /* GP4_FN - [5:0] */
3141
3142 /*
3143  * R3076 (0xC04) - GPIO CTRL 5
3144  */
3145 #define WM5100_GP5_DIR                          0x8000  /* GP5_DIR */
3146 #define WM5100_GP5_DIR_MASK                     0x8000  /* GP5_DIR */
3147 #define WM5100_GP5_DIR_SHIFT                        15  /* GP5_DIR */
3148 #define WM5100_GP5_DIR_WIDTH                         1  /* GP5_DIR */
3149 #define WM5100_GP5_PU                           0x4000  /* GP5_PU */
3150 #define WM5100_GP5_PU_MASK                      0x4000  /* GP5_PU */
3151 #define WM5100_GP5_PU_SHIFT                         14  /* GP5_PU */
3152 #define WM5100_GP5_PU_WIDTH                          1  /* GP5_PU */
3153 #define WM5100_GP5_PD                           0x2000  /* GP5_PD */
3154 #define WM5100_GP5_PD_MASK                      0x2000  /* GP5_PD */
3155 #define WM5100_GP5_PD_SHIFT                         13  /* GP5_PD */
3156 #define WM5100_GP5_PD_WIDTH                          1  /* GP5_PD */
3157 #define WM5100_GP5_POL                          0x0400  /* GP5_POL */
3158 #define WM5100_GP5_POL_MASK                     0x0400  /* GP5_POL */
3159 #define WM5100_GP5_POL_SHIFT                        10  /* GP5_POL */
3160 #define WM5100_GP5_POL_WIDTH                         1  /* GP5_POL */
3161 #define WM5100_GP5_OP_CFG                       0x0200  /* GP5_OP_CFG */
3162 #define WM5100_GP5_OP_CFG_MASK                  0x0200  /* GP5_OP_CFG */
3163 #define WM5100_GP5_OP_CFG_SHIFT                      9  /* GP5_OP_CFG */
3164 #define WM5100_GP5_OP_CFG_WIDTH                      1  /* GP5_OP_CFG */
3165 #define WM5100_GP5_DB                           0x0100  /* GP5_DB */
3166 #define WM5100_GP5_DB_MASK                      0x0100  /* GP5_DB */
3167 #define WM5100_GP5_DB_SHIFT                          8  /* GP5_DB */
3168 #define WM5100_GP5_DB_WIDTH                          1  /* GP5_DB */
3169 #define WM5100_GP5_LVL                          0x0040  /* GP5_LVL */
3170 #define WM5100_GP5_LVL_MASK                     0x0040  /* GP5_LVL */
3171 #define WM5100_GP5_LVL_SHIFT                         6  /* GP5_LVL */
3172 #define WM5100_GP5_LVL_WIDTH                         1  /* GP5_LVL */
3173 #define WM5100_GP5_FN_MASK                      0x003F  /* GP5_FN - [5:0] */
3174 #define WM5100_GP5_FN_SHIFT                          0  /* GP5_FN - [5:0] */
3175 #define WM5100_GP5_FN_WIDTH                          6  /* GP5_FN - [5:0] */
3176
3177 /*
3178  * R3077 (0xC05) - GPIO CTRL 6
3179  */
3180 #define WM5100_GP6_DIR                          0x8000  /* GP6_DIR */
3181 #define WM5100_GP6_DIR_MASK                     0x8000  /* GP6_DIR */
3182 #define WM5100_GP6_DIR_SHIFT                        15  /* GP6_DIR */
3183 #define WM5100_GP6_DIR_WIDTH                         1  /* GP6_DIR */
3184 #define WM5100_GP6_PU                           0x4000  /* GP6_PU */
3185 #define WM5100_GP6_PU_MASK                      0x4000  /* GP6_PU */
3186 #define WM5100_GP6_PU_SHIFT                         14  /* GP6_PU */
3187 #define WM5100_GP6_PU_WIDTH                          1  /* GP6_PU */
3188 #define WM5100_GP6_PD                           0x2000  /* GP6_PD */
3189 #define WM5100_GP6_PD_MASK                      0x2000  /* GP6_PD */
3190 #define WM5100_GP6_PD_SHIFT                         13  /* GP6_PD */
3191 #define WM5100_GP6_PD_WIDTH                          1  /* GP6_PD */
3192 #define WM5100_GP6_POL                          0x0400  /* GP6_POL */
3193 #define WM5100_GP6_POL_MASK                     0x0400  /* GP6_POL */
3194 #define WM5100_GP6_POL_SHIFT                        10  /* GP6_POL */
3195 #define WM5100_GP6_POL_WIDTH                         1  /* GP6_POL */
3196 #define WM5100_GP6_OP_CFG                       0x0200  /* GP6_OP_CFG */
3197 #define WM5100_GP6_OP_CFG_MASK                  0x0200  /* GP6_OP_CFG */
3198 #define WM5100_GP6_OP_CFG_SHIFT                      9  /* GP6_OP_CFG */
3199 #define WM5100_GP6_OP_CFG_WIDTH                      1  /* GP6_OP_CFG */
3200 #define WM5100_GP6_DB                           0x0100  /* GP6_DB */
3201 #define WM5100_GP6_DB_MASK                      0x0100  /* GP6_DB */
3202 #define WM5100_GP6_DB_SHIFT                          8  /* GP6_DB */
3203 #define WM5100_GP6_DB_WIDTH                          1  /* GP6_DB */
3204 #define WM5100_GP6_LVL                          0x0040  /* GP6_LVL */
3205 #define WM5100_GP6_LVL_MASK                     0x0040  /* GP6_LVL */
3206 #define WM5100_GP6_LVL_SHIFT                         6  /* GP6_LVL */
3207 #define WM5100_GP6_LVL_WIDTH                         1  /* GP6_LVL */
3208 #define WM5100_GP6_FN_MASK                      0x003F  /* GP6_FN - [5:0] */
3209 #define WM5100_GP6_FN_SHIFT                          0  /* GP6_FN - [5:0] */
3210 #define WM5100_GP6_FN_WIDTH                          6  /* GP6_FN - [5:0] */
3211
3212 /*
3213  * R3107 (0xC23) - Misc Pad Ctrl 1
3214  */
3215 #define WM5100_LDO1ENA_PD                       0x8000  /* LDO1ENA_PD */
3216 #define WM5100_LDO1ENA_PD_MASK                  0x8000  /* LDO1ENA_PD */
3217 #define WM5100_LDO1ENA_PD_SHIFT                     15  /* LDO1ENA_PD */
3218 #define WM5100_LDO1ENA_PD_WIDTH                      1  /* LDO1ENA_PD */
3219 #define WM5100_MCLK2_PD                         0x2000  /* MCLK2_PD */
3220 #define WM5100_MCLK2_PD_MASK                    0x2000  /* MCLK2_PD */
3221 #define WM5100_MCLK2_PD_SHIFT                       13  /* MCLK2_PD */
3222 #define WM5100_MCLK2_PD_WIDTH                        1  /* MCLK2_PD */
3223 #define WM5100_MCLK1_PD                         0x1000  /* MCLK1_PD */
3224 #define WM5100_MCLK1_PD_MASK                    0x1000  /* MCLK1_PD */
3225 #define WM5100_MCLK1_PD_SHIFT                       12  /* MCLK1_PD */
3226 #define WM5100_MCLK1_PD_WIDTH                        1  /* MCLK1_PD */
3227 #define WM5100_RESET_PU                         0x0002  /* RESET_PU */
3228 #define WM5100_RESET_PU_MASK                    0x0002  /* RESET_PU */
3229 #define WM5100_RESET_PU_SHIFT                        1  /* RESET_PU */
3230 #define WM5100_RESET_PU_WIDTH                        1  /* RESET_PU */
3231 #define WM5100_ADDR_PD                          0x0001  /* ADDR_PD */
3232 #define WM5100_ADDR_PD_MASK                     0x0001  /* ADDR_PD */
3233 #define WM5100_ADDR_PD_SHIFT                         0  /* ADDR_PD */
3234 #define WM5100_ADDR_PD_WIDTH                         1  /* ADDR_PD */
3235
3236 /*
3237  * R3108 (0xC24) - Misc Pad Ctrl 2
3238  */
3239 #define WM5100_DMICDAT4_PD                      0x0008  /* DMICDAT4_PD */
3240 #define WM5100_DMICDAT4_PD_MASK                 0x0008  /* DMICDAT4_PD */
3241 #define WM5100_DMICDAT4_PD_SHIFT                     3  /* DMICDAT4_PD */
3242 #define WM5100_DMICDAT4_PD_WIDTH                     1  /* DMICDAT4_PD */
3243 #define WM5100_DMICDAT3_PD                      0x0004  /* DMICDAT3_PD */
3244 #define WM5100_DMICDAT3_PD_MASK                 0x0004  /* DMICDAT3_PD */
3245 #define WM5100_DMICDAT3_PD_SHIFT                     2  /* DMICDAT3_PD */
3246 #define WM5100_DMICDAT3_PD_WIDTH                     1  /* DMICDAT3_PD */
3247 #define WM5100_DMICDAT2_PD                      0x0002  /* DMICDAT2_PD */
3248 #define WM5100_DMICDAT2_PD_MASK                 0x0002  /* DMICDAT2_PD */
3249 #define WM5100_DMICDAT2_PD_SHIFT                     1  /* DMICDAT2_PD */
3250 #define WM5100_DMICDAT2_PD_WIDTH                     1  /* DMICDAT2_PD */
3251 #define WM5100_DMICDAT1_PD                      0x0001  /* DMICDAT1_PD */
3252 #define WM5100_DMICDAT1_PD_MASK                 0x0001  /* DMICDAT1_PD */
3253 #define WM5100_DMICDAT1_PD_SHIFT                     0  /* DMICDAT1_PD */
3254 #define WM5100_DMICDAT1_PD_WIDTH                     1  /* DMICDAT1_PD */
3255
3256 /*
3257  * R3109 (0xC25) - Misc Pad Ctrl 3
3258  */
3259 #define WM5100_AIF1RXLRCLK_PU                   0x0020  /* AIF1RXLRCLK_PU */
3260 #define WM5100_AIF1RXLRCLK_PU_MASK              0x0020  /* AIF1RXLRCLK_PU */
3261 #define WM5100_AIF1RXLRCLK_PU_SHIFT                  5  /* AIF1RXLRCLK_PU */
3262 #define WM5100_AIF1RXLRCLK_PU_WIDTH                  1  /* AIF1RXLRCLK_PU */
3263 #define WM5100_AIF1RXLRCLK_PD                   0x0010  /* AIF1RXLRCLK_PD */
3264 #define WM5100_AIF1RXLRCLK_PD_MASK              0x0010  /* AIF1RXLRCLK_PD */
3265 #define WM5100_AIF1RXLRCLK_PD_SHIFT                  4  /* AIF1RXLRCLK_PD */
3266 #define WM5100_AIF1RXLRCLK_PD_WIDTH                  1  /* AIF1RXLRCLK_PD */
3267 #define WM5100_AIF1BCLK_PU                      0x0008  /* AIF1BCLK_PU */
3268 #define WM5100_AIF1BCLK_PU_MASK                 0x0008  /* AIF1BCLK_PU */
3269 #define WM5100_AIF1BCLK_PU_SHIFT                     3  /* AIF1BCLK_PU */
3270 #define WM5100_AIF1BCLK_PU_WIDTH                     1  /* AIF1BCLK_PU */
3271 #define WM5100_AIF1BCLK_PD                      0x0004  /* AIF1BCLK_PD */
3272 #define WM5100_AIF1BCLK_PD_MASK                 0x0004  /* AIF1BCLK_PD */
3273 #define WM5100_AIF1BCLK_PD_SHIFT                     2  /* AIF1BCLK_PD */
3274 #define WM5100_AIF1BCLK_PD_WIDTH                     1  /* AIF1BCLK_PD */
3275 #define WM5100_AIF1RXDAT_PU                     0x0002  /* AIF1RXDAT_PU */
3276 #define WM5100_AIF1RXDAT_PU_MASK                0x0002  /* AIF1RXDAT_PU */
3277 #define WM5100_AIF1RXDAT_PU_SHIFT                    1  /* AIF1RXDAT_PU */
3278 #define WM5100_AIF1RXDAT_PU_WIDTH                    1  /* AIF1RXDAT_PU */
3279 #define WM5100_AIF1RXDAT_PD                     0x0001  /* AIF1RXDAT_PD */
3280 #define WM5100_AIF1RXDAT_PD_MASK                0x0001  /* AIF1RXDAT_PD */
3281 #define WM5100_AIF1RXDAT_PD_SHIFT                    0  /* AIF1RXDAT_PD */
3282 #define WM5100_AIF1RXDAT_PD_WIDTH                    1  /* AIF1RXDAT_PD */
3283
3284 /*
3285  * R3110 (0xC26) - Misc Pad Ctrl 4
3286  */
3287 #define WM5100_AIF2RXLRCLK_PU                   0x0020  /* AIF2RXLRCLK_PU */
3288 #define WM5100_AIF2RXLRCLK_PU_MASK              0x0020  /* AIF2RXLRCLK_PU */
3289 #define WM5100_AIF2RXLRCLK_PU_SHIFT                  5  /* AIF2RXLRCLK_PU */
3290 #define WM5100_AIF2RXLRCLK_PU_WIDTH                  1  /* AIF2RXLRCLK_PU */
3291 #define WM5100_AIF2RXLRCLK_PD                   0x0010  /* AIF2RXLRCLK_PD */
3292 #define WM5100_AIF2RXLRCLK_PD_MASK              0x0010  /* AIF2RXLRCLK_PD */
3293 #define WM5100_AIF2RXLRCLK_PD_SHIFT                  4  /* AIF2RXLRCLK_PD */
3294 #define WM5100_AIF2RXLRCLK_PD_WIDTH                  1  /* AIF2RXLRCLK_PD */
3295 #define WM5100_AIF2BCLK_PU                      0x0008  /* AIF2BCLK_PU */
3296 #define WM5100_AIF2BCLK_PU_MASK                 0x0008  /* AIF2BCLK_PU */
3297 #define WM5100_AIF2BCLK_PU_SHIFT                     3  /* AIF2BCLK_PU */
3298 #define WM5100_AIF2BCLK_PU_WIDTH                     1  /* AIF2BCLK_PU */
3299 #define WM5100_AIF2BCLK_PD                      0x0004  /* AIF2BCLK_PD */
3300 #define WM5100_AIF2BCLK_PD_MASK                 0x0004  /* AIF2BCLK_PD */
3301 #define WM5100_AIF2BCLK_PD_SHIFT                     2  /* AIF2BCLK_PD */
3302 #define WM5100_AIF2BCLK_PD_WIDTH                     1  /* AIF2BCLK_PD */
3303 #define WM5100_AIF2RXDAT_PU                     0x0002  /* AIF2RXDAT_PU */
3304 #define WM5100_AIF2RXDAT_PU_MASK                0x0002  /* AIF2RXDAT_PU */
3305 #define WM5100_AIF2RXDAT_PU_SHIFT                    1  /* AIF2RXDAT_PU */
3306 #define WM5100_AIF2RXDAT_PU_WIDTH                    1  /* AIF2RXDAT_PU */
3307 #define WM5100_AIF2RXDAT_PD                     0x0001  /* AIF2RXDAT_PD */
3308 #define WM5100_AIF2RXDAT_PD_MASK                0x0001  /* AIF2RXDAT_PD */
3309 #define WM5100_AIF2RXDAT_PD_SHIFT                    0  /* AIF2RXDAT_PD */
3310 #define WM5100_AIF2RXDAT_PD_WIDTH                    1  /* AIF2RXDAT_PD */
3311
3312 /*
3313  * R3111 (0xC27) - Misc Pad Ctrl 5
3314  */
3315 #define WM5100_AIF3RXLRCLK_PU                   0x0020  /* AIF3RXLRCLK_PU */
3316 #define WM5100_AIF3RXLRCLK_PU_MASK              0x0020  /* AIF3RXLRCLK_PU */
3317 #define WM5100_AIF3RXLRCLK_PU_SHIFT                  5  /* AIF3RXLRCLK_PU */
3318 #define WM5100_AIF3RXLRCLK_PU_WIDTH                  1  /* AIF3RXLRCLK_PU */
3319 #define WM5100_AIF3RXLRCLK_PD                   0x0010  /* AIF3RXLRCLK_PD */
3320 #define WM5100_AIF3RXLRCLK_PD_MASK              0x0010  /* AIF3RXLRCLK_PD */
3321 #define WM5100_AIF3RXLRCLK_PD_SHIFT                  4  /* AIF3RXLRCLK_PD */
3322 #define WM5100_AIF3RXLRCLK_PD_WIDTH                  1  /* AIF3RXLRCLK_PD */
3323 #define WM5100_AIF3BCLK_PU                      0x0008  /* AIF3BCLK_PU */
3324 #define WM5100_AIF3BCLK_PU_MASK                 0x0008  /* AIF3BCLK_PU */
3325 #define WM5100_AIF3BCLK_PU_SHIFT                     3  /* AIF3BCLK_PU */
3326 #define WM5100_AIF3BCLK_PU_WIDTH                     1  /* AIF3BCLK_PU */
3327 #define WM5100_AIF3BCLK_PD                      0x0004  /* AIF3BCLK_PD */
3328 #define WM5100_AIF3BCLK_PD_MASK                 0x0004  /* AIF3BCLK_PD */
3329 #define WM5100_AIF3BCLK_PD_SHIFT                     2  /* AIF3BCLK_PD */
3330 #define WM5100_AIF3BCLK_PD_WIDTH                     1  /* AIF3BCLK_PD */
3331 #define WM5100_AIF3RXDAT_PU                     0x0002  /* AIF3RXDAT_PU */
3332 #define WM5100_AIF3RXDAT_PU_MASK                0x0002  /* AIF3RXDAT_PU */
3333 #define WM5100_AIF3RXDAT_PU_SHIFT                    1  /* AIF3RXDAT_PU */
3334 #define WM5100_AIF3RXDAT_PU_WIDTH                    1  /* AIF3RXDAT_PU */
3335 #define WM5100_AIF3RXDAT_PD                     0x0001  /* AIF3RXDAT_PD */
3336 #define WM5100_AIF3RXDAT_PD_MASK                0x0001  /* AIF3RXDAT_PD */
3337 #define WM5100_AIF3RXDAT_PD_SHIFT                    0  /* AIF3RXDAT_PD */
3338 #define WM5100_AIF3RXDAT_PD_WIDTH                    1  /* AIF3RXDAT_PD */
3339
3340 /*
3341  * R3112 (0xC28) - Misc GPIO 1
3342  */
3343 #define WM5100_OPCLK_SEL_MASK                   0x0003  /* OPCLK_SEL - [1:0] */
3344 #define WM5100_OPCLK_SEL_SHIFT                       0  /* OPCLK_SEL - [1:0] */
3345 #define WM5100_OPCLK_SEL_WIDTH                       2  /* OPCLK_SEL - [1:0] */
3346
3347 /*
3348  * R3328 (0xD00) - Interrupt Status 1
3349  */
3350 #define WM5100_GP6_EINT                         0x0020  /* GP6_EINT */
3351 #define WM5100_GP6_EINT_MASK                    0x0020  /* GP6_EINT */
3352 #define WM5100_GP6_EINT_SHIFT                        5  /* GP6_EINT */
3353 #define WM5100_GP6_EINT_WIDTH                        1  /* GP6_EINT */
3354 #define WM5100_GP5_EINT                         0x0010  /* GP5_EINT */
3355 #define WM5100_GP5_EINT_MASK                    0x0010  /* GP5_EINT */
3356 #define WM5100_GP5_EINT_SHIFT                        4  /* GP5_EINT */
3357 #define WM5100_GP5_EINT_WIDTH                        1  /* GP5_EINT */
3358 #define WM5100_GP4_EINT                         0x0008  /* GP4_EINT */
3359 #define WM5100_GP4_EINT_MASK                    0x0008  /* GP4_EINT */
3360 #define WM5100_GP4_EINT_SHIFT                        3  /* GP4_EINT */
3361 #define WM5100_GP4_EINT_WIDTH                        1  /* GP4_EINT */
3362 #define WM5100_GP3_EINT                         0x0004  /* GP3_EINT */
3363 #define WM5100_GP3_EINT_MASK                    0x0004  /* GP3_EINT */
3364 #define WM5100_GP3_EINT_SHIFT                        2  /* GP3_EINT */
3365 #define WM5100_GP3_EINT_WIDTH                        1  /* GP3_EINT */
3366 #define WM5100_GP2_EINT                         0x0002  /* GP2_EINT */
3367 #define WM5100_GP2_EINT_MASK                    0x0002  /* GP2_EINT */
3368 #define WM5100_GP2_EINT_SHIFT                        1  /* GP2_EINT */
3369 #define WM5100_GP2_EINT_WIDTH                        1  /* GP2_EINT */
3370 #define WM5100_GP1_EINT                         0x0001  /* GP1_EINT */
3371 #define WM5100_GP1_EINT_MASK                    0x0001  /* GP1_EINT */
3372 #define WM5100_GP1_EINT_SHIFT                        0  /* GP1_EINT */
3373 #define WM5100_GP1_EINT_WIDTH                        1  /* GP1_EINT */
3374
3375 /*
3376  * R3329 (0xD01) - Interrupt Status 2
3377  */
3378 #define WM5100_DSP_IRQ6_EINT                    0x0020  /* DSP_IRQ6_EINT */
3379 #define WM5100_DSP_IRQ6_EINT_MASK               0x0020  /* DSP_IRQ6_EINT */
3380 #define WM5100_DSP_IRQ6_EINT_SHIFT                   5  /* DSP_IRQ6_EINT */
3381 #define WM5100_DSP_IRQ6_EINT_WIDTH                   1  /* DSP_IRQ6_EINT */
3382 #define WM5100_DSP_IRQ5_EINT                    0x0010  /* DSP_IRQ5_EINT */
3383 #define WM5100_DSP_IRQ5_EINT_MASK               0x0010  /* DSP_IRQ5_EINT */
3384 #define WM5100_DSP_IRQ5_EINT_SHIFT                   4  /* DSP_IRQ5_EINT */
3385 #define WM5100_DSP_IRQ5_EINT_WIDTH                   1  /* DSP_IRQ5_EINT */
3386 #define WM5100_DSP_IRQ4_EINT                    0x0008  /* DSP_IRQ4_EINT */
3387 #define WM5100_DSP_IRQ4_EINT_MASK               0x0008  /* DSP_IRQ4_EINT */
3388 #define WM5100_DSP_IRQ4_EINT_SHIFT                   3  /* DSP_IRQ4_EINT */
3389 #define WM5100_DSP_IRQ4_EINT_WIDTH                   1  /* DSP_IRQ4_EINT */
3390 #define WM5100_DSP_IRQ3_EINT                    0x0004  /* DSP_IRQ3_EINT */
3391 #define WM5100_DSP_IRQ3_EINT_MASK               0x0004  /* DSP_IRQ3_EINT */
3392 #define WM5100_DSP_IRQ3_EINT_SHIFT                   2  /* DSP_IRQ3_EINT */
3393 #define WM5100_DSP_IRQ3_EINT_WIDTH                   1  /* DSP_IRQ3_EINT */
3394 #define WM5100_DSP_IRQ2_EINT                    0x0002  /* DSP_IRQ2_EINT */
3395 #define WM5100_DSP_IRQ2_EINT_MASK               0x0002  /* DSP_IRQ2_EINT */
3396 #define WM5100_DSP_IRQ2_EINT_SHIFT                   1  /* DSP_IRQ2_EINT */
3397 #define WM5100_DSP_IRQ2_EINT_WIDTH                   1  /* DSP_IRQ2_EINT */
3398 #define WM5100_DSP_IRQ1_EINT                    0x0001  /* DSP_IRQ1_EINT */
3399 #define WM5100_DSP_IRQ1_EINT_MASK               0x0001  /* DSP_IRQ1_EINT */
3400 #define WM5100_DSP_IRQ1_EINT_SHIFT                   0  /* DSP_IRQ1_EINT */
3401 #define WM5100_DSP_IRQ1_EINT_WIDTH                   1  /* DSP_IRQ1_EINT */
3402
3403 /*
3404  * R3330 (0xD02) - Interrupt Status 3
3405  */
3406 #define WM5100_SPK_SHUTDOWN_WARN_EINT           0x8000  /* SPK_SHUTDOWN_WARN_EINT */
3407 #define WM5100_SPK_SHUTDOWN_WARN_EINT_MASK      0x8000  /* SPK_SHUTDOWN_WARN_EINT */
3408 #define WM5100_SPK_SHUTDOWN_WARN_EINT_SHIFT         15  /* SPK_SHUTDOWN_WARN_EINT */
3409 #define WM5100_SPK_SHUTDOWN_WARN_EINT_WIDTH          1  /* SPK_SHUTDOWN_WARN_EINT */
3410 #define WM5100_SPK_SHUTDOWN_EINT                0x4000  /* SPK_SHUTDOWN_EINT */
3411 #define WM5100_SPK_SHUTDOWN_EINT_MASK           0x4000  /* SPK_SHUTDOWN_EINT */
3412 #define WM5100_SPK_SHUTDOWN_EINT_SHIFT              14  /* SPK_SHUTDOWN_EINT */
3413 #define WM5100_SPK_SHUTDOWN_EINT_WIDTH               1  /* SPK_SHUTDOWN_EINT */
3414 #define WM5100_HPDET_EINT                       0x2000  /* HPDET_EINT */
3415 #define WM5100_HPDET_EINT_MASK                  0x2000  /* HPDET_EINT */
3416 #define WM5100_HPDET_EINT_SHIFT                     13  /* HPDET_EINT */
3417 #define WM5100_HPDET_EINT_WIDTH                      1  /* HPDET_EINT */
3418 #define WM5100_ACCDET_EINT                      0x1000  /* ACCDET_EINT */
3419 #define WM5100_ACCDET_EINT_MASK                 0x1000  /* ACCDET_EINT */
3420 #define WM5100_ACCDET_EINT_SHIFT                    12  /* ACCDET_EINT */
3421 #define WM5100_ACCDET_EINT_WIDTH                     1  /* ACCDET_EINT */
3422 #define WM5100_DRC_SIG_DET_EINT                 0x0200  /* DRC_SIG_DET_EINT */
3423 #define WM5100_DRC_SIG_DET_EINT_MASK            0x0200  /* DRC_SIG_DET_EINT */
3424 #define WM5100_DRC_SIG_DET_EINT_SHIFT                9  /* DRC_SIG_DET_EINT */
3425 #define WM5100_DRC_SIG_DET_EINT_WIDTH                1  /* DRC_SIG_DET_EINT */
3426 #define WM5100_ASRC2_LOCK_EINT                  0x0100  /* ASRC2_LOCK_EINT */
3427 #define WM5100_ASRC2_LOCK_EINT_MASK             0x0100  /* ASRC2_LOCK_EINT */
3428 #define WM5100_ASRC2_LOCK_EINT_SHIFT                 8  /* ASRC2_LOCK_EINT */
3429 #define WM5100_ASRC2_LOCK_EINT_WIDTH                 1  /* ASRC2_LOCK_EINT */
3430 #define WM5100_ASRC1_LOCK_EINT                  0x0080  /* ASRC1_LOCK_EINT */
3431 #define WM5100_ASRC1_LOCK_EINT_MASK             0x0080  /* ASRC1_LOCK_EINT */
3432 #define WM5100_ASRC1_LOCK_EINT_SHIFT                 7  /* ASRC1_LOCK_EINT */
3433 #define WM5100_ASRC1_LOCK_EINT_WIDTH                 1  /* ASRC1_LOCK_EINT */
3434 #define WM5100_FLL2_LOCK_EINT                   0x0008  /* FLL2_LOCK_EINT */
3435 #define WM5100_FLL2_LOCK_EINT_MASK              0x0008  /* FLL2_LOCK_EINT */
3436 #define WM5100_FLL2_LOCK_EINT_SHIFT                  3  /* FLL2_LOCK_EINT */
3437 #define WM5100_FLL2_LOCK_EINT_WIDTH                  1  /* FLL2_LOCK_EINT */
3438 #define WM5100_FLL1_LOCK_EINT                   0x0004  /* FLL1_LOCK_EINT */
3439 #define WM5100_FLL1_LOCK_EINT_MASK              0x0004  /* FLL1_LOCK_EINT */
3440 #define WM5100_FLL1_LOCK_EINT_SHIFT                  2  /* FLL1_LOCK_EINT */
3441 #define WM5100_FLL1_LOCK_EINT_WIDTH                  1  /* FLL1_LOCK_EINT */
3442 #define WM5100_CLKGEN_ERR_EINT                  0x0002  /* CLKGEN_ERR_EINT */
3443 #define WM5100_CLKGEN_ERR_EINT_MASK             0x0002  /* CLKGEN_ERR_EINT */
3444 #define WM5100_CLKGEN_ERR_EINT_SHIFT                 1  /* CLKGEN_ERR_EINT */
3445 #define WM5100_CLKGEN_ERR_EINT_WIDTH                 1  /* CLKGEN_ERR_EINT */
3446 #define WM5100_CLKGEN_ERR_ASYNC_EINT            0x0001  /* CLKGEN_ERR_ASYNC_EINT */
3447 #define WM5100_CLKGEN_ERR_ASYNC_EINT_MASK       0x0001  /* CLKGEN_ERR_ASYNC_EINT */
3448 #define WM5100_CLKGEN_ERR_ASYNC_EINT_SHIFT           0  /* CLKGEN_ERR_ASYNC_EINT */
3449 #define WM5100_CLKGEN_ERR_ASYNC_EINT_WIDTH           1  /* CLKGEN_ERR_ASYNC_EINT */
3450
3451 /*
3452  * R3331 (0xD03) - Interrupt Status 4
3453  */
3454 #define WM5100_AIF3_ERR_EINT                    0x2000  /* AIF3_ERR_EINT */
3455 #define WM5100_AIF3_ERR_EINT_MASK               0x2000  /* AIF3_ERR_EINT */
3456 #define WM5100_AIF3_ERR_EINT_SHIFT                  13  /* AIF3_ERR_EINT */
3457 #define WM5100_AIF3_ERR_EINT_WIDTH                   1  /* AIF3_ERR_EINT */
3458 #define WM5100_AIF2_ERR_EINT                    0x1000  /* AIF2_ERR_EINT */
3459 #define WM5100_AIF2_ERR_EINT_MASK               0x1000  /* AIF2_ERR_EINT */
3460 #define WM5100_AIF2_ERR_EINT_SHIFT                  12  /* AIF2_ERR_EINT */
3461 #define WM5100_AIF2_ERR_EINT_WIDTH                   1  /* AIF2_ERR_EINT */
3462 #define WM5100_AIF1_ERR_EINT                    0x0800  /* AIF1_ERR_EINT */
3463 #define WM5100_AIF1_ERR_EINT_MASK               0x0800  /* AIF1_ERR_EINT */
3464 #define WM5100_AIF1_ERR_EINT_SHIFT                  11  /* AIF1_ERR_EINT */
3465 #define WM5100_AIF1_ERR_EINT_WIDTH                   1  /* AIF1_ERR_EINT */
3466 #define WM5100_CTRLIF_ERR_EINT                  0x0400  /* CTRLIF_ERR_EINT */
3467 #define WM5100_CTRLIF_ERR_EINT_MASK             0x0400  /* CTRLIF_ERR_EINT */
3468 #define WM5100_CTRLIF_ERR_EINT_SHIFT                10  /* CTRLIF_ERR_EINT */
3469 #define WM5100_CTRLIF_ERR_EINT_WIDTH                 1  /* CTRLIF_ERR_EINT */
3470 #define WM5100_ISRC2_UNDERCLOCKED_EINT          0x0200  /* ISRC2_UNDERCLOCKED_EINT */
3471 #define WM5100_ISRC2_UNDERCLOCKED_EINT_MASK     0x0200  /* ISRC2_UNDERCLOCKED_EINT */
3472 #define WM5100_ISRC2_UNDERCLOCKED_EINT_SHIFT         9  /* ISRC2_UNDERCLOCKED_EINT */
3473 #define WM5100_ISRC2_UNDERCLOCKED_EINT_WIDTH         1  /* ISRC2_UNDERCLOCKED_EINT */
3474 #define WM5100_ISRC1_UNDERCLOCKED_EINT          0x0100  /* ISRC1_UNDERCLOCKED_EINT */
3475 #define WM5100_ISRC1_UNDERCLOCKED_EINT_MASK     0x0100  /* ISRC1_UNDERCLOCKED_EINT */
3476 #define WM5100_ISRC1_UNDERCLOCKED_EINT_SHIFT         8  /* ISRC1_UNDERCLOCKED_EINT */
3477 #define WM5100_ISRC1_UNDERCLOCKED_EINT_WIDTH         1  /* ISRC1_UNDERCLOCKED_EINT */
3478 #define WM5100_FX_UNDERCLOCKED_EINT             0x0080  /* FX_UNDERCLOCKED_EINT */
3479 #define WM5100_FX_UNDERCLOCKED_EINT_MASK        0x0080  /* FX_UNDERCLOCKED_EINT */
3480 #define WM5100_FX_UNDERCLOCKED_EINT_SHIFT            7  /* FX_UNDERCLOCKED_EINT */
3481 #define WM5100_FX_UNDERCLOCKED_EINT_WIDTH            1  /* FX_UNDERCLOCKED_EINT */
3482 #define WM5100_AIF3_UNDERCLOCKED_EINT           0x0040  /* AIF3_UNDERCLOCKED_EINT */
3483 #define WM5100_AIF3_UNDERCLOCKED_EINT_MASK      0x0040  /* AIF3_UNDERCLOCKED_EINT */
3484 #define WM5100_AIF3_UNDERCLOCKED_EINT_SHIFT          6  /* AIF3_UNDERCLOCKED_EINT */
3485 #define WM5100_AIF3_UNDERCLOCKED_EINT_WIDTH          1  /* AIF3_UNDERCLOCKED_EINT */
3486 #define WM5100_AIF2_UNDERCLOCKED_EINT           0x0020  /* AIF2_UNDERCLOCKED_EINT */
3487 #define WM5100_AIF2_UNDERCLOCKED_EINT_MASK      0x0020  /* AIF2_UNDERCLOCKED_EINT */
3488 #define WM5100_AIF2_UNDERCLOCKED_EINT_SHIFT          5  /* AIF2_UNDERCLOCKED_EINT */
3489 #define WM5100_AIF2_UNDERCLOCKED_EINT_WIDTH          1  /* AIF2_UNDERCLOCKED_EINT */
3490 #define WM5100_AIF1_UNDERCLOCKED_EINT           0x0010  /* AIF1_UNDERCLOCKED_EINT */
3491 #define WM5100_AIF1_UNDERCLOCKED_EINT_MASK      0x0010  /* AIF1_UNDERCLOCKED_EINT */
3492 #define WM5100_AIF1_UNDERCLOCKED_EINT_SHIFT          4  /* AIF1_UNDERCLOCKED_EINT */
3493 #define WM5100_AIF1_UNDERCLOCKED_EINT_WIDTH          1  /* AIF1_UNDERCLOCKED_EINT */
3494 #define WM5100_ASRC_UNDERCLOCKED_EINT           0x0008  /* ASRC_UNDERCLOCKED_EINT */
3495 #define WM5100_ASRC_UNDERCLOCKED_EINT_MASK      0x0008  /* ASRC_UNDERCLOCKED_EINT */
3496 #define WM5100_ASRC_UNDERCLOCKED_EINT_SHIFT          3  /* ASRC_UNDERCLOCKED_EINT */
3497 #define WM5100_ASRC_UNDERCLOCKED_EINT_WIDTH          1  /* ASRC_UNDERCLOCKED_EINT */
3498 #define WM5100_DAC_UNDERCLOCKED_EINT            0x0004  /* DAC_UNDERCLOCKED_EINT */
3499 #define WM5100_DAC_UNDERCLOCKED_EINT_MASK       0x0004  /* DAC_UNDERCLOCKED_EINT */
3500 #define WM5100_DAC_UNDERCLOCKED_EINT_SHIFT           2  /* DAC_UNDERCLOCKED_EINT */
3501 #define WM5100_DAC_UNDERCLOCKED_EINT_WIDTH           1  /* DAC_UNDERCLOCKED_EINT */
3502 #define WM5100_ADC_UNDERCLOCKED_EINT            0x0002  /* ADC_UNDERCLOCKED_EINT */
3503 #define WM5100_ADC_UNDERCLOCKED_EINT_MASK       0x0002  /* ADC_UNDERCLOCKED_EINT */
3504 #define WM5100_ADC_UNDERCLOCKED_EINT_SHIFT           1  /* ADC_UNDERCLOCKED_EINT */
3505 #define WM5100_ADC_UNDERCLOCKED_EINT_WIDTH           1  /* ADC_UNDERCLOCKED_EINT */
3506 #define WM5100_MIXER_UNDERCLOCKED_EINT          0x0001  /* MIXER_UNDERCLOCKED_EINT */
3507 #define WM5100_MIXER_UNDERCLOCKED_EINT_MASK     0x0001  /* MIXER_UNDERCLOCKED_EINT */
3508 #define WM5100_MIXER_UNDERCLOCKED_EINT_SHIFT         0  /* MIXER_UNDERCLOCKED_EINT */
3509 #define WM5100_MIXER_UNDERCLOCKED_EINT_WIDTH         1  /* MIXER_UNDERCLOCKED_EINT */
3510
3511 /*
3512  * R3332 (0xD04) - Interrupt Raw Status 2
3513  */
3514 #define WM5100_DSP_IRQ6_STS                     0x0020  /* DSP_IRQ6_STS */
3515 #define WM5100_DSP_IRQ6_STS_MASK                0x0020  /* DSP_IRQ6_STS */
3516 #define WM5100_DSP_IRQ6_STS_SHIFT                    5  /* DSP_IRQ6_STS */
3517 #define WM5100_DSP_IRQ6_STS_WIDTH                    1  /* DSP_IRQ6_STS */
3518 #define WM5100_DSP_IRQ5_STS                     0x0010  /* DSP_IRQ5_STS */
3519 #define WM5100_DSP_IRQ5_STS_MASK                0x0010  /* DSP_IRQ5_STS */
3520 #define WM5100_DSP_IRQ5_STS_SHIFT                    4  /* DSP_IRQ5_STS */
3521 #define WM5100_DSP_IRQ5_STS_WIDTH                    1  /* DSP_IRQ5_STS */
3522 #define WM5100_DSP_IRQ4_STS                     0x0008  /* DSP_IRQ4_STS */
3523 #define WM5100_DSP_IRQ4_STS_MASK                0x0008  /* DSP_IRQ4_STS */
3524 #define WM5100_DSP_IRQ4_STS_SHIFT                    3  /* DSP_IRQ4_STS */
3525 #define WM5100_DSP_IRQ4_STS_WIDTH                    1  /* DSP_IRQ4_STS */
3526 #define WM5100_DSP_IRQ3_STS                     0x0004  /* DSP_IRQ3_STS */
3527 #define WM5100_DSP_IRQ3_STS_MASK                0x0004  /* DSP_IRQ3_STS */
3528 #define WM5100_DSP_IRQ3_STS_SHIFT                    2  /* DSP_IRQ3_STS */
3529 #define WM5100_DSP_IRQ3_STS_WIDTH                    1  /* DSP_IRQ3_STS */
3530 #define WM5100_DSP_IRQ2_STS                     0x0002  /* DSP_IRQ2_STS */
3531 #define WM5100_DSP_IRQ2_STS_MASK                0x0002  /* DSP_IRQ2_STS */
3532 #define WM5100_DSP_IRQ2_STS_SHIFT                    1  /* DSP_IRQ2_STS */
3533 #define WM5100_DSP_IRQ2_STS_WIDTH                    1  /* DSP_IRQ2_STS */
3534 #define WM5100_DSP_IRQ1_STS                     0x0001  /* DSP_IRQ1_STS */
3535 #define WM5100_DSP_IRQ1_STS_MASK                0x0001  /* DSP_IRQ1_STS */
3536 #define WM5100_DSP_IRQ1_STS_SHIFT                    0  /* DSP_IRQ1_STS */
3537 #define WM5100_DSP_IRQ1_STS_WIDTH                    1  /* DSP_IRQ1_STS */
3538
3539 /*
3540  * R3333 (0xD05) - Interrupt Raw Status 3
3541  */
3542 #define WM5100_SPK_SHUTDOWN_WARN_STS            0x8000  /* SPK_SHUTDOWN_WARN_STS */
3543 #define WM5100_SPK_SHUTDOWN_WARN_STS_MASK       0x8000  /* SPK_SHUTDOWN_WARN_STS */
3544 #define WM5100_SPK_SHUTDOWN_WARN_STS_SHIFT          15  /* SPK_SHUTDOWN_WARN_STS */
3545 #define WM5100_SPK_SHUTDOWN_WARN_STS_WIDTH           1  /* SPK_SHUTDOWN_WARN_STS */
3546 #define WM5100_SPK_SHUTDOWN_STS                 0x4000  /* SPK_SHUTDOWN_STS */
3547 #define WM5100_SPK_SHUTDOWN_STS_MASK            0x4000  /* SPK_SHUTDOWN_STS */
3548 #define WM5100_SPK_SHUTDOWN_STS_SHIFT               14  /* SPK_SHUTDOWN_STS */
3549 #define WM5100_SPK_SHUTDOWN_STS_WIDTH                1  /* SPK_SHUTDOWN_STS */
3550 #define WM5100_HPDET_STS                        0x2000  /* HPDET_STS */
3551 #define WM5100_HPDET_STS_MASK                   0x2000  /* HPDET_STS */
3552 #define WM5100_HPDET_STS_SHIFT                      13  /* HPDET_STS */
3553 #define WM5100_HPDET_STS_WIDTH                       1  /* HPDET_STS */
3554 #define WM5100_DRC_SID_DET_STS                  0x0200  /* DRC_SID_DET_STS */
3555 #define WM5100_DRC_SID_DET_STS_MASK             0x0200  /* DRC_SID_DET_STS */
3556 #define WM5100_DRC_SID_DET_STS_SHIFT                 9  /* DRC_SID_DET_STS */
3557 #define WM5100_DRC_SID_DET_STS_WIDTH                 1  /* DRC_SID_DET_STS */
3558 #define WM5100_ASRC2_LOCK_STS                   0x0100  /* ASRC2_LOCK_STS */
3559 #define WM5100_ASRC2_LOCK_STS_MASK              0x0100  /* ASRC2_LOCK_STS */
3560 #define WM5100_ASRC2_LOCK_STS_SHIFT                  8  /* ASRC2_LOCK_STS */
3561 #define WM5100_ASRC2_LOCK_STS_WIDTH                  1  /* ASRC2_LOCK_STS */
3562 #define WM5100_ASRC1_LOCK_STS                   0x0080  /* ASRC1_LOCK_STS */
3563 #define WM5100_ASRC1_LOCK_STS_MASK              0x0080  /* ASRC1_LOCK_STS */
3564 #define WM5100_ASRC1_LOCK_STS_SHIFT                  7  /* ASRC1_LOCK_STS */
3565 #define WM5100_ASRC1_LOCK_STS_WIDTH                  1  /* ASRC1_LOCK_STS */
3566 #define WM5100_FLL2_LOCK_STS                    0x0008  /* FLL2_LOCK_STS */
3567 #define WM5100_FLL2_LOCK_STS_MASK               0x0008  /* FLL2_LOCK_STS */
3568 #define WM5100_FLL2_LOCK_STS_SHIFT                   3  /* FLL2_LOCK_STS */
3569 #define WM5100_FLL2_LOCK_STS_WIDTH                   1  /* FLL2_LOCK_STS */
3570 #define WM5100_FLL1_LOCK_STS                    0x0004  /* FLL1_LOCK_STS */
3571 #define WM5100_FLL1_LOCK_STS_MASK               0x0004  /* FLL1_LOCK_STS */
3572 #define WM5100_FLL1_LOCK_STS_SHIFT                   2  /* FLL1_LOCK_STS */
3573 #define WM5100_FLL1_LOCK_STS_WIDTH                   1  /* FLL1_LOCK_STS */
3574 #define WM5100_CLKGEN_ERR_STS                   0x0002  /* CLKGEN_ERR_STS */
3575 #define WM5100_CLKGEN_ERR_STS_MASK              0x0002  /* CLKGEN_ERR_STS */
3576 #define WM5100_CLKGEN_ERR_STS_SHIFT                  1  /* CLKGEN_ERR_STS */
3577 #define WM5100_CLKGEN_ERR_STS_WIDTH                  1  /* CLKGEN_ERR_STS */
3578 #define WM5100_CLKGEN_ERR_ASYNC_STS             0x0001  /* CLKGEN_ERR_ASYNC_STS */
3579 #define WM5100_CLKGEN_ERR_ASYNC_STS_MASK        0x0001  /* CLKGEN_ERR_ASYNC_STS */
3580 #define WM5100_CLKGEN_ERR_ASYNC_STS_SHIFT            0  /* CLKGEN_ERR_ASYNC_STS */
3581 #define WM5100_CLKGEN_ERR_ASYNC_STS_WIDTH            1  /* CLKGEN_ERR_ASYNC_STS */
3582
3583 /*
3584  * R3334 (0xD06) - Interrupt Raw Status 4
3585  */
3586 #define WM5100_AIF3_ERR_STS                     0x2000  /* AIF3_ERR_STS */
3587 #define WM5100_AIF3_ERR_STS_MASK                0x2000  /* AIF3_ERR_STS */
3588 #define WM5100_AIF3_ERR_STS_SHIFT                   13  /* AIF3_ERR_STS */
3589 #define WM5100_AIF3_ERR_STS_WIDTH                    1  /* AIF3_ERR_STS */
3590 #define WM5100_AIF2_ERR_STS                     0x1000  /* AIF2_ERR_STS */
3591 #define WM5100_AIF2_ERR_STS_MASK                0x1000  /* AIF2_ERR_STS */
3592 #define WM5100_AIF2_ERR_STS_SHIFT                   12  /* AIF2_ERR_STS */
3593 #define WM5100_AIF2_ERR_STS_WIDTH                    1  /* AIF2_ERR_STS */
3594 #define WM5100_AIF1_ERR_STS                     0x0800  /* AIF1_ERR_STS */
3595 #define WM5100_AIF1_ERR_STS_MASK                0x0800  /* AIF1_ERR_STS */
3596 #define WM5100_AIF1_ERR_STS_SHIFT                   11  /* AIF1_ERR_STS */
3597 #define WM5100_AIF1_ERR_STS_WIDTH                    1  /* AIF1_ERR_STS */
3598 #define WM5100_CTRLIF_ERR_STS                   0x0400  /* CTRLIF_ERR_STS */
3599 #define WM5100_CTRLIF_ERR_STS_MASK              0x0400  /* CTRLIF_ERR_STS */
3600 #define WM5100_CTRLIF_ERR_STS_SHIFT                 10  /* CTRLIF_ERR_STS */
3601 #define WM5100_CTRLIF_ERR_STS_WIDTH                  1  /* CTRLIF_ERR_STS */
3602 #define WM5100_ISRC2_UNDERCLOCKED_STS           0x0200  /* ISRC2_UNDERCLOCKED_STS */
3603 #define WM5100_ISRC2_UNDERCLOCKED_STS_MASK      0x0200  /* ISRC2_UNDERCLOCKED_STS */
3604 #define WM5100_ISRC2_UNDERCLOCKED_STS_SHIFT          9  /* ISRC2_UNDERCLOCKED_STS */
3605 #define WM5100_ISRC2_UNDERCLOCKED_STS_WIDTH          1  /* ISRC2_UNDERCLOCKED_STS */
3606 #define WM5100_ISRC1_UNDERCLOCKED_STS           0x0100  /* ISRC1_UNDERCLOCKED_STS */
3607 #define WM5100_ISRC1_UNDERCLOCKED_STS_MASK      0x0100  /* ISRC1_UNDERCLOCKED_STS */
3608 #define WM5100_ISRC1_UNDERCLOCKED_STS_SHIFT          8  /* ISRC1_UNDERCLOCKED_STS */
3609 #define WM5100_ISRC1_UNDERCLOCKED_STS_WIDTH          1  /* ISRC1_UNDERCLOCKED_STS */
3610 #define WM5100_FX_UNDERCLOCKED_STS              0x0080  /* FX_UNDERCLOCKED_STS */
3611 #define WM5100_FX_UNDERCLOCKED_STS_MASK         0x0080  /* FX_UNDERCLOCKED_STS */
3612 #define WM5100_FX_UNDERCLOCKED_STS_SHIFT             7  /* FX_UNDERCLOCKED_STS */
3613 #define WM5100_FX_UNDERCLOCKED_STS_WIDTH             1  /* FX_UNDERCLOCKED_STS */
3614 #define WM5100_AIF3_UNDERCLOCKED_STS            0x0040  /* AIF3_UNDERCLOCKED_STS */
3615 #define WM5100_AIF3_UNDERCLOCKED_STS_MASK       0x0040  /* AIF3_UNDERCLOCKED_STS */
3616 #define WM5100_AIF3_UNDERCLOCKED_STS_SHIFT           6  /* AIF3_UNDERCLOCKED_STS */
3617 #define WM5100_AIF3_UNDERCLOCKED_STS_WIDTH           1  /* AIF3_UNDERCLOCKED_STS */
3618 #define WM5100_AIF2_UNDERCLOCKED_STS            0x0020  /* AIF2_UNDERCLOCKED_STS */
3619 #define WM5100_AIF2_UNDERCLOCKED_STS_MASK       0x0020  /* AIF2_UNDERCLOCKED_STS */
3620 #define WM5100_AIF2_UNDERCLOCKED_STS_SHIFT           5  /* AIF2_UNDERCLOCKED_STS */
3621 #define WM5100_AIF2_UNDERCLOCKED_STS_WIDTH           1  /* AIF2_UNDERCLOCKED_STS */
3622 #define WM5100_AIF1_UNDERCLOCKED_STS            0x0010  /* AIF1_UNDERCLOCKED_STS */
3623 #define WM5100_AIF1_UNDERCLOCKED_STS_MASK       0x0010  /* AIF1_UNDERCLOCKED_STS */
3624 #define WM5100_AIF1_UNDERCLOCKED_STS_SHIFT           4  /* AIF1_UNDERCLOCKED_STS */
3625 #define WM5100_AIF1_UNDERCLOCKED_STS_WIDTH           1  /* AIF1_UNDERCLOCKED_STS */
3626 #define WM5100_ASRC_UNDERCLOCKED_STS            0x0008  /* ASRC_UNDERCLOCKED_STS */
3627 #define WM5100_ASRC_UNDERCLOCKED_STS_MASK       0x0008  /* ASRC_UNDERCLOCKED_STS */
3628 #define WM5100_ASRC_UNDERCLOCKED_STS_SHIFT           3  /* ASRC_UNDERCLOCKED_STS */
3629 #define WM5100_ASRC_UNDERCLOCKED_STS_WIDTH           1  /* ASRC_UNDERCLOCKED_STS */
3630 #define WM5100_DAC_UNDERCLOCKED_STS             0x0004  /* DAC_UNDERCLOCKED_STS */
3631 #define WM5100_DAC_UNDERCLOCKED_STS_MASK        0x0004  /* DAC_UNDERCLOCKED_STS */
3632 #define WM5100_DAC_UNDERCLOCKED_STS_SHIFT            2  /* DAC_UNDERCLOCKED_STS */
3633 #define WM5100_DAC_UNDERCLOCKED_STS_WIDTH            1  /* DAC_UNDERCLOCKED_STS */
3634 #define WM5100_ADC_UNDERCLOCKED_STS             0x0002  /* ADC_UNDERCLOCKED_STS */
3635 #define WM5100_ADC_UNDERCLOCKED_STS_MASK        0x0002  /* ADC_UNDERCLOCKED_STS */
3636 #define WM5100_ADC_UNDERCLOCKED_STS_SHIFT            1  /* ADC_UNDERCLOCKED_STS */
3637 #define WM5100_ADC_UNDERCLOCKED_STS_WIDTH            1  /* ADC_UNDERCLOCKED_STS */
3638 #define WM5100_MIXER_UNDERCLOCKED_STS           0x0001  /* MIXER_UNDERCLOCKED_STS */
3639 #define WM5100_MIXER_UNDERCLOCKED_STS_MASK      0x0001  /* MIXER_UNDERCLOCKED_STS */
3640 #define WM5100_MIXER_UNDERCLOCKED_STS_SHIFT          0  /* MIXER_UNDERCLOCKED_STS */
3641 #define WM5100_MIXER_UNDERCLOCKED_STS_WIDTH          1  /* MIXER_UNDERCLOCKED_STS */
3642
3643 /*
3644  * R3335 (0xD07) - Interrupt Status 1 Mask
3645  */
3646 #define WM5100_IM_GP6_EINT                      0x0020  /* IM_GP6_EINT */
3647 #define WM5100_IM_GP6_EINT_MASK                 0x0020  /* IM_GP6_EINT */
3648 #define WM5100_IM_GP6_EINT_SHIFT                     5  /* IM_GP6_EINT */
3649 #define WM5100_IM_GP6_EINT_WIDTH                     1  /* IM_GP6_EINT */
3650 #define WM5100_IM_GP5_EINT                      0x0010  /* IM_GP5_EINT */
3651 #define WM5100_IM_GP5_EINT_MASK                 0x0010  /* IM_GP5_EINT */
3652 #define WM5100_IM_GP5_EINT_SHIFT                     4  /* IM_GP5_EINT */
3653 #define WM5100_IM_GP5_EINT_WIDTH                     1  /* IM_GP5_EINT */
3654 #define WM5100_IM_GP4_EINT                      0x0008  /* IM_GP4_EINT */
3655 #define WM5100_IM_GP4_EINT_MASK                 0x0008  /* IM_GP4_EINT */
3656 #define WM5100_IM_GP4_EINT_SHIFT                     3  /* IM_GP4_EINT */
3657 #define WM5100_IM_GP4_EINT_WIDTH                     1  /* IM_GP4_EINT */
3658 #define WM5100_IM_GP3_EINT                      0x0004  /* IM_GP3_EINT */
3659 #define WM5100_IM_GP3_EINT_MASK                 0x0004  /* IM_GP3_EINT */
3660 #define WM5100_IM_GP3_EINT_SHIFT                     2  /* IM_GP3_EINT */
3661 #define WM5100_IM_GP3_EINT_WIDTH                     1  /* IM_GP3_EINT */
3662 #define WM5100_IM_GP2_EINT                      0x0002  /* IM_GP2_EINT */
3663 #define WM5100_IM_GP2_EINT_MASK                 0x0002  /* IM_GP2_EINT */
3664 #define WM5100_IM_GP2_EINT_SHIFT                     1  /* IM_GP2_EINT */
3665 #define WM5100_IM_GP2_EINT_WIDTH                     1  /* IM_GP2_EINT */
3666 #define WM5100_IM_GP1_EINT                      0x0001  /* IM_GP1_EINT */
3667 #define WM5100_IM_GP1_EINT_MASK                 0x0001  /* IM_GP1_EINT */
3668 #define WM5100_IM_GP1_EINT_SHIFT                     0  /* IM_GP1_EINT */
3669 #define WM5100_IM_GP1_EINT_WIDTH                     1  /* IM_GP1_EINT */
3670
3671 /*
3672  * R3336 (0xD08) - Interrupt Status 2 Mask
3673  */
3674 #define WM5100_IM_DSP_IRQ6_EINT                 0x0020  /* IM_DSP_IRQ6_EINT */
3675 #define WM5100_IM_DSP_IRQ6_EINT_MASK            0x0020  /* IM_DSP_IRQ6_EINT */
3676 #define WM5100_IM_DSP_IRQ6_EINT_SHIFT                5  /* IM_DSP_IRQ6_EINT */
3677 #define WM5100_IM_DSP_IRQ6_EINT_WIDTH                1  /* IM_DSP_IRQ6_EINT */
3678 #define WM5100_IM_DSP_IRQ5_EINT                 0x0010  /* IM_DSP_IRQ5_EINT */
3679 #define WM5100_IM_DSP_IRQ5_EINT_MASK            0x0010  /* IM_DSP_IRQ5_EINT */
3680 #define WM5100_IM_DSP_IRQ5_EINT_SHIFT                4  /* IM_DSP_IRQ5_EINT */
3681 #define WM5100_IM_DSP_IRQ5_EINT_WIDTH                1  /* IM_DSP_IRQ5_EINT */
3682 #define WM5100_IM_DSP_IRQ4_EINT                 0x0008  /* IM_DSP_IRQ4_EINT */
3683 #define WM5100_IM_DSP_IRQ4_EINT_MASK            0x0008  /* IM_DSP_IRQ4_EINT */
3684 #define WM5100_IM_DSP_IRQ4_EINT_SHIFT                3  /* IM_DSP_IRQ4_EINT */
3685 #define WM5100_IM_DSP_IRQ4_EINT_WIDTH                1  /* IM_DSP_IRQ4_EINT */
3686 #define WM5100_IM_DSP_IRQ3_EINT                 0x0004  /* IM_DSP_IRQ3_EINT */
3687 #define WM5100_IM_DSP_IRQ3_EINT_MASK            0x0004  /* IM_DSP_IRQ3_EINT */
3688 #define WM5100_IM_DSP_IRQ3_EINT_SHIFT                2  /* IM_DSP_IRQ3_EINT */
3689 #define WM5100_IM_DSP_IRQ3_EINT_WIDTH                1  /* IM_DSP_IRQ3_EINT */
3690 #define WM5100_IM_DSP_IRQ2_EINT                 0x0002  /* IM_DSP_IRQ2_EINT */
3691 #define WM5100_IM_DSP_IRQ2_EINT_MASK            0x0002  /* IM_DSP_IRQ2_EINT */
3692 #define WM5100_IM_DSP_IRQ2_EINT_SHIFT                1  /* IM_DSP_IRQ2_EINT */
3693 #define WM5100_IM_DSP_IRQ2_EINT_WIDTH                1  /* IM_DSP_IRQ2_EINT */
3694 #define WM5100_IM_DSP_IRQ1_EINT                 0x0001  /* IM_DSP_IRQ1_EINT */
3695 #define WM5100_IM_DSP_IRQ1_EINT_MASK            0x0001  /* IM_DSP_IRQ1_EINT */
3696 #define WM5100_IM_DSP_IRQ1_EINT_SHIFT                0  /* IM_DSP_IRQ1_EINT */
3697 #define WM5100_IM_DSP_IRQ1_EINT_WIDTH                1  /* IM_DSP_IRQ1_EINT */
3698
3699 /*
3700  * R3337 (0xD09) - Interrupt Status 3 Mask
3701  */
3702 #define WM5100_IM_SPK_SHUTDOWN_WARN_EINT        0x8000  /* IM_SPK_SHUTDOWN_WARN_EINT */
3703 #define WM5100_IM_SPK_SHUTDOWN_WARN_EINT_MASK   0x8000  /* IM_SPK_SHUTDOWN_WARN_EINT */
3704 #define WM5100_IM_SPK_SHUTDOWN_WARN_EINT_SHIFT      15  /* IM_SPK_SHUTDOWN_WARN_EINT */
3705 #define WM5100_IM_SPK_SHUTDOWN_WARN_EINT_WIDTH       1  /* IM_SPK_SHUTDOWN_WARN_EINT */
3706 #define WM5100_IM_SPK_SHUTDOWN_EINT             0x4000  /* IM_SPK_SHUTDOWN_EINT */
3707 #define WM5100_IM_SPK_SHUTDOWN_EINT_MASK        0x4000  /* IM_SPK_SHUTDOWN_EINT */
3708 #define WM5100_IM_SPK_SHUTDOWN_EINT_SHIFT           14  /* IM_SPK_SHUTDOWN_EINT */
3709 #define WM5100_IM_SPK_SHUTDOWN_EINT_WIDTH            1  /* IM_SPK_SHUTDOWN_EINT */
3710 #define WM5100_IM_HPDET_EINT                    0x2000  /* IM_HPDET_EINT */
3711 #define WM5100_IM_HPDET_EINT_MASK               0x2000  /* IM_HPDET_EINT */
3712 #define WM5100_IM_HPDET_EINT_SHIFT                  13  /* IM_HPDET_EINT */
3713 #define WM5100_IM_HPDET_EINT_WIDTH                   1  /* IM_HPDET_EINT */
3714 #define WM5100_IM_ACCDET_EINT                   0x1000  /* IM_ACCDET_EINT */
3715 #define WM5100_IM_ACCDET_EINT_MASK              0x1000  /* IM_ACCDET_EINT */
3716 #define WM5100_IM_ACCDET_EINT_SHIFT                 12  /* IM_ACCDET_EINT */
3717 #define WM5100_IM_ACCDET_EINT_WIDTH                  1  /* IM_ACCDET_EINT */
3718 #define WM5100_IM_DRC_SIG_DET_EINT              0x0200  /* IM_DRC_SIG_DET_EINT */
3719 #define WM5100_IM_DRC_SIG_DET_EINT_MASK         0x0200  /* IM_DRC_SIG_DET_EINT */
3720 #define WM5100_IM_DRC_SIG_DET_EINT_SHIFT             9  /* IM_DRC_SIG_DET_EINT */
3721 #define WM5100_IM_DRC_SIG_DET_EINT_WIDTH             1  /* IM_DRC_SIG_DET_EINT */
3722 #define WM5100_IM_ASRC2_LOCK_EINT               0x0100  /* IM_ASRC2_LOCK_EINT */
3723 #define WM5100_IM_ASRC2_LOCK_EINT_MASK          0x0100  /* IM_ASRC2_LOCK_EINT */
3724 #define WM5100_IM_ASRC2_LOCK_EINT_SHIFT              8  /* IM_ASRC2_LOCK_EINT */
3725 #define WM5100_IM_ASRC2_LOCK_EINT_WIDTH              1  /* IM_ASRC2_LOCK_EINT */
3726 #define WM5100_IM_ASRC1_LOCK_EINT               0x0080  /* IM_ASRC1_LOCK_EINT */
3727 #define WM5100_IM_ASRC1_LOCK_EINT_MASK          0x0080  /* IM_ASRC1_LOCK_EINT */
3728 #define WM5100_IM_ASRC1_LOCK_EINT_SHIFT              7  /* IM_ASRC1_LOCK_EINT */
3729 #define WM5100_IM_ASRC1_LOCK_EINT_WIDTH              1  /* IM_ASRC1_LOCK_EINT */
3730 #define WM5100_IM_FLL2_LOCK_EINT                0x0008  /* IM_FLL2_LOCK_EINT */
3731 #define WM5100_IM_FLL2_LOCK_EINT_MASK           0x0008  /* IM_FLL2_LOCK_EINT */
3732 #define WM5100_IM_FLL2_LOCK_EINT_SHIFT               3  /* IM_FLL2_LOCK_EINT */
3733 #define WM5100_IM_FLL2_LOCK_EINT_WIDTH               1  /* IM_FLL2_LOCK_EINT */
3734 #define WM5100_IM_FLL1_LOCK_EINT                0x0004  /* IM_FLL1_LOCK_EINT */
3735 #define WM5100_IM_FLL1_LOCK_EINT_MASK           0x0004  /* IM_FLL1_LOCK_EINT */
3736 #define WM5100_IM_FLL1_LOCK_EINT_SHIFT               2  /* IM_FLL1_LOCK_EINT */
3737 #define WM5100_IM_FLL1_LOCK_EINT_WIDTH               1  /* IM_FLL1_LOCK_EINT */
3738 #define WM5100_IM_CLKGEN_ERR_EINT               0x0002  /* IM_CLKGEN_ERR_EINT */
3739 #define WM5100_IM_CLKGEN_ERR_EINT_MASK          0x0002  /* IM_CLKGEN_ERR_EINT */
3740 #define WM5100_IM_CLKGEN_ERR_EINT_SHIFT              1  /* IM_CLKGEN_ERR_EINT */
3741 #define WM5100_IM_CLKGEN_ERR_EINT_WIDTH              1  /* IM_CLKGEN_ERR_EINT */
3742 #define WM5100_IM_CLKGEN_ERR_ASYNC_EINT         0x0001  /* IM_CLKGEN_ERR_ASYNC_EINT */
3743 #define WM5100_IM_CLKGEN_ERR_ASYNC_EINT_MASK    0x0001  /* IM_CLKGEN_ERR_ASYNC_EINT */
3744 #define WM5100_IM_CLKGEN_ERR_ASYNC_EINT_SHIFT        0  /* IM_CLKGEN_ERR_ASYNC_EINT */
3745 #define WM5100_IM_CLKGEN_ERR_ASYNC_EINT_WIDTH        1  /* IM_CLKGEN_ERR_ASYNC_EINT */
3746
3747 /*
3748  * R3338 (0xD0A) - Interrupt Status 4 Mask
3749  */
3750 #define WM5100_IM_AIF3_ERR_EINT                 0x2000  /* IM_AIF3_ERR_EINT */
3751 #define WM5100_IM_AIF3_ERR_EINT_MASK            0x2000  /* IM_AIF3_ERR_EINT */
3752 #define WM5100_IM_AIF3_ERR_EINT_SHIFT               13  /* IM_AIF3_ERR_EINT */
3753 #define WM5100_IM_AIF3_ERR_EINT_WIDTH                1  /* IM_AIF3_ERR_EINT */
3754 #define WM5100_IM_AIF2_ERR_EINT                 0x1000  /* IM_AIF2_ERR_EINT */
3755 #define WM5100_IM_AIF2_ERR_EINT_MASK            0x1000  /* IM_AIF2_ERR_EINT */
3756 #define WM5100_IM_AIF2_ERR_EINT_SHIFT               12  /* IM_AIF2_ERR_EINT */
3757 #define WM5100_IM_AIF2_ERR_EINT_WIDTH                1  /* IM_AIF2_ERR_EINT */
3758 #define WM5100_IM_AIF1_ERR_EINT                 0x0800  /* IM_AIF1_ERR_EINT */
3759 #define WM5100_IM_AIF1_ERR_EINT_MASK            0x0800  /* IM_AIF1_ERR_EINT */
3760 #define WM5100_IM_AIF1_ERR_EINT_SHIFT               11  /* IM_AIF1_ERR_EINT */
3761 #define WM5100_IM_AIF1_ERR_EINT_WIDTH                1  /* IM_AIF1_ERR_EINT */
3762 #define WM5100_IM_CTRLIF_ERR_EINT               0x0400  /* IM_CTRLIF_ERR_EINT */
3763 #define WM5100_IM_CTRLIF_ERR_EINT_MASK          0x0400  /* IM_CTRLIF_ERR_EINT */
3764 #define WM5100_IM_CTRLIF_ERR_EINT_SHIFT             10  /* IM_CTRLIF_ERR_EINT */
3765 #define WM5100_IM_CTRLIF_ERR_EINT_WIDTH              1  /* IM_CTRLIF_ERR_EINT */
3766 #define WM5100_IM_ISRC2_UNDERCLOCKED_EINT       0x0200  /* IM_ISRC2_UNDERCLOCKED_EINT */
3767 #define WM5100_IM_ISRC2_UNDERCLOCKED_EINT_MASK  0x0200  /* IM_ISRC2_UNDERCLOCKED_EINT */
3768 #define WM5100_IM_ISRC2_UNDERCLOCKED_EINT_SHIFT      9  /* IM_ISRC2_UNDERCLOCKED_EINT */
3769 #define WM5100_IM_ISRC2_UNDERCLOCKED_EINT_WIDTH      1  /* IM_ISRC2_UNDERCLOCKED_EINT */
3770 #define WM5100_IM_ISRC1_UNDERCLOCKED_EINT       0x0100  /* IM_ISRC1_UNDERCLOCKED_EINT */
3771 #define WM5100_IM_ISRC1_UNDERCLOCKED_EINT_MASK  0x0100  /* IM_ISRC1_UNDERCLOCKED_EINT */
3772 #define WM5100_IM_ISRC1_UNDERCLOCKED_EINT_SHIFT      8  /* IM_ISRC1_UNDERCLOCKED_EINT */
3773 #define WM5100_IM_ISRC1_UNDERCLOCKED_EINT_WIDTH      1  /* IM_ISRC1_UNDERCLOCKED_EINT */
3774 #define WM5100_IM_FX_UNDERCLOCKED_EINT          0x0080  /* IM_FX_UNDERCLOCKED_EINT */
3775 #define WM5100_IM_FX_UNDERCLOCKED_EINT_MASK     0x0080  /* IM_FX_UNDERCLOCKED_EINT */
3776 #define WM5100_IM_FX_UNDERCLOCKED_EINT_SHIFT         7  /* IM_FX_UNDERCLOCKED_EINT */
3777 #define WM5100_IM_FX_UNDERCLOCKED_EINT_WIDTH         1  /* IM_FX_UNDERCLOCKED_EINT */
3778 #define WM5100_IM_AIF3_UNDERCLOCKED_EINT        0x0040  /* IM_AIF3_UNDERCLOCKED_EINT */
3779 #define WM5100_IM_AIF3_UNDERCLOCKED_EINT_MASK   0x0040  /* IM_AIF3_UNDERCLOCKED_EINT */
3780 #define WM5100_IM_AIF3_UNDERCLOCKED_EINT_SHIFT       6  /* IM_AIF3_UNDERCLOCKED_EINT */
3781 #define WM5100_IM_AIF3_UNDERCLOCKED_EINT_WIDTH       1  /* IM_AIF3_UNDERCLOCKED_EINT */
3782 #define WM5100_IM_AIF2_UNDERCLOCKED_EINT        0x0020  /* IM_AIF2_UNDERCLOCKED_EINT */
3783 #define WM5100_IM_AIF2_UNDERCLOCKED_EINT_MASK   0x0020  /* IM_AIF2_UNDERCLOCKED_EINT */
3784 #define WM5100_IM_AIF2_UNDERCLOCKED_EINT_SHIFT       5  /* IM_AIF2_UNDERCLOCKED_EINT */
3785 #define WM5100_IM_AIF2_UNDERCLOCKED_EINT_WIDTH       1  /* IM_AIF2_UNDERCLOCKED_EINT */
3786 #define WM5100_IM_AIF1_UNDERCLOCKED_EINT        0x0010  /* IM_AIF1_UNDERCLOCKED_EINT */
3787 #define WM5100_IM_AIF1_UNDERCLOCKED_EINT_MASK   0x0010  /* IM_AIF1_UNDERCLOCKED_EINT */
3788 #define WM5100_IM_AIF1_UNDERCLOCKED_EINT_SHIFT       4  /* IM_AIF1_UNDERCLOCKED_EINT */
3789 #define WM5100_IM_AIF1_UNDERCLOCKED_EINT_WIDTH       1  /* IM_AIF1_UNDERCLOCKED_EINT */
3790 #define WM5100_IM_ASRC_UNDERCLOCKED_EINT        0x0008  /* IM_ASRC_UNDERCLOCKED_EINT */
3791 #define WM5100_IM_ASRC_UNDERCLOCKED_EINT_MASK   0x0008  /* IM_ASRC_UNDERCLOCKED_EINT */
3792 #define WM5100_IM_ASRC_UNDERCLOCKED_EINT_SHIFT       3  /* IM_ASRC_UNDERCLOCKED_EINT */
3793 #define WM5100_IM_ASRC_UNDERCLOCKED_EINT_WIDTH       1  /* IM_ASRC_UNDERCLOCKED_EINT */
3794 #define WM5100_IM_DAC_UNDERCLOCKED_EINT         0x0004  /* IM_DAC_UNDERCLOCKED_EINT */
3795 #define WM5100_IM_DAC_UNDERCLOCKED_EINT_MASK    0x0004  /* IM_DAC_UNDERCLOCKED_EINT */
3796 #define WM5100_IM_DAC_UNDERCLOCKED_EINT_SHIFT        2  /* IM_DAC_UNDERCLOCKED_EINT */
3797 #define WM5100_IM_DAC_UNDERCLOCKED_EINT_WIDTH        1  /* IM_DAC_UNDERCLOCKED_EINT */
3798 #define WM5100_IM_ADC_UNDERCLOCKED_EINT         0x0002  /* IM_ADC_UNDERCLOCKED_EINT */
3799 #define WM5100_IM_ADC_UNDERCLOCKED_EINT_MASK    0x0002  /* IM_ADC_UNDERCLOCKED_EINT */
3800 #define WM5100_IM_ADC_UNDERCLOCKED_EINT_SHIFT        1  /* IM_ADC_UNDERCLOCKED_EINT */
3801 #define WM5100_IM_ADC_UNDERCLOCKED_EINT_WIDTH        1  /* IM_ADC_UNDERCLOCKED_EINT */
3802 #define WM5100_IM_MIXER_UNDERCLOCKED_EINT       0x0001  /* IM_MIXER_UNDERCLOCKED_EINT */
3803 #define WM5100_IM_MIXER_UNDERCLOCKED_EINT_MASK  0x0001  /* IM_MIXER_UNDERCLOCKED_EINT */
3804 #define WM5100_IM_MIXER_UNDERCLOCKED_EINT_SHIFT      0  /* IM_MIXER_UNDERCLOCKED_EINT */
3805 #define WM5100_IM_MIXER_UNDERCLOCKED_EINT_WIDTH      1  /* IM_MIXER_UNDERCLOCKED_EINT */
3806
3807 /*
3808  * R3359 (0xD1F) - Interrupt Control
3809  */
3810 #define WM5100_IM_IRQ                           0x0001  /* IM_IRQ */
3811 #define WM5100_IM_IRQ_MASK                      0x0001  /* IM_IRQ */
3812 #define WM5100_IM_IRQ_SHIFT                          0  /* IM_IRQ */
3813 #define WM5100_IM_IRQ_WIDTH                          1  /* IM_IRQ */
3814
3815 /*
3816  * R3360 (0xD20) - IRQ Debounce 1
3817  */
3818 #define WM5100_SPK_SHUTDOWN_WARN_DB             0x0200  /* SPK_SHUTDOWN_WARN_DB */
3819 #define WM5100_SPK_SHUTDOWN_WARN_DB_MASK        0x0200  /* SPK_SHUTDOWN_WARN_DB */
3820 #define WM5100_SPK_SHUTDOWN_WARN_DB_SHIFT            9  /* SPK_SHUTDOWN_WARN_DB */
3821 #define WM5100_SPK_SHUTDOWN_WARN_DB_WIDTH            1  /* SPK_SHUTDOWN_WARN_DB */
3822 #define WM5100_SPK_SHUTDOWN_DB                  0x0100  /* SPK_SHUTDOWN_DB */
3823 #define WM5100_SPK_SHUTDOWN_DB_MASK             0x0100  /* SPK_SHUTDOWN_DB */
3824 #define WM5100_SPK_SHUTDOWN_DB_SHIFT                 8  /* SPK_SHUTDOWN_DB */
3825 #define WM5100_SPK_SHUTDOWN_DB_WIDTH                 1  /* SPK_SHUTDOWN_DB */
3826 #define WM5100_FLL1_LOCK_IRQ_DB                 0x0008  /* FLL1_LOCK_IRQ_DB */
3827 #define WM5100_FLL1_LOCK_IRQ_DB_MASK            0x0008  /* FLL1_LOCK_IRQ_DB */
3828 #define WM5100_FLL1_LOCK_IRQ_DB_SHIFT                3  /* FLL1_LOCK_IRQ_DB */
3829 #define WM5100_FLL1_LOCK_IRQ_DB_WIDTH                1  /* FLL1_LOCK_IRQ_DB */
3830 #define WM5100_FLL2_LOCK_IRQ_DB                 0x0004  /* FLL2_LOCK_IRQ_DB */
3831 #define WM5100_FLL2_LOCK_IRQ_DB_MASK            0x0004  /* FLL2_LOCK_IRQ_DB */
3832 #define WM5100_FLL2_LOCK_IRQ_DB_SHIFT                2  /* FLL2_LOCK_IRQ_DB */
3833 #define WM5100_FLL2_LOCK_IRQ_DB_WIDTH                1  /* FLL2_LOCK_IRQ_DB */
3834 #define WM5100_CLKGEN_ERR_IRQ_DB                0x0002  /* CLKGEN_ERR_IRQ_DB */
3835 #define WM5100_CLKGEN_ERR_IRQ_DB_MASK           0x0002  /* CLKGEN_ERR_IRQ_DB */
3836 #define WM5100_CLKGEN_ERR_IRQ_DB_SHIFT               1  /* CLKGEN_ERR_IRQ_DB */
3837 #define WM5100_CLKGEN_ERR_IRQ_DB_WIDTH               1  /* CLKGEN_ERR_IRQ_DB */
3838 #define WM5100_CLKGEN_ERR_ASYNC_IRQ_DB          0x0001  /* CLKGEN_ERR_ASYNC_IRQ_DB */
3839 #define WM5100_CLKGEN_ERR_ASYNC_IRQ_DB_MASK     0x0001  /* CLKGEN_ERR_ASYNC_IRQ_DB */
3840 #define WM5100_CLKGEN_ERR_ASYNC_IRQ_DB_SHIFT         0  /* CLKGEN_ERR_ASYNC_IRQ_DB */
3841 #define WM5100_CLKGEN_ERR_ASYNC_IRQ_DB_WIDTH         1  /* CLKGEN_ERR_ASYNC_IRQ_DB */
3842
3843 /*
3844  * R3361 (0xD21) - IRQ Debounce 2
3845  */
3846 #define WM5100_AIF_ERR_DB                       0x0001  /* AIF_ERR_DB */
3847 #define WM5100_AIF_ERR_DB_MASK                  0x0001  /* AIF_ERR_DB */
3848 #define WM5100_AIF_ERR_DB_SHIFT                      0  /* AIF_ERR_DB */
3849 #define WM5100_AIF_ERR_DB_WIDTH                      1  /* AIF_ERR_DB */
3850
3851 /*
3852  * R3584 (0xE00) - FX_Ctrl
3853  */
3854 #define WM5100_FX_STS_MASK                      0xFFC0  /* FX_STS - [15:6] */
3855 #define WM5100_FX_STS_SHIFT                          6  /* FX_STS - [15:6] */
3856 #define WM5100_FX_STS_WIDTH                         10  /* FX_STS - [15:6] */
3857 #define WM5100_FX_RATE_MASK                     0x0003  /* FX_RATE - [1:0] */
3858 #define WM5100_FX_RATE_SHIFT                         0  /* FX_RATE - [1:0] */
3859 #define WM5100_FX_RATE_WIDTH                         2  /* FX_RATE - [1:0] */
3860
3861 /*
3862  * R3600 (0xE10) - EQ1_1
3863  */
3864 #define WM5100_EQ1_B1_GAIN_MASK                 0xF800  /* EQ1_B1_GAIN - [15:11] */
3865 #define WM5100_EQ1_B1_GAIN_SHIFT                    11  /* EQ1_B1_GAIN - [15:11] */
3866 #define WM5100_EQ1_B1_GAIN_WIDTH                     5  /* EQ1_B1_GAIN - [15:11] */
3867 #define WM5100_EQ1_B2_GAIN_MASK                 0x07C0  /* EQ1_B2_GAIN - [10:6] */
3868 #define WM5100_EQ1_B2_GAIN_SHIFT                     6  /* EQ1_B2_GAIN - [10:6] */
3869 #define WM5100_EQ1_B2_GAIN_WIDTH                     5  /* EQ1_B2_GAIN - [10:6] */
3870 #define WM5100_EQ1_B3_GAIN_MASK                 0x003E  /* EQ1_B3_GAIN - [5:1] */
3871 #define WM5100_EQ1_B3_GAIN_SHIFT                     1  /* EQ1_B3_GAIN - [5:1] */
3872 #define WM5100_EQ1_B3_GAIN_WIDTH                     5  /* EQ1_B3_GAIN - [5:1] */
3873 #define WM5100_EQ1_ENA                          0x0001  /* EQ1_ENA */
3874 #define WM5100_EQ1_ENA_MASK                     0x0001  /* EQ1_ENA */
3875 #define WM5100_EQ1_ENA_SHIFT                         0  /* EQ1_ENA */
3876 #define WM5100_EQ1_ENA_WIDTH                         1  /* EQ1_ENA */
3877
3878 /*
3879  * R3601 (0xE11) - EQ1_2
3880  */
3881 #define WM5100_EQ1_B4_GAIN_MASK                 0xF800  /* EQ1_B4_GAIN - [15:11] */
3882 #define WM5100_EQ1_B4_GAIN_SHIFT                    11  /* EQ1_B4_GAIN - [15:11] */
3883 #define WM5100_EQ1_B4_GAIN_WIDTH                     5  /* EQ1_B4_GAIN - [15:11] */
3884 #define WM5100_EQ1_B5_GAIN_MASK                 0x07C0  /* EQ1_B5_GAIN - [10:6] */
3885 #define WM5100_EQ1_B5_GAIN_SHIFT                     6  /* EQ1_B5_GAIN - [10:6] */
3886 #define WM5100_EQ1_B5_GAIN_WIDTH                     5  /* EQ1_B5_GAIN - [10:6] */
3887
3888 /*
3889  * R3602 (0xE12) - EQ1_3
3890  */
3891 #define WM5100_EQ1_B1_A_MASK                    0xFFFF  /* EQ1_B1_A - [15:0] */
3892 #define WM5100_EQ1_B1_A_SHIFT                        0  /* EQ1_B1_A - [15:0] */
3893 #define WM5100_EQ1_B1_A_WIDTH                       16  /* EQ1_B1_A - [15:0] */
3894
3895 /*
3896  * R3603 (0xE13) - EQ1_4
3897  */
3898 #define WM5100_EQ1_B1_B_MASK                    0xFFFF  /* EQ1_B1_B - [15:0] */
3899 #define WM5100_EQ1_B1_B_SHIFT                        0  /* EQ1_B1_B - [15:0] */
3900 #define WM5100_EQ1_B1_B_WIDTH                       16  /* EQ1_B1_B - [15:0] */
3901
3902 /*
3903  * R3604 (0xE14) - EQ1_5
3904  */
3905 #define WM5100_EQ1_B1_PG_MASK                   0xFFFF  /* EQ1_B1_PG - [15:0] */
3906 #define WM5100_EQ1_B1_PG_SHIFT                       0  /* EQ1_B1_PG - [15:0] */
3907 #define WM5100_EQ1_B1_PG_WIDTH                      16  /* EQ1_B1_PG - [15:0] */
3908
3909 /*
3910  * R3605 (0xE15) - EQ1_6
3911  */
3912 #define WM5100_EQ1_B2_A_MASK                    0xFFFF  /* EQ1_B2_A - [15:0] */
3913 #define WM5100_EQ1_B2_A_SHIFT                        0  /* EQ1_B2_A - [15:0] */
3914 #define WM5100_EQ1_B2_A_WIDTH                       16  /* EQ1_B2_A - [15:0] */
3915
3916 /*
3917  * R3606 (0xE16) - EQ1_7
3918  */
3919 #define WM5100_EQ1_B2_B_MASK                    0xFFFF  /* EQ1_B2_B - [15:0] */
3920 #define WM5100_EQ1_B2_B_SHIFT                        0  /* EQ1_B2_B - [15:0] */
3921 #define WM5100_EQ1_B2_B_WIDTH                       16  /* EQ1_B2_B - [15:0] */
3922
3923 /*
3924  * R3607 (0xE17) - EQ1_8
3925  */
3926 #define WM5100_EQ1_B2_C_MASK                    0xFFFF  /* EQ1_B2_C - [15:0] */
3927 #define WM5100_EQ1_B2_C_SHIFT                        0  /* EQ1_B2_C - [15:0] */
3928 #define WM5100_EQ1_B2_C_WIDTH                       16  /* EQ1_B2_C - [15:0] */
3929
3930 /*
3931  * R3608 (0xE18) - EQ1_9
3932  */
3933 #define WM5100_EQ1_B2_PG_MASK                   0xFFFF  /* EQ1_B2_PG - [15:0] */
3934 #define WM5100_EQ1_B2_PG_SHIFT                       0  /* EQ1_B2_PG - [15:0] */
3935 #define WM5100_EQ1_B2_PG_WIDTH                      16  /* EQ1_B2_PG - [15:0] */
3936
3937 /*
3938  * R3609 (0xE19) - EQ1_10
3939  */
3940 #define WM5100_EQ1_B3_A_MASK                    0xFFFF  /* EQ1_B3_A - [15:0] */
3941 #define WM5100_EQ1_B3_A_SHIFT                        0  /* EQ1_B3_A - [15:0] */
3942 #define WM5100_EQ1_B3_A_WIDTH                       16  /* EQ1_B3_A - [15:0] */
3943
3944 /*
3945  * R3610 (0xE1A) - EQ1_11
3946  */
3947 #define WM5100_EQ1_B3_B_MASK                    0xFFFF  /* EQ1_B3_B - [15:0] */
3948 #define WM5100_EQ1_B3_B_SHIFT                        0  /* EQ1_B3_B - [15:0] */
3949 #define WM5100_EQ1_B3_B_WIDTH                       16  /* EQ1_B3_B - [15:0] */
3950
3951 /*
3952  * R3611 (0xE1B) - EQ1_12
3953  */
3954 #define WM5100_EQ1_B3_C_MASK                    0xFFFF  /* EQ1_B3_C - [15:0] */
3955 #define WM5100_EQ1_B3_C_SHIFT                        0  /* EQ1_B3_C - [15:0] */
3956 #define WM5100_EQ1_B3_C_WIDTH                       16  /* EQ1_B3_C - [15:0] */
3957
3958 /*
3959  * R3612 (0xE1C) - EQ1_13
3960  */
3961 #define WM5100_EQ1_B3_PG_MASK                   0xFFFF  /* EQ1_B3_PG - [15:0] */
3962 #define WM5100_EQ1_B3_PG_SHIFT                       0  /* EQ1_B3_PG - [15:0] */
3963 #define WM5100_EQ1_B3_PG_WIDTH                      16  /* EQ1_B3_PG - [15:0] */
3964
3965 /*
3966  * R3613 (0xE1D) - EQ1_14
3967  */
3968 #define WM5100_EQ1_B4_A_MASK                    0xFFFF  /* EQ1_B4_A - [15:0] */
3969 #define WM5100_EQ1_B4_A_SHIFT                        0  /* EQ1_B4_A - [15:0] */
3970 #define WM5100_EQ1_B4_A_WIDTH                       16  /* EQ1_B4_A - [15:0] */
3971
3972 /*
3973  * R3614 (0xE1E) - EQ1_15
3974  */
3975 #define WM5100_EQ1_B4_B_MASK                    0xFFFF  /* EQ1_B4_B - [15:0] */
3976 #define WM5100_EQ1_B4_B_SHIFT                        0  /* EQ1_B4_B - [15:0] */
3977 #define WM5100_EQ1_B4_B_WIDTH                       16  /* EQ1_B4_B - [15:0] */
3978
3979 /*
3980  * R3615 (0xE1F) - EQ1_16
3981  */
3982 #define WM5100_EQ1_B4_C_MASK                    0xFFFF  /* EQ1_B4_C - [15:0] */
3983 #define WM5100_EQ1_B4_C_SHIFT                        0  /* EQ1_B4_C - [15:0] */
3984 #define WM5100_EQ1_B4_C_WIDTH                       16  /* EQ1_B4_C - [15:0] */
3985
3986 /*
3987  * R3616 (0xE20) - EQ1_17
3988  */
3989 #define WM5100_EQ1_B4_PG_MASK                   0xFFFF  /* EQ1_B4_PG - [15:0] */
3990 #define WM5100_EQ1_B4_PG_SHIFT                       0  /* EQ1_B4_PG - [15:0] */
3991 #define WM5100_EQ1_B4_PG_WIDTH                      16  /* EQ1_B4_PG - [15:0] */
3992
3993 /*
3994  * R3617 (0xE21) - EQ1_18
3995  */
3996 #define WM5100_EQ1_B5_A_MASK                    0xFFFF  /* EQ1_B5_A - [15:0] */
3997 #define WM5100_EQ1_B5_A_SHIFT                        0  /* EQ1_B5_A - [15:0] */
3998 #define WM5100_EQ1_B5_A_WIDTH                       16  /* EQ1_B5_A - [15:0] */
3999
4000 /*
4001  * R3618 (0xE22) - EQ1_19
4002  */
4003 #define WM5100_EQ1_B5_B_MASK                    0xFFFF  /* EQ1_B5_B - [15:0] */
4004 #define WM5100_EQ1_B5_B_SHIFT                        0  /* EQ1_B5_B - [15:0] */
4005 #define WM5100_EQ1_B5_B_WIDTH                       16  /* EQ1_B5_B - [15:0] */
4006
4007 /*
4008  * R3619 (0xE23) - EQ1_20
4009  */
4010 #define WM5100_EQ1_B5_PG_MASK                   0xFFFF  /* EQ1_B5_PG - [15:0] */
4011 #define WM5100_EQ1_B5_PG_SHIFT                       0  /* EQ1_B5_PG - [15:0] */
4012 #define WM5100_EQ1_B5_PG_WIDTH                      16  /* EQ1_B5_PG - [15:0] */
4013
4014 /*
4015  * R3622 (0xE26) - EQ2_1
4016  */
4017 #define WM5100_EQ2_B1_GAIN_MASK                 0xF800  /* EQ2_B1_GAIN - [15:11] */
4018 #define WM5100_EQ2_B1_GAIN_SHIFT                    11  /* EQ2_B1_GAIN - [15:11] */
4019 #define WM5100_EQ2_B1_GAIN_WIDTH                     5  /* EQ2_B1_GAIN - [15:11] */
4020 #define WM5100_EQ2_B2_GAIN_MASK                 0x07C0  /* EQ2_B2_GAIN - [10:6] */
4021 #define WM5100_EQ2_B2_GAIN_SHIFT                     6  /* EQ2_B2_GAIN - [10:6] */
4022 #define WM5100_EQ2_B2_GAIN_WIDTH                     5  /* EQ2_B2_GAIN - [10:6] */
4023 #define WM5100_EQ2_B3_GAIN_MASK                 0x003E  /* EQ2_B3_GAIN - [5:1] */
4024 #define WM5100_EQ2_B3_GAIN_SHIFT                     1  /* EQ2_B3_GAIN - [5:1] */
4025 #define WM5100_EQ2_B3_GAIN_WIDTH                     5  /* EQ2_B3_GAIN - [5:1] */
4026 #define WM5100_EQ2_ENA                          0x0001  /* EQ2_ENA */
4027 #define WM5100_EQ2_ENA_MASK                     0x0001  /* EQ2_ENA */
4028 #define WM5100_EQ2_ENA_SHIFT                         0  /* EQ2_ENA */
4029 #define WM5100_EQ2_ENA_WIDTH                         1  /* EQ2_ENA */
4030
4031 /*
4032  * R3623 (0xE27) - EQ2_2
4033  */
4034 #define WM5100_EQ2_B4_GAIN_MASK                 0xF800  /* EQ2_B4_GAIN - [15:11] */
4035 #define WM5100_EQ2_B4_GAIN_SHIFT                    11  /* EQ2_B4_GAIN - [15:11] */
4036 #define WM5100_EQ2_B4_GAIN_WIDTH                     5  /* EQ2_B4_GAIN - [15:11] */
4037 #define WM5100_EQ2_B5_GAIN_MASK                 0x07C0  /* EQ2_B5_GAIN - [10:6] */
4038 #define WM5100_EQ2_B5_GAIN_SHIFT                     6  /* EQ2_B5_GAIN - [10:6] */
4039 #define WM5100_EQ2_B5_GAIN_WIDTH                     5  /* EQ2_B5_GAIN - [10:6] */
4040
4041 /*
4042  * R3624 (0xE28) - EQ2_3
4043  */
4044 #define WM5100_EQ2_B1_A_MASK                    0xFFFF  /* EQ2_B1_A - [15:0] */
4045 #define WM5100_EQ2_B1_A_SHIFT                        0  /* EQ2_B1_A - [15:0] */
4046 #define WM5100_EQ2_B1_A_WIDTH                       16  /* EQ2_B1_A - [15:0] */
4047
4048 /*
4049  * R3625 (0xE29) - EQ2_4
4050  */
4051 #define WM5100_EQ2_B1_B_MASK                    0xFFFF  /* EQ2_B1_B - [15:0] */
4052 #define WM5100_EQ2_B1_B_SHIFT                        0  /* EQ2_B1_B - [15:0] */
4053 #define WM5100_EQ2_B1_B_WIDTH                       16  /* EQ2_B1_B - [15:0] */
4054
4055 /*
4056  * R3626 (0xE2A) - EQ2_5
4057  */
4058 #define WM5100_EQ2_B1_PG_MASK                   0xFFFF  /* EQ2_B1_PG - [15:0] */
4059 #define WM5100_EQ2_B1_PG_SHIFT                       0  /* EQ2_B1_PG - [15:0] */
4060 #define WM5100_EQ2_B1_PG_WIDTH                      16  /* EQ2_B1_PG - [15:0] */
4061
4062 /*
4063  * R3627 (0xE2B) - EQ2_6
4064  */
4065 #define WM5100_EQ2_B2_A_MASK                    0xFFFF  /* EQ2_B2_A - [15:0] */
4066 #define WM5100_EQ2_B2_A_SHIFT                        0  /* EQ2_B2_A - [15:0] */
4067 #define WM5100_EQ2_B2_A_WIDTH                       16  /* EQ2_B2_A - [15:0] */
4068
4069 /*
4070  * R3628 (0xE2C) - EQ2_7
4071  */
4072 #define WM5100_EQ2_B2_B_MASK                    0xFFFF  /* EQ2_B2_B - [15:0] */
4073 #define WM5100_EQ2_B2_B_SHIFT                        0  /* EQ2_B2_B - [15:0] */
4074 #define WM5100_EQ2_B2_B_WIDTH                       16  /* EQ2_B2_B - [15:0] */
4075
4076 /*
4077  * R3629 (0xE2D) - EQ2_8
4078  */
4079 #define WM5100_EQ2_B2_C_MASK                    0xFFFF  /* EQ2_B2_C - [15:0] */
4080 #define WM5100_EQ2_B2_C_SHIFT                        0  /* EQ2_B2_C - [15:0] */
4081 #define WM5100_EQ2_B2_C_WIDTH                       16  /* EQ2_B2_C - [15:0] */
4082
4083 /*
4084  * R3630 (0xE2E) - EQ2_9
4085  */
4086 #define WM5100_EQ2_B2_PG_MASK                   0xFFFF  /* EQ2_B2_PG - [15:0] */
4087 #define WM5100_EQ2_B2_PG_SHIFT                       0  /* EQ2_B2_PG - [15:0] */
4088 #define WM5100_EQ2_B2_PG_WIDTH                      16  /* EQ2_B2_PG - [15:0] */
4089
4090 /*
4091  * R3631 (0xE2F) - EQ2_10
4092  */
4093 #define WM5100_EQ2_B3_A_MASK                    0xFFFF  /* EQ2_B3_A - [15:0] */
4094 #define WM5100_EQ2_B3_A_SHIFT                        0  /* EQ2_B3_A - [15:0] */
4095 #define WM5100_EQ2_B3_A_WIDTH                       16  /* EQ2_B3_A - [15:0] */
4096
4097 /*
4098  * R3632 (0xE30) - EQ2_11
4099  */
4100 #define WM5100_EQ2_B3_B_MASK                    0xFFFF  /* EQ2_B3_B - [15:0] */
4101 #define WM5100_EQ2_B3_B_SHIFT                        0  /* EQ2_B3_B - [15:0] */
4102 #define WM5100_EQ2_B3_B_WIDTH                       16  /* EQ2_B3_B - [15:0] */
4103
4104 /*
4105  * R3633 (0xE31) - EQ2_12
4106  */
4107 #define WM5100_EQ2_B3_C_MASK                    0xFFFF  /* EQ2_B3_C - [15:0] */
4108 #define WM5100_EQ2_B3_C_SHIFT                        0  /* EQ2_B3_C - [15:0] */
4109 #define WM5100_EQ2_B3_C_WIDTH                       16  /* EQ2_B3_C - [15:0] */
4110
4111 /*
4112  * R3634 (0xE32) - EQ2_13
4113  */
4114 #define WM5100_EQ2_B3_PG_MASK                   0xFFFF  /* EQ2_B3_PG - [15:0] */
4115 #define WM5100_EQ2_B3_PG_SHIFT                       0  /* EQ2_B3_PG - [15:0] */
4116 #define WM5100_EQ2_B3_PG_WIDTH                      16  /* EQ2_B3_PG - [15:0] */
4117
4118 /*
4119  * R3635 (0xE33) - EQ2_14
4120  */
4121 #define WM5100_EQ2_B4_A_MASK                    0xFFFF  /* EQ2_B4_A - [15:0] */
4122 #define WM5100_EQ2_B4_A_SHIFT                        0  /* EQ2_B4_A - [15:0] */
4123 #define WM5100_EQ2_B4_A_WIDTH                       16  /* EQ2_B4_A - [15:0] */
4124
4125 /*
4126  * R3636 (0xE34) - EQ2_15
4127  */
4128 #define WM5100_EQ2_B4_B_MASK                    0xFFFF  /* EQ2_B4_B - [15:0] */
4129 #define WM5100_EQ2_B4_B_SHIFT                        0  /* EQ2_B4_B - [15:0] */
4130 #define WM5100_EQ2_B4_B_WIDTH                       16  /* EQ2_B4_B - [15:0] */
4131
4132 /*
4133  * R3637 (0xE35) - EQ2_16
4134  */
4135 #define WM5100_EQ2_B4_C_MASK                    0xFFFF  /* EQ2_B4_C - [15:0] */
4136 #define WM5100_EQ2_B4_C_SHIFT                        0  /* EQ2_B4_C - [15:0] */
4137 #define WM5100_EQ2_B4_C_WIDTH                       16  /* EQ2_B4_C - [15:0] */
4138
4139 /*
4140  * R3638 (0xE36) - EQ2_17
4141  */
4142 #define WM5100_EQ2_B4_PG_MASK                   0xFFFF  /* EQ2_B4_PG - [15:0] */
4143 #define WM5100_EQ2_B4_PG_SHIFT                       0  /* EQ2_B4_PG - [15:0] */
4144 #define WM5100_EQ2_B4_PG_WIDTH                      16  /* EQ2_B4_PG - [15:0] */
4145
4146 /*
4147  * R3639 (0xE37) - EQ2_18
4148  */
4149 #define WM5100_EQ2_B5_A_MASK                    0xFFFF  /* EQ2_B5_A - [15:0] */
4150 #define WM5100_EQ2_B5_A_SHIFT                        0  /* EQ2_B5_A - [15:0] */
4151 #define WM5100_EQ2_B5_A_WIDTH                       16  /* EQ2_B5_A - [15:0] */
4152
4153 /*
4154  * R3640 (0xE38) - EQ2_19
4155  */
4156 #define WM5100_EQ2_B5_B_MASK                    0xFFFF  /* EQ2_B5_B - [15:0] */
4157 #define WM5100_EQ2_B5_B_SHIFT                        0  /* EQ2_B5_B - [15:0] */
4158 #define WM5100_EQ2_B5_B_WIDTH                       16  /* EQ2_B5_B - [15:0] */
4159
4160 /*
4161  * R3641 (0xE39) - EQ2_20
4162  */
4163 #define WM5100_EQ2_B5_PG_MASK                   0xFFFF  /* EQ2_B5_PG - [15:0] */
4164 #define WM5100_EQ2_B5_PG_SHIFT                       0  /* EQ2_B5_PG - [15:0] */
4165 #define WM5100_EQ2_B5_PG_WIDTH                      16  /* EQ2_B5_PG - [15:0] */
4166
4167 /*
4168  * R3644 (0xE3C) - EQ3_1
4169  */
4170 #define WM5100_EQ3_B1_GAIN_MASK                 0xF800  /* EQ3_B1_GAIN - [15:11] */
4171 #define WM5100_EQ3_B1_GAIN_SHIFT                    11  /* EQ3_B1_GAIN - [15:11] */
4172 #define WM5100_EQ3_B1_GAIN_WIDTH                     5  /* EQ3_B1_GAIN - [15:11] */
4173 #define WM5100_EQ3_B2_GAIN_MASK                 0x07C0  /* EQ3_B2_GAIN - [10:6] */
4174 #define WM5100_EQ3_B2_GAIN_SHIFT                     6  /* EQ3_B2_GAIN - [10:6] */
4175 #define WM5100_EQ3_B2_GAIN_WIDTH                     5  /* EQ3_B2_GAIN - [10:6] */
4176 #define WM5100_EQ3_B3_GAIN_MASK                 0x003E  /* EQ3_B3_GAIN - [5:1] */
4177 #define WM5100_EQ3_B3_GAIN_SHIFT                     1  /* EQ3_B3_GAIN - [5:1] */
4178 #define WM5100_EQ3_B3_GAIN_WIDTH                     5  /* EQ3_B3_GAIN - [5:1] */
4179 #define WM5100_EQ3_ENA                          0x0001  /* EQ3_ENA */
4180 #define WM5100_EQ3_ENA_MASK                     0x0001  /* EQ3_ENA */
4181 #define WM5100_EQ3_ENA_SHIFT                         0  /* EQ3_ENA */
4182 #define WM5100_EQ3_ENA_WIDTH                         1  /* EQ3_ENA */
4183
4184 /*
4185  * R3645 (0xE3D) - EQ3_2
4186  */
4187 #define WM5100_EQ3_B4_GAIN_MASK                 0xF800  /* EQ3_B4_GAIN - [15:11] */
4188 #define WM5100_EQ3_B4_GAIN_SHIFT                    11  /* EQ3_B4_GAIN - [15:11] */
4189 #define WM5100_EQ3_B4_GAIN_WIDTH                     5  /* EQ3_B4_GAIN - [15:11] */
4190 #define WM5100_EQ3_B5_GAIN_MASK                 0x07C0  /* EQ3_B5_GAIN - [10:6] */
4191 #define WM5100_EQ3_B5_GAIN_SHIFT                     6  /* EQ3_B5_GAIN - [10:6] */
4192 #define WM5100_EQ3_B5_GAIN_WIDTH                     5  /* EQ3_B5_GAIN - [10:6] */
4193
4194 /*
4195  * R3646 (0xE3E) - EQ3_3
4196  */
4197 #define WM5100_EQ3_B1_A_MASK                    0xFFFF  /* EQ3_B1_A - [15:0] */
4198 #define WM5100_EQ3_B1_A_SHIFT                        0  /* EQ3_B1_A - [15:0] */
4199 #define WM5100_EQ3_B1_A_WIDTH                       16  /* EQ3_B1_A - [15:0] */
4200
4201 /*
4202  * R3647 (0xE3F) - EQ3_4
4203  */
4204 #define WM5100_EQ3_B1_B_MASK                    0xFFFF  /* EQ3_B1_B - [15:0] */
4205 #define WM5100_EQ3_B1_B_SHIFT                        0  /* EQ3_B1_B - [15:0] */
4206 #define WM5100_EQ3_B1_B_WIDTH                       16  /* EQ3_B1_B - [15:0] */
4207
4208 /*
4209  * R3648 (0xE40) - EQ3_5
4210  */
4211 #define WM5100_EQ3_B1_PG_MASK                   0xFFFF  /* EQ3_B1_PG - [15:0] */
4212 #define WM5100_EQ3_B1_PG_SHIFT                       0  /* EQ3_B1_PG - [15:0] */
4213 #define WM5100_EQ3_B1_PG_WIDTH                      16  /* EQ3_B1_PG - [15:0] */
4214
4215 /*
4216  * R3649 (0xE41) - EQ3_6
4217  */
4218 #define WM5100_EQ3_B2_A_MASK                    0xFFFF  /* EQ3_B2_A - [15:0] */
4219 #define WM5100_EQ3_B2_A_SHIFT                        0  /* EQ3_B2_A - [15:0] */
4220 #define WM5100_EQ3_B2_A_WIDTH                       16  /* EQ3_B2_A - [15:0] */
4221
4222 /*
4223  * R3650 (0xE42) - EQ3_7
4224  */
4225 #define WM5100_EQ3_B2_B_MASK                    0xFFFF  /* EQ3_B2_B - [15:0] */
4226 #define WM5100_EQ3_B2_B_SHIFT                        0  /* EQ3_B2_B - [15:0] */
4227 #define WM5100_EQ3_B2_B_WIDTH                       16  /* EQ3_B2_B - [15:0] */
4228
4229 /*
4230  * R3651 (0xE43) - EQ3_8
4231  */
4232 #define WM5100_EQ3_B2_C_MASK                    0xFFFF  /* EQ3_B2_C - [15:0] */
4233 #define WM5100_EQ3_B2_C_SHIFT                        0  /* EQ3_B2_C - [15:0] */
4234 #define WM5100_EQ3_B2_C_WIDTH                       16  /* EQ3_B2_C - [15:0] */
4235
4236 /*
4237  * R3652 (0xE44) - EQ3_9
4238  */
4239 #define WM5100_EQ3_B2_PG_MASK                   0xFFFF  /* EQ3_B2_PG - [15:0] */
4240 #define WM5100_EQ3_B2_PG_SHIFT                       0  /* EQ3_B2_PG - [15:0] */
4241 #define WM5100_EQ3_B2_PG_WIDTH                      16  /* EQ3_B2_PG - [15:0] */
4242
4243 /*
4244  * R3653 (0xE45) - EQ3_10
4245  */
4246 #define WM5100_EQ3_B3_A_MASK                    0xFFFF  /* EQ3_B3_A - [15:0] */
4247 #define WM5100_EQ3_B3_A_SHIFT                        0  /* EQ3_B3_A - [15:0] */
4248 #define WM5100_EQ3_B3_A_WIDTH                       16  /* EQ3_B3_A - [15:0] */
4249
4250 /*
4251  * R3654 (0xE46) - EQ3_11
4252  */
4253 #define WM5100_EQ3_B3_B_MASK                    0xFFFF  /* EQ3_B3_B - [15:0] */
4254 #define WM5100_EQ3_B3_B_SHIFT                        0  /* EQ3_B3_B - [15:0] */
4255 #define WM5100_EQ3_B3_B_WIDTH                       16  /* EQ3_B3_B - [15:0] */
4256
4257 /*
4258  * R3655 (0xE47) - EQ3_12
4259  */
4260 #define WM5100_EQ3_B3_C_MASK                    0xFFFF  /* EQ3_B3_C - [15:0] */
4261 #define WM5100_EQ3_B3_C_SHIFT                        0  /* EQ3_B3_C - [15:0] */
4262 #define WM5100_EQ3_B3_C_WIDTH                       16  /* EQ3_B3_C - [15:0] */
4263
4264 /*
4265  * R3656 (0xE48) - EQ3_13
4266  */
4267 #define WM5100_EQ3_B3_PG_MASK                   0xFFFF  /* EQ3_B3_PG - [15:0] */
4268 #define WM5100_EQ3_B3_PG_SHIFT                       0  /* EQ3_B3_PG - [15:0] */
4269 #define WM5100_EQ3_B3_PG_WIDTH                      16  /* EQ3_B3_PG - [15:0] */
4270
4271 /*
4272  * R3657 (0xE49) - EQ3_14
4273  */
4274 #define WM5100_EQ3_B4_A_MASK                    0xFFFF  /* EQ3_B4_A - [15:0] */
4275 #define WM5100_EQ3_B4_A_SHIFT                        0  /* EQ3_B4_A - [15:0] */
4276 #define WM5100_EQ3_B4_A_WIDTH                       16  /* EQ3_B4_A - [15:0] */
4277
4278 /*
4279  * R3658 (0xE4A) - EQ3_15
4280  */
4281 #define WM5100_EQ3_B4_B_MASK                    0xFFFF  /* EQ3_B4_B - [15:0] */
4282 #define WM5100_EQ3_B4_B_SHIFT                        0  /* EQ3_B4_B - [15:0] */
4283 #define WM5100_EQ3_B4_B_WIDTH                       16  /* EQ3_B4_B - [15:0] */
4284
4285 /*
4286  * R3659 (0xE4B) - EQ3_16
4287  */
4288 #define WM5100_EQ3_B4_C_MASK                    0xFFFF  /* EQ3_B4_C - [15:0] */
4289 #define WM5100_EQ3_B4_C_SHIFT                        0  /* EQ3_B4_C - [15:0] */
4290 #define WM5100_EQ3_B4_C_WIDTH                       16  /* EQ3_B4_C - [15:0] */
4291
4292 /*
4293  * R3660 (0xE4C) - EQ3_17
4294  */
4295 #define WM5100_EQ3_B4_PG_MASK                   0xFFFF  /* EQ3_B4_PG - [15:0] */
4296 #define WM5100_EQ3_B4_PG_SHIFT                       0  /* EQ3_B4_PG - [15:0] */
4297 #define WM5100_EQ3_B4_PG_WIDTH                      16  /* EQ3_B4_PG - [15:0] */
4298
4299 /*
4300  * R3661 (0xE4D) - EQ3_18
4301  */
4302 #define WM5100_EQ3_B5_A_MASK                    0xFFFF  /* EQ3_B5_A - [15:0] */
4303 #define WM5100_EQ3_B5_A_SHIFT                        0  /* EQ3_B5_A - [15:0] */
4304 #define WM5100_EQ3_B5_A_WIDTH                       16  /* EQ3_B5_A - [15:0] */
4305
4306 /*
4307  * R3662 (0xE4E) - EQ3_19
4308  */
4309 #define WM5100_EQ3_B5_B_MASK                    0xFFFF  /* EQ3_B5_B - [15:0] */
4310 #define WM5100_EQ3_B5_B_SHIFT                        0  /* EQ3_B5_B - [15:0] */
4311 #define WM5100_EQ3_B5_B_WIDTH                       16  /* EQ3_B5_B - [15:0] */
4312
4313 /*
4314  * R3663 (0xE4F) - EQ3_20
4315  */
4316 #define WM5100_EQ3_B5_PG_MASK                   0xFFFF  /* EQ3_B5_PG - [15:0] */
4317 #define WM5100_EQ3_B5_PG_SHIFT                       0  /* EQ3_B5_PG - [15:0] */
4318 #define WM5100_EQ3_B5_PG_WIDTH                      16  /* EQ3_B5_PG - [15:0] */
4319
4320 /*
4321  * R3666 (0xE52) - EQ4_1
4322  */
4323 #define WM5100_EQ4_B1_GAIN_MASK                 0xF800  /* EQ4_B1_GAIN - [15:11] */
4324 #define WM5100_EQ4_B1_GAIN_SHIFT                    11  /* EQ4_B1_GAIN - [15:11] */
4325 #define WM5100_EQ4_B1_GAIN_WIDTH                     5  /* EQ4_B1_GAIN - [15:11] */
4326 #define WM5100_EQ4_B2_GAIN_MASK                 0x07C0  /* EQ4_B2_GAIN - [10:6] */
4327 #define WM5100_EQ4_B2_GAIN_SHIFT                     6  /* EQ4_B2_GAIN - [10:6] */
4328 #define WM5100_EQ4_B2_GAIN_WIDTH                     5  /* EQ4_B2_GAIN - [10:6] */
4329 #define WM5100_EQ4_B3_GAIN_MASK                 0x003E  /* EQ4_B3_GAIN - [5:1] */
4330 #define WM5100_EQ4_B3_GAIN_SHIFT                     1  /* EQ4_B3_GAIN - [5:1] */
4331 #define WM5100_EQ4_B3_GAIN_WIDTH                     5  /* EQ4_B3_GAIN - [5:1] */
4332 #define WM5100_EQ4_ENA                          0x0001  /* EQ4_ENA */
4333 #define WM5100_EQ4_ENA_MASK                     0x0001  /* EQ4_ENA */
4334 #define WM5100_EQ4_ENA_SHIFT                         0  /* EQ4_ENA */
4335 #define WM5100_EQ4_ENA_WIDTH                         1  /* EQ4_ENA */
4336
4337 /*
4338  * R3667 (0xE53) - EQ4_2
4339  */
4340 #define WM5100_EQ4_B4_GAIN_MASK                 0xF800  /* EQ4_B4_GAIN - [15:11] */
4341 #define WM5100_EQ4_B4_GAIN_SHIFT                    11  /* EQ4_B4_GAIN - [15:11] */
4342 #define WM5100_EQ4_B4_GAIN_WIDTH                     5  /* EQ4_B4_GAIN - [15:11] */
4343 #define WM5100_EQ4_B5_GAIN_MASK                 0x07C0  /* EQ4_B5_GAIN - [10:6] */
4344 #define WM5100_EQ4_B5_GAIN_SHIFT                     6  /* EQ4_B5_GAIN - [10:6] */
4345 #define WM5100_EQ4_B5_GAIN_WIDTH                     5  /* EQ4_B5_GAIN - [10:6] */
4346
4347 /*
4348  * R3668 (0xE54) - EQ4_3
4349  */
4350 #define WM5100_EQ4_B1_A_MASK                    0xFFFF  /* EQ4_B1_A - [15:0] */
4351 #define WM5100_EQ4_B1_A_SHIFT                        0  /* EQ4_B1_A - [15:0] */
4352 #define WM5100_EQ4_B1_A_WIDTH                       16  /* EQ4_B1_A - [15:0] */
4353
4354 /*
4355  * R3669 (0xE55) - EQ4_4
4356  */
4357 #define WM5100_EQ4_B1_B_MASK                    0xFFFF  /* EQ4_B1_B - [15:0] */
4358 #define WM5100_EQ4_B1_B_SHIFT                        0  /* EQ4_B1_B - [15:0] */
4359 #define WM5100_EQ4_B1_B_WIDTH                       16  /* EQ4_B1_B - [15:0] */
4360
4361 /*
4362  * R3670 (0xE56) - EQ4_5
4363  */
4364 #define WM5100_EQ4_B1_PG_MASK                   0xFFFF  /* EQ4_B1_PG - [15:0] */
4365 #define WM5100_EQ4_B1_PG_SHIFT                       0  /* EQ4_B1_PG - [15:0] */
4366 #define WM5100_EQ4_B1_PG_WIDTH                      16  /* EQ4_B1_PG - [15:0] */
4367
4368 /*
4369  * R3671 (0xE57) - EQ4_6
4370  */
4371 #define WM5100_EQ4_B2_A_MASK                    0xFFFF  /* EQ4_B2_A - [15:0] */
4372 #define WM5100_EQ4_B2_A_SHIFT                        0  /* EQ4_B2_A - [15:0] */
4373 #define WM5100_EQ4_B2_A_WIDTH                       16  /* EQ4_B2_A - [15:0] */
4374
4375 /*
4376  * R3672 (0xE58) - EQ4_7
4377  */
4378 #define WM5100_EQ4_B2_B_MASK                    0xFFFF  /* EQ4_B2_B - [15:0] */
4379 #define WM5100_EQ4_B2_B_SHIFT                        0  /* EQ4_B2_B - [15:0] */
4380 #define WM5100_EQ4_B2_B_WIDTH                       16  /* EQ4_B2_B - [15:0] */
4381
4382 /*
4383  * R3673 (0xE59) - EQ4_8
4384  */
4385 #define WM5100_EQ4_B2_C_MASK                    0xFFFF  /* EQ4_B2_C - [15:0] */
4386 #define WM5100_EQ4_B2_C_SHIFT                        0  /* EQ4_B2_C - [15:0] */
4387 #define WM5100_EQ4_B2_C_WIDTH                       16  /* EQ4_B2_C - [15:0] */
4388
4389 /*
4390  * R3674 (0xE5A) - EQ4_9
4391  */
4392 #define WM5100_EQ4_B2_PG_MASK                   0xFFFF  /* EQ4_B2_PG - [15:0] */
4393 #define WM5100_EQ4_B2_PG_SHIFT                       0  /* EQ4_B2_PG - [15:0] */
4394 #define WM5100_EQ4_B2_PG_WIDTH                      16  /* EQ4_B2_PG - [15:0] */
4395
4396 /*
4397  * R3675 (0xE5B) - EQ4_10
4398  */
4399 #define WM5100_EQ4_B3_A_MASK                    0xFFFF  /* EQ4_B3_A - [15:0] */
4400 #define WM5100_EQ4_B3_A_SHIFT                        0  /* EQ4_B3_A - [15:0] */
4401 #define WM5100_EQ4_B3_A_WIDTH                       16  /* EQ4_B3_A - [15:0] */
4402
4403 /*
4404  * R3676 (0xE5C) - EQ4_11
4405  */
4406 #define WM5100_EQ4_B3_B_MASK                    0xFFFF  /* EQ4_B3_B - [15:0] */
4407 #define WM5100_EQ4_B3_B_SHIFT                        0  /* EQ4_B3_B - [15:0] */
4408 #define WM5100_EQ4_B3_B_WIDTH                       16  /* EQ4_B3_B - [15:0] */
4409
4410 /*
4411  * R3677 (0xE5D) - EQ4_12
4412  */
4413 #define WM5100_EQ4_B3_C_MASK                    0xFFFF  /* EQ4_B3_C - [15:0] */
4414 #define WM5100_EQ4_B3_C_SHIFT                        0  /* EQ4_B3_C - [15:0] */
4415 #define WM5100_EQ4_B3_C_WIDTH                       16  /* EQ4_B3_C - [15:0] */
4416
4417 /*
4418  * R3678 (0xE5E) - EQ4_13
4419  */
4420 #define WM5100_EQ4_B3_PG_MASK                   0xFFFF  /* EQ4_B3_PG - [15:0] */
4421 #define WM5100_EQ4_B3_PG_SHIFT                       0  /* EQ4_B3_PG - [15:0] */
4422 #define WM5100_EQ4_B3_PG_WIDTH                      16  /* EQ4_B3_PG - [15:0] */
4423
4424 /*
4425  * R3679 (0xE5F) - EQ4_14
4426  */
4427 #define WM5100_EQ4_B4_A_MASK                    0xFFFF  /* EQ4_B4_A - [15:0] */
4428 #define WM5100_EQ4_B4_A_SHIFT                        0  /* EQ4_B4_A - [15:0] */
4429 #define WM5100_EQ4_B4_A_WIDTH                       16  /* EQ4_B4_A - [15:0] */
4430
4431 /*
4432  * R3680 (0xE60) - EQ4_15
4433  */
4434 #define WM5100_EQ4_B4_B_MASK                    0xFFFF  /* EQ4_B4_B - [15:0] */
4435 #define WM5100_EQ4_B4_B_SHIFT                        0  /* EQ4_B4_B - [15:0] */
4436 #define WM5100_EQ4_B4_B_WIDTH                       16  /* EQ4_B4_B - [15:0] */
4437
4438 /*
4439  * R3681 (0xE61) - EQ4_16
4440  */
4441 #define WM5100_EQ4_B4_C_MASK                    0xFFFF  /* EQ4_B4_C - [15:0] */
4442 #define WM5100_EQ4_B4_C_SHIFT                        0  /* EQ4_B4_C - [15:0] */
4443 #define WM5100_EQ4_B4_C_WIDTH                       16  /* EQ4_B4_C - [15:0] */
4444
4445 /*
4446  * R3682 (0xE62) - EQ4_17
4447  */
4448 #define WM5100_EQ4_B4_PG_MASK                   0xFFFF  /* EQ4_B4_PG - [15:0] */
4449 #define WM5100_EQ4_B4_PG_SHIFT                       0  /* EQ4_B4_PG - [15:0] */
4450 #define WM5100_EQ4_B4_PG_WIDTH                      16  /* EQ4_B4_PG - [15:0] */
4451
4452 /*
4453  * R3683 (0xE63) - EQ4_18
4454  */
4455 #define WM5100_EQ4_B5_A_MASK                    0xFFFF  /* EQ4_B5_A - [15:0] */
4456 #define WM5100_EQ4_B5_A_SHIFT                        0  /* EQ4_B5_A - [15:0] */
4457 #define WM5100_EQ4_B5_A_WIDTH                       16  /* EQ4_B5_A - [15:0] */
4458
4459 /*
4460  * R3684 (0xE64) - EQ4_19
4461  */
4462 #define WM5100_EQ4_B5_B_MASK                    0xFFFF  /* EQ4_B5_B - [15:0] */
4463 #define WM5100_EQ4_B5_B_SHIFT                        0  /* EQ4_B5_B - [15:0] */
4464 #define WM5100_EQ4_B5_B_WIDTH                       16  /* EQ4_B5_B - [15:0] */
4465
4466 /*
4467  * R3685 (0xE65) - EQ4_20
4468  */
4469 #define WM5100_EQ4_B5_PG_MASK                   0xFFFF  /* EQ4_B5_PG - [15:0] */
4470 #define WM5100_EQ4_B5_PG_SHIFT                       0  /* EQ4_B5_PG - [15:0] */
4471 #define WM5100_EQ4_B5_PG_WIDTH                      16  /* EQ4_B5_PG - [15:0] */
4472
4473 /*
4474  * R3712 (0xE80) - DRC1 ctrl1
4475  */
4476 #define WM5100_DRC_SIG_DET_RMS_MASK             0xF800  /* DRC_SIG_DET_RMS - [15:11] */
4477 #define WM5100_DRC_SIG_DET_RMS_SHIFT                11  /* DRC_SIG_DET_RMS - [15:11] */
4478 #define WM5100_DRC_SIG_DET_RMS_WIDTH                 5  /* DRC_SIG_DET_RMS - [15:11] */
4479 #define WM5100_DRC_SIG_DET_PK_MASK              0x0600  /* DRC_SIG_DET_PK - [10:9] */
4480 #define WM5100_DRC_SIG_DET_PK_SHIFT                  9  /* DRC_SIG_DET_PK - [10:9] */
4481 #define WM5100_DRC_SIG_DET_PK_WIDTH                  2  /* DRC_SIG_DET_PK - [10:9] */
4482 #define WM5100_DRC_NG_ENA                       0x0100  /* DRC_NG_ENA */
4483 #define WM5100_DRC_NG_ENA_MASK                  0x0100  /* DRC_NG_ENA */
4484 #define WM5100_DRC_NG_ENA_SHIFT                      8  /* DRC_NG_ENA */
4485 #define WM5100_DRC_NG_ENA_WIDTH                      1  /* DRC_NG_ENA */
4486 #define WM5100_DRC_SIG_DET_MODE                 0x0080  /* DRC_SIG_DET_MODE */
4487 #define WM5100_DRC_SIG_DET_MODE_MASK            0x0080  /* DRC_SIG_DET_MODE */
4488 #define WM5100_DRC_SIG_DET_MODE_SHIFT                7  /* DRC_SIG_DET_MODE */
4489 #define WM5100_DRC_SIG_DET_MODE_WIDTH                1  /* DRC_SIG_DET_MODE */
4490 #define WM5100_DRC_SIG_DET                      0x0040  /* DRC_SIG_DET */
4491 #define WM5100_DRC_SIG_DET_MASK                 0x0040  /* DRC_SIG_DET */
4492 #define WM5100_DRC_SIG_DET_SHIFT                     6  /* DRC_SIG_DET */
4493 #define WM5100_DRC_SIG_DET_WIDTH                     1  /* DRC_SIG_DET */
4494 #define WM5100_DRC_KNEE2_OP_ENA                 0x0020  /* DRC_KNEE2_OP_ENA */
4495 #define WM5100_DRC_KNEE2_OP_ENA_MASK            0x0020  /* DRC_KNEE2_OP_ENA */
4496 #define WM5100_DRC_KNEE2_OP_ENA_SHIFT                5  /* DRC_KNEE2_OP_ENA */
4497 #define WM5100_DRC_KNEE2_OP_ENA_WIDTH                1  /* DRC_KNEE2_OP_ENA */
4498 #define WM5100_DRC_QR                           0x0010  /* DRC_QR */
4499 #define WM5100_DRC_QR_MASK                      0x0010  /* DRC_QR */
4500 #define WM5100_DRC_QR_SHIFT                          4  /* DRC_QR */
4501 #define WM5100_DRC_QR_WIDTH                          1  /* DRC_QR */
4502 #define WM5100_DRC_ANTICLIP                     0x0008  /* DRC_ANTICLIP */
4503 #define WM5100_DRC_ANTICLIP_MASK                0x0008  /* DRC_ANTICLIP */
4504 #define WM5100_DRC_ANTICLIP_SHIFT                    3  /* DRC_ANTICLIP */
4505 #define WM5100_DRC_ANTICLIP_WIDTH                    1  /* DRC_ANTICLIP */
4506 #define WM5100_DRCL_ENA                         0x0002  /* DRCL_ENA */
4507 #define WM5100_DRCL_ENA_MASK                    0x0002  /* DRCL_ENA */
4508 #define WM5100_DRCL_ENA_SHIFT                        1  /* DRCL_ENA */
4509 #define WM5100_DRCL_ENA_WIDTH                        1  /* DRCL_ENA */
4510 #define WM5100_DRCR_ENA                         0x0001  /* DRCR_ENA */
4511 #define WM5100_DRCR_ENA_MASK                    0x0001  /* DRCR_ENA */
4512 #define WM5100_DRCR_ENA_SHIFT                        0  /* DRCR_ENA */
4513 #define WM5100_DRCR_ENA_WIDTH                        1  /* DRCR_ENA */
4514
4515 /*
4516  * R3713 (0xE81) - DRC1 ctrl2
4517  */
4518 #define WM5100_DRC_ATK_MASK                     0x1E00  /* DRC_ATK - [12:9] */
4519 #define WM5100_DRC_ATK_SHIFT                         9  /* DRC_ATK - [12:9] */
4520 #define WM5100_DRC_ATK_WIDTH                         4  /* DRC_ATK - [12:9] */
4521 #define WM5100_DRC_DCY_MASK                     0x01E0  /* DRC_DCY - [8:5] */
4522 #define WM5100_DRC_DCY_SHIFT                         5  /* DRC_DCY - [8:5] */
4523 #define WM5100_DRC_DCY_WIDTH                         4  /* DRC_DCY - [8:5] */
4524 #define WM5100_DRC_MINGAIN_MASK                 0x001C  /* DRC_MINGAIN - [4:2] */
4525 #define WM5100_DRC_MINGAIN_SHIFT                     2  /* DRC_MINGAIN - [4:2] */
4526 #define WM5100_DRC_MINGAIN_WIDTH                     3  /* DRC_MINGAIN - [4:2] */
4527 #define WM5100_DRC_MAXGAIN_MASK                 0x0003  /* DRC_MAXGAIN - [1:0] */
4528 #define WM5100_DRC_MAXGAIN_SHIFT                     0  /* DRC_MAXGAIN - [1:0] */
4529 #define WM5100_DRC_MAXGAIN_WIDTH                     2  /* DRC_MAXGAIN - [1:0] */
4530
4531 /*
4532  * R3714 (0xE82) - DRC1 ctrl3
4533  */
4534 #define WM5100_DRC_NG_MINGAIN_MASK              0xF000  /* DRC_NG_MINGAIN - [15:12] */
4535 #define WM5100_DRC_NG_MINGAIN_SHIFT                 12  /* DRC_NG_MINGAIN - [15:12] */
4536 #define WM5100_DRC_NG_MINGAIN_WIDTH                  4  /* DRC_NG_MINGAIN - [15:12] */
4537 #define WM5100_DRC_NG_EXP_MASK                  0x0C00  /* DRC_NG_EXP - [11:10] */
4538 #define WM5100_DRC_NG_EXP_SHIFT                     10  /* DRC_NG_EXP - [11:10] */
4539 #define WM5100_DRC_NG_EXP_WIDTH                      2  /* DRC_NG_EXP - [11:10] */
4540 #define WM5100_DRC_QR_THR_MASK                  0x0300  /* DRC_QR_THR - [9:8] */
4541 #define WM5100_DRC_QR_THR_SHIFT                      8  /* DRC_QR_THR - [9:8] */
4542 #define WM5100_DRC_QR_THR_WIDTH                      2  /* DRC_QR_THR - [9:8] */
4543 #define WM5100_DRC_QR_DCY_MASK                  0x00C0  /* DRC_QR_DCY - [7:6] */
4544 #define WM5100_DRC_QR_DCY_SHIFT                      6  /* DRC_QR_DCY - [7:6] */
4545 #define WM5100_DRC_QR_DCY_WIDTH                      2  /* DRC_QR_DCY - [7:6] */
4546 #define WM5100_DRC_HI_COMP_MASK                 0x0038  /* DRC_HI_COMP - [5:3] */
4547 #define WM5100_DRC_HI_COMP_SHIFT                     3  /* DRC_HI_COMP - [5:3] */
4548 #define WM5100_DRC_HI_COMP_WIDTH                     3  /* DRC_HI_COMP - [5:3] */
4549 #define WM5100_DRC_LO_COMP_MASK                 0x0007  /* DRC_LO_COMP - [2:0] */
4550 #define WM5100_DRC_LO_COMP_SHIFT                     0  /* DRC_LO_COMP - [2:0] */
4551 #define WM5100_DRC_LO_COMP_WIDTH                     3  /* DRC_LO_COMP - [2:0] */
4552
4553 /*
4554  * R3715 (0xE83) - DRC1 ctrl4
4555  */
4556 #define WM5100_DRC_KNEE_IP_MASK                 0x07E0  /* DRC_KNEE_IP - [10:5] */
4557 #define WM5100_DRC_KNEE_IP_SHIFT                     5  /* DRC_KNEE_IP - [10:5] */
4558 #define WM5100_DRC_KNEE_IP_WIDTH                     6  /* DRC_KNEE_IP - [10:5] */
4559 #define WM5100_DRC_KNEE_OP_MASK                 0x001F  /* DRC_KNEE_OP - [4:0] */
4560 #define WM5100_DRC_KNEE_OP_SHIFT                     0  /* DRC_KNEE_OP - [4:0] */
4561 #define WM5100_DRC_KNEE_OP_WIDTH                     5  /* DRC_KNEE_OP - [4:0] */
4562
4563 /*
4564  * R3716 (0xE84) - DRC1 ctrl5
4565  */
4566 #define WM5100_DRC_KNEE2_IP_MASK                0x03E0  /* DRC_KNEE2_IP - [9:5] */
4567 #define WM5100_DRC_KNEE2_IP_SHIFT                    5  /* DRC_KNEE2_IP - [9:5] */
4568 #define WM5100_DRC_KNEE2_IP_WIDTH                    5  /* DRC_KNEE2_IP - [9:5] */
4569 #define WM5100_DRC_KNEE2_OP_MASK                0x001F  /* DRC_KNEE2_OP - [4:0] */
4570 #define WM5100_DRC_KNEE2_OP_SHIFT                    0  /* DRC_KNEE2_OP - [4:0] */
4571 #define WM5100_DRC_KNEE2_OP_WIDTH                    5  /* DRC_KNEE2_OP - [4:0] */
4572
4573 /*
4574  * R3776 (0xEC0) - HPLPF1_1
4575  */
4576 #define WM5100_LHPF1_MODE                       0x0002  /* LHPF1_MODE */
4577 #define WM5100_LHPF1_MODE_MASK                  0x0002  /* LHPF1_MODE */
4578 #define WM5100_LHPF1_MODE_SHIFT                      1  /* LHPF1_MODE */
4579 #define WM5100_LHPF1_MODE_WIDTH                      1  /* LHPF1_MODE */
4580 #define WM5100_LHPF1_ENA                        0x0001  /* LHPF1_ENA */
4581 #define WM5100_LHPF1_ENA_MASK                   0x0001  /* LHPF1_ENA */
4582 #define WM5100_LHPF1_ENA_SHIFT                       0  /* LHPF1_ENA */
4583 #define WM5100_LHPF1_ENA_WIDTH                       1  /* LHPF1_ENA */
4584
4585 /*
4586  * R3777 (0xEC1) - HPLPF1_2
4587  */
4588 #define WM5100_LHPF1_COEFF_MASK                 0xFFFF  /* LHPF1_COEFF - [15:0] */
4589 #define WM5100_LHPF1_COEFF_SHIFT                     0  /* LHPF1_COEFF - [15:0] */
4590 #define WM5100_LHPF1_COEFF_WIDTH                    16  /* LHPF1_COEFF - [15:0] */
4591
4592 /*
4593  * R3780 (0xEC4) - HPLPF2_1
4594  */
4595 #define WM5100_LHPF2_MODE                       0x0002  /* LHPF2_MODE */
4596 #define WM5100_LHPF2_MODE_MASK                  0x0002  /* LHPF2_MODE */
4597 #define WM5100_LHPF2_MODE_SHIFT                      1  /* LHPF2_MODE */
4598 #define WM5100_LHPF2_MODE_WIDTH                      1  /* LHPF2_MODE */
4599 #define WM5100_LHPF2_ENA                        0x0001  /* LHPF2_ENA */
4600 #define WM5100_LHPF2_ENA_MASK                   0x0001  /* LHPF2_ENA */
4601 #define WM5100_LHPF2_ENA_SHIFT                       0  /* LHPF2_ENA */
4602 #define WM5100_LHPF2_ENA_WIDTH                       1  /* LHPF2_ENA */
4603
4604 /*
4605  * R3781 (0xEC5) - HPLPF2_2
4606  */
4607 #define WM5100_LHPF2_COEFF_MASK                 0xFFFF  /* LHPF2_COEFF - [15:0] */
4608 #define WM5100_LHPF2_COEFF_SHIFT                     0  /* LHPF2_COEFF - [15:0] */
4609 #define WM5100_LHPF2_COEFF_WIDTH                    16  /* LHPF2_COEFF - [15:0] */
4610
4611 /*
4612  * R3784 (0xEC8) - HPLPF3_1
4613  */
4614 #define WM5100_LHPF3_MODE                       0x0002  /* LHPF3_MODE */
4615 #define WM5100_LHPF3_MODE_MASK                  0x0002  /* LHPF3_MODE */
4616 #define WM5100_LHPF3_MODE_SHIFT                      1  /* LHPF3_MODE */
4617 #define WM5100_LHPF3_MODE_WIDTH                      1  /* LHPF3_MODE */
4618 #define WM5100_LHPF3_ENA                        0x0001  /* LHPF3_ENA */
4619 #define WM5100_LHPF3_ENA_MASK                   0x0001  /* LHPF3_ENA */
4620 #define WM5100_LHPF3_ENA_SHIFT                       0  /* LHPF3_ENA */
4621 #define WM5100_LHPF3_ENA_WIDTH                       1  /* LHPF3_ENA */
4622
4623 /*
4624  * R3785 (0xEC9) - HPLPF3_2
4625  */
4626 #define WM5100_LHPF3_COEFF_MASK                 0xFFFF  /* LHPF3_COEFF - [15:0] */
4627 #define WM5100_LHPF3_COEFF_SHIFT                     0  /* LHPF3_COEFF - [15:0] */
4628 #define WM5100_LHPF3_COEFF_WIDTH                    16  /* LHPF3_COEFF - [15:0] */
4629
4630 /*
4631  * R3788 (0xECC) - HPLPF4_1
4632  */
4633 #define WM5100_LHPF4_MODE                       0x0002  /* LHPF4_MODE */
4634 #define WM5100_LHPF4_MODE_MASK                  0x0002  /* LHPF4_MODE */
4635 #define WM5100_LHPF4_MODE_SHIFT                      1  /* LHPF4_MODE */
4636 #define WM5100_LHPF4_MODE_WIDTH                      1  /* LHPF4_MODE */
4637 #define WM5100_LHPF4_ENA                        0x0001  /* LHPF4_ENA */
4638 #define WM5100_LHPF4_ENA_MASK                   0x0001  /* LHPF4_ENA */
4639 #define WM5100_LHPF4_ENA_SHIFT                       0  /* LHPF4_ENA */
4640 #define WM5100_LHPF4_ENA_WIDTH                       1  /* LHPF4_ENA */
4641
4642 /*
4643  * R3789 (0xECD) - HPLPF4_2
4644  */
4645 #define WM5100_LHPF4_COEFF_MASK                 0xFFFF  /* LHPF4_COEFF - [15:0] */
4646 #define WM5100_LHPF4_COEFF_SHIFT                     0  /* LHPF4_COEFF - [15:0] */
4647 #define WM5100_LHPF4_COEFF_WIDTH                    16  /* LHPF4_COEFF - [15:0] */
4648
4649 /*
4650  * R4132 (0x1024) - DSP2 Control 30
4651  */
4652 #define WM5100_DSP2_RATE_MASK                   0xC000  /* DSP2_RATE - [15:14] */
4653 #define WM5100_DSP2_RATE_SHIFT                      14  /* DSP2_RATE - [15:14] */
4654 #define WM5100_DSP2_RATE_WIDTH                       2  /* DSP2_RATE - [15:14] */
4655 #define WM5100_DSP2_DBG_CLK_ENA                 0x0008  /* DSP2_DBG_CLK_ENA */
4656 #define WM5100_DSP2_DBG_CLK_ENA_MASK            0x0008  /* DSP2_DBG_CLK_ENA */
4657 #define WM5100_DSP2_DBG_CLK_ENA_SHIFT                3  /* DSP2_DBG_CLK_ENA */
4658 #define WM5100_DSP2_DBG_CLK_ENA_WIDTH                1  /* DSP2_DBG_CLK_ENA */
4659 #define WM5100_DSP2_SYS_ENA                     0x0004  /* DSP2_SYS_ENA */
4660 #define WM5100_DSP2_SYS_ENA_MASK                0x0004  /* DSP2_SYS_ENA */
4661 #define WM5100_DSP2_SYS_ENA_SHIFT                    2  /* DSP2_SYS_ENA */
4662 #define WM5100_DSP2_SYS_ENA_WIDTH                    1  /* DSP2_SYS_ENA */
4663 #define WM5100_DSP2_CORE_ENA                    0x0002  /* DSP2_CORE_ENA */
4664 #define WM5100_DSP2_CORE_ENA_MASK               0x0002  /* DSP2_CORE_ENA */
4665 #define WM5100_DSP2_CORE_ENA_SHIFT                   1  /* DSP2_CORE_ENA */
4666 #define WM5100_DSP2_CORE_ENA_WIDTH                   1  /* DSP2_CORE_ENA */
4667 #define WM5100_DSP2_START                       0x0001  /* DSP2_START */
4668 #define WM5100_DSP2_START_MASK                  0x0001  /* DSP2_START */
4669 #define WM5100_DSP2_START_SHIFT                      0  /* DSP2_START */
4670 #define WM5100_DSP2_START_WIDTH                      1  /* DSP2_START */
4671
4672 /*
4673  * R3876 (0xF24) - DSP1 Control 30
4674  */
4675 #define WM5100_DSP1_RATE_MASK                   0xC000  /* DSP1_RATE - [15:14] */
4676 #define WM5100_DSP1_RATE_SHIFT                      14  /* DSP1_RATE - [15:14] */
4677 #define WM5100_DSP1_RATE_WIDTH                       2  /* DSP1_RATE - [15:14] */
4678 #define WM5100_DSP1_DBG_CLK_ENA                 0x0008  /* DSP1_DBG_CLK_ENA */
4679 #define WM5100_DSP1_DBG_CLK_ENA_MASK            0x0008  /* DSP1_DBG_CLK_ENA */
4680 #define WM5100_DSP1_DBG_CLK_ENA_SHIFT                3  /* DSP1_DBG_CLK_ENA */
4681 #define WM5100_DSP1_DBG_CLK_ENA_WIDTH                1  /* DSP1_DBG_CLK_ENA */
4682 #define WM5100_DSP1_SYS_ENA                     0x0004  /* DSP1_SYS_ENA */
4683 #define WM5100_DSP1_SYS_ENA_MASK                0x0004  /* DSP1_SYS_ENA */
4684 #define WM5100_DSP1_SYS_ENA_SHIFT                    2  /* DSP1_SYS_ENA */
4685 #define WM5100_DSP1_SYS_ENA_WIDTH                    1  /* DSP1_SYS_ENA */
4686 #define WM5100_DSP1_CORE_ENA                    0x0002  /* DSP1_CORE_ENA */
4687 #define WM5100_DSP1_CORE_ENA_MASK               0x0002  /* DSP1_CORE_ENA */
4688 #define WM5100_DSP1_CORE_ENA_SHIFT                   1  /* DSP1_CORE_ENA */
4689 #define WM5100_DSP1_CORE_ENA_WIDTH                   1  /* DSP1_CORE_ENA */
4690 #define WM5100_DSP1_START                       0x0001  /* DSP1_START */
4691 #define WM5100_DSP1_START_MASK                  0x0001  /* DSP1_START */
4692 #define WM5100_DSP1_START_SHIFT                      0  /* DSP1_START */
4693 #define WM5100_DSP1_START_WIDTH                      1  /* DSP1_START */
4694
4695 /*
4696  * R4388 (0x1124) - DSP3 Control 30
4697  */
4698 #define WM5100_DSP3_RATE_MASK                   0xC000  /* DSP3_RATE - [15:14] */
4699 #define WM5100_DSP3_RATE_SHIFT                      14  /* DSP3_RATE - [15:14] */
4700 #define WM5100_DSP3_RATE_WIDTH                       2  /* DSP3_RATE - [15:14] */
4701 #define WM5100_DSP3_DBG_CLK_ENA                 0x0008  /* DSP3_DBG_CLK_ENA */
4702 #define WM5100_DSP3_DBG_CLK_ENA_MASK            0x0008  /* DSP3_DBG_CLK_ENA */
4703 #define WM5100_DSP3_DBG_CLK_ENA_SHIFT                3  /* DSP3_DBG_CLK_ENA */
4704 #define WM5100_DSP3_DBG_CLK_ENA_WIDTH                1  /* DSP3_DBG_CLK_ENA */
4705 #define WM5100_DSP3_SYS_ENA                     0x0004  /* DSP3_SYS_ENA */
4706 #define WM5100_DSP3_SYS_ENA_MASK                0x0004  /* DSP3_SYS_ENA */
4707 #define WM5100_DSP3_SYS_ENA_SHIFT                    2  /* DSP3_SYS_ENA */
4708 #define WM5100_DSP3_SYS_ENA_WIDTH                    1  /* DSP3_SYS_ENA */
4709 #define WM5100_DSP3_CORE_ENA                    0x0002  /* DSP3_CORE_ENA */
4710 #define WM5100_DSP3_CORE_ENA_MASK               0x0002  /* DSP3_CORE_ENA */
4711 #define WM5100_DSP3_CORE_ENA_SHIFT                   1  /* DSP3_CORE_ENA */
4712 #define WM5100_DSP3_CORE_ENA_WIDTH                   1  /* DSP3_CORE_ENA */
4713 #define WM5100_DSP3_START                       0x0001  /* DSP3_START */
4714 #define WM5100_DSP3_START_MASK                  0x0001  /* DSP3_START */
4715 #define WM5100_DSP3_START_SHIFT                      0  /* DSP3_START */
4716 #define WM5100_DSP3_START_WIDTH                      1  /* DSP3_START */
4717
4718 /*
4719  * R16384 (0x4000) - DSP1 DM 0
4720  */
4721 #define WM5100_DSP1_DM_START_1_MASK             0x00FF  /* DSP1_DM_START - [7:0] */
4722 #define WM5100_DSP1_DM_START_1_SHIFT                 0  /* DSP1_DM_START - [7:0] */
4723 #define WM5100_DSP1_DM_START_1_WIDTH                 8  /* DSP1_DM_START - [7:0] */
4724
4725 /*
4726  * R16385 (0x4001) - DSP1 DM 1
4727  */
4728 #define WM5100_DSP1_DM_START_MASK               0xFFFF  /* DSP1_DM_START - [15:0] */
4729 #define WM5100_DSP1_DM_START_SHIFT                   0  /* DSP1_DM_START - [15:0] */
4730 #define WM5100_DSP1_DM_START_WIDTH                  16  /* DSP1_DM_START - [15:0] */
4731
4732 /*
4733  * R16386 (0x4002) - DSP1 DM 2
4734  */
4735 #define WM5100_DSP1_DM_1_1_MASK                 0x00FF  /* DSP1_DM_1 - [7:0] */
4736 #define WM5100_DSP1_DM_1_1_SHIFT                     0  /* DSP1_DM_1 - [7:0] */
4737 #define WM5100_DSP1_DM_1_1_WIDTH                     8  /* DSP1_DM_1 - [7:0] */
4738
4739 /*
4740  * R16387 (0x4003) - DSP1 DM 3
4741  */
4742 #define WM5100_DSP1_DM_1_MASK                   0xFFFF  /* DSP1_DM_1 - [15:0] */
4743 #define WM5100_DSP1_DM_1_SHIFT                       0  /* DSP1_DM_1 - [15:0] */
4744 #define WM5100_DSP1_DM_1_WIDTH                      16  /* DSP1_DM_1 - [15:0] */
4745
4746 /*
4747  * R16892 (0x41FC) - DSP1 DM 508
4748  */
4749 #define WM5100_DSP1_DM_254_1_MASK               0x00FF  /* DSP1_DM_254 - [7:0] */
4750 #define WM5100_DSP1_DM_254_1_SHIFT                   0  /* DSP1_DM_254 - [7:0] */
4751 #define WM5100_DSP1_DM_254_1_WIDTH                   8  /* DSP1_DM_254 - [7:0] */
4752
4753 /*
4754  * R16893 (0x41FD) - DSP1 DM 509
4755  */
4756 #define WM5100_DSP1_DM_254_MASK                 0xFFFF  /* DSP1_DM_254 - [15:0] */
4757 #define WM5100_DSP1_DM_254_SHIFT                     0  /* DSP1_DM_254 - [15:0] */
4758 #define WM5100_DSP1_DM_254_WIDTH                    16  /* DSP1_DM_254 - [15:0] */
4759
4760 /*
4761  * R16894 (0x41FE) - DSP1 DM 510
4762  */
4763 #define WM5100_DSP1_DM_END_1_MASK               0x00FF  /* DSP1_DM_END - [7:0] */
4764 #define WM5100_DSP1_DM_END_1_SHIFT                   0  /* DSP1_DM_END - [7:0] */
4765 #define WM5100_DSP1_DM_END_1_WIDTH                   8  /* DSP1_DM_END - [7:0] */
4766
4767 /*
4768  * R16895 (0x41FF) - DSP1 DM 511
4769  */
4770 #define WM5100_DSP1_DM_END_MASK                 0xFFFF  /* DSP1_DM_END - [15:0] */
4771 #define WM5100_DSP1_DM_END_SHIFT                     0  /* DSP1_DM_END - [15:0] */
4772 #define WM5100_DSP1_DM_END_WIDTH                    16  /* DSP1_DM_END - [15:0] */
4773
4774 /*
4775  * R18432 (0x4800) - DSP1 PM 0
4776  */
4777 #define WM5100_DSP1_PM_START_2_MASK             0x00FF  /* DSP1_PM_START - [7:0] */
4778 #define WM5100_DSP1_PM_START_2_SHIFT                 0  /* DSP1_PM_START - [7:0] */
4779 #define WM5100_DSP1_PM_START_2_WIDTH                 8  /* DSP1_PM_START - [7:0] */
4780
4781 /*
4782  * R18433 (0x4801) - DSP1 PM 1
4783  */
4784 #define WM5100_DSP1_PM_START_1_MASK             0xFFFF  /* DSP1_PM_START - [15:0] */
4785 #define WM5100_DSP1_PM_START_1_SHIFT                 0  /* DSP1_PM_START - [15:0] */
4786 #define WM5100_DSP1_PM_START_1_WIDTH                16  /* DSP1_PM_START - [15:0] */
4787
4788 /*
4789  * R18434 (0x4802) - DSP1 PM 2
4790  */
4791 #define WM5100_DSP1_PM_START_MASK               0xFFFF  /* DSP1_PM_START - [15:0] */
4792 #define WM5100_DSP1_PM_START_SHIFT                   0  /* DSP1_PM_START - [15:0] */
4793 #define WM5100_DSP1_PM_START_WIDTH                  16  /* DSP1_PM_START - [15:0] */
4794
4795 /*
4796  * R18435 (0x4803) - DSP1 PM 3
4797  */
4798 #define WM5100_DSP1_PM_1_2_MASK                 0x00FF  /* DSP1_PM_1 - [7:0] */
4799 #define WM5100_DSP1_PM_1_2_SHIFT                     0  /* DSP1_PM_1 - [7:0] */
4800 #define WM5100_DSP1_PM_1_2_WIDTH                     8  /* DSP1_PM_1 - [7:0] */
4801
4802 /*
4803  * R18436 (0x4804) - DSP1 PM 4
4804  */
4805 #define WM5100_DSP1_PM_1_1_MASK                 0xFFFF  /* DSP1_PM_1 - [15:0] */
4806 #define WM5100_DSP1_PM_1_1_SHIFT                     0  /* DSP1_PM_1 - [15:0] */
4807 #define WM5100_DSP1_PM_1_1_WIDTH                    16  /* DSP1_PM_1 - [15:0] */
4808
4809 /*
4810  * R18437 (0x4805) - DSP1 PM 5
4811  */
4812 #define WM5100_DSP1_PM_1_MASK                   0xFFFF  /* DSP1_PM_1 - [15:0] */
4813 #define WM5100_DSP1_PM_1_SHIFT                       0  /* DSP1_PM_1 - [15:0] */
4814 #define WM5100_DSP1_PM_1_WIDTH                      16  /* DSP1_PM_1 - [15:0] */
4815
4816 /*
4817  * R19962 (0x4DFA) - DSP1 PM 1530
4818  */
4819 #define WM5100_DSP1_PM_510_2_MASK               0x00FF  /* DSP1_PM_510 - [7:0] */
4820 #define WM5100_DSP1_PM_510_2_SHIFT                   0  /* DSP1_PM_510 - [7:0] */
4821 #define WM5100_DSP1_PM_510_2_WIDTH                   8  /* DSP1_PM_510 - [7:0] */
4822
4823 /*
4824  * R19963 (0x4DFB) - DSP1 PM 1531
4825  */
4826 #define WM5100_DSP1_PM_510_1_MASK               0xFFFF  /* DSP1_PM_510 - [15:0] */
4827 #define WM5100_DSP1_PM_510_1_SHIFT                   0  /* DSP1_PM_510 - [15:0] */
4828 #define WM5100_DSP1_PM_510_1_WIDTH                  16  /* DSP1_PM_510 - [15:0] */
4829
4830 /*
4831  * R19964 (0x4DFC) - DSP1 PM 1532
4832  */
4833 #define WM5100_DSP1_PM_510_MASK                 0xFFFF  /* DSP1_PM_510 - [15:0] */
4834 #define WM5100_DSP1_PM_510_SHIFT                     0  /* DSP1_PM_510 - [15:0] */
4835 #define WM5100_DSP1_PM_510_WIDTH                    16  /* DSP1_PM_510 - [15:0] */
4836
4837 /*
4838  * R19965 (0x4DFD) - DSP1 PM 1533
4839  */
4840 #define WM5100_DSP1_PM_END_2_MASK               0x00FF  /* DSP1_PM_END - [7:0] */
4841 #define WM5100_DSP1_PM_END_2_SHIFT                   0  /* DSP1_PM_END - [7:0] */
4842 #define WM5100_DSP1_PM_END_2_WIDTH                   8  /* DSP1_PM_END - [7:0] */
4843
4844 /*
4845  * R19966 (0x4DFE) - DSP1 PM 1534
4846  */
4847 #define WM5100_DSP1_PM_END_1_MASK               0xFFFF  /* DSP1_PM_END - [15:0] */
4848 #define WM5100_DSP1_PM_END_1_SHIFT                   0  /* DSP1_PM_END - [15:0] */
4849 #define WM5100_DSP1_PM_END_1_WIDTH                  16  /* DSP1_PM_END - [15:0] */
4850
4851 /*
4852  * R19967 (0x4DFF) - DSP1 PM 1535
4853  */
4854 #define WM5100_DSP1_PM_END_MASK                 0xFFFF  /* DSP1_PM_END - [15:0] */
4855 #define WM5100_DSP1_PM_END_SHIFT                     0  /* DSP1_PM_END - [15:0] */
4856 #define WM5100_DSP1_PM_END_WIDTH                    16  /* DSP1_PM_END - [15:0] */
4857
4858 /*
4859  * R20480 (0x5000) - DSP1 ZM 0
4860  */
4861 #define WM5100_DSP1_ZM_START_1_MASK             0x00FF  /* DSP1_ZM_START - [7:0] */
4862 #define WM5100_DSP1_ZM_START_1_SHIFT                 0  /* DSP1_ZM_START - [7:0] */
4863 #define WM5100_DSP1_ZM_START_1_WIDTH                 8  /* DSP1_ZM_START - [7:0] */
4864
4865 /*
4866  * R20481 (0x5001) - DSP1 ZM 1
4867  */
4868 #define WM5100_DSP1_ZM_START_MASK               0xFFFF  /* DSP1_ZM_START - [15:0] */
4869 #define WM5100_DSP1_ZM_START_SHIFT                   0  /* DSP1_ZM_START - [15:0] */
4870 #define WM5100_DSP1_ZM_START_WIDTH                  16  /* DSP1_ZM_START - [15:0] */
4871
4872 /*
4873  * R20482 (0x5002) - DSP1 ZM 2
4874  */
4875 #define WM5100_DSP1_ZM_1_1_MASK                 0x00FF  /* DSP1_ZM_1 - [7:0] */
4876 #define WM5100_DSP1_ZM_1_1_SHIFT                     0  /* DSP1_ZM_1 - [7:0] */
4877 #define WM5100_DSP1_ZM_1_1_WIDTH                     8  /* DSP1_ZM_1 - [7:0] */
4878
4879 /*
4880  * R20483 (0x5003) - DSP1 ZM 3
4881  */
4882 #define WM5100_DSP1_ZM_1_MASK                   0xFFFF  /* DSP1_ZM_1 - [15:0] */
4883 #define WM5100_DSP1_ZM_1_SHIFT                       0  /* DSP1_ZM_1 - [15:0] */
4884 #define WM5100_DSP1_ZM_1_WIDTH                      16  /* DSP1_ZM_1 - [15:0] */
4885
4886 /*
4887  * R22524 (0x57FC) - DSP1 ZM 2044
4888  */
4889 #define WM5100_DSP1_ZM_1022_1_MASK              0x00FF  /* DSP1_ZM_1022 - [7:0] */
4890 #define WM5100_DSP1_ZM_1022_1_SHIFT                  0  /* DSP1_ZM_1022 - [7:0] */
4891 #define WM5100_DSP1_ZM_1022_1_WIDTH                  8  /* DSP1_ZM_1022 - [7:0] */
4892
4893 /*
4894  * R22525 (0x57FD) - DSP1 ZM 2045
4895  */
4896 #define WM5100_DSP1_ZM_1022_MASK                0xFFFF  /* DSP1_ZM_1022 - [15:0] */
4897 #define WM5100_DSP1_ZM_1022_SHIFT                    0  /* DSP1_ZM_1022 - [15:0] */
4898 #define WM5100_DSP1_ZM_1022_WIDTH                   16  /* DSP1_ZM_1022 - [15:0] */
4899
4900 /*
4901  * R22526 (0x57FE) - DSP1 ZM 2046
4902  */
4903 #define WM5100_DSP1_ZM_END_1_MASK               0x00FF  /* DSP1_ZM_END - [7:0] */
4904 #define WM5100_DSP1_ZM_END_1_SHIFT                   0  /* DSP1_ZM_END - [7:0] */
4905 #define WM5100_DSP1_ZM_END_1_WIDTH                   8  /* DSP1_ZM_END - [7:0] */
4906
4907 /*
4908  * R22527 (0x57FF) - DSP1 ZM 2047
4909  */
4910 #define WM5100_DSP1_ZM_END_MASK                 0xFFFF  /* DSP1_ZM_END - [15:0] */
4911 #define WM5100_DSP1_ZM_END_SHIFT                     0  /* DSP1_ZM_END - [15:0] */
4912 #define WM5100_DSP1_ZM_END_WIDTH                    16  /* DSP1_ZM_END - [15:0] */
4913
4914 /*
4915  * R24576 (0x6000) - DSP2 DM 0
4916  */
4917 #define WM5100_DSP2_DM_START_1_MASK             0x00FF  /* DSP2_DM_START - [7:0] */
4918 #define WM5100_DSP2_DM_START_1_SHIFT                 0  /* DSP2_DM_START - [7:0] */
4919 #define WM5100_DSP2_DM_START_1_WIDTH                 8  /* DSP2_DM_START - [7:0] */
4920
4921 /*
4922  * R24577 (0x6001) - DSP2 DM 1
4923  */
4924 #define WM5100_DSP2_DM_START_MASK               0xFFFF  /* DSP2_DM_START - [15:0] */
4925 #define WM5100_DSP2_DM_START_SHIFT                   0  /* DSP2_DM_START - [15:0] */
4926 #define WM5100_DSP2_DM_START_WIDTH                  16  /* DSP2_DM_START - [15:0] */
4927
4928 /*
4929  * R24578 (0x6002) - DSP2 DM 2
4930  */
4931 #define WM5100_DSP2_DM_1_1_MASK                 0x00FF  /* DSP2_DM_1 - [7:0] */
4932 #define WM5100_DSP2_DM_1_1_SHIFT                     0  /* DSP2_DM_1 - [7:0] */
4933 #define WM5100_DSP2_DM_1_1_WIDTH                     8  /* DSP2_DM_1 - [7:0] */
4934
4935 /*
4936  * R24579 (0x6003) - DSP2 DM 3
4937  */
4938 #define WM5100_DSP2_DM_1_MASK                   0xFFFF  /* DSP2_DM_1 - [15:0] */
4939 #define WM5100_DSP2_DM_1_SHIFT                       0  /* DSP2_DM_1 - [15:0] */
4940 #define WM5100_DSP2_DM_1_WIDTH                      16  /* DSP2_DM_1 - [15:0] */
4941
4942 /*
4943  * R25084 (0x61FC) - DSP2 DM 508
4944  */
4945 #define WM5100_DSP2_DM_254_1_MASK               0x00FF  /* DSP2_DM_254 - [7:0] */
4946 #define WM5100_DSP2_DM_254_1_SHIFT                   0  /* DSP2_DM_254 - [7:0] */
4947 #define WM5100_DSP2_DM_254_1_WIDTH                   8  /* DSP2_DM_254 - [7:0] */
4948
4949 /*
4950  * R25085 (0x61FD) - DSP2 DM 509
4951  */
4952 #define WM5100_DSP2_DM_254_MASK                 0xFFFF  /* DSP2_DM_254 - [15:0] */
4953 #define WM5100_DSP2_DM_254_SHIFT                     0  /* DSP2_DM_254 - [15:0] */
4954 #define WM5100_DSP2_DM_254_WIDTH                    16  /* DSP2_DM_254 - [15:0] */
4955
4956 /*
4957  * R25086 (0x61FE) - DSP2 DM 510
4958  */
4959 #define WM5100_DSP2_DM_END_1_MASK               0x00FF  /* DSP2_DM_END - [7:0] */
4960 #define WM5100_DSP2_DM_END_1_SHIFT                   0  /* DSP2_DM_END - [7:0] */
4961 #define WM5100_DSP2_DM_END_1_WIDTH                   8  /* DSP2_DM_END - [7:0] */
4962
4963 /*
4964  * R25087 (0x61FF) - DSP2 DM 511
4965  */
4966 #define WM5100_DSP2_DM_END_MASK                 0xFFFF  /* DSP2_DM_END - [15:0] */
4967 #define WM5100_DSP2_DM_END_SHIFT                     0  /* DSP2_DM_END - [15:0] */
4968 #define WM5100_DSP2_DM_END_WIDTH                    16  /* DSP2_DM_END - [15:0] */
4969
4970 /*
4971  * R26624 (0x6800) - DSP2 PM 0
4972  */
4973 #define WM5100_DSP2_PM_START_2_MASK             0x00FF  /* DSP2_PM_START - [7:0] */
4974 #define WM5100_DSP2_PM_START_2_SHIFT                 0  /* DSP2_PM_START - [7:0] */
4975 #define WM5100_DSP2_PM_START_2_WIDTH                 8  /* DSP2_PM_START - [7:0] */
4976
4977 /*
4978  * R26625 (0x6801) - DSP2 PM 1
4979  */
4980 #define WM5100_DSP2_PM_START_1_MASK             0xFFFF  /* DSP2_PM_START - [15:0] */
4981 #define WM5100_DSP2_PM_START_1_SHIFT                 0  /* DSP2_PM_START - [15:0] */
4982 #define WM5100_DSP2_PM_START_1_WIDTH                16  /* DSP2_PM_START - [15:0] */
4983
4984 /*
4985  * R26626 (0x6802) - DSP2 PM 2
4986  */
4987 #define WM5100_DSP2_PM_START_MASK               0xFFFF  /* DSP2_PM_START - [15:0] */
4988 #define WM5100_DSP2_PM_START_SHIFT                   0  /* DSP2_PM_START - [15:0] */
4989 #define WM5100_DSP2_PM_START_WIDTH                  16  /* DSP2_PM_START - [15:0] */
4990
4991 /*
4992  * R26627 (0x6803) - DSP2 PM 3
4993  */
4994 #define WM5100_DSP2_PM_1_2_MASK                 0x00FF  /* DSP2_PM_1 - [7:0] */
4995 #define WM5100_DSP2_PM_1_2_SHIFT                     0  /* DSP2_PM_1 - [7:0] */
4996 #define WM5100_DSP2_PM_1_2_WIDTH                     8  /* DSP2_PM_1 - [7:0] */
4997
4998 /*
4999  * R26628 (0x6804) - DSP2 PM 4
5000  */
5001 #define WM5100_DSP2_PM_1_1_MASK                 0xFFFF  /* DSP2_PM_1 - [15:0] */
5002 #define WM5100_DSP2_PM_1_1_SHIFT                     0  /* DSP2_PM_1 - [15:0] */
5003 #define WM5100_DSP2_PM_1_1_WIDTH                    16  /* DSP2_PM_1 - [15:0] */
5004
5005 /*
5006  * R26629 (0x6805) - DSP2 PM 5
5007  */
5008 #define WM5100_DSP2_PM_1_MASK                   0xFFFF  /* DSP2_PM_1 - [15:0] */
5009 #define WM5100_DSP2_PM_1_SHIFT                       0  /* DSP2_PM_1 - [15:0] */
5010 #define WM5100_DSP2_PM_1_WIDTH                      16  /* DSP2_PM_1 - [15:0] */
5011
5012 /*
5013  * R28154 (0x6DFA) - DSP2 PM 1530
5014  */
5015 #define WM5100_DSP2_PM_510_2_MASK               0x00FF  /* DSP2_PM_510 - [7:0] */
5016 #define WM5100_DSP2_PM_510_2_SHIFT                   0  /* DSP2_PM_510 - [7:0] */
5017 #define WM5100_DSP2_PM_510_2_WIDTH                   8  /* DSP2_PM_510 - [7:0] */
5018
5019 /*
5020  * R28155 (0x6DFB) - DSP2 PM 1531
5021  */
5022 #define WM5100_DSP2_PM_510_1_MASK               0xFFFF  /* DSP2_PM_510 - [15:0] */
5023 #define WM5100_DSP2_PM_510_1_SHIFT                   0  /* DSP2_PM_510 - [15:0] */
5024 #define WM5100_DSP2_PM_510_1_WIDTH                  16  /* DSP2_PM_510 - [15:0] */
5025
5026 /*
5027  * R28156 (0x6DFC) - DSP2 PM 1532
5028  */
5029 #define WM5100_DSP2_PM_510_MASK                 0xFFFF  /* DSP2_PM_510 - [15:0] */
5030 #define WM5100_DSP2_PM_510_SHIFT                     0  /* DSP2_PM_510 - [15:0] */
5031 #define WM5100_DSP2_PM_510_WIDTH                    16  /* DSP2_PM_510 - [15:0] */
5032
5033 /*
5034  * R28157 (0x6DFD) - DSP2 PM 1533
5035  */
5036 #define WM5100_DSP2_PM_END_2_MASK               0x00FF  /* DSP2_PM_END - [7:0] */
5037 #define WM5100_DSP2_PM_END_2_SHIFT                   0  /* DSP2_PM_END - [7:0] */
5038 #define WM5100_DSP2_PM_END_2_WIDTH                   8  /* DSP2_PM_END - [7:0] */
5039
5040 /*
5041  * R28158 (0x6DFE) - DSP2 PM 1534
5042  */
5043 #define WM5100_DSP2_PM_END_1_MASK               0xFFFF  /* DSP2_PM_END - [15:0] */
5044 #define WM5100_DSP2_PM_END_1_SHIFT                   0  /* DSP2_PM_END - [15:0] */
5045 #define WM5100_DSP2_PM_END_1_WIDTH                  16  /* DSP2_PM_END - [15:0] */
5046
5047 /*
5048  * R28159 (0x6DFF) - DSP2 PM 1535
5049  */
5050 #define WM5100_DSP2_PM_END_MASK                 0xFFFF  /* DSP2_PM_END - [15:0] */
5051 #define WM5100_DSP2_PM_END_SHIFT                     0  /* DSP2_PM_END - [15:0] */
5052 #define WM5100_DSP2_PM_END_WIDTH                    16  /* DSP2_PM_END - [15:0] */
5053
5054 /*
5055  * R28672 (0x7000) - DSP2 ZM 0
5056  */
5057 #define WM5100_DSP2_ZM_START_1_MASK             0x00FF  /* DSP2_ZM_START - [7:0] */
5058 #define WM5100_DSP2_ZM_START_1_SHIFT                 0  /* DSP2_ZM_START - [7:0] */
5059 #define WM5100_DSP2_ZM_START_1_WIDTH                 8  /* DSP2_ZM_START - [7:0] */
5060
5061 /*
5062  * R28673 (0x7001) - DSP2 ZM 1
5063  */
5064 #define WM5100_DSP2_ZM_START_MASK               0xFFFF  /* DSP2_ZM_START - [15:0] */
5065 #define WM5100_DSP2_ZM_START_SHIFT                   0  /* DSP2_ZM_START - [15:0] */
5066 #define WM5100_DSP2_ZM_START_WIDTH                  16  /* DSP2_ZM_START - [15:0] */
5067
5068 /*
5069  * R28674 (0x7002) - DSP2 ZM 2
5070  */
5071 #define WM5100_DSP2_ZM_1_1_MASK                 0x00FF  /* DSP2_ZM_1 - [7:0] */
5072 #define WM5100_DSP2_ZM_1_1_SHIFT                     0  /* DSP2_ZM_1 - [7:0] */
5073 #define WM5100_DSP2_ZM_1_1_WIDTH                     8  /* DSP2_ZM_1 - [7:0] */
5074
5075 /*
5076  * R28675 (0x7003) - DSP2 ZM 3
5077  */
5078 #define WM5100_DSP2_ZM_1_MASK                   0xFFFF  /* DSP2_ZM_1 - [15:0] */
5079 #define WM5100_DSP2_ZM_1_SHIFT                       0  /* DSP2_ZM_1 - [15:0] */
5080 #define WM5100_DSP2_ZM_1_WIDTH                      16  /* DSP2_ZM_1 - [15:0] */
5081
5082 /*
5083  * R30716 (0x77FC) - DSP2 ZM 2044
5084  */
5085 #define WM5100_DSP2_ZM_1022_1_MASK              0x00FF  /* DSP2_ZM_1022 - [7:0] */
5086 #define WM5100_DSP2_ZM_1022_1_SHIFT                  0  /* DSP2_ZM_1022 - [7:0] */
5087 #define WM5100_DSP2_ZM_1022_1_WIDTH                  8  /* DSP2_ZM_1022 - [7:0] */
5088
5089 /*
5090  * R30717 (0x77FD) - DSP2 ZM 2045
5091  */
5092 #define WM5100_DSP2_ZM_1022_MASK                0xFFFF  /* DSP2_ZM_1022 - [15:0] */
5093 #define WM5100_DSP2_ZM_1022_SHIFT                    0  /* DSP2_ZM_1022 - [15:0] */
5094 #define WM5100_DSP2_ZM_1022_WIDTH                   16  /* DSP2_ZM_1022 - [15:0] */
5095
5096 /*
5097  * R30718 (0x77FE) - DSP2 ZM 2046
5098  */
5099 #define WM5100_DSP2_ZM_END_1_MASK               0x00FF  /* DSP2_ZM_END - [7:0] */
5100 #define WM5100_DSP2_ZM_END_1_SHIFT                   0  /* DSP2_ZM_END - [7:0] */
5101 #define WM5100_DSP2_ZM_END_1_WIDTH                   8  /* DSP2_ZM_END - [7:0] */
5102
5103 /*
5104  * R30719 (0x77FF) - DSP2 ZM 2047
5105  */
5106 #define WM5100_DSP2_ZM_END_MASK                 0xFFFF  /* DSP2_ZM_END - [15:0] */
5107 #define WM5100_DSP2_ZM_END_SHIFT                     0  /* DSP2_ZM_END - [15:0] */
5108 #define WM5100_DSP2_ZM_END_WIDTH                    16  /* DSP2_ZM_END - [15:0] */
5109
5110 /*
5111  * R32768 (0x8000) - DSP3 DM 0
5112  */
5113 #define WM5100_DSP3_DM_START_1_MASK             0x00FF  /* DSP3_DM_START - [7:0] */
5114 #define WM5100_DSP3_DM_START_1_SHIFT                 0  /* DSP3_DM_START - [7:0] */
5115 #define WM5100_DSP3_DM_START_1_WIDTH                 8  /* DSP3_DM_START - [7:0] */
5116
5117 /*
5118  * R32769 (0x8001) - DSP3 DM 1
5119  */
5120 #define WM5100_DSP3_DM_START_MASK               0xFFFF  /* DSP3_DM_START - [15:0] */
5121 #define WM5100_DSP3_DM_START_SHIFT                   0  /* DSP3_DM_START - [15:0] */
5122 #define WM5100_DSP3_DM_START_WIDTH                  16  /* DSP3_DM_START - [15:0] */
5123
5124 /*
5125  * R32770 (0x8002) - DSP3 DM 2
5126  */
5127 #define WM5100_DSP3_DM_1_1_MASK                 0x00FF  /* DSP3_DM_1 - [7:0] */
5128 #define WM5100_DSP3_DM_1_1_SHIFT                     0  /* DSP3_DM_1 - [7:0] */
5129 #define WM5100_DSP3_DM_1_1_WIDTH                     8  /* DSP3_DM_1 - [7:0] */
5130
5131 /*
5132  * R32771 (0x8003) - DSP3 DM 3
5133  */
5134 #define WM5100_DSP3_DM_1_MASK                   0xFFFF  /* DSP3_DM_1 - [15:0] */
5135 #define WM5100_DSP3_DM_1_SHIFT                       0  /* DSP3_DM_1 - [15:0] */
5136 #define WM5100_DSP3_DM_1_WIDTH                      16  /* DSP3_DM_1 - [15:0] */
5137
5138 /*
5139  * R33276 (0x81FC) - DSP3 DM 508
5140  */
5141 #define WM5100_DSP3_DM_254_1_MASK               0x00FF  /* DSP3_DM_254 - [7:0] */
5142 #define WM5100_DSP3_DM_254_1_SHIFT                   0  /* DSP3_DM_254 - [7:0] */
5143 #define WM5100_DSP3_DM_254_1_WIDTH                   8  /* DSP3_DM_254 - [7:0] */
5144
5145 /*
5146  * R33277 (0x81FD) - DSP3 DM 509
5147  */
5148 #define WM5100_DSP3_DM_254_MASK                 0xFFFF  /* DSP3_DM_254 - [15:0] */
5149 #define WM5100_DSP3_DM_254_SHIFT                     0  /* DSP3_DM_254 - [15:0] */
5150 #define WM5100_DSP3_DM_254_WIDTH                    16  /* DSP3_DM_254 - [15:0] */
5151
5152 /*
5153  * R33278 (0x81FE) - DSP3 DM 510
5154  */
5155 #define WM5100_DSP3_DM_END_1_MASK               0x00FF  /* DSP3_DM_END - [7:0] */
5156 #define WM5100_DSP3_DM_END_1_SHIFT                   0  /* DSP3_DM_END - [7:0] */
5157 #define WM5100_DSP3_DM_END_1_WIDTH                   8  /* DSP3_DM_END - [7:0] */
5158
5159 /*
5160  * R33279 (0x81FF) - DSP3 DM 511
5161  */
5162 #define WM5100_DSP3_DM_END_MASK                 0xFFFF  /* DSP3_DM_END - [15:0] */
5163 #define WM5100_DSP3_DM_END_SHIFT                     0  /* DSP3_DM_END - [15:0] */
5164 #define WM5100_DSP3_DM_END_WIDTH                    16  /* DSP3_DM_END - [15:0] */
5165
5166 /*
5167  * R34816 (0x8800) - DSP3 PM 0
5168  */
5169 #define WM5100_DSP3_PM_START_2_MASK             0x00FF  /* DSP3_PM_START - [7:0] */
5170 #define WM5100_DSP3_PM_START_2_SHIFT                 0  /* DSP3_PM_START - [7:0] */
5171 #define WM5100_DSP3_PM_START_2_WIDTH                 8  /* DSP3_PM_START - [7:0] */
5172
5173 /*
5174  * R34817 (0x8801) - DSP3 PM 1
5175  */
5176 #define WM5100_DSP3_PM_START_1_MASK             0xFFFF  /* DSP3_PM_START - [15:0] */
5177 #define WM5100_DSP3_PM_START_1_SHIFT                 0  /* DSP3_PM_START - [15:0] */
5178 #define WM5100_DSP3_PM_START_1_WIDTH                16  /* DSP3_PM_START - [15:0] */
5179
5180 /*
5181  * R34818 (0x8802) - DSP3 PM 2
5182  */
5183 #define WM5100_DSP3_PM_START_MASK               0xFFFF  /* DSP3_PM_START - [15:0] */
5184 #define WM5100_DSP3_PM_START_SHIFT                   0  /* DSP3_PM_START - [15:0] */
5185 #define WM5100_DSP3_PM_START_WIDTH                  16  /* DSP3_PM_START - [15:0] */
5186
5187 /*
5188  * R34819 (0x8803) - DSP3 PM 3
5189  */
5190 #define WM5100_DSP3_PM_1_2_MASK                 0x00FF  /* DSP3_PM_1 - [7:0] */
5191 #define WM5100_DSP3_PM_1_2_SHIFT                     0  /* DSP3_PM_1 - [7:0] */
5192 #define WM5100_DSP3_PM_1_2_WIDTH                     8  /* DSP3_PM_1 - [7:0] */
5193
5194 /*
5195  * R34820 (0x8804) - DSP3 PM 4
5196  */
5197 #define WM5100_DSP3_PM_1_1_MASK                 0xFFFF  /* DSP3_PM_1 - [15:0] */
5198 #define WM5100_DSP3_PM_1_1_SHIFT                     0  /* DSP3_PM_1 - [15:0] */
5199 #define WM5100_DSP3_PM_1_1_WIDTH                    16  /* DSP3_PM_1 - [15:0] */
5200
5201 /*
5202  * R34821 (0x8805) - DSP3 PM 5
5203  */
5204 #define WM5100_DSP3_PM_1_MASK                   0xFFFF  /* DSP3_PM_1 - [15:0] */
5205 #define WM5100_DSP3_PM_1_SHIFT                       0  /* DSP3_PM_1 - [15:0] */
5206 #define WM5100_DSP3_PM_1_WIDTH                      16  /* DSP3_PM_1 - [15:0] */
5207
5208 /*
5209  * R36346 (0x8DFA) - DSP3 PM 1530
5210  */
5211 #define WM5100_DSP3_PM_510_2_MASK               0x00FF  /* DSP3_PM_510 - [7:0] */
5212 #define WM5100_DSP3_PM_510_2_SHIFT                   0  /* DSP3_PM_510 - [7:0] */
5213 #define WM5100_DSP3_PM_510_2_WIDTH                   8  /* DSP3_PM_510 - [7:0] */
5214
5215 /*
5216  * R36347 (0x8DFB) - DSP3 PM 1531
5217  */
5218 #define WM5100_DSP3_PM_510_1_MASK               0xFFFF  /* DSP3_PM_510 - [15:0] */
5219 #define WM5100_DSP3_PM_510_1_SHIFT                   0  /* DSP3_PM_510 - [15:0] */
5220 #define WM5100_DSP3_PM_510_1_WIDTH                  16  /* DSP3_PM_510 - [15:0] */
5221
5222 /*
5223  * R36348 (0x8DFC) - DSP3 PM 1532
5224  */
5225 #define WM5100_DSP3_PM_510_MASK                 0xFFFF  /* DSP3_PM_510 - [15:0] */
5226 #define WM5100_DSP3_PM_510_SHIFT                     0  /* DSP3_PM_510 - [15:0] */
5227 #define WM5100_DSP3_PM_510_WIDTH                    16  /* DSP3_PM_510 - [15:0] */
5228
5229 /*
5230  * R36349 (0x8DFD) - DSP3 PM 1533
5231  */
5232 #define WM5100_DSP3_PM_END_2_MASK               0x00FF  /* DSP3_PM_END - [7:0] */
5233 #define WM5100_DSP3_PM_END_2_SHIFT                   0  /* DSP3_PM_END - [7:0] */
5234 #define WM5100_DSP3_PM_END_2_WIDTH                   8  /* DSP3_PM_END - [7:0] */
5235
5236 /*
5237  * R36350 (0x8DFE) - DSP3 PM 1534
5238  */
5239 #define WM5100_DSP3_PM_END_1_MASK               0xFFFF  /* DSP3_PM_END - [15:0] */
5240 #define WM5100_DSP3_PM_END_1_SHIFT                   0  /* DSP3_PM_END - [15:0] */
5241 #define WM5100_DSP3_PM_END_1_WIDTH                  16  /* DSP3_PM_END - [15:0] */
5242
5243 /*
5244  * R36351 (0x8DFF) - DSP3 PM 1535
5245  */
5246 #define WM5100_DSP3_PM_END_MASK                 0xFFFF  /* DSP3_PM_END - [15:0] */
5247 #define WM5100_DSP3_PM_END_SHIFT                     0  /* DSP3_PM_END - [15:0] */
5248 #define WM5100_DSP3_PM_END_WIDTH                    16  /* DSP3_PM_END - [15:0] */
5249
5250 /*
5251  * R36864 (0x9000) - DSP3 ZM 0
5252  */
5253 #define WM5100_DSP3_ZM_START_1_MASK             0x00FF  /* DSP3_ZM_START - [7:0] */
5254 #define WM5100_DSP3_ZM_START_1_SHIFT                 0  /* DSP3_ZM_START - [7:0] */
5255 #define WM5100_DSP3_ZM_START_1_WIDTH                 8  /* DSP3_ZM_START - [7:0] */
5256
5257 /*
5258  * R36865 (0x9001) - DSP3 ZM 1
5259  */
5260 #define WM5100_DSP3_ZM_START_MASK               0xFFFF  /* DSP3_ZM_START - [15:0] */
5261 #define WM5100_DSP3_ZM_START_SHIFT                   0  /* DSP3_ZM_START - [15:0] */
5262 #define WM5100_DSP3_ZM_START_WIDTH                  16  /* DSP3_ZM_START - [15:0] */
5263
5264 /*
5265  * R36866 (0x9002) - DSP3 ZM 2
5266  */
5267 #define WM5100_DSP3_ZM_1_1_MASK                 0x00FF  /* DSP3_ZM_1 - [7:0] */
5268 #define WM5100_DSP3_ZM_1_1_SHIFT                     0  /* DSP3_ZM_1 - [7:0] */
5269 #define WM5100_DSP3_ZM_1_1_WIDTH                     8  /* DSP3_ZM_1 - [7:0] */
5270
5271 /*
5272  * R36867 (0x9003) - DSP3 ZM 3
5273  */
5274 #define WM5100_DSP3_ZM_1_MASK                   0xFFFF  /* DSP3_ZM_1 - [15:0] */
5275 #define WM5100_DSP3_ZM_1_SHIFT                       0  /* DSP3_ZM_1 - [15:0] */
5276 #define WM5100_DSP3_ZM_1_WIDTH                      16  /* DSP3_ZM_1 - [15:0] */
5277
5278 /*
5279  * R38908 (0x97FC) - DSP3 ZM 2044
5280  */
5281 #define WM5100_DSP3_ZM_1022_1_MASK              0x00FF  /* DSP3_ZM_1022 - [7:0] */
5282 #define WM5100_DSP3_ZM_1022_1_SHIFT                  0  /* DSP3_ZM_1022 - [7:0] */
5283 #define WM5100_DSP3_ZM_1022_1_WIDTH                  8  /* DSP3_ZM_1022 - [7:0] */
5284
5285 /*
5286  * R38909 (0x97FD) - DSP3 ZM 2045
5287  */
5288 #define WM5100_DSP3_ZM_1022_MASK                0xFFFF  /* DSP3_ZM_1022 - [15:0] */
5289 #define WM5100_DSP3_ZM_1022_SHIFT                    0  /* DSP3_ZM_1022 - [15:0] */
5290 #define WM5100_DSP3_ZM_1022_WIDTH                   16  /* DSP3_ZM_1022 - [15:0] */
5291
5292 /*
5293  * R38910 (0x97FE) - DSP3 ZM 2046
5294  */
5295 #define WM5100_DSP3_ZM_END_1_MASK               0x00FF  /* DSP3_ZM_END - [7:0] */
5296 #define WM5100_DSP3_ZM_END_1_SHIFT                   0  /* DSP3_ZM_END - [7:0] */
5297 #define WM5100_DSP3_ZM_END_1_WIDTH                   8  /* DSP3_ZM_END - [7:0] */
5298
5299 /*
5300  * R38911 (0x97FF) - DSP3 ZM 2047
5301  */
5302 #define WM5100_DSP3_ZM_END_MASK                 0xFFFF  /* DSP3_ZM_END - [15:0] */
5303 #define WM5100_DSP3_ZM_END_SHIFT                     0  /* DSP3_ZM_END - [15:0] */
5304 #define WM5100_DSP3_ZM_END_WIDTH                    16  /* DSP3_ZM_END - [15:0] */
5305
5306 bool wm5100_readable_register(struct device *dev, unsigned int reg);
5307 bool wm5100_volatile_register(struct device *dev, unsigned int reg);
5308
5309 extern struct reg_default wm5100_reg_defaults[WM5100_REGISTER_COUNT];
5310
5311 #endif