1
2
3
4
5
6
7
8
9
10
11
12
13#include <linux/module.h>
14
15#include <linux/mfd/arizona/core.h>
16#include <linux/mfd/arizona/registers.h>
17
18#include "arizona.h"
19
20#define WM5102_NUM_AOD_ISR 2
21#define WM5102_NUM_ISR 5
22
23static const struct reg_default wm5102_reva_patch[] = {
24 { 0x80, 0x0003 },
25 { 0x221, 0x0090 },
26 { 0x211, 0x0014 },
27 { 0x212, 0x0000 },
28 { 0x214, 0x000C },
29 { 0x171, 0x0002 },
30 { 0x171, 0x0000 },
31 { 0x461, 0x8000 },
32 { 0x463, 0x50F0 },
33 { 0x465, 0x4820 },
34 { 0x467, 0x4040 },
35 { 0x469, 0x3940 },
36 { 0x46B, 0x3310 },
37 { 0x46D, 0x2D80 },
38 { 0x46F, 0x2890 },
39 { 0x471, 0x1990 },
40 { 0x473, 0x1450 },
41 { 0x475, 0x1020 },
42 { 0x477, 0x0CD0 },
43 { 0x479, 0x0A30 },
44 { 0x47B, 0x0810 },
45 { 0x47D, 0x0510 },
46 { 0x500, 0x000D },
47 { 0x507, 0x1820 },
48 { 0x508, 0x1820 },
49 { 0x540, 0x000D },
50 { 0x547, 0x1820 },
51 { 0x548, 0x1820 },
52 { 0x580, 0x000D },
53 { 0x587, 0x1820 },
54 { 0x588, 0x1820 },
55 { 0x101, 0x8140 },
56 { 0x3000, 0x2225 },
57 { 0x3001, 0x3a03 },
58 { 0x3002, 0x0225 },
59 { 0x3003, 0x0801 },
60 { 0x3004, 0x6249 },
61 { 0x3005, 0x0c04 },
62 { 0x3006, 0x0225 },
63 { 0x3007, 0x5901 },
64 { 0x3008, 0xe249 },
65 { 0x3009, 0x030d },
66 { 0x300a, 0x0249 },
67 { 0x300b, 0x2c01 },
68 { 0x300c, 0xe249 },
69 { 0x300d, 0x4342 },
70 { 0x300e, 0xe249 },
71 { 0x300f, 0x73c0 },
72 { 0x3010, 0x4249 },
73 { 0x3011, 0x0c00 },
74 { 0x3012, 0x0225 },
75 { 0x3013, 0x1f01 },
76 { 0x3014, 0x0225 },
77 { 0x3015, 0x1e01 },
78 { 0x3016, 0x0225 },
79 { 0x3017, 0xfa00 },
80 { 0x3018, 0x0000 },
81 { 0x3019, 0xf000 },
82 { 0x301a, 0x0000 },
83 { 0x301b, 0xf000 },
84 { 0x301c, 0x0000 },
85 { 0x301d, 0xf000 },
86 { 0x301e, 0x0000 },
87 { 0x301f, 0xf000 },
88 { 0x3020, 0x0000 },
89 { 0x3021, 0xf000 },
90 { 0x3022, 0x0000 },
91 { 0x3023, 0xf000 },
92 { 0x3024, 0x0000 },
93 { 0x3025, 0xf000 },
94 { 0x3026, 0x0000 },
95 { 0x3027, 0xf000 },
96 { 0x3028, 0x0000 },
97 { 0x3029, 0xf000 },
98 { 0x302a, 0x0000 },
99 { 0x302b, 0xf000 },
100 { 0x302c, 0x0000 },
101 { 0x302d, 0xf000 },
102 { 0x302e, 0x0000 },
103 { 0x302f, 0xf000 },
104 { 0x3030, 0x0225 },
105 { 0x3031, 0x1a01 },
106 { 0x3032, 0x0225 },
107 { 0x3033, 0x1e00 },
108 { 0x3034, 0x0225 },
109 { 0x3035, 0x1f00 },
110 { 0x3036, 0x6225 },
111 { 0x3037, 0xf800 },
112 { 0x3038, 0x0000 },
113 { 0x3039, 0xf000 },
114 { 0x303a, 0x0000 },
115 { 0x303b, 0xf000 },
116 { 0x303c, 0x0000 },
117 { 0x303d, 0xf000 },
118 { 0x303e, 0x0000 },
119 { 0x303f, 0xf000 },
120 { 0x3040, 0x2226 },
121 { 0x3041, 0x3a03 },
122 { 0x3042, 0x0226 },
123 { 0x3043, 0x0801 },
124 { 0x3044, 0x6249 },
125 { 0x3045, 0x0c06 },
126 { 0x3046, 0x0226 },
127 { 0x3047, 0x5901 },
128 { 0x3048, 0xe249 },
129 { 0x3049, 0x030d },
130 { 0x304a, 0x0249 },
131 { 0x304b, 0x2c01 },
132 { 0x304c, 0xe249 },
133 { 0x304d, 0x4342 },
134 { 0x304e, 0xe249 },
135 { 0x304f, 0x73c0 },
136 { 0x3050, 0x4249 },
137 { 0x3051, 0x0c00 },
138 { 0x3052, 0x0226 },
139 { 0x3053, 0x1f01 },
140 { 0x3054, 0x0226 },
141 { 0x3055, 0x1e01 },
142 { 0x3056, 0x0226 },
143 { 0x3057, 0xfa00 },
144 { 0x3058, 0x0000 },
145 { 0x3059, 0xf000 },
146 { 0x305a, 0x0000 },
147 { 0x305b, 0xf000 },
148 { 0x305c, 0x0000 },
149 { 0x305d, 0xf000 },
150 { 0x305e, 0x0000 },
151 { 0x305f, 0xf000 },
152 { 0x3060, 0x0000 },
153 { 0x3061, 0xf000 },
154 { 0x3062, 0x0000 },
155 { 0x3063, 0xf000 },
156 { 0x3064, 0x0000 },
157 { 0x3065, 0xf000 },
158 { 0x3066, 0x0000 },
159 { 0x3067, 0xf000 },
160 { 0x3068, 0x0000 },
161 { 0x3069, 0xf000 },
162 { 0x306a, 0x0000 },
163 { 0x306b, 0xf000 },
164 { 0x306c, 0x0000 },
165 { 0x306d, 0xf000 },
166 { 0x306e, 0x0000 },
167 { 0x306f, 0xf000 },
168 { 0x3070, 0x0226 },
169 { 0x3071, 0x1a01 },
170 { 0x3072, 0x0226 },
171 { 0x3073, 0x1e00 },
172 { 0x3074, 0x0226 },
173 { 0x3075, 0x1f00 },
174 { 0x3076, 0x6226 },
175 { 0x3077, 0xf800 },
176 { 0x3078, 0x0000 },
177 { 0x3079, 0xf000 },
178 { 0x307a, 0x0000 },
179 { 0x307b, 0xf000 },
180 { 0x307c, 0x0000 },
181 { 0x307d, 0xf000 },
182 { 0x307e, 0x0000 },
183 { 0x307f, 0xf000 },
184 { 0x3080, 0x2227 },
185 { 0x3081, 0x3a03 },
186 { 0x3082, 0x0227 },
187 { 0x3083, 0x0801 },
188 { 0x3084, 0x6255 },
189 { 0x3085, 0x0c04 },
190 { 0x3086, 0x0227 },
191 { 0x3087, 0x5901 },
192 { 0x3088, 0xe255 },
193 { 0x3089, 0x030d },
194 { 0x308a, 0x0255 },
195 { 0x308b, 0x2c01 },
196 { 0x308c, 0xe255 },
197 { 0x308d, 0x4342 },
198 { 0x308e, 0xe255 },
199 { 0x308f, 0x73c0 },
200 { 0x3090, 0x4255 },
201 { 0x3091, 0x0c00 },
202 { 0x3092, 0x0227 },
203 { 0x3093, 0x1f01 },
204 { 0x3094, 0x0227 },
205 { 0x3095, 0x1e01 },
206 { 0x3096, 0x0227 },
207 { 0x3097, 0xfa00 },
208 { 0x3098, 0x0000 },
209 { 0x3099, 0xf000 },
210 { 0x309a, 0x0000 },
211 { 0x309b, 0xf000 },
212 { 0x309c, 0x0000 },
213 { 0x309d, 0xf000 },
214 { 0x309e, 0x0000 },
215 { 0x309f, 0xf000 },
216 { 0x30a0, 0x0000 },
217 { 0x30a1, 0xf000 },
218 { 0x30a2, 0x0000 },
219 { 0x30a3, 0xf000 },
220 { 0x30a4, 0x0000 },
221 { 0x30a5, 0xf000 },
222 { 0x30a6, 0x0000 },
223 { 0x30a7, 0xf000 },
224 { 0x30a8, 0x0000 },
225 { 0x30a9, 0xf000 },
226 { 0x30aa, 0x0000 },
227 { 0x30ab, 0xf000 },
228 { 0x30ac, 0x0000 },
229 { 0x30ad, 0xf000 },
230 { 0x30ae, 0x0000 },
231 { 0x30af, 0xf000 },
232 { 0x30b0, 0x0227 },
233 { 0x30b1, 0x1a01 },
234 { 0x30b2, 0x0227 },
235 { 0x30b3, 0x1e00 },
236 { 0x30b4, 0x0227 },
237 { 0x30b5, 0x1f00 },
238 { 0x30b6, 0x6227 },
239 { 0x30b7, 0xf800 },
240 { 0x30b8, 0x0000 },
241 { 0x30b9, 0xf000 },
242 { 0x30ba, 0x0000 },
243 { 0x30bb, 0xf000 },
244 { 0x30bc, 0x0000 },
245 { 0x30bd, 0xf000 },
246 { 0x30be, 0x0000 },
247 { 0x30bf, 0xf000 },
248 { 0x30c0, 0x2228 },
249 { 0x30c1, 0x3a03 },
250 { 0x30c2, 0x0228 },
251 { 0x30c3, 0x0801 },
252 { 0x30c4, 0x6255 },
253 { 0x30c5, 0x0c06 },
254 { 0x30c6, 0x0228 },
255 { 0x30c7, 0x5901 },
256 { 0x30c8, 0xe255 },
257 { 0x30c9, 0x030d },
258 { 0x30ca, 0x0255 },
259 { 0x30cb, 0x2c01 },
260 { 0x30cc, 0xe255 },
261 { 0x30cd, 0x4342 },
262 { 0x30ce, 0xe255 },
263 { 0x30cf, 0x73c0 },
264 { 0x30d0, 0x4255 },
265 { 0x30d1, 0x0c00 },
266 { 0x30d2, 0x0228 },
267 { 0x30d3, 0x1f01 },
268 { 0x30d4, 0x0228 },
269 { 0x30d5, 0x1e01 },
270 { 0x30d6, 0x0228 },
271 { 0x30d7, 0xfa00 },
272 { 0x30d8, 0x0000 },
273 { 0x30d9, 0xf000 },
274 { 0x30da, 0x0000 },
275 { 0x30db, 0xf000 },
276 { 0x30dc, 0x0000 },
277 { 0x30dd, 0xf000 },
278 { 0x30de, 0x0000 },
279 { 0x30df, 0xf000 },
280 { 0x30e0, 0x0000 },
281 { 0x30e1, 0xf000 },
282 { 0x30e2, 0x0000 },
283 { 0x30e3, 0xf000 },
284 { 0x30e4, 0x0000 },
285 { 0x30e5, 0xf000 },
286 { 0x30e6, 0x0000 },
287 { 0x30e7, 0xf000 },
288 { 0x30e8, 0x0000 },
289 { 0x30e9, 0xf000 },
290 { 0x30ea, 0x0000 },
291 { 0x30eb, 0xf000 },
292 { 0x30ec, 0x0000 },
293 { 0x30ed, 0xf000 },
294 { 0x30ee, 0x0000 },
295 { 0x30ef, 0xf000 },
296 { 0x30f0, 0x0228 },
297 { 0x30f1, 0x1a01 },
298 { 0x30f2, 0x0228 },
299 { 0x30f3, 0x1e00 },
300 { 0x30f4, 0x0228 },
301 { 0x30f5, 0x1f00 },
302 { 0x30f6, 0x6228 },
303 { 0x30f7, 0xf800 },
304 { 0x30f8, 0x0000 },
305 { 0x30f9, 0xf000 },
306 { 0x30fa, 0x0000 },
307 { 0x30fb, 0xf000 },
308 { 0x30fc, 0x0000 },
309 { 0x30fd, 0xf000 },
310 { 0x30fe, 0x0000 },
311 { 0x30ff, 0xf000 },
312 { 0x3100, 0x222b },
313 { 0x3101, 0x3a03 },
314 { 0x3102, 0x222b },
315 { 0x3103, 0x5803 },
316 { 0x3104, 0xe26f },
317 { 0x3105, 0x030d },
318 { 0x3106, 0x626f },
319 { 0x3107, 0x2c01 },
320 { 0x3108, 0xe26f },
321 { 0x3109, 0x4342 },
322 { 0x310a, 0xe26f },
323 { 0x310b, 0x73c0 },
324 { 0x310c, 0x026f },
325 { 0x310d, 0x0c00 },
326 { 0x310e, 0x022b },
327 { 0x310f, 0x1f01 },
328 { 0x3110, 0x022b },
329 { 0x3111, 0x1e01 },
330 { 0x3112, 0x022b },
331 { 0x3113, 0xfa00 },
332 { 0x3114, 0x0000 },
333 { 0x3115, 0xf000 },
334 { 0x3116, 0x0000 },
335 { 0x3117, 0xf000 },
336 { 0x3118, 0x0000 },
337 { 0x3119, 0xf000 },
338 { 0x311a, 0x0000 },
339 { 0x311b, 0xf000 },
340 { 0x311c, 0x0000 },
341 { 0x311d, 0xf000 },
342 { 0x311e, 0x0000 },
343 { 0x311f, 0xf000 },
344 { 0x3120, 0x022b },
345 { 0x3121, 0x0a01 },
346 { 0x3122, 0x022b },
347 { 0x3123, 0x1e00 },
348 { 0x3124, 0x022b },
349 { 0x3125, 0x1f00 },
350 { 0x3126, 0x622b },
351 { 0x3127, 0xf800 },
352 { 0x3128, 0x0000 },
353 { 0x3129, 0xf000 },
354 { 0x312a, 0x0000 },
355 { 0x312b, 0xf000 },
356 { 0x312c, 0x0000 },
357 { 0x312d, 0xf000 },
358 { 0x312e, 0x0000 },
359 { 0x312f, 0xf000 },
360 { 0x3130, 0x0000 },
361 { 0x3131, 0xf000 },
362 { 0x3132, 0x0000 },
363 { 0x3133, 0xf000 },
364 { 0x3134, 0x0000 },
365 { 0x3135, 0xf000 },
366 { 0x3136, 0x0000 },
367 { 0x3137, 0xf000 },
368 { 0x3138, 0x0000 },
369 { 0x3139, 0xf000 },
370 { 0x313a, 0x0000 },
371 { 0x313b, 0xf000 },
372 { 0x313c, 0x0000 },
373 { 0x313d, 0xf000 },
374 { 0x313e, 0x0000 },
375 { 0x313f, 0xf000 },
376 { 0x3140, 0x0000 },
377 { 0x3141, 0xf000 },
378 { 0x3142, 0x0000 },
379 { 0x3143, 0xf000 },
380 { 0x3144, 0x0000 },
381 { 0x3145, 0xf000 },
382 { 0x3146, 0x0000 },
383 { 0x3147, 0xf000 },
384 { 0x3148, 0x0000 },
385 { 0x3149, 0xf000 },
386 { 0x314a, 0x0000 },
387 { 0x314b, 0xf000 },
388 { 0x314c, 0x0000 },
389 { 0x314d, 0xf000 },
390 { 0x314e, 0x0000 },
391 { 0x314f, 0xf000 },
392 { 0x3150, 0x0000 },
393 { 0x3151, 0xf000 },
394 { 0x3152, 0x0000 },
395 { 0x3153, 0xf000 },
396 { 0x3154, 0x0000 },
397 { 0x3155, 0xf000 },
398 { 0x3156, 0x0000 },
399 { 0x3157, 0xf000 },
400 { 0x3158, 0x0000 },
401 { 0x3159, 0xf000 },
402 { 0x315a, 0x0000 },
403 { 0x315b, 0xf000 },
404 { 0x315c, 0x0000 },
405 { 0x315d, 0xf000 },
406 { 0x315e, 0x0000 },
407 { 0x315f, 0xf000 },
408 { 0x3160, 0x0000 },
409 { 0x3161, 0xf000 },
410 { 0x3162, 0x0000 },
411 { 0x3163, 0xf000 },
412 { 0x3164, 0x0000 },
413 { 0x3165, 0xf000 },
414 { 0x3166, 0x0000 },
415 { 0x3167, 0xf000 },
416 { 0x3168, 0x0000 },
417 { 0x3169, 0xf000 },
418 { 0x316a, 0x0000 },
419 { 0x316b, 0xf000 },
420 { 0x316c, 0x0000 },
421 { 0x316d, 0xf000 },
422 { 0x316e, 0x0000 },
423 { 0x316f, 0xf000 },
424 { 0x3170, 0x0000 },
425 { 0x3171, 0xf000 },
426 { 0x3172, 0x0000 },
427 { 0x3173, 0xf000 },
428 { 0x3174, 0x0000 },
429 { 0x3175, 0xf000 },
430 { 0x3176, 0x0000 },
431 { 0x3177, 0xf000 },
432 { 0x3178, 0x0000 },
433 { 0x3179, 0xf000 },
434 { 0x317a, 0x0000 },
435 { 0x317b, 0xf000 },
436 { 0x317c, 0x0000 },
437 { 0x317d, 0xf000 },
438 { 0x317e, 0x0000 },
439 { 0x317f, 0xf000 },
440 { 0x3180, 0x2001 },
441 { 0x3181, 0xf101 },
442 { 0x3182, 0x0000 },
443 { 0x3183, 0xf000 },
444 { 0x3184, 0x0000 },
445 { 0x3185, 0xf000 },
446 { 0x3186, 0x0000 },
447 { 0x3187, 0xf000 },
448 { 0x3188, 0x0000 },
449 { 0x3189, 0xf000 },
450 { 0x318a, 0x0000 },
451 { 0x318b, 0xf000 },
452 { 0x318c, 0x0000 },
453 { 0x318d, 0xf000 },
454 { 0x318e, 0x0000 },
455 { 0x318f, 0xf000 },
456 { 0x3190, 0x0000 },
457 { 0x3191, 0xf000 },
458 { 0x3192, 0x0000 },
459 { 0x3193, 0xf000 },
460 { 0x3194, 0x0000 },
461 { 0x3195, 0xf000 },
462 { 0x3196, 0x0000 },
463 { 0x3197, 0xf000 },
464 { 0x3198, 0x0000 },
465 { 0x3199, 0xf000 },
466 { 0x319a, 0x0000 },
467 { 0x319b, 0xf000 },
468 { 0x319c, 0x0000 },
469 { 0x319d, 0xf000 },
470 { 0x319e, 0x0000 },
471 { 0x319f, 0xf000 },
472 { 0x31a0, 0x0000 },
473 { 0x31a1, 0xf000 },
474 { 0x31a2, 0x0000 },
475 { 0x31a3, 0xf000 },
476 { 0x31a4, 0x0000 },
477 { 0x31a5, 0xf000 },
478 { 0x31a6, 0x0000 },
479 { 0x31a7, 0xf000 },
480 { 0x31a8, 0x0000 },
481 { 0x31a9, 0xf000 },
482 { 0x31aa, 0x0000 },
483 { 0x31ab, 0xf000 },
484 { 0x31ac, 0x0000 },
485 { 0x31ad, 0xf000 },
486 { 0x31ae, 0x0000 },
487 { 0x31af, 0xf000 },
488 { 0x31b0, 0x0000 },
489 { 0x31b1, 0xf000 },
490 { 0x31b2, 0x0000 },
491 { 0x31b3, 0xf000 },
492 { 0x31b4, 0x0000 },
493 { 0x31b5, 0xf000 },
494 { 0x31b6, 0x0000 },
495 { 0x31b7, 0xf000 },
496 { 0x31b8, 0x0000 },
497 { 0x31b9, 0xf000 },
498 { 0x31ba, 0x0000 },
499 { 0x31bb, 0xf000 },
500 { 0x31bc, 0x0000 },
501 { 0x31bd, 0xf000 },
502 { 0x31be, 0x0000 },
503 { 0x31bf, 0xf000 },
504 { 0x31c0, 0x0000 },
505 { 0x31c1, 0xf000 },
506 { 0x31c2, 0x0000 },
507 { 0x31c3, 0xf000 },
508 { 0x31c4, 0x0000 },
509 { 0x31c5, 0xf000 },
510 { 0x31c6, 0x0000 },
511 { 0x31c7, 0xf000 },
512 { 0x31c8, 0x0000 },
513 { 0x31c9, 0xf000 },
514 { 0x31ca, 0x0000 },
515 { 0x31cb, 0xf000 },
516 { 0x31cc, 0x0000 },
517 { 0x31cd, 0xf000 },
518 { 0x31ce, 0x0000 },
519 { 0x31cf, 0xf000 },
520 { 0x31d0, 0x0000 },
521 { 0x31d1, 0xf000 },
522 { 0x31d2, 0x0000 },
523 { 0x31d3, 0xf000 },
524 { 0x31d4, 0x0000 },
525 { 0x31d5, 0xf000 },
526 { 0x31d6, 0x0000 },
527 { 0x31d7, 0xf000 },
528 { 0x31d8, 0x0000 },
529 { 0x31d9, 0xf000 },
530 { 0x31da, 0x0000 },
531 { 0x31db, 0xf000 },
532 { 0x31dc, 0x0000 },
533 { 0x31dd, 0xf000 },
534 { 0x31de, 0x0000 },
535 { 0x31df, 0xf000 },
536 { 0x31e0, 0x0000 },
537 { 0x31e1, 0xf000 },
538 { 0x31e2, 0x0000 },
539 { 0x31e3, 0xf000 },
540 { 0x31e4, 0x0000 },
541 { 0x31e5, 0xf000 },
542 { 0x31e6, 0x0000 },
543 { 0x31e7, 0xf000 },
544 { 0x31e8, 0x0000 },
545 { 0x31e9, 0xf000 },
546 { 0x31ea, 0x0000 },
547 { 0x31eb, 0xf000 },
548 { 0x31ec, 0x0000 },
549 { 0x31ed, 0xf000 },
550 { 0x31ee, 0x0000 },
551 { 0x31ef, 0xf000 },
552 { 0x31f0, 0x0000 },
553 { 0x31f1, 0xf000 },
554 { 0x31f2, 0x0000 },
555 { 0x31f3, 0xf000 },
556 { 0x31f4, 0x0000 },
557 { 0x31f5, 0xf000 },
558 { 0x31f6, 0x0000 },
559 { 0x31f7, 0xf000 },
560 { 0x31f8, 0x0000 },
561 { 0x31f9, 0xf000 },
562 { 0x31fa, 0x0000 },
563 { 0x31fb, 0xf000 },
564 { 0x31fc, 0x0000 },
565 { 0x31fd, 0xf000 },
566 { 0x31fe, 0x0000 },
567 { 0x31ff, 0xf000 },
568 { 0x024d, 0xff50 },
569 { 0x0252, 0xff50 },
570 { 0x0259, 0x0112 },
571 { 0x025e, 0x0112 },
572 { 0x101, 0x0304 },
573 { 0x80, 0x0000 },
574};
575
576
577int wm5102_patch(struct arizona *arizona)
578{
579 switch (arizona->rev) {
580 case 0:
581 return regmap_register_patch(arizona->regmap,
582 wm5102_reva_patch,
583 ARRAY_SIZE(wm5102_reva_patch));
584 default:
585 return 0;
586 }
587}
588
589static const struct regmap_irq wm5102_aod_irqs[ARIZONA_NUM_IRQ] = {
590 [ARIZONA_IRQ_GP5_FALL] = { .mask = ARIZONA_GP5_FALL_EINT1 },
591 [ARIZONA_IRQ_GP5_RISE] = { .mask = ARIZONA_GP5_RISE_EINT1 },
592 [ARIZONA_IRQ_JD_FALL] = { .mask = ARIZONA_JD1_FALL_EINT1 },
593 [ARIZONA_IRQ_JD_RISE] = { .mask = ARIZONA_JD1_RISE_EINT1 },
594};
595
596const struct regmap_irq_chip wm5102_aod = {
597 .name = "wm5102 AOD",
598 .status_base = ARIZONA_AOD_IRQ1,
599 .mask_base = ARIZONA_AOD_IRQ_MASK_IRQ1,
600 .ack_base = ARIZONA_AOD_IRQ1,
601 .wake_base = ARIZONA_WAKE_CONTROL,
602 .num_regs = 1,
603 .irqs = wm5102_aod_irqs,
604 .num_irqs = ARRAY_SIZE(wm5102_aod_irqs),
605};
606
607static const struct regmap_irq wm5102_irqs[ARIZONA_NUM_IRQ] = {
608 [ARIZONA_IRQ_GP4] = { .reg_offset = 0, .mask = ARIZONA_GP4_EINT1 },
609 [ARIZONA_IRQ_GP3] = { .reg_offset = 0, .mask = ARIZONA_GP3_EINT1 },
610 [ARIZONA_IRQ_GP2] = { .reg_offset = 0, .mask = ARIZONA_GP2_EINT1 },
611 [ARIZONA_IRQ_GP1] = { .reg_offset = 0, .mask = ARIZONA_GP1_EINT1 },
612
613 [ARIZONA_IRQ_DSP1_RAM_RDY] = {
614 .reg_offset = 1, .mask = ARIZONA_DSP1_RAM_RDY_EINT1
615 },
616 [ARIZONA_IRQ_DSP_IRQ2] = {
617 .reg_offset = 1, .mask = ARIZONA_DSP_IRQ2_EINT1
618 },
619 [ARIZONA_IRQ_DSP_IRQ1] = {
620 .reg_offset = 1, .mask = ARIZONA_DSP_IRQ1_EINT1
621 },
622
623 [ARIZONA_IRQ_SPK_SHUTDOWN_WARN] = {
624 .reg_offset = 2, .mask = ARIZONA_SPK_SHUTDOWN_WARN_EINT1
625 },
626 [ARIZONA_IRQ_SPK_SHUTDOWN] = {
627 .reg_offset = 2, .mask = ARIZONA_SPK_SHUTDOWN_EINT1
628 },
629 [ARIZONA_IRQ_HPDET] = {
630 .reg_offset = 2, .mask = ARIZONA_HPDET_EINT1
631 },
632 [ARIZONA_IRQ_MICDET] = {
633 .reg_offset = 2, .mask = ARIZONA_MICDET_EINT1
634 },
635 [ARIZONA_IRQ_WSEQ_DONE] = {
636 .reg_offset = 2, .mask = ARIZONA_WSEQ_DONE_EINT1
637 },
638 [ARIZONA_IRQ_DRC2_SIG_DET] = {
639 .reg_offset = 2, .mask = ARIZONA_DRC2_SIG_DET_EINT1
640 },
641 [ARIZONA_IRQ_DRC1_SIG_DET] = {
642 .reg_offset = 2, .mask = ARIZONA_DRC1_SIG_DET_EINT1
643 },
644 [ARIZONA_IRQ_ASRC2_LOCK] = {
645 .reg_offset = 2, .mask = ARIZONA_ASRC2_LOCK_EINT1
646 },
647 [ARIZONA_IRQ_ASRC1_LOCK] = {
648 .reg_offset = 2, .mask = ARIZONA_ASRC1_LOCK_EINT1
649 },
650 [ARIZONA_IRQ_UNDERCLOCKED] = {
651 .reg_offset = 2, .mask = ARIZONA_UNDERCLOCKED_EINT1
652 },
653 [ARIZONA_IRQ_OVERCLOCKED] = {
654 .reg_offset = 2, .mask = ARIZONA_OVERCLOCKED_EINT1
655 },
656 [ARIZONA_IRQ_FLL2_LOCK] = {
657 .reg_offset = 2, .mask = ARIZONA_FLL2_LOCK_EINT1
658 },
659 [ARIZONA_IRQ_FLL1_LOCK] = {
660 .reg_offset = 2, .mask = ARIZONA_FLL1_LOCK_EINT1
661 },
662 [ARIZONA_IRQ_CLKGEN_ERR] = {
663 .reg_offset = 2, .mask = ARIZONA_CLKGEN_ERR_EINT1
664 },
665 [ARIZONA_IRQ_CLKGEN_ERR_ASYNC] = {
666 .reg_offset = 2, .mask = ARIZONA_CLKGEN_ERR_ASYNC_EINT1
667 },
668
669 [ARIZONA_IRQ_ASRC_CFG_ERR] = {
670 .reg_offset = 3, .mask = ARIZONA_ASRC_CFG_ERR_EINT1
671 },
672 [ARIZONA_IRQ_AIF3_ERR] = {
673 .reg_offset = 3, .mask = ARIZONA_AIF3_ERR_EINT1
674 },
675 [ARIZONA_IRQ_AIF2_ERR] = {
676 .reg_offset = 3, .mask = ARIZONA_AIF2_ERR_EINT1
677 },
678 [ARIZONA_IRQ_AIF1_ERR] = {
679 .reg_offset = 3, .mask = ARIZONA_AIF1_ERR_EINT1
680 },
681 [ARIZONA_IRQ_CTRLIF_ERR] = {
682 .reg_offset = 3, .mask = ARIZONA_CTRLIF_ERR_EINT1
683 },
684 [ARIZONA_IRQ_MIXER_DROPPED_SAMPLES] = {
685 .reg_offset = 3, .mask = ARIZONA_MIXER_DROPPED_SAMPLE_EINT1
686 },
687 [ARIZONA_IRQ_ASYNC_CLK_ENA_LOW] = {
688 .reg_offset = 3, .mask = ARIZONA_ASYNC_CLK_ENA_LOW_EINT1
689 },
690 [ARIZONA_IRQ_SYSCLK_ENA_LOW] = {
691 .reg_offset = 3, .mask = ARIZONA_SYSCLK_ENA_LOW_EINT1
692 },
693 [ARIZONA_IRQ_ISRC1_CFG_ERR] = {
694 .reg_offset = 3, .mask = ARIZONA_ISRC1_CFG_ERR_EINT1
695 },
696 [ARIZONA_IRQ_ISRC2_CFG_ERR] = {
697 .reg_offset = 3, .mask = ARIZONA_ISRC2_CFG_ERR_EINT1
698 },
699
700 [ARIZONA_IRQ_BOOT_DONE] = {
701 .reg_offset = 4, .mask = ARIZONA_BOOT_DONE_EINT1
702 },
703 [ARIZONA_IRQ_DCS_DAC_DONE] = {
704 .reg_offset = 4, .mask = ARIZONA_DCS_DAC_DONE_EINT1
705 },
706 [ARIZONA_IRQ_DCS_HP_DONE] = {
707 .reg_offset = 4, .mask = ARIZONA_DCS_HP_DONE_EINT1
708 },
709 [ARIZONA_IRQ_FLL2_CLOCK_OK] = {
710 .reg_offset = 4, .mask = ARIZONA_FLL2_CLOCK_OK_EINT1
711 },
712 [ARIZONA_IRQ_FLL1_CLOCK_OK] = {
713 .reg_offset = 4, .mask = ARIZONA_FLL1_CLOCK_OK_EINT1
714 },
715};
716
717const struct regmap_irq_chip wm5102_irq = {
718 .name = "wm5102 IRQ",
719 .status_base = ARIZONA_INTERRUPT_STATUS_1,
720 .mask_base = ARIZONA_INTERRUPT_STATUS_1_MASK,
721 .ack_base = ARIZONA_INTERRUPT_STATUS_1,
722 .num_regs = 5,
723 .irqs = wm5102_irqs,
724 .num_irqs = ARRAY_SIZE(wm5102_irqs),
725};
726
727static const struct reg_default wm5102_reg_default[] = {
728 { 0x00000008, 0x0019 },
729 { 0x00000009, 0x0001 },
730 { 0x0000000D, 0x0000 },
731 { 0x00000016, 0x0000 },
732 { 0x00000017, 0x0000 },
733 { 0x00000018, 0x0000 },
734 { 0x0000001A, 0x0000 },
735 { 0x00000020, 0x0000 },
736 { 0x00000021, 0x1000 },
737 { 0x00000022, 0x0000 },
738 { 0x00000023, 0x1000 },
739 { 0x00000024, 0x0000 },
740 { 0x00000030, 0x0000 },
741 { 0x00000031, 0x0100 },
742 { 0x00000032, 0x0100 },
743 { 0x00000040, 0x0000 },
744 { 0x00000041, 0x0000 },
745 { 0x00000061, 0x01FF },
746 { 0x00000062, 0x01FF },
747 { 0x00000063, 0x01FF },
748 { 0x00000064, 0x01FF },
749 { 0x00000068, 0x01FF },
750 { 0x00000069, 0x01FF },
751 { 0x0000006A, 0x01FF },
752 { 0x0000006B, 0x01FF },
753 { 0x0000006C, 0x01FF },
754 { 0x0000006D, 0x01FF },
755 { 0x00000070, 0x0000 },
756 { 0x00000090, 0x0000 },
757 { 0x00000091, 0x7FFF },
758 { 0x00000092, 0x0000 },
759 { 0x00000093, 0x0000 },
760 { 0x00000094, 0x0000 },
761 { 0x00000095, 0x0000 },
762 { 0x00000096, 0x0000 },
763 { 0x00000097, 0x0000 },
764 { 0x00000100, 0x0001 },
765 { 0x00000101, 0x0304 },
766 { 0x00000102, 0x0011 },
767 { 0x00000103, 0x0011 },
768 { 0x00000104, 0x0011 },
769 { 0x00000112, 0x0305 },
770 { 0x00000113, 0x0011 },
771 { 0x00000149, 0x0000 },
772 { 0x0000014A, 0x0000 },
773 { 0x00000152, 0x0000 },
774 { 0x00000153, 0x0000 },
775 { 0x00000154, 0x0000 },
776 { 0x00000155, 0x0000 },
777 { 0x00000156, 0x0000 },
778 { 0x00000171, 0x0000 },
779 { 0x00000172, 0x0008 },
780 { 0x00000173, 0x0018 },
781 { 0x00000174, 0x007D },
782 { 0x00000175, 0x0004 },
783 { 0x00000176, 0x0000 },
784 { 0x00000177, 0x0181 },
785 { 0x00000181, 0x0000 },
786 { 0x00000182, 0x0000 },
787 { 0x00000183, 0x0000 },
788 { 0x00000184, 0x0000 },
789 { 0x00000185, 0x0000 },
790 { 0x00000186, 0x0000 },
791 { 0x00000189, 0x0000 },
792 { 0x0000018A, 0x0004 },
793 { 0x00000191, 0x0000 },
794 { 0x00000192, 0x0008 },
795 { 0x00000193, 0x0018 },
796 { 0x00000194, 0x007D },
797 { 0x00000195, 0x0004 },
798 { 0x00000196, 0x0000 },
799 { 0x00000197, 0x0000 },
800 { 0x000001A1, 0x0000 },
801 { 0x000001A2, 0x0000 },
802 { 0x000001A3, 0x0000 },
803 { 0x000001A4, 0x0000 },
804 { 0x000001A5, 0x0000 },
805 { 0x000001A6, 0x0000 },
806 { 0x000001A9, 0x0000 },
807 { 0x000001AA, 0x0004 },
808 { 0x00000200, 0x0006 },
809 { 0x00000210, 0x00D4 },
810 { 0x00000213, 0x0344 },
811 { 0x00000218, 0x01A6 },
812 { 0x00000219, 0x01A6 },
813 { 0x0000021A, 0x01A6 },
814 { 0x00000293, 0x0000 },
815 { 0x0000029B, 0x0020 },
816 { 0x000002A3, 0x1102 },
817 { 0x000002A4, 0x009F },
818 { 0x000002A5, 0x0000 },
819 { 0x000002C3, 0x0000 },
820 { 0x000002CB, 0x0000 },
821 { 0x000002D3, 0x0000 },
822 { 0x00000300, 0x0000 },
823 { 0x00000308, 0x0000 },
824 { 0x00000309, 0x0022 },
825 { 0x00000310, 0x2080 },
826 { 0x00000311, 0x0180 },
827 { 0x00000312, 0x0000 },
828 { 0x00000314, 0x0080 },
829 { 0x00000315, 0x0180 },
830 { 0x00000316, 0x0000 },
831 { 0x00000318, 0x2080 },
832 { 0x00000319, 0x0180 },
833 { 0x0000031A, 0x0000 },
834 { 0x0000031C, 0x0080 },
835 { 0x0000031D, 0x0180 },
836 { 0x0000031E, 0x0000 },
837 { 0x00000320, 0x2080 },
838 { 0x00000321, 0x0180 },
839 { 0x00000322, 0x0000 },
840 { 0x00000324, 0x0080 },
841 { 0x00000325, 0x0180 },
842 { 0x00000326, 0x0000 },
843 { 0x00000400, 0x0000 },
844 { 0x00000408, 0x0000 },
845 { 0x00000409, 0x0022 },
846 { 0x00000410, 0x0080 },
847 { 0x00000411, 0x0180 },
848 { 0x00000412, 0x0080 },
849 { 0x00000413, 0x0001 },
850 { 0x00000414, 0x0080 },
851 { 0x00000415, 0x0180 },
852 { 0x00000416, 0x0080 },
853 { 0x00000417, 0x0002 },
854 { 0x00000418, 0x0080 },
855 { 0x00000419, 0x0180 },
856 { 0x0000041A, 0x0080 },
857 { 0x0000041B, 0x0004 },
858 { 0x0000041C, 0x0080 },
859 { 0x0000041D, 0x0180 },
860 { 0x0000041E, 0x0080 },
861 { 0x0000041F, 0x0008 },
862 { 0x00000420, 0x0080 },
863 { 0x00000421, 0x0180 },
864 { 0x00000422, 0x0080 },
865 { 0x00000423, 0x0010 },
866 { 0x00000424, 0x0080 },
867 { 0x00000425, 0x0180 },
868 { 0x00000426, 0x0080 },
869 { 0x00000428, 0x0000 },
870 { 0x00000429, 0x0180 },
871 { 0x0000042A, 0x0080 },
872 { 0x0000042B, 0x0040 },
873 { 0x0000042C, 0x0000 },
874 { 0x0000042D, 0x0180 },
875 { 0x0000042E, 0x0080 },
876 { 0x0000042F, 0x0080 },
877 { 0x00000430, 0x0000 },
878 { 0x00000431, 0x0180 },
879 { 0x00000432, 0x0080 },
880 { 0x00000433, 0x0100 },
881 { 0x00000434, 0x0000 },
882 { 0x00000435, 0x0180 },
883 { 0x00000436, 0x0080 },
884 { 0x00000437, 0x0200 },
885 { 0x00000450, 0x0000 },
886 { 0x00000458, 0x0001 },
887 { 0x00000490, 0x0069 },
888 { 0x00000491, 0x0000 },
889 { 0x000004DC, 0x0000 },
890 { 0x000004DD, 0x0000 },
891 { 0x000004DE, 0x0000 },
892 { 0x000004DF, 0x0000 },
893 { 0x00000500, 0x000C },
894 { 0x00000501, 0x0008 },
895 { 0x00000502, 0x0000 },
896 { 0x00000503, 0x0000 },
897 { 0x00000504, 0x0000 },
898 { 0x00000505, 0x0040 },
899 { 0x00000506, 0x0040 },
900 { 0x00000507, 0x1818 },
901 { 0x00000508, 0x1818 },
902 { 0x00000509, 0x0000 },
903 { 0x0000050A, 0x0001 },
904 { 0x0000050B, 0x0002 },
905 { 0x0000050C, 0x0003 },
906 { 0x0000050D, 0x0004 },
907 { 0x0000050E, 0x0005 },
908 { 0x0000050F, 0x0006 },
909 { 0x00000510, 0x0007 },
910 { 0x00000511, 0x0000 },
911 { 0x00000512, 0x0001 },
912 { 0x00000513, 0x0002 },
913 { 0x00000514, 0x0003 },
914 { 0x00000515, 0x0004 },
915 { 0x00000516, 0x0005 },
916 { 0x00000517, 0x0006 },
917 { 0x00000518, 0x0007 },
918 { 0x00000519, 0x0000 },
919 { 0x0000051A, 0x0000 },
920 { 0x0000051B, 0x0000 },
921 { 0x00000540, 0x000C },
922 { 0x00000541, 0x0008 },
923 { 0x00000542, 0x0000 },
924 { 0x00000543, 0x0000 },
925 { 0x00000544, 0x0000 },
926 { 0x00000545, 0x0040 },
927 { 0x00000546, 0x0040 },
928 { 0x00000547, 0x1818 },
929 { 0x00000548, 0x1818 },
930 { 0x00000549, 0x0000 },
931 { 0x0000054A, 0x0001 },
932 { 0x00000551, 0x0000 },
933 { 0x00000552, 0x0001 },
934 { 0x00000559, 0x0000 },
935 { 0x0000055A, 0x0000 },
936 { 0x0000055B, 0x0000 },
937 { 0x00000580, 0x000C },
938 { 0x00000581, 0x0008 },
939 { 0x00000582, 0x0000 },
940 { 0x00000583, 0x0000 },
941 { 0x00000584, 0x0000 },
942 { 0x00000585, 0x0040 },
943 { 0x00000586, 0x0040 },
944 { 0x00000587, 0x1818 },
945 { 0x00000588, 0x1818 },
946 { 0x00000589, 0x0000 },
947 { 0x0000058A, 0x0001 },
948 { 0x00000591, 0x0000 },
949 { 0x00000592, 0x0001 },
950 { 0x00000599, 0x0000 },
951 { 0x0000059A, 0x0000 },
952 { 0x0000059B, 0x0000 },
953 { 0x000005E3, 0x0004 },
954 { 0x000005E5, 0x0000 },
955 { 0x000005E6, 0x0000 },
956 { 0x000005E7, 0x0000 },
957 { 0x000005E8, 0x0000 },
958 { 0x000005E9, 0x0000 },
959 { 0x000005EA, 0x0000 },
960 { 0x000005EB, 0x0000 },
961 { 0x000005EC, 0x0000 },
962 { 0x000005F5, 0x0000 },
963 { 0x000005F6, 0x0000 },
964 { 0x00000640, 0x0000 },
965 { 0x00000641, 0x0080 },
966 { 0x00000642, 0x0000 },
967 { 0x00000643, 0x0080 },
968 { 0x00000644, 0x0000 },
969 { 0x00000645, 0x0080 },
970 { 0x00000646, 0x0000 },
971 { 0x00000647, 0x0080 },
972 { 0x00000648, 0x0000 },
973 { 0x00000649, 0x0080 },
974 { 0x0000064A, 0x0000 },
975 { 0x0000064B, 0x0080 },
976 { 0x0000064C, 0x0000 },
977 { 0x0000064D, 0x0080 },
978 { 0x0000064E, 0x0000 },
979 { 0x0000064F, 0x0080 },
980 { 0x00000660, 0x0000 },
981 { 0x00000661, 0x0080 },
982 { 0x00000662, 0x0000 },
983 { 0x00000663, 0x0080 },
984 { 0x00000664, 0x0000 },
985 { 0x00000665, 0x0080 },
986 { 0x00000666, 0x0000 },
987 { 0x00000667, 0x0080 },
988 { 0x00000668, 0x0000 },
989 { 0x00000669, 0x0080 },
990 { 0x0000066A, 0x0000 },
991 { 0x0000066B, 0x0080 },
992 { 0x0000066C, 0x0000 },
993 { 0x0000066D, 0x0080 },
994 { 0x0000066E, 0x0000 },
995 { 0x0000066F, 0x0080 },
996 { 0x00000680, 0x0000 },
997 { 0x00000681, 0x0080 },
998 { 0x00000682, 0x0000 },
999 { 0x00000683, 0x0080 },
1000 { 0x00000684, 0x0000 },
1001 { 0x00000685, 0x0080 },
1002 { 0x00000686, 0x0000 },
1003 { 0x00000687, 0x0080 },
1004 { 0x00000688, 0x0000 },
1005 { 0x00000689, 0x0080 },
1006 { 0x0000068A, 0x0000 },
1007 { 0x0000068B, 0x0080 },
1008 { 0x0000068C, 0x0000 },
1009 { 0x0000068D, 0x0080 },
1010 { 0x0000068E, 0x0000 },
1011 { 0x0000068F, 0x0080 },
1012 { 0x00000690, 0x0000 },
1013 { 0x00000691, 0x0080 },
1014 { 0x00000692, 0x0000 },
1015 { 0x00000693, 0x0080 },
1016 { 0x00000694, 0x0000 },
1017 { 0x00000695, 0x0080 },
1018 { 0x00000696, 0x0000 },
1019 { 0x00000697, 0x0080 },
1020 { 0x00000698, 0x0000 },
1021 { 0x00000699, 0x0080 },
1022 { 0x0000069A, 0x0000 },
1023 { 0x0000069B, 0x0080 },
1024 { 0x0000069C, 0x0000 },
1025 { 0x0000069D, 0x0080 },
1026 { 0x0000069E, 0x0000 },
1027 { 0x0000069F, 0x0080 },
1028 { 0x000006A0, 0x0000 },
1029 { 0x000006A1, 0x0080 },
1030 { 0x000006A2, 0x0000 },
1031 { 0x000006A3, 0x0080 },
1032 { 0x000006A4, 0x0000 },
1033 { 0x000006A5, 0x0080 },
1034 { 0x000006A6, 0x0000 },
1035 { 0x000006A7, 0x0080 },
1036 { 0x000006B0, 0x0000 },
1037 { 0x000006B1, 0x0080 },
1038 { 0x000006B2, 0x0000 },
1039 { 0x000006B3, 0x0080 },
1040 { 0x000006B4, 0x0000 },
1041 { 0x000006B5, 0x0080 },
1042 { 0x000006B6, 0x0000 },
1043 { 0x000006B7, 0x0080 },
1044 { 0x000006B8, 0x0000 },
1045 { 0x000006B9, 0x0080 },
1046 { 0x000006BA, 0x0000 },
1047 { 0x000006BB, 0x0080 },
1048 { 0x000006BC, 0x0000 },
1049 { 0x000006BD, 0x0080 },
1050 { 0x000006BE, 0x0000 },
1051 { 0x000006BF, 0x0080 },
1052 { 0x000006C0, 0x0000 },
1053 { 0x000006C1, 0x0080 },
1054 { 0x000006C2, 0x0000 },
1055 { 0x000006C3, 0x0080 },
1056 { 0x000006C4, 0x0000 },
1057 { 0x000006C5, 0x0080 },
1058 { 0x000006C6, 0x0000 },
1059 { 0x000006C7, 0x0080 },
1060 { 0x000006C8, 0x0000 },
1061 { 0x000006C9, 0x0080 },
1062 { 0x000006CA, 0x0000 },
1063 { 0x000006CB, 0x0080 },
1064 { 0x000006CC, 0x0000 },
1065 { 0x000006CD, 0x0080 },
1066 { 0x000006CE, 0x0000 },
1067 { 0x000006CF, 0x0080 },
1068 { 0x00000700, 0x0000 },
1069 { 0x00000701, 0x0080 },
1070 { 0x00000702, 0x0000 },
1071 { 0x00000703, 0x0080 },
1072 { 0x00000704, 0x0000 },
1073 { 0x00000705, 0x0080 },
1074 { 0x00000706, 0x0000 },
1075 { 0x00000707, 0x0080 },
1076 { 0x00000708, 0x0000 },
1077 { 0x00000709, 0x0080 },
1078 { 0x0000070A, 0x0000 },
1079 { 0x0000070B, 0x0080 },
1080 { 0x0000070C, 0x0000 },
1081 { 0x0000070D, 0x0080 },
1082 { 0x0000070E, 0x0000 },
1083 { 0x0000070F, 0x0080 },
1084 { 0x00000710, 0x0000 },
1085 { 0x00000711, 0x0080 },
1086 { 0x00000712, 0x0000 },
1087 { 0x00000713, 0x0080 },
1088 { 0x00000714, 0x0000 },
1089 { 0x00000715, 0x0080 },
1090 { 0x00000716, 0x0000 },
1091 { 0x00000717, 0x0080 },
1092 { 0x00000718, 0x0000 },
1093 { 0x00000719, 0x0080 },
1094 { 0x0000071A, 0x0000 },
1095 { 0x0000071B, 0x0080 },
1096 { 0x0000071C, 0x0000 },
1097 { 0x0000071D, 0x0080 },
1098 { 0x0000071E, 0x0000 },
1099 { 0x0000071F, 0x0080 },
1100 { 0x00000720, 0x0000 },
1101 { 0x00000721, 0x0080 },
1102 { 0x00000722, 0x0000 },
1103 { 0x00000723, 0x0080 },
1104 { 0x00000724, 0x0000 },
1105 { 0x00000725, 0x0080 },
1106 { 0x00000726, 0x0000 },
1107 { 0x00000727, 0x0080 },
1108 { 0x00000728, 0x0000 },
1109 { 0x00000729, 0x0080 },
1110 { 0x0000072A, 0x0000 },
1111 { 0x0000072B, 0x0080 },
1112 { 0x0000072C, 0x0000 },
1113 { 0x0000072D, 0x0080 },
1114 { 0x0000072E, 0x0000 },
1115 { 0x0000072F, 0x0080 },
1116 { 0x00000730, 0x0000 },
1117 { 0x00000731, 0x0080 },
1118 { 0x00000732, 0x0000 },
1119 { 0x00000733, 0x0080 },
1120 { 0x00000734, 0x0000 },
1121 { 0x00000735, 0x0080 },
1122 { 0x00000736, 0x0000 },
1123 { 0x00000737, 0x0080 },
1124 { 0x00000738, 0x0000 },
1125 { 0x00000739, 0x0080 },
1126 { 0x0000073A, 0x0000 },
1127 { 0x0000073B, 0x0080 },
1128 { 0x0000073C, 0x0000 },
1129 { 0x0000073D, 0x0080 },
1130 { 0x0000073E, 0x0000 },
1131 { 0x0000073F, 0x0080 },
1132 { 0x00000740, 0x0000 },
1133 { 0x00000741, 0x0080 },
1134 { 0x00000742, 0x0000 },
1135 { 0x00000743, 0x0080 },
1136 { 0x00000744, 0x0000 },
1137 { 0x00000745, 0x0080 },
1138 { 0x00000746, 0x0000 },
1139 { 0x00000747, 0x0080 },
1140 { 0x00000748, 0x0000 },
1141 { 0x00000749, 0x0080 },
1142 { 0x0000074A, 0x0000 },
1143 { 0x0000074B, 0x0080 },
1144 { 0x0000074C, 0x0000 },
1145 { 0x0000074D, 0x0080 },
1146 { 0x0000074E, 0x0000 },
1147 { 0x0000074F, 0x0080 },
1148 { 0x00000780, 0x0000 },
1149 { 0x00000781, 0x0080 },
1150 { 0x00000782, 0x0000 },
1151 { 0x00000783, 0x0080 },
1152 { 0x00000784, 0x0000 },
1153 { 0x00000785, 0x0080 },
1154 { 0x00000786, 0x0000 },
1155 { 0x00000787, 0x0080 },
1156 { 0x00000788, 0x0000 },
1157 { 0x00000789, 0x0080 },
1158 { 0x0000078A, 0x0000 },
1159 { 0x0000078B, 0x0080 },
1160 { 0x0000078C, 0x0000 },
1161 { 0x0000078D, 0x0080 },
1162 { 0x0000078E, 0x0000 },
1163 { 0x0000078F, 0x0080 },
1164 { 0x000007C0, 0x0000 },
1165 { 0x000007C1, 0x0080 },
1166 { 0x000007C2, 0x0000 },
1167 { 0x000007C3, 0x0080 },
1168 { 0x000007C4, 0x0000 },
1169 { 0x000007C5, 0x0080 },
1170 { 0x000007C6, 0x0000 },
1171 { 0x000007C7, 0x0080 },
1172 { 0x000007C8, 0x0000 },
1173 { 0x000007C9, 0x0080 },
1174 { 0x000007CA, 0x0000 },
1175 { 0x000007CB, 0x0080 },
1176 { 0x000007CC, 0x0000 },
1177 { 0x000007CD, 0x0080 },
1178 { 0x000007CE, 0x0000 },
1179 { 0x000007CF, 0x0080 },
1180 { 0x000007D0, 0x0000 },
1181 { 0x000007D1, 0x0080 },
1182 { 0x000007D2, 0x0000 },
1183 { 0x000007D3, 0x0080 },
1184 { 0x000007D4, 0x0000 },
1185 { 0x000007D5, 0x0080 },
1186 { 0x000007D6, 0x0000 },
1187 { 0x000007D7, 0x0080 },
1188 { 0x000007D8, 0x0000 },
1189 { 0x000007D9, 0x0080 },
1190 { 0x000007DA, 0x0000 },
1191 { 0x000007DB, 0x0080 },
1192 { 0x000007DC, 0x0000 },
1193 { 0x000007DD, 0x0080 },
1194 { 0x000007DE, 0x0000 },
1195 { 0x000007DF, 0x0080 },
1196 { 0x000007E0, 0x0000 },
1197 { 0x000007E1, 0x0080 },
1198 { 0x000007E2, 0x0000 },
1199 { 0x000007E3, 0x0080 },
1200 { 0x000007E4, 0x0000 },
1201 { 0x000007E5, 0x0080 },
1202 { 0x000007E6, 0x0000 },
1203 { 0x000007E7, 0x0080 },
1204 { 0x000007E8, 0x0000 },
1205 { 0x000007E9, 0x0080 },
1206 { 0x000007EA, 0x0000 },
1207 { 0x000007EB, 0x0080 },
1208 { 0x000007EC, 0x0000 },
1209 { 0x000007ED, 0x0080 },
1210 { 0x000007EE, 0x0000 },
1211 { 0x000007EF, 0x0080 },
1212 { 0x000007F0, 0x0000 },
1213 { 0x000007F1, 0x0080 },
1214 { 0x000007F2, 0x0000 },
1215 { 0x000007F3, 0x0080 },
1216 { 0x000007F4, 0x0000 },
1217 { 0x000007F5, 0x0080 },
1218 { 0x000007F6, 0x0000 },
1219 { 0x000007F7, 0x0080 },
1220 { 0x000007F8, 0x0000 },
1221 { 0x000007F9, 0x0080 },
1222 { 0x000007FA, 0x0000 },
1223 { 0x000007FB, 0x0080 },
1224 { 0x000007FC, 0x0000 },
1225 { 0x000007FD, 0x0080 },
1226 { 0x000007FE, 0x0000 },
1227 { 0x000007FF, 0x0080 },
1228 { 0x00000880, 0x0000 },
1229 { 0x00000881, 0x0080 },
1230 { 0x00000882, 0x0000 },
1231 { 0x00000883, 0x0080 },
1232 { 0x00000884, 0x0000 },
1233 { 0x00000885, 0x0080 },
1234 { 0x00000886, 0x0000 },
1235 { 0x00000887, 0x0080 },
1236 { 0x00000888, 0x0000 },
1237 { 0x00000889, 0x0080 },
1238 { 0x0000088A, 0x0000 },
1239 { 0x0000088B, 0x0080 },
1240 { 0x0000088C, 0x0000 },
1241 { 0x0000088D, 0x0080 },
1242 { 0x0000088E, 0x0000 },
1243 { 0x0000088F, 0x0080 },
1244 { 0x00000890, 0x0000 },
1245 { 0x00000891, 0x0080 },
1246 { 0x00000892, 0x0000 },
1247 { 0x00000893, 0x0080 },
1248 { 0x00000894, 0x0000 },
1249 { 0x00000895, 0x0080 },
1250 { 0x00000896, 0x0000 },
1251 { 0x00000897, 0x0080 },
1252 { 0x00000898, 0x0000 },
1253 { 0x00000899, 0x0080 },
1254 { 0x0000089A, 0x0000 },
1255 { 0x0000089B, 0x0080 },
1256 { 0x0000089C, 0x0000 },
1257 { 0x0000089D, 0x0080 },
1258 { 0x0000089E, 0x0000 },
1259 { 0x0000089F, 0x0080 },
1260 { 0x000008C0, 0x0000 },
1261 { 0x000008C1, 0x0080 },
1262 { 0x000008C2, 0x0000 },
1263 { 0x000008C3, 0x0080 },
1264 { 0x000008C4, 0x0000 },
1265 { 0x000008C5, 0x0080 },
1266 { 0x000008C6, 0x0000 },
1267 { 0x000008C7, 0x0080 },
1268 { 0x000008C8, 0x0000 },
1269 { 0x000008C9, 0x0080 },
1270 { 0x000008CA, 0x0000 },
1271 { 0x000008CB, 0x0080 },
1272 { 0x000008CC, 0x0000 },
1273 { 0x000008CD, 0x0080 },
1274 { 0x000008CE, 0x0000 },
1275 { 0x000008CF, 0x0080 },
1276 { 0x000008D0, 0x0000 },
1277 { 0x000008D1, 0x0080 },
1278 { 0x000008D2, 0x0000 },
1279 { 0x000008D3, 0x0080 },
1280 { 0x000008D4, 0x0000 },
1281 { 0x000008D5, 0x0080 },
1282 { 0x000008D6, 0x0000 },
1283 { 0x000008D7, 0x0080 },
1284 { 0x000008D8, 0x0000 },
1285 { 0x000008D9, 0x0080 },
1286 { 0x000008DA, 0x0000 },
1287 { 0x000008DB, 0x0080 },
1288 { 0x000008DC, 0x0000 },
1289 { 0x000008DD, 0x0080 },
1290 { 0x000008DE, 0x0000 },
1291 { 0x000008DF, 0x0080 },
1292 { 0x00000900, 0x0000 },
1293 { 0x00000901, 0x0080 },
1294 { 0x00000902, 0x0000 },
1295 { 0x00000903, 0x0080 },
1296 { 0x00000904, 0x0000 },
1297 { 0x00000905, 0x0080 },
1298 { 0x00000906, 0x0000 },
1299 { 0x00000907, 0x0080 },
1300 { 0x00000908, 0x0000 },
1301 { 0x00000909, 0x0080 },
1302 { 0x0000090A, 0x0000 },
1303 { 0x0000090B, 0x0080 },
1304 { 0x0000090C, 0x0000 },
1305 { 0x0000090D, 0x0080 },
1306 { 0x0000090E, 0x0000 },
1307 { 0x0000090F, 0x0080 },
1308 { 0x00000910, 0x0000 },
1309 { 0x00000911, 0x0080 },
1310 { 0x00000912, 0x0000 },
1311 { 0x00000913, 0x0080 },
1312 { 0x00000914, 0x0000 },
1313 { 0x00000915, 0x0080 },
1314 { 0x00000916, 0x0000 },
1315 { 0x00000917, 0x0080 },
1316 { 0x00000918, 0x0000 },
1317 { 0x00000919, 0x0080 },
1318 { 0x0000091A, 0x0000 },
1319 { 0x0000091B, 0x0080 },
1320 { 0x0000091C, 0x0000 },
1321 { 0x0000091D, 0x0080 },
1322 { 0x0000091E, 0x0000 },
1323 { 0x0000091F, 0x0080 },
1324 { 0x00000940, 0x0000 },
1325 { 0x00000941, 0x0080 },
1326 { 0x00000942, 0x0000 },
1327 { 0x00000943, 0x0080 },
1328 { 0x00000944, 0x0000 },
1329 { 0x00000945, 0x0080 },
1330 { 0x00000946, 0x0000 },
1331 { 0x00000947, 0x0080 },
1332 { 0x00000948, 0x0000 },
1333 { 0x00000949, 0x0080 },
1334 { 0x0000094A, 0x0000 },
1335 { 0x0000094B, 0x0080 },
1336 { 0x0000094C, 0x0000 },
1337 { 0x0000094D, 0x0080 },
1338 { 0x0000094E, 0x0000 },
1339 { 0x0000094F, 0x0080 },
1340 { 0x00000950, 0x0000 },
1341 { 0x00000958, 0x0000 },
1342 { 0x00000960, 0x0000 },
1343 { 0x00000968, 0x0000 },
1344 { 0x00000970, 0x0000 },
1345 { 0x00000978, 0x0000 },
1346 { 0x00000A80, 0x0000 },
1347 { 0x00000A88, 0x0000 },
1348 { 0x00000A90, 0x0000 },
1349 { 0x00000A98, 0x0000 },
1350 { 0x00000B00, 0x0000 },
1351 { 0x00000B08, 0x0000 },
1352 { 0x00000B20, 0x0000 },
1353 { 0x00000B28, 0x0000 },
1354 { 0x00000B40, 0x0000 },
1355 { 0x00000B48, 0x0000 },
1356 { 0x00000B60, 0x0000 },
1357 { 0x00000B68, 0x0000 },
1358 { 0x00000C00, 0xA101 },
1359 { 0x00000C01, 0xA101 },
1360 { 0x00000C02, 0xA101 },
1361 { 0x00000C03, 0xA101 },
1362 { 0x00000C04, 0xA101 },
1363 { 0x00000C0F, 0x0400 },
1364 { 0x00000C10, 0x1000 },
1365 { 0x00000C20, 0x8002 },
1366 { 0x00000C21, 0x8001 },
1367 { 0x00000C22, 0x0000 },
1368 { 0x00000C23, 0x0000 },
1369 { 0x00000C24, 0x0000 },
1370 { 0x00000C25, 0x0000 },
1371 { 0x00000D08, 0xFFFF },
1372 { 0x00000D09, 0xFFFF },
1373 { 0x00000D0A, 0xFFFF },
1374 { 0x00000D0B, 0xFFFF },
1375 { 0x00000D0C, 0xFEFF },
1376 { 0x00000D0F, 0x0000 },
1377 { 0x00000D18, 0xFFFF },
1378 { 0x00000D19, 0xFFFF },
1379 { 0x00000D1A, 0xFFFF },
1380 { 0x00000D1B, 0xFFFF },
1381 { 0x00000D1C, 0xFFFF },
1382 { 0x00000D1F, 0x0000 },
1383 { 0x00000D41, 0x0000 },
1384 { 0x00000D53, 0xFFFF },
1385 { 0x00000D54, 0xFFFF },
1386 { 0x00000D56, 0x0000 },
1387 { 0x00000E00, 0x0000 },
1388 { 0x00000E01, 0x0000 },
1389 { 0x00000E10, 0x6318 },
1390 { 0x00000E11, 0x6300 },
1391 { 0x00000E12, 0x0FC8 },
1392 { 0x00000E13, 0x03FE },
1393 { 0x00000E14, 0x00E0 },
1394 { 0x00000E15, 0x1EC4 },
1395 { 0x00000E16, 0xF136 },
1396 { 0x00000E17, 0x0409 },
1397 { 0x00000E18, 0x04CC },
1398 { 0x00000E19, 0x1C9B },
1399 { 0x00000E1A, 0xF337 },
1400 { 0x00000E1B, 0x040B },
1401 { 0x00000E1C, 0x0CBB },
1402 { 0x00000E1D, 0x16F8 },
1403 { 0x00000E1E, 0xF7D9 },
1404 { 0x00000E1F, 0x040A },
1405 { 0x00000E20, 0x1F14 },
1406 { 0x00000E21, 0x058C },
1407 { 0x00000E22, 0x0563 },
1408 { 0x00000E23, 0x4000 },
1409 { 0x00000E24, 0x0B75 },
1410 { 0x00000E26, 0x6318 },
1411 { 0x00000E27, 0x6300 },
1412 { 0x00000E28, 0x0FC8 },
1413 { 0x00000E29, 0x03FE },
1414 { 0x00000E2A, 0x00E0 },
1415 { 0x00000E2B, 0x1EC4 },
1416 { 0x00000E2C, 0xF136 },
1417 { 0x00000E2D, 0x0409 },
1418 { 0x00000E2E, 0x04CC },
1419 { 0x00000E2F, 0x1C9B },
1420 { 0x00000E30, 0xF337 },
1421 { 0x00000E31, 0x040B },
1422 { 0x00000E32, 0x0CBB },
1423 { 0x00000E33, 0x16F8 },
1424 { 0x00000E34, 0xF7D9 },
1425 { 0x00000E35, 0x040A },
1426 { 0x00000E36, 0x1F14 },
1427 { 0x00000E37, 0x058C },
1428 { 0x00000E38, 0x0563 },
1429 { 0x00000E39, 0x4000 },
1430 { 0x00000E3A, 0x0B75 },
1431 { 0x00000E3C, 0x6318 },
1432 { 0x00000E3D, 0x6300 },
1433 { 0x00000E3E, 0x0FC8 },
1434 { 0x00000E3F, 0x03FE },
1435 { 0x00000E40, 0x00E0 },
1436 { 0x00000E41, 0x1EC4 },
1437 { 0x00000E42, 0xF136 },
1438 { 0x00000E43, 0x0409 },
1439 { 0x00000E44, 0x04CC },
1440 { 0x00000E45, 0x1C9B },
1441 { 0x00000E46, 0xF337 },
1442 { 0x00000E47, 0x040B },
1443 { 0x00000E48, 0x0CBB },
1444 { 0x00000E49, 0x16F8 },
1445 { 0x00000E4A, 0xF7D9 },
1446 { 0x00000E4B, 0x040A },
1447 { 0x00000E4C, 0x1F14 },
1448 { 0x00000E4D, 0x058C },
1449 { 0x00000E4E, 0x0563 },
1450 { 0x00000E4F, 0x4000 },
1451 { 0x00000E50, 0x0B75 },
1452 { 0x00000E52, 0x6318 },
1453 { 0x00000E53, 0x6300 },
1454 { 0x00000E54, 0x0FC8 },
1455 { 0x00000E55, 0x03FE },
1456 { 0x00000E56, 0x00E0 },
1457 { 0x00000E57, 0x1EC4 },
1458 { 0x00000E58, 0xF136 },
1459 { 0x00000E59, 0x0409 },
1460 { 0x00000E5A, 0x04CC },
1461 { 0x00000E5B, 0x1C9B },
1462 { 0x00000E5C, 0xF337 },
1463 { 0x00000E5D, 0x040B },
1464 { 0x00000E5E, 0x0CBB },
1465 { 0x00000E5F, 0x16F8 },
1466 { 0x00000E60, 0xF7D9 },
1467 { 0x00000E61, 0x040A },
1468 { 0x00000E62, 0x1F14 },
1469 { 0x00000E63, 0x058C },
1470 { 0x00000E64, 0x0563 },
1471 { 0x00000E65, 0x4000 },
1472 { 0x00000E66, 0x0B75 },
1473 { 0x00000E80, 0x0018 },
1474 { 0x00000E81, 0x0933 },
1475 { 0x00000E82, 0x0018 },
1476 { 0x00000E83, 0x0000 },
1477 { 0x00000E84, 0x0000 },
1478 { 0x00000E89, 0x0018 },
1479 { 0x00000E8A, 0x0933 },
1480 { 0x00000E8B, 0x0018 },
1481 { 0x00000E8C, 0x0000 },
1482 { 0x00000E8D, 0x0000 },
1483 { 0x00000EC0, 0x0000 },
1484 { 0x00000EC1, 0x0000 },
1485 { 0x00000EC4, 0x0000 },
1486 { 0x00000EC5, 0x0000 },
1487 { 0x00000EC8, 0x0000 },
1488 { 0x00000EC9, 0x0000 },
1489 { 0x00000ECC, 0x0000 },
1490 { 0x00000ECD, 0x0000 },
1491 { 0x00000EE0, 0x0000 },
1492 { 0x00000EE2, 0x0000 },
1493 { 0x00000EE3, 0x4000 },
1494 { 0x00000EF0, 0x0000 },
1495 { 0x00000EF1, 0x0000 },
1496 { 0x00000EF2, 0x0000 },
1497 { 0x00000EF3, 0x0000 },
1498 { 0x00000EF4, 0x0000 },
1499 { 0x00000EF5, 0x0000 },
1500 { 0x00000EF6, 0x0000 },
1501 { 0x00000EF7, 0x0000 },
1502 { 0x00000EF8, 0x0000 },
1503 { 0x00001100, 0x0010 },
1504 { 0x00001101, 0x0000 },
1505};
1506
1507static bool wm5102_readable_register(struct device *dev, unsigned int reg)
1508{
1509 switch (reg) {
1510 case ARIZONA_SOFTWARE_RESET:
1511 case ARIZONA_DEVICE_REVISION:
1512 case ARIZONA_CTRL_IF_SPI_CFG_1:
1513 case ARIZONA_CTRL_IF_I2C1_CFG_1:
1514 case ARIZONA_CTRL_IF_STATUS_1:
1515 case ARIZONA_WRITE_SEQUENCER_CTRL_0:
1516 case ARIZONA_WRITE_SEQUENCER_CTRL_1:
1517 case ARIZONA_WRITE_SEQUENCER_CTRL_2:
1518 case ARIZONA_WRITE_SEQUENCER_PROM:
1519 case ARIZONA_TONE_GENERATOR_1:
1520 case ARIZONA_TONE_GENERATOR_2:
1521 case ARIZONA_TONE_GENERATOR_3:
1522 case ARIZONA_TONE_GENERATOR_4:
1523 case ARIZONA_TONE_GENERATOR_5:
1524 case ARIZONA_PWM_DRIVE_1:
1525 case ARIZONA_PWM_DRIVE_2:
1526 case ARIZONA_PWM_DRIVE_3:
1527 case ARIZONA_WAKE_CONTROL:
1528 case ARIZONA_SEQUENCE_CONTROL:
1529 case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_1:
1530 case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_2:
1531 case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_3:
1532 case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_4:
1533 case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_1:
1534 case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_2:
1535 case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_3:
1536 case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_4:
1537 case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_5:
1538 case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_6:
1539 case ARIZONA_COMFORT_NOISE_GENERATOR:
1540 case ARIZONA_HAPTICS_CONTROL_1:
1541 case ARIZONA_HAPTICS_CONTROL_2:
1542 case ARIZONA_HAPTICS_PHASE_1_INTENSITY:
1543 case ARIZONA_HAPTICS_PHASE_1_DURATION:
1544 case ARIZONA_HAPTICS_PHASE_2_INTENSITY:
1545 case ARIZONA_HAPTICS_PHASE_2_DURATION:
1546 case ARIZONA_HAPTICS_PHASE_3_INTENSITY:
1547 case ARIZONA_HAPTICS_PHASE_3_DURATION:
1548 case ARIZONA_HAPTICS_STATUS:
1549 case ARIZONA_CLOCK_32K_1:
1550 case ARIZONA_SYSTEM_CLOCK_1:
1551 case ARIZONA_SAMPLE_RATE_1:
1552 case ARIZONA_SAMPLE_RATE_2:
1553 case ARIZONA_SAMPLE_RATE_3:
1554 case ARIZONA_SAMPLE_RATE_1_STATUS:
1555 case ARIZONA_SAMPLE_RATE_2_STATUS:
1556 case ARIZONA_SAMPLE_RATE_3_STATUS:
1557 case ARIZONA_ASYNC_CLOCK_1:
1558 case ARIZONA_ASYNC_SAMPLE_RATE_1:
1559 case ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS:
1560 case ARIZONA_OUTPUT_SYSTEM_CLOCK:
1561 case ARIZONA_OUTPUT_ASYNC_CLOCK:
1562 case ARIZONA_RATE_ESTIMATOR_1:
1563 case ARIZONA_RATE_ESTIMATOR_2:
1564 case ARIZONA_RATE_ESTIMATOR_3:
1565 case ARIZONA_RATE_ESTIMATOR_4:
1566 case ARIZONA_RATE_ESTIMATOR_5:
1567 case ARIZONA_FLL1_CONTROL_1:
1568 case ARIZONA_FLL1_CONTROL_2:
1569 case ARIZONA_FLL1_CONTROL_3:
1570 case ARIZONA_FLL1_CONTROL_4:
1571 case ARIZONA_FLL1_CONTROL_5:
1572 case ARIZONA_FLL1_CONTROL_6:
1573 case ARIZONA_FLL1_LOOP_FILTER_TEST_1:
1574 case ARIZONA_FLL1_SYNCHRONISER_1:
1575 case ARIZONA_FLL1_SYNCHRONISER_2:
1576 case ARIZONA_FLL1_SYNCHRONISER_3:
1577 case ARIZONA_FLL1_SYNCHRONISER_4:
1578 case ARIZONA_FLL1_SYNCHRONISER_5:
1579 case ARIZONA_FLL1_SYNCHRONISER_6:
1580 case ARIZONA_FLL1_SPREAD_SPECTRUM:
1581 case ARIZONA_FLL1_GPIO_CLOCK:
1582 case ARIZONA_FLL2_CONTROL_1:
1583 case ARIZONA_FLL2_CONTROL_2:
1584 case ARIZONA_FLL2_CONTROL_3:
1585 case ARIZONA_FLL2_CONTROL_4:
1586 case ARIZONA_FLL2_CONTROL_5:
1587 case ARIZONA_FLL2_CONTROL_6:
1588 case ARIZONA_FLL2_LOOP_FILTER_TEST_1:
1589 case ARIZONA_FLL2_SYNCHRONISER_1:
1590 case ARIZONA_FLL2_SYNCHRONISER_2:
1591 case ARIZONA_FLL2_SYNCHRONISER_3:
1592 case ARIZONA_FLL2_SYNCHRONISER_4:
1593 case ARIZONA_FLL2_SYNCHRONISER_5:
1594 case ARIZONA_FLL2_SYNCHRONISER_6:
1595 case ARIZONA_FLL2_SPREAD_SPECTRUM:
1596 case ARIZONA_FLL2_GPIO_CLOCK:
1597 case ARIZONA_MIC_CHARGE_PUMP_1:
1598 case ARIZONA_LDO1_CONTROL_1:
1599 case ARIZONA_LDO2_CONTROL_1:
1600 case ARIZONA_MIC_BIAS_CTRL_1:
1601 case ARIZONA_MIC_BIAS_CTRL_2:
1602 case ARIZONA_MIC_BIAS_CTRL_3:
1603 case ARIZONA_ACCESSORY_DETECT_MODE_1:
1604 case ARIZONA_HEADPHONE_DETECT_1:
1605 case ARIZONA_HEADPHONE_DETECT_2:
1606 case ARIZONA_MIC_DETECT_1:
1607 case ARIZONA_MIC_DETECT_2:
1608 case ARIZONA_MIC_DETECT_3:
1609 case ARIZONA_MIC_NOISE_MIX_CONTROL_1:
1610 case ARIZONA_ISOLATION_CONTROL:
1611 case ARIZONA_JACK_DETECT_ANALOGUE:
1612 case ARIZONA_INPUT_ENABLES:
1613 case ARIZONA_INPUT_RATE:
1614 case ARIZONA_INPUT_VOLUME_RAMP:
1615 case ARIZONA_IN1L_CONTROL:
1616 case ARIZONA_ADC_DIGITAL_VOLUME_1L:
1617 case ARIZONA_DMIC1L_CONTROL:
1618 case ARIZONA_IN1R_CONTROL:
1619 case ARIZONA_ADC_DIGITAL_VOLUME_1R:
1620 case ARIZONA_DMIC1R_CONTROL:
1621 case ARIZONA_IN2L_CONTROL:
1622 case ARIZONA_ADC_DIGITAL_VOLUME_2L:
1623 case ARIZONA_DMIC2L_CONTROL:
1624 case ARIZONA_IN2R_CONTROL:
1625 case ARIZONA_ADC_DIGITAL_VOLUME_2R:
1626 case ARIZONA_DMIC2R_CONTROL:
1627 case ARIZONA_IN3L_CONTROL:
1628 case ARIZONA_ADC_DIGITAL_VOLUME_3L:
1629 case ARIZONA_DMIC3L_CONTROL:
1630 case ARIZONA_IN3R_CONTROL:
1631 case ARIZONA_ADC_DIGITAL_VOLUME_3R:
1632 case ARIZONA_DMIC3R_CONTROL:
1633 case ARIZONA_OUTPUT_ENABLES_1:
1634 case ARIZONA_OUTPUT_STATUS_1:
1635 case ARIZONA_OUTPUT_RATE_1:
1636 case ARIZONA_OUTPUT_VOLUME_RAMP:
1637 case ARIZONA_OUTPUT_PATH_CONFIG_1L:
1638 case ARIZONA_DAC_DIGITAL_VOLUME_1L:
1639 case ARIZONA_DAC_VOLUME_LIMIT_1L:
1640 case ARIZONA_NOISE_GATE_SELECT_1L:
1641 case ARIZONA_OUTPUT_PATH_CONFIG_1R:
1642 case ARIZONA_DAC_DIGITAL_VOLUME_1R:
1643 case ARIZONA_DAC_VOLUME_LIMIT_1R:
1644 case ARIZONA_NOISE_GATE_SELECT_1R:
1645 case ARIZONA_OUTPUT_PATH_CONFIG_2L:
1646 case ARIZONA_DAC_DIGITAL_VOLUME_2L:
1647 case ARIZONA_DAC_VOLUME_LIMIT_2L:
1648 case ARIZONA_NOISE_GATE_SELECT_2L:
1649 case ARIZONA_OUTPUT_PATH_CONFIG_2R:
1650 case ARIZONA_DAC_DIGITAL_VOLUME_2R:
1651 case ARIZONA_DAC_VOLUME_LIMIT_2R:
1652 case ARIZONA_NOISE_GATE_SELECT_2R:
1653 case ARIZONA_OUTPUT_PATH_CONFIG_3L:
1654 case ARIZONA_DAC_DIGITAL_VOLUME_3L:
1655 case ARIZONA_DAC_VOLUME_LIMIT_3L:
1656 case ARIZONA_NOISE_GATE_SELECT_3L:
1657 case ARIZONA_OUTPUT_PATH_CONFIG_3R:
1658 case ARIZONA_DAC_DIGITAL_VOLUME_3R:
1659 case ARIZONA_DAC_VOLUME_LIMIT_3R:
1660 case ARIZONA_OUTPUT_PATH_CONFIG_4L:
1661 case ARIZONA_DAC_DIGITAL_VOLUME_4L:
1662 case ARIZONA_OUT_VOLUME_4L:
1663 case ARIZONA_NOISE_GATE_SELECT_4L:
1664 case ARIZONA_OUTPUT_PATH_CONFIG_4R:
1665 case ARIZONA_DAC_DIGITAL_VOLUME_4R:
1666 case ARIZONA_OUT_VOLUME_4R:
1667 case ARIZONA_NOISE_GATE_SELECT_4R:
1668 case ARIZONA_OUTPUT_PATH_CONFIG_5L:
1669 case ARIZONA_DAC_DIGITAL_VOLUME_5L:
1670 case ARIZONA_DAC_VOLUME_LIMIT_5L:
1671 case ARIZONA_NOISE_GATE_SELECT_5L:
1672 case ARIZONA_OUTPUT_PATH_CONFIG_5R:
1673 case ARIZONA_DAC_DIGITAL_VOLUME_5R:
1674 case ARIZONA_DAC_VOLUME_LIMIT_5R:
1675 case ARIZONA_NOISE_GATE_SELECT_5R:
1676 case ARIZONA_DAC_AEC_CONTROL_1:
1677 case ARIZONA_NOISE_GATE_CONTROL:
1678 case ARIZONA_PDM_SPK1_CTRL_1:
1679 case ARIZONA_PDM_SPK1_CTRL_2:
1680 case ARIZONA_DAC_COMP_1:
1681 case ARIZONA_DAC_COMP_2:
1682 case ARIZONA_DAC_COMP_3:
1683 case ARIZONA_DAC_COMP_4:
1684 case ARIZONA_AIF1_BCLK_CTRL:
1685 case ARIZONA_AIF1_TX_PIN_CTRL:
1686 case ARIZONA_AIF1_RX_PIN_CTRL:
1687 case ARIZONA_AIF1_RATE_CTRL:
1688 case ARIZONA_AIF1_FORMAT:
1689 case ARIZONA_AIF1_TX_BCLK_RATE:
1690 case ARIZONA_AIF1_RX_BCLK_RATE:
1691 case ARIZONA_AIF1_FRAME_CTRL_1:
1692 case ARIZONA_AIF1_FRAME_CTRL_2:
1693 case ARIZONA_AIF1_FRAME_CTRL_3:
1694 case ARIZONA_AIF1_FRAME_CTRL_4:
1695 case ARIZONA_AIF1_FRAME_CTRL_5:
1696 case ARIZONA_AIF1_FRAME_CTRL_6:
1697 case ARIZONA_AIF1_FRAME_CTRL_7:
1698 case ARIZONA_AIF1_FRAME_CTRL_8:
1699 case ARIZONA_AIF1_FRAME_CTRL_9:
1700 case ARIZONA_AIF1_FRAME_CTRL_10:
1701 case ARIZONA_AIF1_FRAME_CTRL_11:
1702 case ARIZONA_AIF1_FRAME_CTRL_12:
1703 case ARIZONA_AIF1_FRAME_CTRL_13:
1704 case ARIZONA_AIF1_FRAME_CTRL_14:
1705 case ARIZONA_AIF1_FRAME_CTRL_15:
1706 case ARIZONA_AIF1_FRAME_CTRL_16:
1707 case ARIZONA_AIF1_FRAME_CTRL_17:
1708 case ARIZONA_AIF1_FRAME_CTRL_18:
1709 case ARIZONA_AIF1_TX_ENABLES:
1710 case ARIZONA_AIF1_RX_ENABLES:
1711 case ARIZONA_AIF1_FORCE_WRITE:
1712 case ARIZONA_AIF2_BCLK_CTRL:
1713 case ARIZONA_AIF2_TX_PIN_CTRL:
1714 case ARIZONA_AIF2_RX_PIN_CTRL:
1715 case ARIZONA_AIF2_RATE_CTRL:
1716 case ARIZONA_AIF2_FORMAT:
1717 case ARIZONA_AIF2_TX_BCLK_RATE:
1718 case ARIZONA_AIF2_RX_BCLK_RATE:
1719 case ARIZONA_AIF2_FRAME_CTRL_1:
1720 case ARIZONA_AIF2_FRAME_CTRL_2:
1721 case ARIZONA_AIF2_FRAME_CTRL_3:
1722 case ARIZONA_AIF2_FRAME_CTRL_4:
1723 case ARIZONA_AIF2_FRAME_CTRL_11:
1724 case ARIZONA_AIF2_FRAME_CTRL_12:
1725 case ARIZONA_AIF2_TX_ENABLES:
1726 case ARIZONA_AIF2_RX_ENABLES:
1727 case ARIZONA_AIF2_FORCE_WRITE:
1728 case ARIZONA_AIF3_BCLK_CTRL:
1729 case ARIZONA_AIF3_TX_PIN_CTRL:
1730 case ARIZONA_AIF3_RX_PIN_CTRL:
1731 case ARIZONA_AIF3_RATE_CTRL:
1732 case ARIZONA_AIF3_FORMAT:
1733 case ARIZONA_AIF3_TX_BCLK_RATE:
1734 case ARIZONA_AIF3_RX_BCLK_RATE:
1735 case ARIZONA_AIF3_FRAME_CTRL_1:
1736 case ARIZONA_AIF3_FRAME_CTRL_2:
1737 case ARIZONA_AIF3_FRAME_CTRL_3:
1738 case ARIZONA_AIF3_FRAME_CTRL_4:
1739 case ARIZONA_AIF3_FRAME_CTRL_11:
1740 case ARIZONA_AIF3_FRAME_CTRL_12:
1741 case ARIZONA_AIF3_TX_ENABLES:
1742 case ARIZONA_AIF3_RX_ENABLES:
1743 case ARIZONA_AIF3_FORCE_WRITE:
1744 case ARIZONA_SLIMBUS_FRAMER_REF_GEAR:
1745 case ARIZONA_SLIMBUS_RATES_1:
1746 case ARIZONA_SLIMBUS_RATES_2:
1747 case ARIZONA_SLIMBUS_RATES_3:
1748 case ARIZONA_SLIMBUS_RATES_4:
1749 case ARIZONA_SLIMBUS_RATES_5:
1750 case ARIZONA_SLIMBUS_RATES_6:
1751 case ARIZONA_SLIMBUS_RATES_7:
1752 case ARIZONA_SLIMBUS_RATES_8:
1753 case ARIZONA_SLIMBUS_RX_CHANNEL_ENABLE:
1754 case ARIZONA_SLIMBUS_TX_CHANNEL_ENABLE:
1755 case ARIZONA_SLIMBUS_RX_PORT_STATUS:
1756 case ARIZONA_SLIMBUS_TX_PORT_STATUS:
1757 case ARIZONA_PWM1MIX_INPUT_1_SOURCE:
1758 case ARIZONA_PWM1MIX_INPUT_1_VOLUME:
1759 case ARIZONA_PWM1MIX_INPUT_2_SOURCE:
1760 case ARIZONA_PWM1MIX_INPUT_2_VOLUME:
1761 case ARIZONA_PWM1MIX_INPUT_3_SOURCE:
1762 case ARIZONA_PWM1MIX_INPUT_3_VOLUME:
1763 case ARIZONA_PWM1MIX_INPUT_4_SOURCE:
1764 case ARIZONA_PWM1MIX_INPUT_4_VOLUME:
1765 case ARIZONA_PWM2MIX_INPUT_1_SOURCE:
1766 case ARIZONA_PWM2MIX_INPUT_1_VOLUME:
1767 case ARIZONA_PWM2MIX_INPUT_2_SOURCE:
1768 case ARIZONA_PWM2MIX_INPUT_2_VOLUME:
1769 case ARIZONA_PWM2MIX_INPUT_3_SOURCE:
1770 case ARIZONA_PWM2MIX_INPUT_3_VOLUME:
1771 case ARIZONA_PWM2MIX_INPUT_4_SOURCE:
1772 case ARIZONA_PWM2MIX_INPUT_4_VOLUME:
1773 case ARIZONA_MICMIX_INPUT_1_SOURCE:
1774 case ARIZONA_MICMIX_INPUT_1_VOLUME:
1775 case ARIZONA_MICMIX_INPUT_2_SOURCE:
1776 case ARIZONA_MICMIX_INPUT_2_VOLUME:
1777 case ARIZONA_MICMIX_INPUT_3_SOURCE:
1778 case ARIZONA_MICMIX_INPUT_3_VOLUME:
1779 case ARIZONA_MICMIX_INPUT_4_SOURCE:
1780 case ARIZONA_MICMIX_INPUT_4_VOLUME:
1781 case ARIZONA_NOISEMIX_INPUT_1_SOURCE:
1782 case ARIZONA_NOISEMIX_INPUT_1_VOLUME:
1783 case ARIZONA_NOISEMIX_INPUT_2_SOURCE:
1784 case ARIZONA_NOISEMIX_INPUT_2_VOLUME:
1785 case ARIZONA_NOISEMIX_INPUT_3_SOURCE:
1786 case ARIZONA_NOISEMIX_INPUT_3_VOLUME:
1787 case ARIZONA_NOISEMIX_INPUT_4_SOURCE:
1788 case ARIZONA_NOISEMIX_INPUT_4_VOLUME:
1789 case ARIZONA_OUT1LMIX_INPUT_1_SOURCE:
1790 case ARIZONA_OUT1LMIX_INPUT_1_VOLUME:
1791 case ARIZONA_OUT1LMIX_INPUT_2_SOURCE:
1792 case ARIZONA_OUT1LMIX_INPUT_2_VOLUME:
1793 case ARIZONA_OUT1LMIX_INPUT_3_SOURCE:
1794 case ARIZONA_OUT1LMIX_INPUT_3_VOLUME:
1795 case ARIZONA_OUT1LMIX_INPUT_4_SOURCE:
1796 case ARIZONA_OUT1LMIX_INPUT_4_VOLUME:
1797 case ARIZONA_OUT1RMIX_INPUT_1_SOURCE:
1798 case ARIZONA_OUT1RMIX_INPUT_1_VOLUME:
1799 case ARIZONA_OUT1RMIX_INPUT_2_SOURCE:
1800 case ARIZONA_OUT1RMIX_INPUT_2_VOLUME:
1801 case ARIZONA_OUT1RMIX_INPUT_3_SOURCE:
1802 case ARIZONA_OUT1RMIX_INPUT_3_VOLUME:
1803 case ARIZONA_OUT1RMIX_INPUT_4_SOURCE:
1804 case ARIZONA_OUT1RMIX_INPUT_4_VOLUME:
1805 case ARIZONA_OUT2LMIX_INPUT_1_SOURCE:
1806 case ARIZONA_OUT2LMIX_INPUT_1_VOLUME:
1807 case ARIZONA_OUT2LMIX_INPUT_2_SOURCE:
1808 case ARIZONA_OUT2LMIX_INPUT_2_VOLUME:
1809 case ARIZONA_OUT2LMIX_INPUT_3_SOURCE:
1810 case ARIZONA_OUT2LMIX_INPUT_3_VOLUME:
1811 case ARIZONA_OUT2LMIX_INPUT_4_SOURCE:
1812 case ARIZONA_OUT2LMIX_INPUT_4_VOLUME:
1813 case ARIZONA_OUT2RMIX_INPUT_1_SOURCE:
1814 case ARIZONA_OUT2RMIX_INPUT_1_VOLUME:
1815 case ARIZONA_OUT2RMIX_INPUT_2_SOURCE:
1816 case ARIZONA_OUT2RMIX_INPUT_2_VOLUME:
1817 case ARIZONA_OUT2RMIX_INPUT_3_SOURCE:
1818 case ARIZONA_OUT2RMIX_INPUT_3_VOLUME:
1819 case ARIZONA_OUT2RMIX_INPUT_4_SOURCE:
1820 case ARIZONA_OUT2RMIX_INPUT_4_VOLUME:
1821 case ARIZONA_OUT3LMIX_INPUT_1_SOURCE:
1822 case ARIZONA_OUT3LMIX_INPUT_1_VOLUME:
1823 case ARIZONA_OUT3LMIX_INPUT_2_SOURCE:
1824 case ARIZONA_OUT3LMIX_INPUT_2_VOLUME:
1825 case ARIZONA_OUT3LMIX_INPUT_3_SOURCE:
1826 case ARIZONA_OUT3LMIX_INPUT_3_VOLUME:
1827 case ARIZONA_OUT3LMIX_INPUT_4_SOURCE:
1828 case ARIZONA_OUT3LMIX_INPUT_4_VOLUME:
1829 case ARIZONA_OUT4LMIX_INPUT_1_SOURCE:
1830 case ARIZONA_OUT4LMIX_INPUT_1_VOLUME:
1831 case ARIZONA_OUT4LMIX_INPUT_2_SOURCE:
1832 case ARIZONA_OUT4LMIX_INPUT_2_VOLUME:
1833 case ARIZONA_OUT4LMIX_INPUT_3_SOURCE:
1834 case ARIZONA_OUT4LMIX_INPUT_3_VOLUME:
1835 case ARIZONA_OUT4LMIX_INPUT_4_SOURCE:
1836 case ARIZONA_OUT4LMIX_INPUT_4_VOLUME:
1837 case ARIZONA_OUT4RMIX_INPUT_1_SOURCE:
1838 case ARIZONA_OUT4RMIX_INPUT_1_VOLUME:
1839 case ARIZONA_OUT4RMIX_INPUT_2_SOURCE:
1840 case ARIZONA_OUT4RMIX_INPUT_2_VOLUME:
1841 case ARIZONA_OUT4RMIX_INPUT_3_SOURCE:
1842 case ARIZONA_OUT4RMIX_INPUT_3_VOLUME:
1843 case ARIZONA_OUT4RMIX_INPUT_4_SOURCE:
1844 case ARIZONA_OUT4RMIX_INPUT_4_VOLUME:
1845 case ARIZONA_OUT5LMIX_INPUT_1_SOURCE:
1846 case ARIZONA_OUT5LMIX_INPUT_1_VOLUME:
1847 case ARIZONA_OUT5LMIX_INPUT_2_SOURCE:
1848 case ARIZONA_OUT5LMIX_INPUT_2_VOLUME:
1849 case ARIZONA_OUT5LMIX_INPUT_3_SOURCE:
1850 case ARIZONA_OUT5LMIX_INPUT_3_VOLUME:
1851 case ARIZONA_OUT5LMIX_INPUT_4_SOURCE:
1852 case ARIZONA_OUT5LMIX_INPUT_4_VOLUME:
1853 case ARIZONA_OUT5RMIX_INPUT_1_SOURCE:
1854 case ARIZONA_OUT5RMIX_INPUT_1_VOLUME:
1855 case ARIZONA_OUT5RMIX_INPUT_2_SOURCE:
1856 case ARIZONA_OUT5RMIX_INPUT_2_VOLUME:
1857 case ARIZONA_OUT5RMIX_INPUT_3_SOURCE:
1858 case ARIZONA_OUT5RMIX_INPUT_3_VOLUME:
1859 case ARIZONA_OUT5RMIX_INPUT_4_SOURCE:
1860 case ARIZONA_OUT5RMIX_INPUT_4_VOLUME:
1861 case ARIZONA_AIF1TX1MIX_INPUT_1_SOURCE:
1862 case ARIZONA_AIF1TX1MIX_INPUT_1_VOLUME:
1863 case ARIZONA_AIF1TX1MIX_INPUT_2_SOURCE:
1864 case ARIZONA_AIF1TX1MIX_INPUT_2_VOLUME:
1865 case ARIZONA_AIF1TX1MIX_INPUT_3_SOURCE:
1866 case ARIZONA_AIF1TX1MIX_INPUT_3_VOLUME:
1867 case ARIZONA_AIF1TX1MIX_INPUT_4_SOURCE:
1868 case ARIZONA_AIF1TX1MIX_INPUT_4_VOLUME:
1869 case ARIZONA_AIF1TX2MIX_INPUT_1_SOURCE:
1870 case ARIZONA_AIF1TX2MIX_INPUT_1_VOLUME:
1871 case ARIZONA_AIF1TX2MIX_INPUT_2_SOURCE:
1872 case ARIZONA_AIF1TX2MIX_INPUT_2_VOLUME:
1873 case ARIZONA_AIF1TX2MIX_INPUT_3_SOURCE:
1874 case ARIZONA_AIF1TX2MIX_INPUT_3_VOLUME:
1875 case ARIZONA_AIF1TX2MIX_INPUT_4_SOURCE:
1876 case ARIZONA_AIF1TX2MIX_INPUT_4_VOLUME:
1877 case ARIZONA_AIF1TX3MIX_INPUT_1_SOURCE:
1878 case ARIZONA_AIF1TX3MIX_INPUT_1_VOLUME:
1879 case ARIZONA_AIF1TX3MIX_INPUT_2_SOURCE:
1880 case ARIZONA_AIF1TX3MIX_INPUT_2_VOLUME:
1881 case ARIZONA_AIF1TX3MIX_INPUT_3_SOURCE:
1882 case ARIZONA_AIF1TX3MIX_INPUT_3_VOLUME:
1883 case ARIZONA_AIF1TX3MIX_INPUT_4_SOURCE:
1884 case ARIZONA_AIF1TX3MIX_INPUT_4_VOLUME:
1885 case ARIZONA_AIF1TX4MIX_INPUT_1_SOURCE:
1886 case ARIZONA_AIF1TX4MIX_INPUT_1_VOLUME:
1887 case ARIZONA_AIF1TX4MIX_INPUT_2_SOURCE:
1888 case ARIZONA_AIF1TX4MIX_INPUT_2_VOLUME:
1889 case ARIZONA_AIF1TX4MIX_INPUT_3_SOURCE:
1890 case ARIZONA_AIF1TX4MIX_INPUT_3_VOLUME:
1891 case ARIZONA_AIF1TX4MIX_INPUT_4_SOURCE:
1892 case ARIZONA_AIF1TX4MIX_INPUT_4_VOLUME:
1893 case ARIZONA_AIF1TX5MIX_INPUT_1_SOURCE:
1894 case ARIZONA_AIF1TX5MIX_INPUT_1_VOLUME:
1895 case ARIZONA_AIF1TX5MIX_INPUT_2_SOURCE:
1896 case ARIZONA_AIF1TX5MIX_INPUT_2_VOLUME:
1897 case ARIZONA_AIF1TX5MIX_INPUT_3_SOURCE:
1898 case ARIZONA_AIF1TX5MIX_INPUT_3_VOLUME:
1899 case ARIZONA_AIF1TX5MIX_INPUT_4_SOURCE:
1900 case ARIZONA_AIF1TX5MIX_INPUT_4_VOLUME:
1901 case ARIZONA_AIF1TX6MIX_INPUT_1_SOURCE:
1902 case ARIZONA_AIF1TX6MIX_INPUT_1_VOLUME:
1903 case ARIZONA_AIF1TX6MIX_INPUT_2_SOURCE:
1904 case ARIZONA_AIF1TX6MIX_INPUT_2_VOLUME:
1905 case ARIZONA_AIF1TX6MIX_INPUT_3_SOURCE:
1906 case ARIZONA_AIF1TX6MIX_INPUT_3_VOLUME:
1907 case ARIZONA_AIF1TX6MIX_INPUT_4_SOURCE:
1908 case ARIZONA_AIF1TX6MIX_INPUT_4_VOLUME:
1909 case ARIZONA_AIF1TX7MIX_INPUT_1_SOURCE:
1910 case ARIZONA_AIF1TX7MIX_INPUT_1_VOLUME:
1911 case ARIZONA_AIF1TX7MIX_INPUT_2_SOURCE:
1912 case ARIZONA_AIF1TX7MIX_INPUT_2_VOLUME:
1913 case ARIZONA_AIF1TX7MIX_INPUT_3_SOURCE:
1914 case ARIZONA_AIF1TX7MIX_INPUT_3_VOLUME:
1915 case ARIZONA_AIF1TX7MIX_INPUT_4_SOURCE:
1916 case ARIZONA_AIF1TX7MIX_INPUT_4_VOLUME:
1917 case ARIZONA_AIF1TX8MIX_INPUT_1_SOURCE:
1918 case ARIZONA_AIF1TX8MIX_INPUT_1_VOLUME:
1919 case ARIZONA_AIF1TX8MIX_INPUT_2_SOURCE:
1920 case ARIZONA_AIF1TX8MIX_INPUT_2_VOLUME:
1921 case ARIZONA_AIF1TX8MIX_INPUT_3_SOURCE:
1922 case ARIZONA_AIF1TX8MIX_INPUT_3_VOLUME:
1923 case ARIZONA_AIF1TX8MIX_INPUT_4_SOURCE:
1924 case ARIZONA_AIF1TX8MIX_INPUT_4_VOLUME:
1925 case ARIZONA_AIF2TX1MIX_INPUT_1_SOURCE:
1926 case ARIZONA_AIF2TX1MIX_INPUT_1_VOLUME:
1927 case ARIZONA_AIF2TX1MIX_INPUT_2_SOURCE:
1928 case ARIZONA_AIF2TX1MIX_INPUT_2_VOLUME:
1929 case ARIZONA_AIF2TX1MIX_INPUT_3_SOURCE:
1930 case ARIZONA_AIF2TX1MIX_INPUT_3_VOLUME:
1931 case ARIZONA_AIF2TX1MIX_INPUT_4_SOURCE:
1932 case ARIZONA_AIF2TX1MIX_INPUT_4_VOLUME:
1933 case ARIZONA_AIF2TX2MIX_INPUT_1_SOURCE:
1934 case ARIZONA_AIF2TX2MIX_INPUT_1_VOLUME:
1935 case ARIZONA_AIF2TX2MIX_INPUT_2_SOURCE:
1936 case ARIZONA_AIF2TX2MIX_INPUT_2_VOLUME:
1937 case ARIZONA_AIF2TX2MIX_INPUT_3_SOURCE:
1938 case ARIZONA_AIF2TX2MIX_INPUT_3_VOLUME:
1939 case ARIZONA_AIF2TX2MIX_INPUT_4_SOURCE:
1940 case ARIZONA_AIF2TX2MIX_INPUT_4_VOLUME:
1941 case ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE:
1942 case ARIZONA_AIF3TX1MIX_INPUT_1_VOLUME:
1943 case ARIZONA_AIF3TX1MIX_INPUT_2_SOURCE:
1944 case ARIZONA_AIF3TX1MIX_INPUT_2_VOLUME:
1945 case ARIZONA_AIF3TX1MIX_INPUT_3_SOURCE:
1946 case ARIZONA_AIF3TX1MIX_INPUT_3_VOLUME:
1947 case ARIZONA_AIF3TX1MIX_INPUT_4_SOURCE:
1948 case ARIZONA_AIF3TX1MIX_INPUT_4_VOLUME:
1949 case ARIZONA_AIF3TX2MIX_INPUT_1_SOURCE:
1950 case ARIZONA_AIF3TX2MIX_INPUT_1_VOLUME:
1951 case ARIZONA_AIF3TX2MIX_INPUT_2_SOURCE:
1952 case ARIZONA_AIF3TX2MIX_INPUT_2_VOLUME:
1953 case ARIZONA_AIF3TX2MIX_INPUT_3_SOURCE:
1954 case ARIZONA_AIF3TX2MIX_INPUT_3_VOLUME:
1955 case ARIZONA_AIF3TX2MIX_INPUT_4_SOURCE:
1956 case ARIZONA_AIF3TX2MIX_INPUT_4_VOLUME:
1957 case ARIZONA_SLIMTX1MIX_INPUT_1_SOURCE:
1958 case ARIZONA_SLIMTX1MIX_INPUT_1_VOLUME:
1959 case ARIZONA_SLIMTX1MIX_INPUT_2_SOURCE:
1960 case ARIZONA_SLIMTX1MIX_INPUT_2_VOLUME:
1961 case ARIZONA_SLIMTX1MIX_INPUT_3_SOURCE:
1962 case ARIZONA_SLIMTX1MIX_INPUT_3_VOLUME:
1963 case ARIZONA_SLIMTX1MIX_INPUT_4_SOURCE:
1964 case ARIZONA_SLIMTX1MIX_INPUT_4_VOLUME:
1965 case ARIZONA_SLIMTX2MIX_INPUT_1_SOURCE:
1966 case ARIZONA_SLIMTX2MIX_INPUT_1_VOLUME:
1967 case ARIZONA_SLIMTX2MIX_INPUT_2_SOURCE:
1968 case ARIZONA_SLIMTX2MIX_INPUT_2_VOLUME:
1969 case ARIZONA_SLIMTX2MIX_INPUT_3_SOURCE:
1970 case ARIZONA_SLIMTX2MIX_INPUT_3_VOLUME:
1971 case ARIZONA_SLIMTX2MIX_INPUT_4_SOURCE:
1972 case ARIZONA_SLIMTX2MIX_INPUT_4_VOLUME:
1973 case ARIZONA_SLIMTX3MIX_INPUT_1_SOURCE:
1974 case ARIZONA_SLIMTX3MIX_INPUT_1_VOLUME:
1975 case ARIZONA_SLIMTX3MIX_INPUT_2_SOURCE:
1976 case ARIZONA_SLIMTX3MIX_INPUT_2_VOLUME:
1977 case ARIZONA_SLIMTX3MIX_INPUT_3_SOURCE:
1978 case ARIZONA_SLIMTX3MIX_INPUT_3_VOLUME:
1979 case ARIZONA_SLIMTX3MIX_INPUT_4_SOURCE:
1980 case ARIZONA_SLIMTX3MIX_INPUT_4_VOLUME:
1981 case ARIZONA_SLIMTX4MIX_INPUT_1_SOURCE:
1982 case ARIZONA_SLIMTX4MIX_INPUT_1_VOLUME:
1983 case ARIZONA_SLIMTX4MIX_INPUT_2_SOURCE:
1984 case ARIZONA_SLIMTX4MIX_INPUT_2_VOLUME:
1985 case ARIZONA_SLIMTX4MIX_INPUT_3_SOURCE:
1986 case ARIZONA_SLIMTX4MIX_INPUT_3_VOLUME:
1987 case ARIZONA_SLIMTX4MIX_INPUT_4_SOURCE:
1988 case ARIZONA_SLIMTX4MIX_INPUT_4_VOLUME:
1989 case ARIZONA_SLIMTX5MIX_INPUT_1_SOURCE:
1990 case ARIZONA_SLIMTX5MIX_INPUT_1_VOLUME:
1991 case ARIZONA_SLIMTX5MIX_INPUT_2_SOURCE:
1992 case ARIZONA_SLIMTX5MIX_INPUT_2_VOLUME:
1993 case ARIZONA_SLIMTX5MIX_INPUT_3_SOURCE:
1994 case ARIZONA_SLIMTX5MIX_INPUT_3_VOLUME:
1995 case ARIZONA_SLIMTX5MIX_INPUT_4_SOURCE:
1996 case ARIZONA_SLIMTX5MIX_INPUT_4_VOLUME:
1997 case ARIZONA_SLIMTX6MIX_INPUT_1_SOURCE:
1998 case ARIZONA_SLIMTX6MIX_INPUT_1_VOLUME:
1999 case ARIZONA_SLIMTX6MIX_INPUT_2_SOURCE:
2000 case ARIZONA_SLIMTX6MIX_INPUT_2_VOLUME:
2001 case ARIZONA_SLIMTX6MIX_INPUT_3_SOURCE:
2002 case ARIZONA_SLIMTX6MIX_INPUT_3_VOLUME:
2003 case ARIZONA_SLIMTX6MIX_INPUT_4_SOURCE:
2004 case ARIZONA_SLIMTX6MIX_INPUT_4_VOLUME:
2005 case ARIZONA_SLIMTX7MIX_INPUT_1_SOURCE:
2006 case ARIZONA_SLIMTX7MIX_INPUT_1_VOLUME:
2007 case ARIZONA_SLIMTX7MIX_INPUT_2_SOURCE:
2008 case ARIZONA_SLIMTX7MIX_INPUT_2_VOLUME:
2009 case ARIZONA_SLIMTX7MIX_INPUT_3_SOURCE:
2010 case ARIZONA_SLIMTX7MIX_INPUT_3_VOLUME:
2011 case ARIZONA_SLIMTX7MIX_INPUT_4_SOURCE:
2012 case ARIZONA_SLIMTX7MIX_INPUT_4_VOLUME:
2013 case ARIZONA_SLIMTX8MIX_INPUT_1_SOURCE:
2014 case ARIZONA_SLIMTX8MIX_INPUT_1_VOLUME:
2015 case ARIZONA_SLIMTX8MIX_INPUT_2_SOURCE:
2016 case ARIZONA_SLIMTX8MIX_INPUT_2_VOLUME:
2017 case ARIZONA_SLIMTX8MIX_INPUT_3_SOURCE:
2018 case ARIZONA_SLIMTX8MIX_INPUT_3_VOLUME:
2019 case ARIZONA_SLIMTX8MIX_INPUT_4_SOURCE:
2020 case ARIZONA_SLIMTX8MIX_INPUT_4_VOLUME:
2021 case ARIZONA_EQ1MIX_INPUT_1_SOURCE:
2022 case ARIZONA_EQ1MIX_INPUT_1_VOLUME:
2023 case ARIZONA_EQ1MIX_INPUT_2_SOURCE:
2024 case ARIZONA_EQ1MIX_INPUT_2_VOLUME:
2025 case ARIZONA_EQ1MIX_INPUT_3_SOURCE:
2026 case ARIZONA_EQ1MIX_INPUT_3_VOLUME:
2027 case ARIZONA_EQ1MIX_INPUT_4_SOURCE:
2028 case ARIZONA_EQ1MIX_INPUT_4_VOLUME:
2029 case ARIZONA_EQ2MIX_INPUT_1_SOURCE:
2030 case ARIZONA_EQ2MIX_INPUT_1_VOLUME:
2031 case ARIZONA_EQ2MIX_INPUT_2_SOURCE:
2032 case ARIZONA_EQ2MIX_INPUT_2_VOLUME:
2033 case ARIZONA_EQ2MIX_INPUT_3_SOURCE:
2034 case ARIZONA_EQ2MIX_INPUT_3_VOLUME:
2035 case ARIZONA_EQ2MIX_INPUT_4_SOURCE:
2036 case ARIZONA_EQ2MIX_INPUT_4_VOLUME:
2037 case ARIZONA_EQ3MIX_INPUT_1_SOURCE:
2038 case ARIZONA_EQ3MIX_INPUT_1_VOLUME:
2039 case ARIZONA_EQ3MIX_INPUT_2_SOURCE:
2040 case ARIZONA_EQ3MIX_INPUT_2_VOLUME:
2041 case ARIZONA_EQ3MIX_INPUT_3_SOURCE:
2042 case ARIZONA_EQ3MIX_INPUT_3_VOLUME:
2043 case ARIZONA_EQ3MIX_INPUT_4_SOURCE:
2044 case ARIZONA_EQ3MIX_INPUT_4_VOLUME:
2045 case ARIZONA_EQ4MIX_INPUT_1_SOURCE:
2046 case ARIZONA_EQ4MIX_INPUT_1_VOLUME:
2047 case ARIZONA_EQ4MIX_INPUT_2_SOURCE:
2048 case ARIZONA_EQ4MIX_INPUT_2_VOLUME:
2049 case ARIZONA_EQ4MIX_INPUT_3_SOURCE:
2050 case ARIZONA_EQ4MIX_INPUT_3_VOLUME:
2051 case ARIZONA_EQ4MIX_INPUT_4_SOURCE:
2052 case ARIZONA_EQ4MIX_INPUT_4_VOLUME:
2053 case ARIZONA_DRC1LMIX_INPUT_1_SOURCE:
2054 case ARIZONA_DRC1LMIX_INPUT_1_VOLUME:
2055 case ARIZONA_DRC1LMIX_INPUT_2_SOURCE:
2056 case ARIZONA_DRC1LMIX_INPUT_2_VOLUME:
2057 case ARIZONA_DRC1LMIX_INPUT_3_SOURCE:
2058 case ARIZONA_DRC1LMIX_INPUT_3_VOLUME:
2059 case ARIZONA_DRC1LMIX_INPUT_4_SOURCE:
2060 case ARIZONA_DRC1LMIX_INPUT_4_VOLUME:
2061 case ARIZONA_DRC1RMIX_INPUT_1_SOURCE:
2062 case ARIZONA_DRC1RMIX_INPUT_1_VOLUME:
2063 case ARIZONA_DRC1RMIX_INPUT_2_SOURCE:
2064 case ARIZONA_DRC1RMIX_INPUT_2_VOLUME:
2065 case ARIZONA_DRC1RMIX_INPUT_3_SOURCE:
2066 case ARIZONA_DRC1RMIX_INPUT_3_VOLUME:
2067 case ARIZONA_DRC1RMIX_INPUT_4_SOURCE:
2068 case ARIZONA_DRC1RMIX_INPUT_4_VOLUME:
2069 case ARIZONA_DRC2LMIX_INPUT_1_SOURCE:
2070 case ARIZONA_DRC2LMIX_INPUT_1_VOLUME:
2071 case ARIZONA_DRC2LMIX_INPUT_2_SOURCE:
2072 case ARIZONA_DRC2LMIX_INPUT_2_VOLUME:
2073 case ARIZONA_DRC2LMIX_INPUT_3_SOURCE:
2074 case ARIZONA_DRC2LMIX_INPUT_3_VOLUME:
2075 case ARIZONA_DRC2LMIX_INPUT_4_SOURCE:
2076 case ARIZONA_DRC2LMIX_INPUT_4_VOLUME:
2077 case ARIZONA_DRC2RMIX_INPUT_1_SOURCE:
2078 case ARIZONA_DRC2RMIX_INPUT_1_VOLUME:
2079 case ARIZONA_DRC2RMIX_INPUT_2_SOURCE:
2080 case ARIZONA_DRC2RMIX_INPUT_2_VOLUME:
2081 case ARIZONA_DRC2RMIX_INPUT_3_SOURCE:
2082 case ARIZONA_DRC2RMIX_INPUT_3_VOLUME:
2083 case ARIZONA_DRC2RMIX_INPUT_4_SOURCE:
2084 case ARIZONA_DRC2RMIX_INPUT_4_VOLUME:
2085 case ARIZONA_HPLP1MIX_INPUT_1_SOURCE:
2086 case ARIZONA_HPLP1MIX_INPUT_1_VOLUME:
2087 case ARIZONA_HPLP1MIX_INPUT_2_SOURCE:
2088 case ARIZONA_HPLP1MIX_INPUT_2_VOLUME:
2089 case ARIZONA_HPLP1MIX_INPUT_3_SOURCE:
2090 case ARIZONA_HPLP1MIX_INPUT_3_VOLUME:
2091 case ARIZONA_HPLP1MIX_INPUT_4_SOURCE:
2092 case ARIZONA_HPLP1MIX_INPUT_4_VOLUME:
2093 case ARIZONA_HPLP2MIX_INPUT_1_SOURCE:
2094 case ARIZONA_HPLP2MIX_INPUT_1_VOLUME:
2095 case ARIZONA_HPLP2MIX_INPUT_2_SOURCE:
2096 case ARIZONA_HPLP2MIX_INPUT_2_VOLUME:
2097 case ARIZONA_HPLP2MIX_INPUT_3_SOURCE:
2098 case ARIZONA_HPLP2MIX_INPUT_3_VOLUME:
2099 case ARIZONA_HPLP2MIX_INPUT_4_SOURCE:
2100 case ARIZONA_HPLP2MIX_INPUT_4_VOLUME:
2101 case ARIZONA_HPLP3MIX_INPUT_1_SOURCE:
2102 case ARIZONA_HPLP3MIX_INPUT_1_VOLUME:
2103 case ARIZONA_HPLP3MIX_INPUT_2_SOURCE:
2104 case ARIZONA_HPLP3MIX_INPUT_2_VOLUME:
2105 case ARIZONA_HPLP3MIX_INPUT_3_SOURCE:
2106 case ARIZONA_HPLP3MIX_INPUT_3_VOLUME:
2107 case ARIZONA_HPLP3MIX_INPUT_4_SOURCE:
2108 case ARIZONA_HPLP3MIX_INPUT_4_VOLUME:
2109 case ARIZONA_HPLP4MIX_INPUT_1_SOURCE:
2110 case ARIZONA_HPLP4MIX_INPUT_1_VOLUME:
2111 case ARIZONA_HPLP4MIX_INPUT_2_SOURCE:
2112 case ARIZONA_HPLP4MIX_INPUT_2_VOLUME:
2113 case ARIZONA_HPLP4MIX_INPUT_3_SOURCE:
2114 case ARIZONA_HPLP4MIX_INPUT_3_VOLUME:
2115 case ARIZONA_HPLP4MIX_INPUT_4_SOURCE:
2116 case ARIZONA_HPLP4MIX_INPUT_4_VOLUME:
2117 case ARIZONA_DSP1LMIX_INPUT_1_SOURCE:
2118 case ARIZONA_DSP1LMIX_INPUT_1_VOLUME:
2119 case ARIZONA_DSP1LMIX_INPUT_2_SOURCE:
2120 case ARIZONA_DSP1LMIX_INPUT_2_VOLUME:
2121 case ARIZONA_DSP1LMIX_INPUT_3_SOURCE:
2122 case ARIZONA_DSP1LMIX_INPUT_3_VOLUME:
2123 case ARIZONA_DSP1LMIX_INPUT_4_SOURCE:
2124 case ARIZONA_DSP1LMIX_INPUT_4_VOLUME:
2125 case ARIZONA_DSP1RMIX_INPUT_1_SOURCE:
2126 case ARIZONA_DSP1RMIX_INPUT_1_VOLUME:
2127 case ARIZONA_DSP1RMIX_INPUT_2_SOURCE:
2128 case ARIZONA_DSP1RMIX_INPUT_2_VOLUME:
2129 case ARIZONA_DSP1RMIX_INPUT_3_SOURCE:
2130 case ARIZONA_DSP1RMIX_INPUT_3_VOLUME:
2131 case ARIZONA_DSP1RMIX_INPUT_4_SOURCE:
2132 case ARIZONA_DSP1RMIX_INPUT_4_VOLUME:
2133 case ARIZONA_DSP1AUX1MIX_INPUT_1_SOURCE:
2134 case ARIZONA_DSP1AUX2MIX_INPUT_1_SOURCE:
2135 case ARIZONA_DSP1AUX3MIX_INPUT_1_SOURCE:
2136 case ARIZONA_DSP1AUX4MIX_INPUT_1_SOURCE:
2137 case ARIZONA_DSP1AUX5MIX_INPUT_1_SOURCE:
2138 case ARIZONA_DSP1AUX6MIX_INPUT_1_SOURCE:
2139 case ARIZONA_ASRC1LMIX_INPUT_1_SOURCE:
2140 case ARIZONA_ASRC1RMIX_INPUT_1_SOURCE:
2141 case ARIZONA_ASRC2LMIX_INPUT_1_SOURCE:
2142 case ARIZONA_ASRC2RMIX_INPUT_1_SOURCE:
2143 case ARIZONA_ISRC1DEC1MIX_INPUT_1_SOURCE:
2144 case ARIZONA_ISRC1DEC2MIX_INPUT_1_SOURCE:
2145 case ARIZONA_ISRC1INT1MIX_INPUT_1_SOURCE:
2146 case ARIZONA_ISRC1INT2MIX_INPUT_1_SOURCE:
2147 case ARIZONA_ISRC2DEC1MIX_INPUT_1_SOURCE:
2148 case ARIZONA_ISRC2DEC2MIX_INPUT_1_SOURCE:
2149 case ARIZONA_ISRC2INT1MIX_INPUT_1_SOURCE:
2150 case ARIZONA_ISRC2INT2MIX_INPUT_1_SOURCE:
2151 case ARIZONA_GPIO1_CTRL:
2152 case ARIZONA_GPIO2_CTRL:
2153 case ARIZONA_GPIO3_CTRL:
2154 case ARIZONA_GPIO4_CTRL:
2155 case ARIZONA_GPIO5_CTRL:
2156 case ARIZONA_IRQ_CTRL_1:
2157 case ARIZONA_GPIO_DEBOUNCE_CONFIG:
2158 case ARIZONA_MISC_PAD_CTRL_1:
2159 case ARIZONA_MISC_PAD_CTRL_2:
2160 case ARIZONA_MISC_PAD_CTRL_3:
2161 case ARIZONA_MISC_PAD_CTRL_4:
2162 case ARIZONA_MISC_PAD_CTRL_5:
2163 case ARIZONA_MISC_PAD_CTRL_6:
2164 case ARIZONA_INTERRUPT_STATUS_1:
2165 case ARIZONA_INTERRUPT_STATUS_2:
2166 case ARIZONA_INTERRUPT_STATUS_3:
2167 case ARIZONA_INTERRUPT_STATUS_4:
2168 case ARIZONA_INTERRUPT_STATUS_5:
2169 case ARIZONA_INTERRUPT_STATUS_1_MASK:
2170 case ARIZONA_INTERRUPT_STATUS_2_MASK:
2171 case ARIZONA_INTERRUPT_STATUS_3_MASK:
2172 case ARIZONA_INTERRUPT_STATUS_4_MASK:
2173 case ARIZONA_INTERRUPT_STATUS_5_MASK:
2174 case ARIZONA_INTERRUPT_CONTROL:
2175 case ARIZONA_IRQ2_STATUS_1:
2176 case ARIZONA_IRQ2_STATUS_2:
2177 case ARIZONA_IRQ2_STATUS_3:
2178 case ARIZONA_IRQ2_STATUS_4:
2179 case ARIZONA_IRQ2_STATUS_5:
2180 case ARIZONA_IRQ2_STATUS_1_MASK:
2181 case ARIZONA_IRQ2_STATUS_2_MASK:
2182 case ARIZONA_IRQ2_STATUS_3_MASK:
2183 case ARIZONA_IRQ2_STATUS_4_MASK:
2184 case ARIZONA_IRQ2_STATUS_5_MASK:
2185 case ARIZONA_IRQ2_CONTROL:
2186 case ARIZONA_INTERRUPT_RAW_STATUS_2:
2187 case ARIZONA_INTERRUPT_RAW_STATUS_3:
2188 case ARIZONA_INTERRUPT_RAW_STATUS_4:
2189 case ARIZONA_INTERRUPT_RAW_STATUS_5:
2190 case ARIZONA_INTERRUPT_RAW_STATUS_6:
2191 case ARIZONA_INTERRUPT_RAW_STATUS_7:
2192 case ARIZONA_INTERRUPT_RAW_STATUS_8:
2193 case ARIZONA_IRQ_PIN_STATUS:
2194 case ARIZONA_ADSP2_IRQ0:
2195 case ARIZONA_AOD_WKUP_AND_TRIG:
2196 case ARIZONA_AOD_IRQ1:
2197 case ARIZONA_AOD_IRQ2:
2198 case ARIZONA_AOD_IRQ_MASK_IRQ1:
2199 case ARIZONA_AOD_IRQ_MASK_IRQ2:
2200 case ARIZONA_AOD_IRQ_RAW_STATUS:
2201 case ARIZONA_JACK_DETECT_DEBOUNCE:
2202 case ARIZONA_FX_CTRL1:
2203 case ARIZONA_FX_CTRL2:
2204 case ARIZONA_EQ1_1:
2205 case ARIZONA_EQ1_2:
2206 case ARIZONA_EQ1_3:
2207 case ARIZONA_EQ1_4:
2208 case ARIZONA_EQ1_5:
2209 case ARIZONA_EQ1_6:
2210 case ARIZONA_EQ1_7:
2211 case ARIZONA_EQ1_8:
2212 case ARIZONA_EQ1_9:
2213 case ARIZONA_EQ1_10:
2214 case ARIZONA_EQ1_11:
2215 case ARIZONA_EQ1_12:
2216 case ARIZONA_EQ1_13:
2217 case ARIZONA_EQ1_14:
2218 case ARIZONA_EQ1_15:
2219 case ARIZONA_EQ1_16:
2220 case ARIZONA_EQ1_17:
2221 case ARIZONA_EQ1_18:
2222 case ARIZONA_EQ1_19:
2223 case ARIZONA_EQ1_20:
2224 case ARIZONA_EQ1_21:
2225 case ARIZONA_EQ2_1:
2226 case ARIZONA_EQ2_2:
2227 case ARIZONA_EQ2_3:
2228 case ARIZONA_EQ2_4:
2229 case ARIZONA_EQ2_5:
2230 case ARIZONA_EQ2_6:
2231 case ARIZONA_EQ2_7:
2232 case ARIZONA_EQ2_8:
2233 case ARIZONA_EQ2_9:
2234 case ARIZONA_EQ2_10:
2235 case ARIZONA_EQ2_11:
2236 case ARIZONA_EQ2_12:
2237 case ARIZONA_EQ2_13:
2238 case ARIZONA_EQ2_14:
2239 case ARIZONA_EQ2_15:
2240 case ARIZONA_EQ2_16:
2241 case ARIZONA_EQ2_17:
2242 case ARIZONA_EQ2_18:
2243 case ARIZONA_EQ2_19:
2244 case ARIZONA_EQ2_20:
2245 case ARIZONA_EQ2_21:
2246 case ARIZONA_EQ3_1:
2247 case ARIZONA_EQ3_2:
2248 case ARIZONA_EQ3_3:
2249 case ARIZONA_EQ3_4:
2250 case ARIZONA_EQ3_5:
2251 case ARIZONA_EQ3_6:
2252 case ARIZONA_EQ3_7:
2253 case ARIZONA_EQ3_8:
2254 case ARIZONA_EQ3_9:
2255 case ARIZONA_EQ3_10:
2256 case ARIZONA_EQ3_11:
2257 case ARIZONA_EQ3_12:
2258 case ARIZONA_EQ3_13:
2259 case ARIZONA_EQ3_14:
2260 case ARIZONA_EQ3_15:
2261 case ARIZONA_EQ3_16:
2262 case ARIZONA_EQ3_17:
2263 case ARIZONA_EQ3_18:
2264 case ARIZONA_EQ3_19:
2265 case ARIZONA_EQ3_20:
2266 case ARIZONA_EQ3_21:
2267 case ARIZONA_EQ4_1:
2268 case ARIZONA_EQ4_2:
2269 case ARIZONA_EQ4_3:
2270 case ARIZONA_EQ4_4:
2271 case ARIZONA_EQ4_5:
2272 case ARIZONA_EQ4_6:
2273 case ARIZONA_EQ4_7:
2274 case ARIZONA_EQ4_8:
2275 case ARIZONA_EQ4_9:
2276 case ARIZONA_EQ4_10:
2277 case ARIZONA_EQ4_11:
2278 case ARIZONA_EQ4_12:
2279 case ARIZONA_EQ4_13:
2280 case ARIZONA_EQ4_14:
2281 case ARIZONA_EQ4_15:
2282 case ARIZONA_EQ4_16:
2283 case ARIZONA_EQ4_17:
2284 case ARIZONA_EQ4_18:
2285 case ARIZONA_EQ4_19:
2286 case ARIZONA_EQ4_20:
2287 case ARIZONA_EQ4_21:
2288 case ARIZONA_DRC1_CTRL1:
2289 case ARIZONA_DRC1_CTRL2:
2290 case ARIZONA_DRC1_CTRL3:
2291 case ARIZONA_DRC1_CTRL4:
2292 case ARIZONA_DRC1_CTRL5:
2293 case ARIZONA_DRC2_CTRL1:
2294 case ARIZONA_DRC2_CTRL2:
2295 case ARIZONA_DRC2_CTRL3:
2296 case ARIZONA_DRC2_CTRL4:
2297 case ARIZONA_DRC2_CTRL5:
2298 case ARIZONA_HPLPF1_1:
2299 case ARIZONA_HPLPF1_2:
2300 case ARIZONA_HPLPF2_1:
2301 case ARIZONA_HPLPF2_2:
2302 case ARIZONA_HPLPF3_1:
2303 case ARIZONA_HPLPF3_2:
2304 case ARIZONA_HPLPF4_1:
2305 case ARIZONA_HPLPF4_2:
2306 case ARIZONA_ASRC_ENABLE:
2307 case ARIZONA_ASRC_RATE1:
2308 case ARIZONA_ASRC_RATE2:
2309 case ARIZONA_ISRC_1_CTRL_1:
2310 case ARIZONA_ISRC_1_CTRL_2:
2311 case ARIZONA_ISRC_1_CTRL_3:
2312 case ARIZONA_ISRC_2_CTRL_1:
2313 case ARIZONA_ISRC_2_CTRL_2:
2314 case ARIZONA_ISRC_2_CTRL_3:
2315 case ARIZONA_ISRC_3_CTRL_1:
2316 case ARIZONA_ISRC_3_CTRL_2:
2317 case ARIZONA_ISRC_3_CTRL_3:
2318 case ARIZONA_DSP1_CONTROL_1:
2319 case ARIZONA_DSP1_CLOCKING_1:
2320 case ARIZONA_DSP1_STATUS_1:
2321 case ARIZONA_DSP1_STATUS_2:
2322 return true;
2323 default:
2324 return false;
2325 }
2326}
2327
2328static bool wm5102_volatile_register(struct device *dev, unsigned int reg)
2329{
2330 switch (reg) {
2331 case ARIZONA_SOFTWARE_RESET:
2332 case ARIZONA_DEVICE_REVISION:
2333 case ARIZONA_OUTPUT_STATUS_1:
2334 case ARIZONA_SAMPLE_RATE_1_STATUS:
2335 case ARIZONA_SAMPLE_RATE_2_STATUS:
2336 case ARIZONA_SAMPLE_RATE_3_STATUS:
2337 case ARIZONA_HAPTICS_STATUS:
2338 case ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS:
2339 case ARIZONA_FX_CTRL2:
2340 case ARIZONA_INTERRUPT_STATUS_1:
2341 case ARIZONA_INTERRUPT_STATUS_2:
2342 case ARIZONA_INTERRUPT_STATUS_3:
2343 case ARIZONA_INTERRUPT_STATUS_4:
2344 case ARIZONA_INTERRUPT_STATUS_5:
2345 case ARIZONA_IRQ2_STATUS_1:
2346 case ARIZONA_IRQ2_STATUS_2:
2347 case ARIZONA_IRQ2_STATUS_3:
2348 case ARIZONA_IRQ2_STATUS_4:
2349 case ARIZONA_IRQ2_STATUS_5:
2350 case ARIZONA_INTERRUPT_RAW_STATUS_2:
2351 case ARIZONA_INTERRUPT_RAW_STATUS_3:
2352 case ARIZONA_INTERRUPT_RAW_STATUS_4:
2353 case ARIZONA_INTERRUPT_RAW_STATUS_5:
2354 case ARIZONA_INTERRUPT_RAW_STATUS_6:
2355 case ARIZONA_INTERRUPT_RAW_STATUS_7:
2356 case ARIZONA_INTERRUPT_RAW_STATUS_8:
2357 case ARIZONA_IRQ_PIN_STATUS:
2358 case ARIZONA_AOD_WKUP_AND_TRIG:
2359 case ARIZONA_AOD_IRQ1:
2360 case ARIZONA_AOD_IRQ2:
2361 case ARIZONA_AOD_IRQ_RAW_STATUS:
2362 case ARIZONA_DSP1_STATUS_1:
2363 case ARIZONA_DSP1_STATUS_2:
2364 case ARIZONA_HEADPHONE_DETECT_2:
2365 case ARIZONA_MIC_DETECT_3:
2366 return true;
2367 default:
2368 return false;
2369 }
2370}
2371
2372const struct regmap_config wm5102_spi_regmap = {
2373 .reg_bits = 32,
2374 .pad_bits = 16,
2375 .val_bits = 16,
2376
2377 .max_register = ARIZONA_DSP1_STATUS_2,
2378 .readable_reg = wm5102_readable_register,
2379 .volatile_reg = wm5102_volatile_register,
2380
2381 .cache_type = REGCACHE_RBTREE,
2382 .reg_defaults = wm5102_reg_default,
2383 .num_reg_defaults = ARRAY_SIZE(wm5102_reg_default),
2384};
2385EXPORT_SYMBOL_GPL(wm5102_spi_regmap);
2386
2387const struct regmap_config wm5102_i2c_regmap = {
2388 .reg_bits = 32,
2389 .val_bits = 16,
2390
2391 .max_register = ARIZONA_DSP1_STATUS_2,
2392 .readable_reg = wm5102_readable_register,
2393 .volatile_reg = wm5102_volatile_register,
2394
2395 .cache_type = REGCACHE_RBTREE,
2396 .reg_defaults = wm5102_reg_default,
2397 .num_reg_defaults = ARRAY_SIZE(wm5102_reg_default),
2398};
2399EXPORT_SYMBOL_GPL(wm5102_i2c_regmap);
2400