]> git.karo-electronics.de Git - karo-tx-linux.git/blob - drivers/mfd/cs47l24-tables.c
Merge tag 'gfs2-4.11.addendum' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2...
[karo-tx-linux.git] / drivers / mfd / cs47l24-tables.c
1 /*
2  * Data tables for CS47L24 codec
3  *
4  * Copyright 2015 Cirrus Logic, Inc.
5  *
6  * Author: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation.
11  */
12
13 #include <linux/module.h>
14
15 #include <linux/mfd/arizona/core.h>
16 #include <linux/mfd/arizona/registers.h>
17 #include <linux/device.h>
18
19 #include "arizona.h"
20
21 #define CS47L24_NUM_ISR 5
22
23 static const struct reg_sequence cs47l24_reva_patch[] = {
24         { 0x80,  0x3 },
25         { 0x27C, 0x0010 },
26         { 0x221, 0x0070 },
27         { 0x80,  0x0 },
28 };
29
30 int cs47l24_patch(struct arizona *arizona)
31 {
32         return regmap_register_patch(arizona->regmap,
33                                      cs47l24_reva_patch,
34                                      ARRAY_SIZE(cs47l24_reva_patch));
35 }
36 EXPORT_SYMBOL_GPL(cs47l24_patch);
37
38 static const struct regmap_irq cs47l24_irqs[ARIZONA_NUM_IRQ] = {
39         [ARIZONA_IRQ_GP2] = { .reg_offset = 0, .mask = ARIZONA_GP2_EINT1 },
40         [ARIZONA_IRQ_GP1] = { .reg_offset = 0, .mask = ARIZONA_GP1_EINT1 },
41
42         [ARIZONA_IRQ_DSP3_RAM_RDY] = {
43                 .reg_offset = 1, .mask = ARIZONA_DSP3_RAM_RDY_EINT1
44         },
45         [ARIZONA_IRQ_DSP2_RAM_RDY] = {
46                 .reg_offset = 1, .mask = ARIZONA_DSP2_RAM_RDY_EINT1
47         },
48         [ARIZONA_IRQ_DSP_IRQ8] = {
49                 .reg_offset = 1, .mask = ARIZONA_DSP_IRQ8_EINT1
50         },
51         [ARIZONA_IRQ_DSP_IRQ7] = {
52                 .reg_offset = 1, .mask = ARIZONA_DSP_IRQ7_EINT1
53         },
54         [ARIZONA_IRQ_DSP_IRQ6] = {
55                 .reg_offset = 1, .mask = ARIZONA_DSP_IRQ6_EINT1
56         },
57         [ARIZONA_IRQ_DSP_IRQ5] = {
58                 .reg_offset = 1, .mask = ARIZONA_DSP_IRQ5_EINT1
59         },
60         [ARIZONA_IRQ_DSP_IRQ4] = {
61                 .reg_offset = 1, .mask = ARIZONA_DSP_IRQ4_EINT1
62         },
63         [ARIZONA_IRQ_DSP_IRQ3] = {
64                 .reg_offset = 1, .mask = ARIZONA_DSP_IRQ3_EINT1
65         },
66         [ARIZONA_IRQ_DSP_IRQ2] = {
67                 .reg_offset = 1, .mask = ARIZONA_DSP_IRQ2_EINT1
68         },
69         [ARIZONA_IRQ_DSP_IRQ1] = {
70                 .reg_offset = 1, .mask = ARIZONA_DSP_IRQ1_EINT1
71         },
72
73         [ARIZONA_IRQ_SPK_OVERHEAT_WARN] = {
74                 .reg_offset = 2, .mask = ARIZONA_SPK_OVERHEAT_WARN_EINT1
75         },
76         [ARIZONA_IRQ_SPK_OVERHEAT] = {
77                 .reg_offset = 2, .mask = ARIZONA_SPK_OVERHEAT_EINT1
78         },
79         [ARIZONA_IRQ_WSEQ_DONE] = {
80                 .reg_offset = 2, .mask = ARIZONA_WSEQ_DONE_EINT1
81         },
82         [ARIZONA_IRQ_DRC2_SIG_DET] = {
83                 .reg_offset = 2, .mask = ARIZONA_DRC2_SIG_DET_EINT1
84         },
85         [ARIZONA_IRQ_DRC1_SIG_DET] = {
86                 .reg_offset = 2, .mask = ARIZONA_DRC1_SIG_DET_EINT1
87         },
88         [ARIZONA_IRQ_ASRC2_LOCK] = {
89                 .reg_offset = 2, .mask = ARIZONA_ASRC2_LOCK_EINT1
90         },
91         [ARIZONA_IRQ_ASRC1_LOCK] = {
92                 .reg_offset = 2, .mask = ARIZONA_ASRC1_LOCK_EINT1
93         },
94         [ARIZONA_IRQ_UNDERCLOCKED] = {
95                 .reg_offset = 2, .mask = ARIZONA_UNDERCLOCKED_EINT1
96         },
97         [ARIZONA_IRQ_OVERCLOCKED] = {
98                 .reg_offset = 2, .mask = ARIZONA_OVERCLOCKED_EINT1
99         },
100         [ARIZONA_IRQ_FLL2_LOCK] = {
101                 .reg_offset = 2, .mask = ARIZONA_FLL2_LOCK_EINT1
102         },
103         [ARIZONA_IRQ_FLL1_LOCK] = {
104                 .reg_offset = 2, .mask = ARIZONA_FLL1_LOCK_EINT1
105         },
106         [ARIZONA_IRQ_CLKGEN_ERR] = {
107                 .reg_offset = 2, .mask = ARIZONA_CLKGEN_ERR_EINT1
108         },
109         [ARIZONA_IRQ_CLKGEN_ERR_ASYNC] = {
110                 .reg_offset = 2, .mask = ARIZONA_CLKGEN_ERR_ASYNC_EINT1
111         },
112
113         [ARIZONA_IRQ_CTRLIF_ERR] = {
114                 .reg_offset = 3, .mask = ARIZONA_V2_CTRLIF_ERR_EINT1
115         },
116         [ARIZONA_IRQ_MIXER_DROPPED_SAMPLES] = {
117                 .reg_offset = 3, .mask = ARIZONA_V2_MIXER_DROPPED_SAMPLE_EINT1
118         },
119         [ARIZONA_IRQ_ASYNC_CLK_ENA_LOW] = {
120                 .reg_offset = 3, .mask = ARIZONA_V2_ASYNC_CLK_ENA_LOW_EINT1
121         },
122         [ARIZONA_IRQ_SYSCLK_ENA_LOW] = {
123                 .reg_offset = 3, .mask = ARIZONA_V2_SYSCLK_ENA_LOW_EINT1
124         },
125         [ARIZONA_IRQ_ISRC1_CFG_ERR] = {
126                 .reg_offset = 3, .mask = ARIZONA_V2_ISRC1_CFG_ERR_EINT1
127         },
128         [ARIZONA_IRQ_ISRC2_CFG_ERR] = {
129                 .reg_offset = 3, .mask = ARIZONA_V2_ISRC2_CFG_ERR_EINT1
130         },
131         [ARIZONA_IRQ_ISRC3_CFG_ERR] = {
132                 .reg_offset = 3, .mask = ARIZONA_V2_ISRC3_CFG_ERR_EINT1
133         },
134         [ARIZONA_IRQ_HP1R_DONE] = {
135                 .reg_offset = 3, .mask = ARIZONA_HP1R_DONE_EINT1
136         },
137         [ARIZONA_IRQ_HP1L_DONE] = {
138                 .reg_offset = 3, .mask = ARIZONA_HP1L_DONE_EINT1
139         },
140
141         [ARIZONA_IRQ_BOOT_DONE] = {
142                 .reg_offset = 4, .mask = ARIZONA_BOOT_DONE_EINT1
143         },
144         [ARIZONA_IRQ_ASRC_CFG_ERR] = {
145                 .reg_offset = 4, .mask = ARIZONA_V2_ASRC_CFG_ERR_EINT1
146         },
147         [ARIZONA_IRQ_FLL2_CLOCK_OK] = {
148                 .reg_offset = 4, .mask = ARIZONA_FLL2_CLOCK_OK_EINT1
149         },
150         [ARIZONA_IRQ_FLL1_CLOCK_OK] = {
151                 .reg_offset = 4, .mask = ARIZONA_FLL1_CLOCK_OK_EINT1
152         },
153
154         [ARIZONA_IRQ_DSP_SHARED_WR_COLL] = {
155                 .reg_offset = 5, .mask = ARIZONA_DSP_SHARED_WR_COLL_EINT1
156         },
157         [ARIZONA_IRQ_SPK_SHUTDOWN] = {
158                 .reg_offset = 5, .mask = ARIZONA_SPK_SHUTDOWN_EINT1
159         },
160         [ARIZONA_IRQ_SPK1R_SHORT] = {
161                 .reg_offset = 5, .mask = ARIZONA_SPK1R_SHORT_EINT1
162         },
163         [ARIZONA_IRQ_SPK1L_SHORT] = {
164                 .reg_offset = 5, .mask = ARIZONA_SPK1L_SHORT_EINT1
165         },
166         [ARIZONA_IRQ_HP1R_SC_POS] = {
167                 .reg_offset = 5, .mask = ARIZONA_HP1R_SC_POS_EINT1
168         },
169         [ARIZONA_IRQ_HP1L_SC_POS] = {
170                 .reg_offset = 5, .mask = ARIZONA_HP1L_SC_POS_EINT1
171         },
172 };
173
174 const struct regmap_irq_chip cs47l24_irq = {
175         .name = "cs47l24 IRQ",
176         .status_base = ARIZONA_INTERRUPT_STATUS_1,
177         .mask_base = ARIZONA_INTERRUPT_STATUS_1_MASK,
178         .ack_base = ARIZONA_INTERRUPT_STATUS_1,
179         .num_regs = 6,
180         .irqs = cs47l24_irqs,
181         .num_irqs = ARRAY_SIZE(cs47l24_irqs),
182 };
183 EXPORT_SYMBOL_GPL(cs47l24_irq);
184
185 static const struct reg_default cs47l24_reg_default[] = {
186         { 0x00000008, 0x0019 },    /* R8     - Ctrl IF SPI CFG 1 */
187         { 0x00000020, 0x0000 },    /* R32    - Tone Generator 1 */
188         { 0x00000021, 0x1000 },    /* R33    - Tone Generator 2 */
189         { 0x00000022, 0x0000 },    /* R34    - Tone Generator 3 */
190         { 0x00000023, 0x1000 },    /* R35    - Tone Generator 4 */
191         { 0x00000024, 0x0000 },    /* R36    - Tone Generator 5 */
192         { 0x00000030, 0x0000 },    /* R48    - PWM Drive 1 */
193         { 0x00000031, 0x0100 },    /* R49    - PWM Drive 2 */
194         { 0x00000032, 0x0100 },    /* R50    - PWM Drive 3 */
195         { 0x00000041, 0x0000 },    /* R65    - Sequence control */
196         { 0x00000061, 0x01FF },    /* R97    - Sample Rate Sequence Select 1 */
197         { 0x00000062, 0x01FF },    /* R98    - Sample Rate Sequence Select 2 */
198         { 0x00000063, 0x01FF },    /* R99    - Sample Rate Sequence Select 3 */
199         { 0x00000064, 0x01FF },    /* R100   - Sample Rate Sequence Select 4 */
200         { 0x00000070, 0x0000 },    /* R112   - Comfort Noise Generator */
201         { 0x00000090, 0x0000 },    /* R144   - Haptics Control 1 */
202         { 0x00000091, 0x7FFF },    /* R145   - Haptics Control 2 */
203         { 0x00000092, 0x0000 },    /* R146   - Haptics phase 1 intensity */
204         { 0x00000093, 0x0000 },    /* R147   - Haptics phase 1 duration */
205         { 0x00000094, 0x0000 },    /* R148   - Haptics phase 2 intensity */
206         { 0x00000095, 0x0000 },    /* R149   - Haptics phase 2 duration */
207         { 0x00000096, 0x0000 },    /* R150   - Haptics phase 3 intensity */
208         { 0x00000097, 0x0000 },    /* R151   - Haptics phase 3 duration */
209         { 0x00000100, 0x0002 },    /* R256   - Clock 32k 1 */
210         { 0x00000101, 0x0504 },    /* R257   - System Clock 1 */
211         { 0x00000102, 0x0011 },    /* R258   - Sample rate 1 */
212         { 0x00000103, 0x0011 },    /* R259   - Sample rate 2 */
213         { 0x00000104, 0x0011 },    /* R260   - Sample rate 3 */
214         { 0x00000112, 0x0305 },    /* R274   - Async clock 1 */
215         { 0x00000113, 0x0011 },    /* R275   - Async sample rate 1 */
216         { 0x00000114, 0x0011 },    /* R276   - Async sample rate 2 */
217         { 0x00000149, 0x0000 },    /* R329   - Output system clock */
218         { 0x0000014A, 0x0000 },    /* R330   - Output async clock */
219         { 0x00000152, 0x0000 },    /* R338   - Rate Estimator 1 */
220         { 0x00000153, 0x0000 },    /* R339   - Rate Estimator 2 */
221         { 0x00000154, 0x0000 },    /* R340   - Rate Estimator 3 */
222         { 0x00000155, 0x0000 },    /* R341   - Rate Estimator 4 */
223         { 0x00000156, 0x0000 },    /* R342   - Rate Estimator 5 */
224         { 0x00000171, 0x0002 },    /* R369   - FLL1 Control 1 */
225         { 0x00000172, 0x0008 },    /* R370   - FLL1 Control 2 */
226         { 0x00000173, 0x0018 },    /* R371   - FLL1 Control 3 */
227         { 0x00000174, 0x007D },    /* R372   - FLL1 Control 4 */
228         { 0x00000175, 0x0006 },    /* R373   - FLL1 Control 5 */
229         { 0x00000176, 0x0000 },    /* R374   - FLL1 Control 6 */
230         { 0x00000179, 0x0000 },    /* R376   - FLL1 Control 7 */
231         { 0x00000181, 0x0000 },    /* R385   - FLL1 Synchroniser 1 */
232         { 0x00000182, 0x0000 },    /* R386   - FLL1 Synchroniser 2 */
233         { 0x00000183, 0x0000 },    /* R387   - FLL1 Synchroniser 3 */
234         { 0x00000184, 0x0000 },    /* R388   - FLL1 Synchroniser 4 */
235         { 0x00000185, 0x0000 },    /* R389   - FLL1 Synchroniser 5 */
236         { 0x00000186, 0x0000 },    /* R390   - FLL1 Synchroniser 6 */
237         { 0x00000187, 0x0001 },    /* R390   - FLL1 Synchroniser 7 */
238         { 0x00000189, 0x0000 },    /* R393   - FLL1 Spread Spectrum */
239         { 0x0000018A, 0x000C },    /* R394   - FLL1 GPIO Clock */
240         { 0x00000191, 0x0002 },    /* R401   - FLL2 Control 1 */
241         { 0x00000192, 0x0008 },    /* R402   - FLL2 Control 2 */
242         { 0x00000193, 0x0018 },    /* R403   - FLL2 Control 3 */
243         { 0x00000194, 0x007D },    /* R404   - FLL2 Control 4 */
244         { 0x00000195, 0x000C },    /* R405   - FLL2 Control 5 */
245         { 0x00000196, 0x0000 },    /* R406   - FLL2 Control 6 */
246         { 0x00000199, 0x0000 },    /* R408   - FLL2 Control 7 */
247         { 0x000001A1, 0x0000 },    /* R417   - FLL2 Synchroniser 1 */
248         { 0x000001A2, 0x0000 },    /* R418   - FLL2 Synchroniser 2 */
249         { 0x000001A3, 0x0000 },    /* R419   - FLL2 Synchroniser 3 */
250         { 0x000001A4, 0x0000 },    /* R420   - FLL2 Synchroniser 4 */
251         { 0x000001A5, 0x0000 },    /* R421   - FLL2 Synchroniser 5 */
252         { 0x000001A6, 0x0000 },    /* R422   - FLL2 Synchroniser 6 */
253         { 0x000001A7, 0x0001 },    /* R422   - FLL2 Synchroniser 7 */
254         { 0x000001A9, 0x0000 },    /* R425   - FLL2 Spread Spectrum */
255         { 0x000001AA, 0x000C },    /* R426   - FLL2 GPIO Clock */
256         { 0x00000218, 0x00E6 },    /* R536   - Mic Bias Ctrl 1 */
257         { 0x00000219, 0x00E6 },    /* R537   - Mic Bias Ctrl 2 */
258         { 0x00000300, 0x0000 },    /* R768   - Input Enables */
259         { 0x00000308, 0x0000 },    /* R776   - Input Rate */
260         { 0x00000309, 0x0022 },    /* R777   - Input Volume Ramp */
261         { 0x0000030C, 0x0002 },    /* R780   - HPF Control */
262         { 0x00000310, 0x2000 },    /* R784   - IN1L Control */
263         { 0x00000311, 0x0180 },    /* R785   - ADC Digital Volume 1L */
264         { 0x00000312, 0x0000 },    /* R786   - DMIC1L Control */
265         { 0x00000314, 0x0000 },    /* R788   - IN1R Control */
266         { 0x00000315, 0x0180 },    /* R789   - ADC Digital Volume 1R */
267         { 0x00000316, 0x0000 },    /* R790   - DMIC1R Control */
268         { 0x00000318, 0x2000 },    /* R792   - IN2L Control */
269         { 0x00000319, 0x0180 },    /* R793   - ADC Digital Volume 2L */
270         { 0x0000031A, 0x0000 },    /* R794   - DMIC2L Control */
271         { 0x0000031C, 0x0000 },    /* R796   - IN2R Control */
272         { 0x0000031D, 0x0180 },    /* R797   - ADC Digital Volume 2R */
273         { 0x0000031E, 0x0000 },    /* R798   - DMIC2R Control */
274         { 0x00000400, 0x0000 },    /* R1024  - Output Enables 1 */
275         { 0x00000408, 0x0000 },    /* R1032  - Output Rate 1 */
276         { 0x00000409, 0x0022 },    /* R1033  - Output Volume Ramp */
277         { 0x00000410, 0x0080 },    /* R1040  - Output Path Config 1L */
278         { 0x00000411, 0x0180 },    /* R1041  - DAC Digital Volume 1L */
279         { 0x00000412, 0x0081 },    /* R1042  - DAC Volume Limit 1L */
280         { 0x00000413, 0x0001 },    /* R1043  - Noise Gate Select 1L */
281         { 0x00000415, 0x0180 },    /* R1045  - DAC Digital Volume 1R */
282         { 0x00000416, 0x0081 },    /* R1046  - DAC Volume Limit 1R */
283         { 0x00000417, 0x0002 },    /* R1047  - Noise Gate Select 1R */
284         { 0x00000429, 0x0180 },    /* R1065  - DAC Digital Volume 4L */
285         { 0x0000042A, 0x0081 },    /* R1066  - Out Volume 4L */
286         { 0x0000042B, 0x0040 },    /* R1067  - Noise Gate Select 4L */
287         { 0x00000450, 0x0000 },    /* R1104  - DAC AEC Control 1 */
288         { 0x00000458, 0x0000 },    /* R1112  - Noise Gate Control */
289         { 0x000004A0, 0x3480 },    /* R1184  - HP1 Short Circuit Ctrl */
290         { 0x00000500, 0x000C },    /* R1280  - AIF1 BCLK Ctrl */
291         { 0x00000501, 0x0008 },    /* R1281  - AIF1 Tx Pin Ctrl */
292         { 0x00000502, 0x0000 },    /* R1282  - AIF1 Rx Pin Ctrl */
293         { 0x00000503, 0x0000 },    /* R1283  - AIF1 Rate Ctrl */
294         { 0x00000504, 0x0000 },    /* R1284  - AIF1 Format */
295         { 0x00000505, 0x0040 },    /* R1285  - AIF1 Tx BCLK Rate */
296         { 0x00000506, 0x0040 },    /* R1286  - AIF1 Rx BCLK Rate */
297         { 0x00000507, 0x1818 },    /* R1287  - AIF1 Frame Ctrl 1 */
298         { 0x00000508, 0x1818 },    /* R1288  - AIF1 Frame Ctrl 2 */
299         { 0x00000509, 0x0000 },    /* R1289  - AIF1 Frame Ctrl 3 */
300         { 0x0000050A, 0x0001 },    /* R1290  - AIF1 Frame Ctrl 4 */
301         { 0x0000050B, 0x0002 },    /* R1291  - AIF1 Frame Ctrl 5 */
302         { 0x0000050C, 0x0003 },    /* R1292  - AIF1 Frame Ctrl 6 */
303         { 0x0000050D, 0x0004 },    /* R1293  - AIF1 Frame Ctrl 7 */
304         { 0x0000050E, 0x0005 },    /* R1294  - AIF1 Frame Ctrl 8 */
305         { 0x0000050F, 0x0006 },    /* R1295  - AIF1 Frame Ctrl 9 */
306         { 0x00000510, 0x0007 },    /* R1296  - AIF1 Frame Ctrl 10 */
307         { 0x00000511, 0x0000 },    /* R1297  - AIF1 Frame Ctrl 11 */
308         { 0x00000512, 0x0001 },    /* R1298  - AIF1 Frame Ctrl 12 */
309         { 0x00000513, 0x0002 },    /* R1299  - AIF1 Frame Ctrl 13 */
310         { 0x00000514, 0x0003 },    /* R1300  - AIF1 Frame Ctrl 14 */
311         { 0x00000515, 0x0004 },    /* R1301  - AIF1 Frame Ctrl 15 */
312         { 0x00000516, 0x0005 },    /* R1302  - AIF1 Frame Ctrl 16 */
313         { 0x00000517, 0x0006 },    /* R1303  - AIF1 Frame Ctrl 17 */
314         { 0x00000518, 0x0007 },    /* R1304  - AIF1 Frame Ctrl 18 */
315         { 0x00000519, 0x0000 },    /* R1305  - AIF1 Tx Enables */
316         { 0x0000051A, 0x0000 },    /* R1306  - AIF1 Rx Enables */
317         { 0x00000540, 0x000C },    /* R1344  - AIF2 BCLK Ctrl */
318         { 0x00000541, 0x0008 },    /* R1345  - AIF2 Tx Pin Ctrl */
319         { 0x00000542, 0x0000 },    /* R1346  - AIF2 Rx Pin Ctrl */
320         { 0x00000543, 0x0000 },    /* R1347  - AIF2 Rate Ctrl */
321         { 0x00000544, 0x0000 },    /* R1348  - AIF2 Format */
322         { 0x00000545, 0x0040 },    /* R1349  - AIF2 Tx BCLK Rate */
323         { 0x00000546, 0x0040 },    /* R1350  - AIF2 Rx BCLK Rate */
324         { 0x00000547, 0x1818 },    /* R1351  - AIF2 Frame Ctrl 1 */
325         { 0x00000548, 0x1818 },    /* R1352  - AIF2 Frame Ctrl 2 */
326         { 0x00000549, 0x0000 },    /* R1353  - AIF2 Frame Ctrl 3 */
327         { 0x0000054A, 0x0001 },    /* R1354  - AIF2 Frame Ctrl 4 */
328         { 0x0000054B, 0x0002 },    /* R1355  - AIF2 Frame Ctrl 5 */
329         { 0x0000054C, 0x0003 },    /* R1356  - AIF2 Frame Ctrl 6 */
330         { 0x0000054D, 0x0004 },    /* R1357  - AIF2 Frame Ctrl 7 */
331         { 0x0000054E, 0x0005 },    /* R1358  - AIF2 Frame Ctrl 8 */
332         { 0x00000551, 0x0000 },    /* R1361  - AIF2 Frame Ctrl 11 */
333         { 0x00000552, 0x0001 },    /* R1362  - AIF2 Frame Ctrl 12 */
334         { 0x00000553, 0x0002 },    /* R1363  - AIF2 Frame Ctrl 13 */
335         { 0x00000554, 0x0003 },    /* R1364  - AIF2 Frame Ctrl 14 */
336         { 0x00000555, 0x0004 },    /* R1365  - AIF2 Frame Ctrl 15 */
337         { 0x00000556, 0x0005 },    /* R1366  - AIF2 Frame Ctrl 16 */
338         { 0x00000559, 0x0000 },    /* R1369  - AIF2 Tx Enables */
339         { 0x0000055A, 0x0000 },    /* R1370  - AIF2 Rx Enables */
340         { 0x00000580, 0x000C },    /* R1408  - AIF3 BCLK Ctrl */
341         { 0x00000581, 0x0008 },    /* R1409  - AIF3 Tx Pin Ctrl */
342         { 0x00000582, 0x0000 },    /* R1410  - AIF3 Rx Pin Ctrl */
343         { 0x00000583, 0x0000 },    /* R1411  - AIF3 Rate Ctrl */
344         { 0x00000584, 0x0000 },    /* R1412  - AIF3 Format */
345         { 0x00000585, 0x0040 },    /* R1413  - AIF3 Tx BCLK Rate */
346         { 0x00000586, 0x0040 },    /* R1414  - AIF3 Rx BCLK Rate */
347         { 0x00000587, 0x1818 },    /* R1415  - AIF3 Frame Ctrl 1 */
348         { 0x00000588, 0x1818 },    /* R1416  - AIF3 Frame Ctrl 2 */
349         { 0x00000589, 0x0000 },    /* R1417  - AIF3 Frame Ctrl 3 */
350         { 0x0000058A, 0x0001 },    /* R1418  - AIF3 Frame Ctrl 4 */
351         { 0x00000591, 0x0000 },    /* R1425  - AIF3 Frame Ctrl 11 */
352         { 0x00000592, 0x0001 },    /* R1426  - AIF3 Frame Ctrl 12 */
353         { 0x00000599, 0x0000 },    /* R1433  - AIF3 Tx Enables */
354         { 0x0000059A, 0x0000 },    /* R1434  - AIF3 Rx Enables */
355         { 0x00000640, 0x0000 },    /* R1600  - PWM1MIX Input 1 Source */
356         { 0x00000641, 0x0080 },    /* R1601  - PWM1MIX Input 1 Volume */
357         { 0x00000642, 0x0000 },    /* R1602  - PWM1MIX Input 2 Source */
358         { 0x00000643, 0x0080 },    /* R1603  - PWM1MIX Input 2 Volume */
359         { 0x00000644, 0x0000 },    /* R1604  - PWM1MIX Input 3 Source */
360         { 0x00000645, 0x0080 },    /* R1605  - PWM1MIX Input 3 Volume */
361         { 0x00000646, 0x0000 },    /* R1606  - PWM1MIX Input 4 Source */
362         { 0x00000647, 0x0080 },    /* R1607  - PWM1MIX Input 4 Volume */
363         { 0x00000648, 0x0000 },    /* R1608  - PWM2MIX Input 1 Source */
364         { 0x00000649, 0x0080 },    /* R1609  - PWM2MIX Input 1 Volume */
365         { 0x0000064A, 0x0000 },    /* R1610  - PWM2MIX Input 2 Source */
366         { 0x0000064B, 0x0080 },    /* R1611  - PWM2MIX Input 2 Volume */
367         { 0x0000064C, 0x0000 },    /* R1612  - PWM2MIX Input 3 Source */
368         { 0x0000064D, 0x0080 },    /* R1613  - PWM2MIX Input 3 Volume */
369         { 0x0000064E, 0x0000 },    /* R1614  - PWM2MIX Input 4 Source */
370         { 0x0000064F, 0x0080 },    /* R1615  - PWM2MIX Input 4 Volume */
371         { 0x00000680, 0x0000 },    /* R1664  - OUT1LMIX Input 1 Source */
372         { 0x00000681, 0x0080 },    /* R1665  - OUT1LMIX Input 1 Volume */
373         { 0x00000682, 0x0000 },    /* R1666  - OUT1LMIX Input 2 Source */
374         { 0x00000683, 0x0080 },    /* R1667  - OUT1LMIX Input 2 Volume */
375         { 0x00000684, 0x0000 },    /* R1668  - OUT1LMIX Input 3 Source */
376         { 0x00000685, 0x0080 },    /* R1669  - OUT1LMIX Input 3 Volume */
377         { 0x00000686, 0x0000 },    /* R1670  - OUT1LMIX Input 4 Source */
378         { 0x00000687, 0x0080 },    /* R1671  - OUT1LMIX Input 4 Volume */
379         { 0x00000688, 0x0000 },    /* R1672  - OUT1RMIX Input 1 Source */
380         { 0x00000689, 0x0080 },    /* R1673  - OUT1RMIX Input 1 Volume */
381         { 0x0000068A, 0x0000 },    /* R1674  - OUT1RMIX Input 2 Source */
382         { 0x0000068B, 0x0080 },    /* R1675  - OUT1RMIX Input 2 Volume */
383         { 0x0000068C, 0x0000 },    /* R1676  - OUT1RMIX Input 3 Source */
384         { 0x0000068D, 0x0080 },    /* R1677  - OUT1RMIX Input 3 Volume */
385         { 0x0000068E, 0x0000 },    /* R1678  - OUT1RMIX Input 4 Source */
386         { 0x0000068F, 0x0080 },    /* R1679  - OUT1RMIX Input 4 Volume */
387         { 0x000006B0, 0x0000 },    /* R1712  - OUT4LMIX Input 1 Source */
388         { 0x000006B1, 0x0080 },    /* R1713  - OUT4LMIX Input 1 Volume */
389         { 0x000006B2, 0x0000 },    /* R1714  - OUT4LMIX Input 2 Source */
390         { 0x000006B3, 0x0080 },    /* R1715  - OUT4LMIX Input 2 Volume */
391         { 0x000006B4, 0x0000 },    /* R1716  - OUT4LMIX Input 3 Source */
392         { 0x000006B5, 0x0080 },    /* R1717  - OUT4LMIX Input 3 Volume */
393         { 0x000006B6, 0x0000 },    /* R1718  - OUT4LMIX Input 4 Source */
394         { 0x000006B7, 0x0080 },    /* R1719  - OUT4LMIX Input 4 Volume */
395         { 0x00000700, 0x0000 },    /* R1792  - AIF1TX1MIX Input 1 Source */
396         { 0x00000701, 0x0080 },    /* R1793  - AIF1TX1MIX Input 1 Volume */
397         { 0x00000702, 0x0000 },    /* R1794  - AIF1TX1MIX Input 2 Source */
398         { 0x00000703, 0x0080 },    /* R1795  - AIF1TX1MIX Input 2 Volume */
399         { 0x00000704, 0x0000 },    /* R1796  - AIF1TX1MIX Input 3 Source */
400         { 0x00000705, 0x0080 },    /* R1797  - AIF1TX1MIX Input 3 Volume */
401         { 0x00000706, 0x0000 },    /* R1798  - AIF1TX1MIX Input 4 Source */
402         { 0x00000707, 0x0080 },    /* R1799  - AIF1TX1MIX Input 4 Volume */
403         { 0x00000708, 0x0000 },    /* R1800  - AIF1TX2MIX Input 1 Source */
404         { 0x00000709, 0x0080 },    /* R1801  - AIF1TX2MIX Input 1 Volume */
405         { 0x0000070A, 0x0000 },    /* R1802  - AIF1TX2MIX Input 2 Source */
406         { 0x0000070B, 0x0080 },    /* R1803  - AIF1TX2MIX Input 2 Volume */
407         { 0x0000070C, 0x0000 },    /* R1804  - AIF1TX2MIX Input 3 Source */
408         { 0x0000070D, 0x0080 },    /* R1805  - AIF1TX2MIX Input 3 Volume */
409         { 0x0000070E, 0x0000 },    /* R1806  - AIF1TX2MIX Input 4 Source */
410         { 0x0000070F, 0x0080 },    /* R1807  - AIF1TX2MIX Input 4 Volume */
411         { 0x00000710, 0x0000 },    /* R1808  - AIF1TX3MIX Input 1 Source */
412         { 0x00000711, 0x0080 },    /* R1809  - AIF1TX3MIX Input 1 Volume */
413         { 0x00000712, 0x0000 },    /* R1810  - AIF1TX3MIX Input 2 Source */
414         { 0x00000713, 0x0080 },    /* R1811  - AIF1TX3MIX Input 2 Volume */
415         { 0x00000714, 0x0000 },    /* R1812  - AIF1TX3MIX Input 3 Source */
416         { 0x00000715, 0x0080 },    /* R1813  - AIF1TX3MIX Input 3 Volume */
417         { 0x00000716, 0x0000 },    /* R1814  - AIF1TX3MIX Input 4 Source */
418         { 0x00000717, 0x0080 },    /* R1815  - AIF1TX3MIX Input 4 Volume */
419         { 0x00000718, 0x0000 },    /* R1816  - AIF1TX4MIX Input 1 Source */
420         { 0x00000719, 0x0080 },    /* R1817  - AIF1TX4MIX Input 1 Volume */
421         { 0x0000071A, 0x0000 },    /* R1818  - AIF1TX4MIX Input 2 Source */
422         { 0x0000071B, 0x0080 },    /* R1819  - AIF1TX4MIX Input 2 Volume */
423         { 0x0000071C, 0x0000 },    /* R1820  - AIF1TX4MIX Input 3 Source */
424         { 0x0000071D, 0x0080 },    /* R1821  - AIF1TX4MIX Input 3 Volume */
425         { 0x0000071E, 0x0000 },    /* R1822  - AIF1TX4MIX Input 4 Source */
426         { 0x0000071F, 0x0080 },    /* R1823  - AIF1TX4MIX Input 4 Volume */
427         { 0x00000720, 0x0000 },    /* R1824  - AIF1TX5MIX Input 1 Source */
428         { 0x00000721, 0x0080 },    /* R1825  - AIF1TX5MIX Input 1 Volume */
429         { 0x00000722, 0x0000 },    /* R1826  - AIF1TX5MIX Input 2 Source */
430         { 0x00000723, 0x0080 },    /* R1827  - AIF1TX5MIX Input 2 Volume */
431         { 0x00000724, 0x0000 },    /* R1828  - AIF1TX5MIX Input 3 Source */
432         { 0x00000725, 0x0080 },    /* R1829  - AIF1TX5MIX Input 3 Volume */
433         { 0x00000726, 0x0000 },    /* R1830  - AIF1TX5MIX Input 4 Source */
434         { 0x00000727, 0x0080 },    /* R1831  - AIF1TX5MIX Input 4 Volume */
435         { 0x00000728, 0x0000 },    /* R1832  - AIF1TX6MIX Input 1 Source */
436         { 0x00000729, 0x0080 },    /* R1833  - AIF1TX6MIX Input 1 Volume */
437         { 0x0000072A, 0x0000 },    /* R1834  - AIF1TX6MIX Input 2 Source */
438         { 0x0000072B, 0x0080 },    /* R1835  - AIF1TX6MIX Input 2 Volume */
439         { 0x0000072C, 0x0000 },    /* R1836  - AIF1TX6MIX Input 3 Source */
440         { 0x0000072D, 0x0080 },    /* R1837  - AIF1TX6MIX Input 3 Volume */
441         { 0x0000072E, 0x0000 },    /* R1838  - AIF1TX6MIX Input 4 Source */
442         { 0x0000072F, 0x0080 },    /* R1839  - AIF1TX6MIX Input 4 Volume */
443         { 0x00000730, 0x0000 },    /* R1840  - AIF1TX7MIX Input 1 Source */
444         { 0x00000731, 0x0080 },    /* R1841  - AIF1TX7MIX Input 1 Volume */
445         { 0x00000732, 0x0000 },    /* R1842  - AIF1TX7MIX Input 2 Source */
446         { 0x00000733, 0x0080 },    /* R1843  - AIF1TX7MIX Input 2 Volume */
447         { 0x00000734, 0x0000 },    /* R1844  - AIF1TX7MIX Input 3 Source */
448         { 0x00000735, 0x0080 },    /* R1845  - AIF1TX7MIX Input 3 Volume */
449         { 0x00000736, 0x0000 },    /* R1846  - AIF1TX7MIX Input 4 Source */
450         { 0x00000737, 0x0080 },    /* R1847  - AIF1TX7MIX Input 4 Volume */
451         { 0x00000738, 0x0000 },    /* R1848  - AIF1TX8MIX Input 1 Source */
452         { 0x00000739, 0x0080 },    /* R1849  - AIF1TX8MIX Input 1 Volume */
453         { 0x0000073A, 0x0000 },    /* R1850  - AIF1TX8MIX Input 2 Source */
454         { 0x0000073B, 0x0080 },    /* R1851  - AIF1TX8MIX Input 2 Volume */
455         { 0x0000073C, 0x0000 },    /* R1852  - AIF1TX8MIX Input 3 Source */
456         { 0x0000073D, 0x0080 },    /* R1853  - AIF1TX8MIX Input 3 Volume */
457         { 0x0000073E, 0x0000 },    /* R1854  - AIF1TX8MIX Input 4 Source */
458         { 0x0000073F, 0x0080 },    /* R1855  - AIF1TX8MIX Input 4 Volume */
459         { 0x00000740, 0x0000 },    /* R1856  - AIF2TX1MIX Input 1 Source */
460         { 0x00000741, 0x0080 },    /* R1857  - AIF2TX1MIX Input 1 Volume */
461         { 0x00000742, 0x0000 },    /* R1858  - AIF2TX1MIX Input 2 Source */
462         { 0x00000743, 0x0080 },    /* R1859  - AIF2TX1MIX Input 2 Volume */
463         { 0x00000744, 0x0000 },    /* R1860  - AIF2TX1MIX Input 3 Source */
464         { 0x00000745, 0x0080 },    /* R1861  - AIF2TX1MIX Input 3 Volume */
465         { 0x00000746, 0x0000 },    /* R1862  - AIF2TX1MIX Input 4 Source */
466         { 0x00000747, 0x0080 },    /* R1863  - AIF2TX1MIX Input 4 Volume */
467         { 0x00000748, 0x0000 },    /* R1864  - AIF2TX2MIX Input 1 Source */
468         { 0x00000749, 0x0080 },    /* R1865  - AIF2TX2MIX Input 1 Volume */
469         { 0x0000074A, 0x0000 },    /* R1866  - AIF2TX2MIX Input 2 Source */
470         { 0x0000074B, 0x0080 },    /* R1867  - AIF2TX2MIX Input 2 Volume */
471         { 0x0000074C, 0x0000 },    /* R1868  - AIF2TX2MIX Input 3 Source */
472         { 0x0000074D, 0x0080 },    /* R1869  - AIF2TX2MIX Input 3 Volume */
473         { 0x0000074E, 0x0000 },    /* R1870  - AIF2TX2MIX Input 4 Source */
474         { 0x0000074F, 0x0080 },    /* R1871  - AIF2TX2MIX Input 4 Volume */
475         { 0x00000750, 0x0000 },    /* R1872  - AIF2TX3MIX Input 1 Source */
476         { 0x00000751, 0x0080 },    /* R1873  - AIF2TX3MIX Input 1 Volume */
477         { 0x00000752, 0x0000 },    /* R1874  - AIF2TX3MIX Input 2 Source */
478         { 0x00000753, 0x0080 },    /* R1875  - AIF2TX3MIX Input 2 Volume */
479         { 0x00000754, 0x0000 },    /* R1876  - AIF2TX3MIX Input 3 Source */
480         { 0x00000755, 0x0080 },    /* R1877  - AIF2TX3MIX Input 3 Volume */
481         { 0x00000756, 0x0000 },    /* R1878  - AIF2TX3MIX Input 4 Source */
482         { 0x00000757, 0x0080 },    /* R1879  - AIF2TX3MIX Input 4 Volume */
483         { 0x00000758, 0x0000 },    /* R1880  - AIF2TX4MIX Input 1 Source */
484         { 0x00000759, 0x0080 },    /* R1881  - AIF2TX4MIX Input 1 Volume */
485         { 0x0000075A, 0x0000 },    /* R1882  - AIF2TX4MIX Input 2 Source */
486         { 0x0000075B, 0x0080 },    /* R1883  - AIF2TX4MIX Input 2 Volume */
487         { 0x0000075C, 0x0000 },    /* R1884  - AIF2TX4MIX Input 3 Source */
488         { 0x0000075D, 0x0080 },    /* R1885  - AIF2TX4MIX Input 3 Volume */
489         { 0x0000075E, 0x0000 },    /* R1886  - AIF2TX4MIX Input 4 Source */
490         { 0x0000075F, 0x0080 },    /* R1887  - AIF2TX4MIX Input 4 Volume */
491         { 0x00000760, 0x0000 },    /* R1888  - AIF2TX5MIX Input 1 Source */
492         { 0x00000761, 0x0080 },    /* R1889  - AIF2TX5MIX Input 1 Volume */
493         { 0x00000762, 0x0000 },    /* R1890  - AIF2TX5MIX Input 2 Source */
494         { 0x00000763, 0x0080 },    /* R1891  - AIF2TX5MIX Input 2 Volume */
495         { 0x00000764, 0x0000 },    /* R1892  - AIF2TX5MIX Input 3 Source */
496         { 0x00000765, 0x0080 },    /* R1893  - AIF2TX5MIX Input 3 Volume */
497         { 0x00000766, 0x0000 },    /* R1894  - AIF2TX5MIX Input 4 Source */
498         { 0x00000767, 0x0080 },    /* R1895  - AIF2TX5MIX Input 4 Volume */
499         { 0x00000768, 0x0000 },    /* R1896  - AIF2TX6MIX Input 1 Source */
500         { 0x00000769, 0x0080 },    /* R1897  - AIF2TX6MIX Input 1 Volume */
501         { 0x0000076A, 0x0000 },    /* R1898  - AIF2TX6MIX Input 2 Source */
502         { 0x0000076B, 0x0080 },    /* R1899  - AIF2TX6MIX Input 2 Volume */
503         { 0x0000076C, 0x0000 },    /* R1900  - AIF2TX6MIX Input 3 Source */
504         { 0x0000076D, 0x0080 },    /* R1901  - AIF2TX6MIX Input 3 Volume */
505         { 0x0000076E, 0x0000 },    /* R1902  - AIF2TX6MIX Input 4 Source */
506         { 0x0000076F, 0x0080 },    /* R1903  - AIF2TX6MIX Input 4 Volume */
507         { 0x00000780, 0x0000 },    /* R1920  - AIF3TX1MIX Input 1 Source */
508         { 0x00000781, 0x0080 },    /* R1921  - AIF3TX1MIX Input 1 Volume */
509         { 0x00000782, 0x0000 },    /* R1922  - AIF3TX1MIX Input 2 Source */
510         { 0x00000783, 0x0080 },    /* R1923  - AIF3TX1MIX Input 2 Volume */
511         { 0x00000784, 0x0000 },    /* R1924  - AIF3TX1MIX Input 3 Source */
512         { 0x00000785, 0x0080 },    /* R1925  - AIF3TX1MIX Input 3 Volume */
513         { 0x00000786, 0x0000 },    /* R1926  - AIF3TX1MIX Input 4 Source */
514         { 0x00000787, 0x0080 },    /* R1927  - AIF3TX1MIX Input 4 Volume */
515         { 0x00000788, 0x0000 },    /* R1928  - AIF3TX2MIX Input 1 Source */
516         { 0x00000789, 0x0080 },    /* R1929  - AIF3TX2MIX Input 1 Volume */
517         { 0x0000078A, 0x0000 },    /* R1930  - AIF3TX2MIX Input 2 Source */
518         { 0x0000078B, 0x0080 },    /* R1931  - AIF3TX2MIX Input 2 Volume */
519         { 0x0000078C, 0x0000 },    /* R1932  - AIF3TX2MIX Input 3 Source */
520         { 0x0000078D, 0x0080 },    /* R1933  - AIF3TX2MIX Input 3 Volume */
521         { 0x0000078E, 0x0000 },    /* R1934  - AIF3TX2MIX Input 4 Source */
522         { 0x0000078F, 0x0080 },    /* R1935  - AIF3TX2MIX Input 4 Volume */
523         { 0x00000880, 0x0000 },    /* R2176  - EQ1MIX Input 1 Source */
524         { 0x00000881, 0x0080 },    /* R2177  - EQ1MIX Input 1 Volume */
525         { 0x00000882, 0x0000 },    /* R2178  - EQ1MIX Input 2 Source */
526         { 0x00000883, 0x0080 },    /* R2179  - EQ1MIX Input 2 Volume */
527         { 0x00000884, 0x0000 },    /* R2180  - EQ1MIX Input 3 Source */
528         { 0x00000885, 0x0080 },    /* R2181  - EQ1MIX Input 3 Volume */
529         { 0x00000886, 0x0000 },    /* R2182  - EQ1MIX Input 4 Source */
530         { 0x00000887, 0x0080 },    /* R2183  - EQ1MIX Input 4 Volume */
531         { 0x00000888, 0x0000 },    /* R2184  - EQ2MIX Input 1 Source */
532         { 0x00000889, 0x0080 },    /* R2185  - EQ2MIX Input 1 Volume */
533         { 0x0000088A, 0x0000 },    /* R2186  - EQ2MIX Input 2 Source */
534         { 0x0000088B, 0x0080 },    /* R2187  - EQ2MIX Input 2 Volume */
535         { 0x0000088C, 0x0000 },    /* R2188  - EQ2MIX Input 3 Source */
536         { 0x0000088D, 0x0080 },    /* R2189  - EQ2MIX Input 3 Volume */
537         { 0x0000088E, 0x0000 },    /* R2190  - EQ2MIX Input 4 Source */
538         { 0x0000088F, 0x0080 },    /* R2191  - EQ2MIX Input 4 Volume */
539         { 0x000008C0, 0x0000 },    /* R2240  - DRC1LMIX Input 1 Source */
540         { 0x000008C1, 0x0080 },    /* R2241  - DRC1LMIX Input 1 Volume */
541         { 0x000008C2, 0x0000 },    /* R2242  - DRC1LMIX Input 2 Source */
542         { 0x000008C3, 0x0080 },    /* R2243  - DRC1LMIX Input 2 Volume */
543         { 0x000008C4, 0x0000 },    /* R2244  - DRC1LMIX Input 3 Source */
544         { 0x000008C5, 0x0080 },    /* R2245  - DRC1LMIX Input 3 Volume */
545         { 0x000008C6, 0x0000 },    /* R2246  - DRC1LMIX Input 4 Source */
546         { 0x000008C7, 0x0080 },    /* R2247  - DRC1LMIX Input 4 Volume */
547         { 0x000008C8, 0x0000 },    /* R2248  - DRC1RMIX Input 1 Source */
548         { 0x000008C9, 0x0080 },    /* R2249  - DRC1RMIX Input 1 Volume */
549         { 0x000008CA, 0x0000 },    /* R2250  - DRC1RMIX Input 2 Source */
550         { 0x000008CB, 0x0080 },    /* R2251  - DRC1RMIX Input 2 Volume */
551         { 0x000008CC, 0x0000 },    /* R2252  - DRC1RMIX Input 3 Source */
552         { 0x000008CD, 0x0080 },    /* R2253  - DRC1RMIX Input 3 Volume */
553         { 0x000008CE, 0x0000 },    /* R2254  - DRC1RMIX Input 4 Source */
554         { 0x000008CF, 0x0080 },    /* R2255  - DRC1RMIX Input 4 Volume */
555         { 0x000008D0, 0x0000 },    /* R2256  - DRC2LMIX Input 1 Source */
556         { 0x000008D1, 0x0080 },    /* R2257  - DRC2LMIX Input 1 Volume */
557         { 0x000008D2, 0x0000 },    /* R2258  - DRC2LMIX Input 2 Source */
558         { 0x000008D3, 0x0080 },    /* R2259  - DRC2LMIX Input 2 Volume */
559         { 0x000008D4, 0x0000 },    /* R2260  - DRC2LMIX Input 3 Source */
560         { 0x000008D5, 0x0080 },    /* R2261  - DRC2LMIX Input 3 Volume */
561         { 0x000008D6, 0x0000 },    /* R2262  - DRC2LMIX Input 4 Source */
562         { 0x000008D7, 0x0080 },    /* R2263  - DRC2LMIX Input 4 Volume */
563         { 0x000008D8, 0x0000 },    /* R2264  - DRC2RMIX Input 1 Source */
564         { 0x000008D9, 0x0080 },    /* R2265  - DRC2RMIX Input 1 Volume */
565         { 0x000008DA, 0x0000 },    /* R2266  - DRC2RMIX Input 2 Source */
566         { 0x000008DB, 0x0080 },    /* R2267  - DRC2RMIX Input 2 Volume */
567         { 0x000008DC, 0x0000 },    /* R2268  - DRC2RMIX Input 3 Source */
568         { 0x000008DD, 0x0080 },    /* R2269  - DRC2RMIX Input 3 Volume */
569         { 0x000008DE, 0x0000 },    /* R2270  - DRC2RMIX Input 4 Source */
570         { 0x000008DF, 0x0080 },    /* R2271  - DRC2RMIX Input 4 Volume */
571         { 0x00000900, 0x0000 },    /* R2304  - HPLP1MIX Input 1 Source */
572         { 0x00000901, 0x0080 },    /* R2305  - HPLP1MIX Input 1 Volume */
573         { 0x00000902, 0x0000 },    /* R2306  - HPLP1MIX Input 2 Source */
574         { 0x00000903, 0x0080 },    /* R2307  - HPLP1MIX Input 2 Volume */
575         { 0x00000904, 0x0000 },    /* R2308  - HPLP1MIX Input 3 Source */
576         { 0x00000905, 0x0080 },    /* R2309  - HPLP1MIX Input 3 Volume */
577         { 0x00000906, 0x0000 },    /* R2310  - HPLP1MIX Input 4 Source */
578         { 0x00000907, 0x0080 },    /* R2311  - HPLP1MIX Input 4 Volume */
579         { 0x00000908, 0x0000 },    /* R2312  - HPLP2MIX Input 1 Source */
580         { 0x00000909, 0x0080 },    /* R2313  - HPLP2MIX Input 1 Volume */
581         { 0x0000090A, 0x0000 },    /* R2314  - HPLP2MIX Input 2 Source */
582         { 0x0000090B, 0x0080 },    /* R2315  - HPLP2MIX Input 2 Volume */
583         { 0x0000090C, 0x0000 },    /* R2316  - HPLP2MIX Input 3 Source */
584         { 0x0000090D, 0x0080 },    /* R2317  - HPLP2MIX Input 3 Volume */
585         { 0x0000090E, 0x0000 },    /* R2318  - HPLP2MIX Input 4 Source */
586         { 0x0000090F, 0x0080 },    /* R2319  - HPLP2MIX Input 4 Volume */
587         { 0x00000910, 0x0000 },    /* R2320  - HPLP3MIX Input 1 Source */
588         { 0x00000911, 0x0080 },    /* R2321  - HPLP3MIX Input 1 Volume */
589         { 0x00000912, 0x0000 },    /* R2322  - HPLP3MIX Input 2 Source */
590         { 0x00000913, 0x0080 },    /* R2323  - HPLP3MIX Input 2 Volume */
591         { 0x00000914, 0x0000 },    /* R2324  - HPLP3MIX Input 3 Source */
592         { 0x00000915, 0x0080 },    /* R2325  - HPLP3MIX Input 3 Volume */
593         { 0x00000916, 0x0000 },    /* R2326  - HPLP3MIX Input 4 Source */
594         { 0x00000917, 0x0080 },    /* R2327  - HPLP3MIX Input 4 Volume */
595         { 0x00000918, 0x0000 },    /* R2328  - HPLP4MIX Input 1 Source */
596         { 0x00000919, 0x0080 },    /* R2329  - HPLP4MIX Input 1 Volume */
597         { 0x0000091A, 0x0000 },    /* R2330  - HPLP4MIX Input 2 Source */
598         { 0x0000091B, 0x0080 },    /* R2331  - HPLP4MIX Input 2 Volume */
599         { 0x0000091C, 0x0000 },    /* R2332  - HPLP4MIX Input 3 Source */
600         { 0x0000091D, 0x0080 },    /* R2333  - HPLP4MIX Input 3 Volume */
601         { 0x0000091E, 0x0000 },    /* R2334  - HPLP4MIX Input 4 Source */
602         { 0x0000091F, 0x0080 },    /* R2335  - HPLP4MIX Input 4 Volume */
603         { 0x00000980, 0x0000 },    /* R2432  - DSP2LMIX Input 1 Source */
604         { 0x00000981, 0x0080 },    /* R2433  - DSP2LMIX Input 1 Volume */
605         { 0x00000982, 0x0000 },    /* R2434  - DSP2LMIX Input 2 Source */
606         { 0x00000983, 0x0080 },    /* R2435  - DSP2LMIX Input 2 Volume */
607         { 0x00000984, 0x0000 },    /* R2436  - DSP2LMIX Input 3 Source */
608         { 0x00000985, 0x0080 },    /* R2437  - DSP2LMIX Input 3 Volume */
609         { 0x00000986, 0x0000 },    /* R2438  - DSP2LMIX Input 4 Source */
610         { 0x00000987, 0x0080 },    /* R2439  - DSP2LMIX Input 4 Volume */
611         { 0x00000988, 0x0000 },    /* R2440  - DSP2RMIX Input 1 Source */
612         { 0x00000989, 0x0080 },    /* R2441  - DSP2RMIX Input 1 Volume */
613         { 0x0000098A, 0x0000 },    /* R2442  - DSP2RMIX Input 2 Source */
614         { 0x0000098B, 0x0080 },    /* R2443  - DSP2RMIX Input 2 Volume */
615         { 0x0000098C, 0x0000 },    /* R2444  - DSP2RMIX Input 3 Source */
616         { 0x0000098D, 0x0080 },    /* R2445  - DSP2RMIX Input 3 Volume */
617         { 0x0000098E, 0x0000 },    /* R2446  - DSP2RMIX Input 4 Source */
618         { 0x0000098F, 0x0080 },    /* R2447  - DSP2RMIX Input 4 Volume */
619         { 0x00000990, 0x0000 },    /* R2448  - DSP2AUX1MIX Input 1 Source */
620         { 0x00000998, 0x0000 },    /* R2456  - DSP2AUX2MIX Input 1 Source */
621         { 0x000009A0, 0x0000 },    /* R2464  - DSP2AUX3MIX Input 1 Source */
622         { 0x000009A8, 0x0000 },    /* R2472  - DSP2AUX4MIX Input 1 Source */
623         { 0x000009B0, 0x0000 },    /* R2480  - DSP2AUX5MIX Input 1 Source */
624         { 0x000009B8, 0x0000 },    /* R2488  - DSP2AUX6MIX Input 1 Source */
625         { 0x000009C0, 0x0000 },    /* R2496  - DSP3LMIX Input 1 Source */
626         { 0x000009C1, 0x0080 },    /* R2497  - DSP3LMIX Input 1 Volume */
627         { 0x000009C2, 0x0000 },    /* R2498  - DSP3LMIX Input 2 Source */
628         { 0x000009C3, 0x0080 },    /* R2499  - DSP3LMIX Input 2 Volume */
629         { 0x000009C4, 0x0000 },    /* R2500  - DSP3LMIX Input 3 Source */
630         { 0x000009C5, 0x0080 },    /* R2501  - DSP3LMIX Input 3 Volume */
631         { 0x000009C6, 0x0000 },    /* R2502  - DSP3LMIX Input 4 Source */
632         { 0x000009C7, 0x0080 },    /* R2503  - DSP3LMIX Input 4 Volume */
633         { 0x000009C8, 0x0000 },    /* R2504  - DSP3RMIX Input 1 Source */
634         { 0x000009C9, 0x0080 },    /* R2505  - DSP3RMIX Input 1 Volume */
635         { 0x000009CA, 0x0000 },    /* R2506  - DSP3RMIX Input 2 Source */
636         { 0x000009CB, 0x0080 },    /* R2507  - DSP3RMIX Input 2 Volume */
637         { 0x000009CC, 0x0000 },    /* R2508  - DSP3RMIX Input 3 Source */
638         { 0x000009CD, 0x0080 },    /* R2509  - DSP3RMIX Input 3 Volume */
639         { 0x000009CE, 0x0000 },    /* R2510  - DSP3RMIX Input 4 Source */
640         { 0x000009CF, 0x0080 },    /* R2511  - DSP3RMIX Input 4 Volume */
641         { 0x000009D0, 0x0000 },    /* R2512  - DSP3AUX1MIX Input 1 Source */
642         { 0x000009D8, 0x0000 },    /* R2520  - DSP3AUX2MIX Input 1 Source */
643         { 0x000009E0, 0x0000 },    /* R2528  - DSP3AUX3MIX Input 1 Source */
644         { 0x000009E8, 0x0000 },    /* R2536  - DSP3AUX4MIX Input 1 Source */
645         { 0x000009F0, 0x0000 },    /* R2544  - DSP3AUX5MIX Input 1 Source */
646         { 0x000009F8, 0x0000 },    /* R2552  - DSP3AUX6MIX Input 1 Source */
647         { 0x00000A80, 0x0000 },    /* R2688  - ASRC1LMIX Input 1 Source */
648         { 0x00000A88, 0x0000 },    /* R2696  - ASRC1RMIX Input 1 Source */
649         { 0x00000A90, 0x0000 },    /* R2704  - ASRC2LMIX Input 1 Source */
650         { 0x00000A98, 0x0000 },    /* R2712  - ASRC2RMIX Input 1 Source */
651         { 0x00000B00, 0x0000 },    /* R2816  - ISRC1DEC1MIX Input 1 Source */
652         { 0x00000B08, 0x0000 },    /* R2824  - ISRC1DEC2MIX Input 1 Source */
653         { 0x00000B10, 0x0000 },    /* R2832  - ISRC1DEC3MIX Input 1 Source */
654         { 0x00000B18, 0x0000 },    /* R2840  - ISRC1DEC4MIX Input 1 Source */
655         { 0x00000B20, 0x0000 },    /* R2848  - ISRC1INT1MIX Input 1 Source */
656         { 0x00000B28, 0x0000 },    /* R2856  - ISRC1INT2MIX Input 1 Source */
657         { 0x00000B30, 0x0000 },    /* R2864  - ISRC1INT3MIX Input 1 Source */
658         { 0x00000B38, 0x0000 },    /* R2872  - ISRC1INT4MIX Input 1 Source */
659         { 0x00000B40, 0x0000 },    /* R2880  - ISRC2DEC1MIX Input 1 Source */
660         { 0x00000B48, 0x0000 },    /* R2888  - ISRC2DEC2MIX Input 1 Source */
661         { 0x00000B50, 0x0000 },    /* R2896  - ISRC2DEC3MIX Input 1 Source */
662         { 0x00000B58, 0x0000 },    /* R2904  - ISRC2DEC4MIX Input 1 Source */
663         { 0x00000B60, 0x0000 },    /* R2912  - ISRC2INT1MIX Input 1 Source */
664         { 0x00000B68, 0x0000 },    /* R2920  - ISRC2INT2MIX Input 1 Source */
665         { 0x00000B70, 0x0000 },    /* R2928  - ISRC2INT3MIX Input 1 Source */
666         { 0x00000B78, 0x0000 },    /* R2936  - ISRC2INT4MIX Input 1 Source */
667         { 0x00000B80, 0x0000 },    /* R2944  - ISRC3DEC1MIX Input 1 Source */
668         { 0x00000B88, 0x0000 },    /* R2952  - ISRC3DEC2MIX Input 1 Source */
669         { 0x00000B90, 0x0000 },    /* R2960  - ISRC3DEC3MIX Input 1 Source */
670         { 0x00000B98, 0x0000 },    /* R2968  - ISRC3DEC4MIX Input 1 Source */
671         { 0x00000BA0, 0x0000 },    /* R2976  - ISRC3INT1MIX Input 1 Source */
672         { 0x00000BA8, 0x0000 },    /* R2984  - ISRC3INT2MIX Input 1 Source */
673         { 0x00000BB0, 0x0000 },    /* R2992  - ISRC3INT3MIX Input 1 Source */
674         { 0x00000BB8, 0x0000 },    /* R3000  - ISRC3INT4MIX Input 1 Source */
675         { 0x00000C00, 0xA101 },    /* R3072  - GPIO1 CTRL */
676         { 0x00000C01, 0xA101 },    /* R3073  - GPIO2 CTRL */
677         { 0x00000C0F, 0x0400 },    /* R3087  - IRQ CTRL 1 */
678         { 0x00000C10, 0x1000 },    /* R3088  - GPIO Debounce Config */
679         { 0x00000C20, 0x0002 },    /* R3104  - Misc Pad Ctrl 1 */
680         { 0x00000C21, 0x0000 },    /* R3105  - Misc Pad Ctrl 2 */
681         { 0x00000C22, 0x0000 },    /* R3106  - Misc Pad Ctrl 3 */
682         { 0x00000C23, 0x0000 },    /* R3107  - Misc Pad Ctrl 4 */
683         { 0x00000C24, 0x0000 },    /* R3108  - Misc Pad Ctrl 5 */
684         { 0x00000C25, 0x0000 },    /* R3109  - Misc Pad Ctrl 6 */
685         { 0x00000C30, 0x0404 },    /* R3120  - Misc Pad Ctrl 7 */
686         { 0x00000C32, 0x0404 },    /* R3122  - Misc Pad Ctrl 9 */
687         { 0x00000C33, 0x0404 },    /* R3123  - Misc Pad Ctrl 10 */
688         { 0x00000C34, 0x0404 },    /* R3124  - Misc Pad Ctrl 11 */
689         { 0x00000C35, 0x0404 },    /* R3125  - Misc Pad Ctrl 12 */
690         { 0x00000C36, 0x0400 },    /* R3126  - Misc Pad Ctrl 13 */
691         { 0x00000C37, 0x0404 },    /* R3127  - Misc Pad Ctrl 14 */
692         { 0x00000C39, 0x0400 },    /* R3129  - Misc Pad Ctrl 16 */
693         { 0x00000D08, 0x0007 },    /* R3336  - Interrupt Status 1 Mask */
694         { 0x00000D09, 0x06FF },    /* R3337  - Interrupt Status 2 Mask */
695         { 0x00000D0A, 0xCFEF },    /* R3338  - Interrupt Status 3 Mask */
696         { 0x00000D0B, 0xFFC3 },    /* R3339  - Interrupt Status 4 Mask */
697         { 0x00000D0C, 0x000B },    /* R3340  - Interrupt Status 5 Mask */
698         { 0x00000D0D, 0xD005 },    /* R3341  - Interrupt Status 6 Mask */
699         { 0x00000D0F, 0x0000 },    /* R3343  - Interrupt Control */
700         { 0x00000D18, 0x0007 },    /* R3352  - IRQ2 Status 1 Mask */
701         { 0x00000D19, 0x06FF },    /* R3353  - IRQ2 Status 2 Mask */
702         { 0x00000D1A, 0xCFEF },    /* R3354  - IRQ2 Status 3 Mask */
703         { 0x00000D1B, 0xFFC3 },    /* R3355  - IRQ2 Status 4 Mask */
704         { 0x00000D1C, 0x000B },    /* R3356  - IRQ2 Status 5 Mask */
705         { 0x00000D1D, 0xD005 },    /* R3357  - IRQ2 Status 6 Mask */
706         { 0x00000D1F, 0x0000 },    /* R3359  - IRQ2 Control */
707         { 0x00000E00, 0x0000 },    /* R3584  - FX_Ctrl1 */
708         { 0x00000E10, 0x6318 },    /* R3600  - EQ1_1 */
709         { 0x00000E11, 0x6300 },    /* R3601  - EQ1_2 */
710         { 0x00000E12, 0x0FC8 },    /* R3602  - EQ1_3 */
711         { 0x00000E13, 0x03FE },    /* R3603  - EQ1_4 */
712         { 0x00000E14, 0x00E0 },    /* R3604  - EQ1_5 */
713         { 0x00000E15, 0x1EC4 },    /* R3605  - EQ1_6 */
714         { 0x00000E16, 0xF136 },    /* R3606  - EQ1_7 */
715         { 0x00000E17, 0x0409 },    /* R3607  - EQ1_8 */
716         { 0x00000E18, 0x04CC },    /* R3608  - EQ1_9 */
717         { 0x00000E19, 0x1C9B },    /* R3609  - EQ1_10 */
718         { 0x00000E1A, 0xF337 },    /* R3610  - EQ1_11 */
719         { 0x00000E1B, 0x040B },    /* R3611  - EQ1_12 */
720         { 0x00000E1C, 0x0CBB },    /* R3612  - EQ1_13 */
721         { 0x00000E1D, 0x16F8 },    /* R3613  - EQ1_14 */
722         { 0x00000E1E, 0xF7D9 },    /* R3614  - EQ1_15 */
723         { 0x00000E1F, 0x040A },    /* R3615  - EQ1_16 */
724         { 0x00000E20, 0x1F14 },    /* R3616  - EQ1_17 */
725         { 0x00000E21, 0x058C },    /* R3617  - EQ1_18 */
726         { 0x00000E22, 0x0563 },    /* R3618  - EQ1_19 */
727         { 0x00000E23, 0x4000 },    /* R3619  - EQ1_20 */
728         { 0x00000E24, 0x0B75 },    /* R3620  - EQ1_21 */
729         { 0x00000E26, 0x6318 },    /* R3622  - EQ2_1 */
730         { 0x00000E27, 0x6300 },    /* R3623  - EQ2_2 */
731         { 0x00000E28, 0x0FC8 },    /* R3624  - EQ2_3 */
732         { 0x00000E29, 0x03FE },    /* R3625  - EQ2_4 */
733         { 0x00000E2A, 0x00E0 },    /* R3626  - EQ2_5 */
734         { 0x00000E2B, 0x1EC4 },    /* R3627  - EQ2_6 */
735         { 0x00000E2C, 0xF136 },    /* R3628  - EQ2_7 */
736         { 0x00000E2D, 0x0409 },    /* R3629  - EQ2_8 */
737         { 0x00000E2E, 0x04CC },    /* R3630  - EQ2_9 */
738         { 0x00000E2F, 0x1C9B },    /* R3631  - EQ2_10 */
739         { 0x00000E30, 0xF337 },    /* R3632  - EQ2_11 */
740         { 0x00000E31, 0x040B },    /* R3633  - EQ2_12 */
741         { 0x00000E32, 0x0CBB },    /* R3634  - EQ2_13 */
742         { 0x00000E33, 0x16F8 },    /* R3635  - EQ2_14 */
743         { 0x00000E34, 0xF7D9 },    /* R3636  - EQ2_15 */
744         { 0x00000E35, 0x040A },    /* R3637  - EQ2_16 */
745         { 0x00000E36, 0x1F14 },    /* R3638  - EQ2_17 */
746         { 0x00000E37, 0x058C },    /* R3639  - EQ2_18 */
747         { 0x00000E38, 0x0563 },    /* R3640  - EQ2_19 */
748         { 0x00000E39, 0x4000 },    /* R3641  - EQ2_20 */
749         { 0x00000E3A, 0x0B75 },    /* R3642  - EQ2_21 */
750         { 0x00000E80, 0x0018 },    /* R3712  - DRC1 ctrl1 */
751         { 0x00000E81, 0x0933 },    /* R3713  - DRC1 ctrl2 */
752         { 0x00000E82, 0x0018 },    /* R3714  - DRC1 ctrl3 */
753         { 0x00000E83, 0x0000 },    /* R3715  - DRC1 ctrl4 */
754         { 0x00000E84, 0x0000 },    /* R3716  - DRC1 ctrl5 */
755         { 0x00000E89, 0x0018 },    /* R3721  - DRC2 ctrl1 */
756         { 0x00000E8A, 0x0933 },    /* R3722  - DRC2 ctrl2 */
757         { 0x00000E8B, 0x0018 },    /* R3723  - DRC2 ctrl3 */
758         { 0x00000E8C, 0x0000 },    /* R3724  - DRC2 ctrl4 */
759         { 0x00000E8D, 0x0000 },    /* R3725  - DRC2 ctrl5 */
760         { 0x00000EC0, 0x0000 },    /* R3776  - HPLPF1_1 */
761         { 0x00000EC1, 0x0000 },    /* R3777  - HPLPF1_2 */
762         { 0x00000EC4, 0x0000 },    /* R3780  - HPLPF2_1 */
763         { 0x00000EC5, 0x0000 },    /* R3781  - HPLPF2_2 */
764         { 0x00000EC8, 0x0000 },    /* R3784  - HPLPF3_1 */
765         { 0x00000EC9, 0x0000 },    /* R3785  - HPLPF3_2 */
766         { 0x00000ECC, 0x0000 },    /* R3788  - HPLPF4_1 */
767         { 0x00000ECD, 0x0000 },    /* R3789  - HPLPF4_2 */
768         { 0x00000EE0, 0x0000 },    /* R3808  - ASRC_ENABLE */
769         { 0x00000EE2, 0x0000 },    /* R3810  - ASRC_RATE1 */
770         { 0x00000EE3, 0x4000 },    /* R3811  - ASRC_RATE2 */
771         { 0x00000EF0, 0x0000 },    /* R3824  - ISRC 1 CTRL 1 */
772         { 0x00000EF1, 0x0000 },    /* R3825  - ISRC 1 CTRL 2 */
773         { 0x00000EF2, 0x0000 },    /* R3826  - ISRC 1 CTRL 3 */
774         { 0x00000EF3, 0x0000 },    /* R3827  - ISRC 2 CTRL 1 */
775         { 0x00000EF4, 0x0000 },    /* R3828  - ISRC 2 CTRL 2 */
776         { 0x00000EF5, 0x0000 },    /* R3829  - ISRC 2 CTRL 3 */
777         { 0x00000EF6, 0x0000 },    /* R3830  - ISRC 3 CTRL 1 */
778         { 0x00000EF7, 0x0000 },    /* R3831  - ISRC 3 CTRL 2 */
779         { 0x00000EF8, 0x0000 },    /* R3832  - ISRC 3 CTRL 3 */
780         { 0x00001200, 0x0010 },    /* R4608  - DSP2 Control 1 */
781         { 0x00001300, 0x0010 },    /* R4864  - DSP3 Control 1 */
782 };
783
784 static bool cs47l24_is_adsp_memory(unsigned int reg)
785 {
786         switch (reg) {
787         case 0x200000 ... 0x205fff:     /* DSP2 PM */
788         case 0x280000 ... 0x281fff:     /* DSP2 ZM */
789         case 0x290000 ... 0x2a7fff:     /* DSP2 XM */
790         case 0x2a8000 ... 0x2b3fff:     /* DSP2 YM */
791         case 0x300000 ... 0x308fff:     /* DSP3 PM */
792         case 0x380000 ... 0x381fff:     /* DSP3 ZM */
793         case 0x390000 ... 0x3a7fff:     /* DSP3 XM */
794         case 0x3a8000 ... 0x3b3fff:     /* DSP3 YM */
795                 return true;
796         default:
797                 return false;
798         }
799 }
800
801 static bool cs47l24_readable_register(struct device *dev, unsigned int reg)
802 {
803         switch (reg) {
804         case ARIZONA_SOFTWARE_RESET:
805         case ARIZONA_DEVICE_REVISION:
806         case ARIZONA_CTRL_IF_SPI_CFG_1:
807         case ARIZONA_WRITE_SEQUENCER_CTRL_0:
808         case ARIZONA_WRITE_SEQUENCER_CTRL_1:
809         case ARIZONA_WRITE_SEQUENCER_CTRL_2:
810         case ARIZONA_TONE_GENERATOR_1:
811         case ARIZONA_TONE_GENERATOR_2:
812         case ARIZONA_TONE_GENERATOR_3:
813         case ARIZONA_TONE_GENERATOR_4:
814         case ARIZONA_TONE_GENERATOR_5:
815         case ARIZONA_PWM_DRIVE_1:
816         case ARIZONA_PWM_DRIVE_2:
817         case ARIZONA_PWM_DRIVE_3:
818         case ARIZONA_SEQUENCE_CONTROL:
819         case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_1:
820         case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_2:
821         case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_3:
822         case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_4:
823         case ARIZONA_COMFORT_NOISE_GENERATOR:
824         case ARIZONA_HAPTICS_CONTROL_1:
825         case ARIZONA_HAPTICS_CONTROL_2:
826         case ARIZONA_HAPTICS_PHASE_1_INTENSITY:
827         case ARIZONA_HAPTICS_PHASE_1_DURATION:
828         case ARIZONA_HAPTICS_PHASE_2_INTENSITY:
829         case ARIZONA_HAPTICS_PHASE_2_DURATION:
830         case ARIZONA_HAPTICS_PHASE_3_INTENSITY:
831         case ARIZONA_HAPTICS_PHASE_3_DURATION:
832         case ARIZONA_HAPTICS_STATUS:
833         case ARIZONA_CLOCK_32K_1:
834         case ARIZONA_SYSTEM_CLOCK_1:
835         case ARIZONA_SAMPLE_RATE_1:
836         case ARIZONA_SAMPLE_RATE_2:
837         case ARIZONA_SAMPLE_RATE_3:
838         case ARIZONA_SAMPLE_RATE_1_STATUS:
839         case ARIZONA_SAMPLE_RATE_2_STATUS:
840         case ARIZONA_SAMPLE_RATE_3_STATUS:
841         case ARIZONA_ASYNC_CLOCK_1:
842         case ARIZONA_ASYNC_SAMPLE_RATE_1:
843         case ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS:
844         case ARIZONA_ASYNC_SAMPLE_RATE_2:
845         case ARIZONA_ASYNC_SAMPLE_RATE_2_STATUS:
846         case ARIZONA_OUTPUT_SYSTEM_CLOCK:
847         case ARIZONA_OUTPUT_ASYNC_CLOCK:
848         case ARIZONA_RATE_ESTIMATOR_1:
849         case ARIZONA_RATE_ESTIMATOR_2:
850         case ARIZONA_RATE_ESTIMATOR_3:
851         case ARIZONA_RATE_ESTIMATOR_4:
852         case ARIZONA_RATE_ESTIMATOR_5:
853         case ARIZONA_FLL1_CONTROL_1:
854         case ARIZONA_FLL1_CONTROL_2:
855         case ARIZONA_FLL1_CONTROL_3:
856         case ARIZONA_FLL1_CONTROL_4:
857         case ARIZONA_FLL1_CONTROL_5:
858         case ARIZONA_FLL1_CONTROL_6:
859         case ARIZONA_FLL1_CONTROL_7:
860         case ARIZONA_FLL1_SYNCHRONISER_1:
861         case ARIZONA_FLL1_SYNCHRONISER_2:
862         case ARIZONA_FLL1_SYNCHRONISER_3:
863         case ARIZONA_FLL1_SYNCHRONISER_4:
864         case ARIZONA_FLL1_SYNCHRONISER_5:
865         case ARIZONA_FLL1_SYNCHRONISER_6:
866         case ARIZONA_FLL1_SYNCHRONISER_7:
867         case ARIZONA_FLL1_SPREAD_SPECTRUM:
868         case ARIZONA_FLL1_GPIO_CLOCK:
869         case ARIZONA_FLL2_CONTROL_1:
870         case ARIZONA_FLL2_CONTROL_2:
871         case ARIZONA_FLL2_CONTROL_3:
872         case ARIZONA_FLL2_CONTROL_4:
873         case ARIZONA_FLL2_CONTROL_5:
874         case ARIZONA_FLL2_CONTROL_6:
875         case ARIZONA_FLL2_CONTROL_7:
876         case ARIZONA_FLL2_SYNCHRONISER_1:
877         case ARIZONA_FLL2_SYNCHRONISER_2:
878         case ARIZONA_FLL2_SYNCHRONISER_3:
879         case ARIZONA_FLL2_SYNCHRONISER_4:
880         case ARIZONA_FLL2_SYNCHRONISER_5:
881         case ARIZONA_FLL2_SYNCHRONISER_6:
882         case ARIZONA_FLL2_SYNCHRONISER_7:
883         case ARIZONA_FLL2_SPREAD_SPECTRUM:
884         case ARIZONA_FLL2_GPIO_CLOCK:
885         case ARIZONA_MIC_BIAS_CTRL_1:
886         case ARIZONA_MIC_BIAS_CTRL_2:
887         case ARIZONA_HP_CTRL_1L:
888         case ARIZONA_HP_CTRL_1R:
889         case ARIZONA_INPUT_ENABLES:
890         case ARIZONA_INPUT_ENABLES_STATUS:
891         case ARIZONA_INPUT_RATE:
892         case ARIZONA_INPUT_VOLUME_RAMP:
893         case ARIZONA_HPF_CONTROL:
894         case ARIZONA_IN1L_CONTROL:
895         case ARIZONA_ADC_DIGITAL_VOLUME_1L:
896         case ARIZONA_DMIC1L_CONTROL:
897         case ARIZONA_IN1R_CONTROL:
898         case ARIZONA_ADC_DIGITAL_VOLUME_1R:
899         case ARIZONA_DMIC1R_CONTROL:
900         case ARIZONA_IN2L_CONTROL:
901         case ARIZONA_ADC_DIGITAL_VOLUME_2L:
902         case ARIZONA_DMIC2L_CONTROL:
903         case ARIZONA_IN2R_CONTROL:
904         case ARIZONA_ADC_DIGITAL_VOLUME_2R:
905         case ARIZONA_DMIC2R_CONTROL:
906         case ARIZONA_OUTPUT_ENABLES_1:
907         case ARIZONA_OUTPUT_STATUS_1:
908         case ARIZONA_RAW_OUTPUT_STATUS_1:
909         case ARIZONA_OUTPUT_RATE_1:
910         case ARIZONA_OUTPUT_VOLUME_RAMP:
911         case ARIZONA_OUTPUT_PATH_CONFIG_1L:
912         case ARIZONA_DAC_DIGITAL_VOLUME_1L:
913         case ARIZONA_DAC_VOLUME_LIMIT_1L:
914         case ARIZONA_NOISE_GATE_SELECT_1L:
915         case ARIZONA_DAC_DIGITAL_VOLUME_1R:
916         case ARIZONA_DAC_VOLUME_LIMIT_1R:
917         case ARIZONA_NOISE_GATE_SELECT_1R:
918         case ARIZONA_DAC_DIGITAL_VOLUME_4L:
919         case ARIZONA_OUT_VOLUME_4L:
920         case ARIZONA_NOISE_GATE_SELECT_4L:
921         case ARIZONA_DAC_AEC_CONTROL_1:
922         case ARIZONA_NOISE_GATE_CONTROL:
923         case ARIZONA_HP1_SHORT_CIRCUIT_CTRL:
924         case ARIZONA_AIF1_BCLK_CTRL:
925         case ARIZONA_AIF1_TX_PIN_CTRL:
926         case ARIZONA_AIF1_RX_PIN_CTRL:
927         case ARIZONA_AIF1_RATE_CTRL:
928         case ARIZONA_AIF1_FORMAT:
929         case ARIZONA_AIF1_TX_BCLK_RATE:
930         case ARIZONA_AIF1_RX_BCLK_RATE:
931         case ARIZONA_AIF1_FRAME_CTRL_1:
932         case ARIZONA_AIF1_FRAME_CTRL_2:
933         case ARIZONA_AIF1_FRAME_CTRL_3:
934         case ARIZONA_AIF1_FRAME_CTRL_4:
935         case ARIZONA_AIF1_FRAME_CTRL_5:
936         case ARIZONA_AIF1_FRAME_CTRL_6:
937         case ARIZONA_AIF1_FRAME_CTRL_7:
938         case ARIZONA_AIF1_FRAME_CTRL_8:
939         case ARIZONA_AIF1_FRAME_CTRL_9:
940         case ARIZONA_AIF1_FRAME_CTRL_10:
941         case ARIZONA_AIF1_FRAME_CTRL_11:
942         case ARIZONA_AIF1_FRAME_CTRL_12:
943         case ARIZONA_AIF1_FRAME_CTRL_13:
944         case ARIZONA_AIF1_FRAME_CTRL_14:
945         case ARIZONA_AIF1_FRAME_CTRL_15:
946         case ARIZONA_AIF1_FRAME_CTRL_16:
947         case ARIZONA_AIF1_FRAME_CTRL_17:
948         case ARIZONA_AIF1_FRAME_CTRL_18:
949         case ARIZONA_AIF1_TX_ENABLES:
950         case ARIZONA_AIF1_RX_ENABLES:
951         case ARIZONA_AIF2_BCLK_CTRL:
952         case ARIZONA_AIF2_TX_PIN_CTRL:
953         case ARIZONA_AIF2_RX_PIN_CTRL:
954         case ARIZONA_AIF2_RATE_CTRL:
955         case ARIZONA_AIF2_FORMAT:
956         case ARIZONA_AIF2_TX_BCLK_RATE:
957         case ARIZONA_AIF2_RX_BCLK_RATE:
958         case ARIZONA_AIF2_FRAME_CTRL_1:
959         case ARIZONA_AIF2_FRAME_CTRL_2:
960         case ARIZONA_AIF2_FRAME_CTRL_3:
961         case ARIZONA_AIF2_FRAME_CTRL_4:
962         case ARIZONA_AIF2_FRAME_CTRL_5:
963         case ARIZONA_AIF2_FRAME_CTRL_6:
964         case ARIZONA_AIF2_FRAME_CTRL_7:
965         case ARIZONA_AIF2_FRAME_CTRL_8:
966         case ARIZONA_AIF2_FRAME_CTRL_11:
967         case ARIZONA_AIF2_FRAME_CTRL_12:
968         case ARIZONA_AIF2_FRAME_CTRL_13:
969         case ARIZONA_AIF2_FRAME_CTRL_14:
970         case ARIZONA_AIF2_FRAME_CTRL_15:
971         case ARIZONA_AIF2_FRAME_CTRL_16:
972         case ARIZONA_AIF2_TX_ENABLES:
973         case ARIZONA_AIF2_RX_ENABLES:
974         case ARIZONA_AIF3_BCLK_CTRL:
975         case ARIZONA_AIF3_TX_PIN_CTRL:
976         case ARIZONA_AIF3_RX_PIN_CTRL:
977         case ARIZONA_AIF3_RATE_CTRL:
978         case ARIZONA_AIF3_FORMAT:
979         case ARIZONA_AIF3_TX_BCLK_RATE:
980         case ARIZONA_AIF3_RX_BCLK_RATE:
981         case ARIZONA_AIF3_FRAME_CTRL_1:
982         case ARIZONA_AIF3_FRAME_CTRL_2:
983         case ARIZONA_AIF3_FRAME_CTRL_3:
984         case ARIZONA_AIF3_FRAME_CTRL_4:
985         case ARIZONA_AIF3_FRAME_CTRL_11:
986         case ARIZONA_AIF3_FRAME_CTRL_12:
987         case ARIZONA_AIF3_TX_ENABLES:
988         case ARIZONA_AIF3_RX_ENABLES:
989         case ARIZONA_PWM1MIX_INPUT_1_SOURCE:
990         case ARIZONA_PWM1MIX_INPUT_1_VOLUME:
991         case ARIZONA_PWM1MIX_INPUT_2_SOURCE:
992         case ARIZONA_PWM1MIX_INPUT_2_VOLUME:
993         case ARIZONA_PWM1MIX_INPUT_3_SOURCE:
994         case ARIZONA_PWM1MIX_INPUT_3_VOLUME:
995         case ARIZONA_PWM1MIX_INPUT_4_SOURCE:
996         case ARIZONA_PWM1MIX_INPUT_4_VOLUME:
997         case ARIZONA_PWM2MIX_INPUT_1_SOURCE:
998         case ARIZONA_PWM2MIX_INPUT_1_VOLUME:
999         case ARIZONA_PWM2MIX_INPUT_2_SOURCE:
1000         case ARIZONA_PWM2MIX_INPUT_2_VOLUME:
1001         case ARIZONA_PWM2MIX_INPUT_3_SOURCE:
1002         case ARIZONA_PWM2MIX_INPUT_3_VOLUME:
1003         case ARIZONA_PWM2MIX_INPUT_4_SOURCE:
1004         case ARIZONA_PWM2MIX_INPUT_4_VOLUME:
1005         case ARIZONA_OUT1LMIX_INPUT_1_SOURCE:
1006         case ARIZONA_OUT1LMIX_INPUT_1_VOLUME:
1007         case ARIZONA_OUT1LMIX_INPUT_2_SOURCE:
1008         case ARIZONA_OUT1LMIX_INPUT_2_VOLUME:
1009         case ARIZONA_OUT1LMIX_INPUT_3_SOURCE:
1010         case ARIZONA_OUT1LMIX_INPUT_3_VOLUME:
1011         case ARIZONA_OUT1LMIX_INPUT_4_SOURCE:
1012         case ARIZONA_OUT1LMIX_INPUT_4_VOLUME:
1013         case ARIZONA_OUT1RMIX_INPUT_1_SOURCE:
1014         case ARIZONA_OUT1RMIX_INPUT_1_VOLUME:
1015         case ARIZONA_OUT1RMIX_INPUT_2_SOURCE:
1016         case ARIZONA_OUT1RMIX_INPUT_2_VOLUME:
1017         case ARIZONA_OUT1RMIX_INPUT_3_SOURCE:
1018         case ARIZONA_OUT1RMIX_INPUT_3_VOLUME:
1019         case ARIZONA_OUT1RMIX_INPUT_4_SOURCE:
1020         case ARIZONA_OUT1RMIX_INPUT_4_VOLUME:
1021         case ARIZONA_OUT4LMIX_INPUT_1_SOURCE:
1022         case ARIZONA_OUT4LMIX_INPUT_1_VOLUME:
1023         case ARIZONA_OUT4LMIX_INPUT_2_SOURCE:
1024         case ARIZONA_OUT4LMIX_INPUT_2_VOLUME:
1025         case ARIZONA_OUT4LMIX_INPUT_3_SOURCE:
1026         case ARIZONA_OUT4LMIX_INPUT_3_VOLUME:
1027         case ARIZONA_OUT4LMIX_INPUT_4_SOURCE:
1028         case ARIZONA_OUT4LMIX_INPUT_4_VOLUME:
1029         case ARIZONA_AIF1TX1MIX_INPUT_1_SOURCE:
1030         case ARIZONA_AIF1TX1MIX_INPUT_1_VOLUME:
1031         case ARIZONA_AIF1TX1MIX_INPUT_2_SOURCE:
1032         case ARIZONA_AIF1TX1MIX_INPUT_2_VOLUME:
1033         case ARIZONA_AIF1TX1MIX_INPUT_3_SOURCE:
1034         case ARIZONA_AIF1TX1MIX_INPUT_3_VOLUME:
1035         case ARIZONA_AIF1TX1MIX_INPUT_4_SOURCE:
1036         case ARIZONA_AIF1TX1MIX_INPUT_4_VOLUME:
1037         case ARIZONA_AIF1TX2MIX_INPUT_1_SOURCE:
1038         case ARIZONA_AIF1TX2MIX_INPUT_1_VOLUME:
1039         case ARIZONA_AIF1TX2MIX_INPUT_2_SOURCE:
1040         case ARIZONA_AIF1TX2MIX_INPUT_2_VOLUME:
1041         case ARIZONA_AIF1TX2MIX_INPUT_3_SOURCE:
1042         case ARIZONA_AIF1TX2MIX_INPUT_3_VOLUME:
1043         case ARIZONA_AIF1TX2MIX_INPUT_4_SOURCE:
1044         case ARIZONA_AIF1TX2MIX_INPUT_4_VOLUME:
1045         case ARIZONA_AIF1TX3MIX_INPUT_1_SOURCE:
1046         case ARIZONA_AIF1TX3MIX_INPUT_1_VOLUME:
1047         case ARIZONA_AIF1TX3MIX_INPUT_2_SOURCE:
1048         case ARIZONA_AIF1TX3MIX_INPUT_2_VOLUME:
1049         case ARIZONA_AIF1TX3MIX_INPUT_3_SOURCE:
1050         case ARIZONA_AIF1TX3MIX_INPUT_3_VOLUME:
1051         case ARIZONA_AIF1TX3MIX_INPUT_4_SOURCE:
1052         case ARIZONA_AIF1TX3MIX_INPUT_4_VOLUME:
1053         case ARIZONA_AIF1TX4MIX_INPUT_1_SOURCE:
1054         case ARIZONA_AIF1TX4MIX_INPUT_1_VOLUME:
1055         case ARIZONA_AIF1TX4MIX_INPUT_2_SOURCE:
1056         case ARIZONA_AIF1TX4MIX_INPUT_2_VOLUME:
1057         case ARIZONA_AIF1TX4MIX_INPUT_3_SOURCE:
1058         case ARIZONA_AIF1TX4MIX_INPUT_3_VOLUME:
1059         case ARIZONA_AIF1TX4MIX_INPUT_4_SOURCE:
1060         case ARIZONA_AIF1TX4MIX_INPUT_4_VOLUME:
1061         case ARIZONA_AIF1TX5MIX_INPUT_1_SOURCE:
1062         case ARIZONA_AIF1TX5MIX_INPUT_1_VOLUME:
1063         case ARIZONA_AIF1TX5MIX_INPUT_2_SOURCE:
1064         case ARIZONA_AIF1TX5MIX_INPUT_2_VOLUME:
1065         case ARIZONA_AIF1TX5MIX_INPUT_3_SOURCE:
1066         case ARIZONA_AIF1TX5MIX_INPUT_3_VOLUME:
1067         case ARIZONA_AIF1TX5MIX_INPUT_4_SOURCE:
1068         case ARIZONA_AIF1TX5MIX_INPUT_4_VOLUME:
1069         case ARIZONA_AIF1TX6MIX_INPUT_1_SOURCE:
1070         case ARIZONA_AIF1TX6MIX_INPUT_1_VOLUME:
1071         case ARIZONA_AIF1TX6MIX_INPUT_2_SOURCE:
1072         case ARIZONA_AIF1TX6MIX_INPUT_2_VOLUME:
1073         case ARIZONA_AIF1TX6MIX_INPUT_3_SOURCE:
1074         case ARIZONA_AIF1TX6MIX_INPUT_3_VOLUME:
1075         case ARIZONA_AIF1TX6MIX_INPUT_4_SOURCE:
1076         case ARIZONA_AIF1TX6MIX_INPUT_4_VOLUME:
1077         case ARIZONA_AIF1TX7MIX_INPUT_1_SOURCE:
1078         case ARIZONA_AIF1TX7MIX_INPUT_1_VOLUME:
1079         case ARIZONA_AIF1TX7MIX_INPUT_2_SOURCE:
1080         case ARIZONA_AIF1TX7MIX_INPUT_2_VOLUME:
1081         case ARIZONA_AIF1TX7MIX_INPUT_3_SOURCE:
1082         case ARIZONA_AIF1TX7MIX_INPUT_3_VOLUME:
1083         case ARIZONA_AIF1TX7MIX_INPUT_4_SOURCE:
1084         case ARIZONA_AIF1TX7MIX_INPUT_4_VOLUME:
1085         case ARIZONA_AIF1TX8MIX_INPUT_1_SOURCE:
1086         case ARIZONA_AIF1TX8MIX_INPUT_1_VOLUME:
1087         case ARIZONA_AIF1TX8MIX_INPUT_2_SOURCE:
1088         case ARIZONA_AIF1TX8MIX_INPUT_2_VOLUME:
1089         case ARIZONA_AIF1TX8MIX_INPUT_3_SOURCE:
1090         case ARIZONA_AIF1TX8MIX_INPUT_3_VOLUME:
1091         case ARIZONA_AIF1TX8MIX_INPUT_4_SOURCE:
1092         case ARIZONA_AIF1TX8MIX_INPUT_4_VOLUME:
1093         case ARIZONA_AIF2TX1MIX_INPUT_1_SOURCE:
1094         case ARIZONA_AIF2TX1MIX_INPUT_1_VOLUME:
1095         case ARIZONA_AIF2TX1MIX_INPUT_2_SOURCE:
1096         case ARIZONA_AIF2TX1MIX_INPUT_2_VOLUME:
1097         case ARIZONA_AIF2TX1MIX_INPUT_3_SOURCE:
1098         case ARIZONA_AIF2TX1MIX_INPUT_3_VOLUME:
1099         case ARIZONA_AIF2TX1MIX_INPUT_4_SOURCE:
1100         case ARIZONA_AIF2TX1MIX_INPUT_4_VOLUME:
1101         case ARIZONA_AIF2TX2MIX_INPUT_1_SOURCE:
1102         case ARIZONA_AIF2TX2MIX_INPUT_1_VOLUME:
1103         case ARIZONA_AIF2TX2MIX_INPUT_2_SOURCE:
1104         case ARIZONA_AIF2TX2MIX_INPUT_2_VOLUME:
1105         case ARIZONA_AIF2TX2MIX_INPUT_3_SOURCE:
1106         case ARIZONA_AIF2TX2MIX_INPUT_3_VOLUME:
1107         case ARIZONA_AIF2TX2MIX_INPUT_4_SOURCE:
1108         case ARIZONA_AIF2TX2MIX_INPUT_4_VOLUME:
1109         case ARIZONA_AIF2TX3MIX_INPUT_1_SOURCE:
1110         case ARIZONA_AIF2TX3MIX_INPUT_1_VOLUME:
1111         case ARIZONA_AIF2TX3MIX_INPUT_2_SOURCE:
1112         case ARIZONA_AIF2TX3MIX_INPUT_2_VOLUME:
1113         case ARIZONA_AIF2TX3MIX_INPUT_3_SOURCE:
1114         case ARIZONA_AIF2TX3MIX_INPUT_3_VOLUME:
1115         case ARIZONA_AIF2TX3MIX_INPUT_4_SOURCE:
1116         case ARIZONA_AIF2TX3MIX_INPUT_4_VOLUME:
1117         case ARIZONA_AIF2TX4MIX_INPUT_1_SOURCE:
1118         case ARIZONA_AIF2TX4MIX_INPUT_1_VOLUME:
1119         case ARIZONA_AIF2TX4MIX_INPUT_2_SOURCE:
1120         case ARIZONA_AIF2TX4MIX_INPUT_2_VOLUME:
1121         case ARIZONA_AIF2TX4MIX_INPUT_3_SOURCE:
1122         case ARIZONA_AIF2TX4MIX_INPUT_3_VOLUME:
1123         case ARIZONA_AIF2TX4MIX_INPUT_4_SOURCE:
1124         case ARIZONA_AIF2TX4MIX_INPUT_4_VOLUME:
1125         case ARIZONA_AIF2TX5MIX_INPUT_1_SOURCE:
1126         case ARIZONA_AIF2TX5MIX_INPUT_1_VOLUME:
1127         case ARIZONA_AIF2TX5MIX_INPUT_2_SOURCE:
1128         case ARIZONA_AIF2TX5MIX_INPUT_2_VOLUME:
1129         case ARIZONA_AIF2TX5MIX_INPUT_3_SOURCE:
1130         case ARIZONA_AIF2TX5MIX_INPUT_3_VOLUME:
1131         case ARIZONA_AIF2TX5MIX_INPUT_4_SOURCE:
1132         case ARIZONA_AIF2TX5MIX_INPUT_4_VOLUME:
1133         case ARIZONA_AIF2TX6MIX_INPUT_1_SOURCE:
1134         case ARIZONA_AIF2TX6MIX_INPUT_1_VOLUME:
1135         case ARIZONA_AIF2TX6MIX_INPUT_2_SOURCE:
1136         case ARIZONA_AIF2TX6MIX_INPUT_2_VOLUME:
1137         case ARIZONA_AIF2TX6MIX_INPUT_3_SOURCE:
1138         case ARIZONA_AIF2TX6MIX_INPUT_3_VOLUME:
1139         case ARIZONA_AIF2TX6MIX_INPUT_4_SOURCE:
1140         case ARIZONA_AIF2TX6MIX_INPUT_4_VOLUME:
1141         case ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE:
1142         case ARIZONA_AIF3TX1MIX_INPUT_1_VOLUME:
1143         case ARIZONA_AIF3TX1MIX_INPUT_2_SOURCE:
1144         case ARIZONA_AIF3TX1MIX_INPUT_2_VOLUME:
1145         case ARIZONA_AIF3TX1MIX_INPUT_3_SOURCE:
1146         case ARIZONA_AIF3TX1MIX_INPUT_3_VOLUME:
1147         case ARIZONA_AIF3TX1MIX_INPUT_4_SOURCE:
1148         case ARIZONA_AIF3TX1MIX_INPUT_4_VOLUME:
1149         case ARIZONA_AIF3TX2MIX_INPUT_1_SOURCE:
1150         case ARIZONA_AIF3TX2MIX_INPUT_1_VOLUME:
1151         case ARIZONA_AIF3TX2MIX_INPUT_2_SOURCE:
1152         case ARIZONA_AIF3TX2MIX_INPUT_2_VOLUME:
1153         case ARIZONA_AIF3TX2MIX_INPUT_3_SOURCE:
1154         case ARIZONA_AIF3TX2MIX_INPUT_3_VOLUME:
1155         case ARIZONA_AIF3TX2MIX_INPUT_4_SOURCE:
1156         case ARIZONA_AIF3TX2MIX_INPUT_4_VOLUME:
1157         case ARIZONA_EQ1MIX_INPUT_1_SOURCE:
1158         case ARIZONA_EQ1MIX_INPUT_1_VOLUME:
1159         case ARIZONA_EQ1MIX_INPUT_2_SOURCE:
1160         case ARIZONA_EQ1MIX_INPUT_2_VOLUME:
1161         case ARIZONA_EQ1MIX_INPUT_3_SOURCE:
1162         case ARIZONA_EQ1MIX_INPUT_3_VOLUME:
1163         case ARIZONA_EQ1MIX_INPUT_4_SOURCE:
1164         case ARIZONA_EQ1MIX_INPUT_4_VOLUME:
1165         case ARIZONA_EQ2MIX_INPUT_1_SOURCE:
1166         case ARIZONA_EQ2MIX_INPUT_1_VOLUME:
1167         case ARIZONA_EQ2MIX_INPUT_2_SOURCE:
1168         case ARIZONA_EQ2MIX_INPUT_2_VOLUME:
1169         case ARIZONA_EQ2MIX_INPUT_3_SOURCE:
1170         case ARIZONA_EQ2MIX_INPUT_3_VOLUME:
1171         case ARIZONA_EQ2MIX_INPUT_4_SOURCE:
1172         case ARIZONA_EQ2MIX_INPUT_4_VOLUME:
1173         case ARIZONA_DRC1LMIX_INPUT_1_SOURCE:
1174         case ARIZONA_DRC1LMIX_INPUT_1_VOLUME:
1175         case ARIZONA_DRC1LMIX_INPUT_2_SOURCE:
1176         case ARIZONA_DRC1LMIX_INPUT_2_VOLUME:
1177         case ARIZONA_DRC1LMIX_INPUT_3_SOURCE:
1178         case ARIZONA_DRC1LMIX_INPUT_3_VOLUME:
1179         case ARIZONA_DRC1LMIX_INPUT_4_SOURCE:
1180         case ARIZONA_DRC1LMIX_INPUT_4_VOLUME:
1181         case ARIZONA_DRC1RMIX_INPUT_1_SOURCE:
1182         case ARIZONA_DRC1RMIX_INPUT_1_VOLUME:
1183         case ARIZONA_DRC1RMIX_INPUT_2_SOURCE:
1184         case ARIZONA_DRC1RMIX_INPUT_2_VOLUME:
1185         case ARIZONA_DRC1RMIX_INPUT_3_SOURCE:
1186         case ARIZONA_DRC1RMIX_INPUT_3_VOLUME:
1187         case ARIZONA_DRC1RMIX_INPUT_4_SOURCE:
1188         case ARIZONA_DRC1RMIX_INPUT_4_VOLUME:
1189         case ARIZONA_DRC2LMIX_INPUT_1_SOURCE:
1190         case ARIZONA_DRC2LMIX_INPUT_1_VOLUME:
1191         case ARIZONA_DRC2LMIX_INPUT_2_SOURCE:
1192         case ARIZONA_DRC2LMIX_INPUT_2_VOLUME:
1193         case ARIZONA_DRC2LMIX_INPUT_3_SOURCE:
1194         case ARIZONA_DRC2LMIX_INPUT_3_VOLUME:
1195         case ARIZONA_DRC2LMIX_INPUT_4_SOURCE:
1196         case ARIZONA_DRC2LMIX_INPUT_4_VOLUME:
1197         case ARIZONA_DRC2RMIX_INPUT_1_SOURCE:
1198         case ARIZONA_DRC2RMIX_INPUT_1_VOLUME:
1199         case ARIZONA_DRC2RMIX_INPUT_2_SOURCE:
1200         case ARIZONA_DRC2RMIX_INPUT_2_VOLUME:
1201         case ARIZONA_DRC2RMIX_INPUT_3_SOURCE:
1202         case ARIZONA_DRC2RMIX_INPUT_3_VOLUME:
1203         case ARIZONA_DRC2RMIX_INPUT_4_SOURCE:
1204         case ARIZONA_DRC2RMIX_INPUT_4_VOLUME:
1205         case ARIZONA_HPLP1MIX_INPUT_1_SOURCE:
1206         case ARIZONA_HPLP1MIX_INPUT_1_VOLUME:
1207         case ARIZONA_HPLP1MIX_INPUT_2_SOURCE:
1208         case ARIZONA_HPLP1MIX_INPUT_2_VOLUME:
1209         case ARIZONA_HPLP1MIX_INPUT_3_SOURCE:
1210         case ARIZONA_HPLP1MIX_INPUT_3_VOLUME:
1211         case ARIZONA_HPLP1MIX_INPUT_4_SOURCE:
1212         case ARIZONA_HPLP1MIX_INPUT_4_VOLUME:
1213         case ARIZONA_HPLP2MIX_INPUT_1_SOURCE:
1214         case ARIZONA_HPLP2MIX_INPUT_1_VOLUME:
1215         case ARIZONA_HPLP2MIX_INPUT_2_SOURCE:
1216         case ARIZONA_HPLP2MIX_INPUT_2_VOLUME:
1217         case ARIZONA_HPLP2MIX_INPUT_3_SOURCE:
1218         case ARIZONA_HPLP2MIX_INPUT_3_VOLUME:
1219         case ARIZONA_HPLP2MIX_INPUT_4_SOURCE:
1220         case ARIZONA_HPLP2MIX_INPUT_4_VOLUME:
1221         case ARIZONA_HPLP3MIX_INPUT_1_SOURCE:
1222         case ARIZONA_HPLP3MIX_INPUT_1_VOLUME:
1223         case ARIZONA_HPLP3MIX_INPUT_2_SOURCE:
1224         case ARIZONA_HPLP3MIX_INPUT_2_VOLUME:
1225         case ARIZONA_HPLP3MIX_INPUT_3_SOURCE:
1226         case ARIZONA_HPLP3MIX_INPUT_3_VOLUME:
1227         case ARIZONA_HPLP3MIX_INPUT_4_SOURCE:
1228         case ARIZONA_HPLP3MIX_INPUT_4_VOLUME:
1229         case ARIZONA_HPLP4MIX_INPUT_1_SOURCE:
1230         case ARIZONA_HPLP4MIX_INPUT_1_VOLUME:
1231         case ARIZONA_HPLP4MIX_INPUT_2_SOURCE:
1232         case ARIZONA_HPLP4MIX_INPUT_2_VOLUME:
1233         case ARIZONA_HPLP4MIX_INPUT_3_SOURCE:
1234         case ARIZONA_HPLP4MIX_INPUT_3_VOLUME:
1235         case ARIZONA_HPLP4MIX_INPUT_4_SOURCE:
1236         case ARIZONA_HPLP4MIX_INPUT_4_VOLUME:
1237         case ARIZONA_DSP2LMIX_INPUT_1_SOURCE:
1238         case ARIZONA_DSP2LMIX_INPUT_1_VOLUME:
1239         case ARIZONA_DSP2LMIX_INPUT_2_SOURCE:
1240         case ARIZONA_DSP2LMIX_INPUT_2_VOLUME:
1241         case ARIZONA_DSP2LMIX_INPUT_3_SOURCE:
1242         case ARIZONA_DSP2LMIX_INPUT_3_VOLUME:
1243         case ARIZONA_DSP2LMIX_INPUT_4_SOURCE:
1244         case ARIZONA_DSP2LMIX_INPUT_4_VOLUME:
1245         case ARIZONA_DSP2RMIX_INPUT_1_SOURCE:
1246         case ARIZONA_DSP2RMIX_INPUT_1_VOLUME:
1247         case ARIZONA_DSP2RMIX_INPUT_2_SOURCE:
1248         case ARIZONA_DSP2RMIX_INPUT_2_VOLUME:
1249         case ARIZONA_DSP2RMIX_INPUT_3_SOURCE:
1250         case ARIZONA_DSP2RMIX_INPUT_3_VOLUME:
1251         case ARIZONA_DSP2RMIX_INPUT_4_SOURCE:
1252         case ARIZONA_DSP2RMIX_INPUT_4_VOLUME:
1253         case ARIZONA_DSP2AUX1MIX_INPUT_1_SOURCE:
1254         case ARIZONA_DSP2AUX2MIX_INPUT_1_SOURCE:
1255         case ARIZONA_DSP2AUX3MIX_INPUT_1_SOURCE:
1256         case ARIZONA_DSP2AUX4MIX_INPUT_1_SOURCE:
1257         case ARIZONA_DSP2AUX5MIX_INPUT_1_SOURCE:
1258         case ARIZONA_DSP2AUX6MIX_INPUT_1_SOURCE:
1259         case ARIZONA_DSP3LMIX_INPUT_1_SOURCE:
1260         case ARIZONA_DSP3LMIX_INPUT_1_VOLUME:
1261         case ARIZONA_DSP3LMIX_INPUT_2_SOURCE:
1262         case ARIZONA_DSP3LMIX_INPUT_2_VOLUME:
1263         case ARIZONA_DSP3LMIX_INPUT_3_SOURCE:
1264         case ARIZONA_DSP3LMIX_INPUT_3_VOLUME:
1265         case ARIZONA_DSP3LMIX_INPUT_4_SOURCE:
1266         case ARIZONA_DSP3LMIX_INPUT_4_VOLUME:
1267         case ARIZONA_DSP3RMIX_INPUT_1_SOURCE:
1268         case ARIZONA_DSP3RMIX_INPUT_1_VOLUME:
1269         case ARIZONA_DSP3RMIX_INPUT_2_SOURCE:
1270         case ARIZONA_DSP3RMIX_INPUT_2_VOLUME:
1271         case ARIZONA_DSP3RMIX_INPUT_3_SOURCE:
1272         case ARIZONA_DSP3RMIX_INPUT_3_VOLUME:
1273         case ARIZONA_DSP3RMIX_INPUT_4_SOURCE:
1274         case ARIZONA_DSP3RMIX_INPUT_4_VOLUME:
1275         case ARIZONA_DSP3AUX1MIX_INPUT_1_SOURCE:
1276         case ARIZONA_DSP3AUX2MIX_INPUT_1_SOURCE:
1277         case ARIZONA_DSP3AUX3MIX_INPUT_1_SOURCE:
1278         case ARIZONA_DSP3AUX4MIX_INPUT_1_SOURCE:
1279         case ARIZONA_DSP3AUX5MIX_INPUT_1_SOURCE:
1280         case ARIZONA_DSP3AUX6MIX_INPUT_1_SOURCE:
1281         case ARIZONA_ASRC1LMIX_INPUT_1_SOURCE:
1282         case ARIZONA_ASRC1RMIX_INPUT_1_SOURCE:
1283         case ARIZONA_ASRC2LMIX_INPUT_1_SOURCE:
1284         case ARIZONA_ASRC2RMIX_INPUT_1_SOURCE:
1285         case ARIZONA_ISRC1DEC1MIX_INPUT_1_SOURCE:
1286         case ARIZONA_ISRC1DEC2MIX_INPUT_1_SOURCE:
1287         case ARIZONA_ISRC1DEC3MIX_INPUT_1_SOURCE:
1288         case ARIZONA_ISRC1DEC4MIX_INPUT_1_SOURCE:
1289         case ARIZONA_ISRC1INT1MIX_INPUT_1_SOURCE:
1290         case ARIZONA_ISRC1INT2MIX_INPUT_1_SOURCE:
1291         case ARIZONA_ISRC1INT3MIX_INPUT_1_SOURCE:
1292         case ARIZONA_ISRC1INT4MIX_INPUT_1_SOURCE:
1293         case ARIZONA_ISRC2DEC1MIX_INPUT_1_SOURCE:
1294         case ARIZONA_ISRC2DEC2MIX_INPUT_1_SOURCE:
1295         case ARIZONA_ISRC2DEC3MIX_INPUT_1_SOURCE:
1296         case ARIZONA_ISRC2DEC4MIX_INPUT_1_SOURCE:
1297         case ARIZONA_ISRC2INT1MIX_INPUT_1_SOURCE:
1298         case ARIZONA_ISRC2INT2MIX_INPUT_1_SOURCE:
1299         case ARIZONA_ISRC2INT3MIX_INPUT_1_SOURCE:
1300         case ARIZONA_ISRC2INT4MIX_INPUT_1_SOURCE:
1301         case ARIZONA_ISRC3DEC1MIX_INPUT_1_SOURCE:
1302         case ARIZONA_ISRC3DEC2MIX_INPUT_1_SOURCE:
1303         case ARIZONA_ISRC3DEC3MIX_INPUT_1_SOURCE:
1304         case ARIZONA_ISRC3DEC4MIX_INPUT_1_SOURCE:
1305         case ARIZONA_ISRC3INT1MIX_INPUT_1_SOURCE:
1306         case ARIZONA_ISRC3INT2MIX_INPUT_1_SOURCE:
1307         case ARIZONA_ISRC3INT3MIX_INPUT_1_SOURCE:
1308         case ARIZONA_ISRC3INT4MIX_INPUT_1_SOURCE:
1309         case ARIZONA_GPIO1_CTRL:
1310         case ARIZONA_GPIO2_CTRL:
1311         case ARIZONA_IRQ_CTRL_1:
1312         case ARIZONA_GPIO_DEBOUNCE_CONFIG:
1313         case ARIZONA_MISC_PAD_CTRL_1:
1314         case ARIZONA_MISC_PAD_CTRL_2:
1315         case ARIZONA_MISC_PAD_CTRL_3:
1316         case ARIZONA_MISC_PAD_CTRL_4:
1317         case ARIZONA_MISC_PAD_CTRL_5:
1318         case ARIZONA_MISC_PAD_CTRL_6:
1319         case ARIZONA_MISC_PAD_CTRL_7:
1320         case ARIZONA_MISC_PAD_CTRL_9:
1321         case ARIZONA_MISC_PAD_CTRL_10:
1322         case ARIZONA_MISC_PAD_CTRL_11:
1323         case ARIZONA_MISC_PAD_CTRL_12:
1324         case ARIZONA_MISC_PAD_CTRL_13:
1325         case ARIZONA_MISC_PAD_CTRL_14:
1326         case ARIZONA_MISC_PAD_CTRL_16:
1327         case ARIZONA_INTERRUPT_STATUS_1:
1328         case ARIZONA_INTERRUPT_STATUS_2:
1329         case ARIZONA_INTERRUPT_STATUS_3:
1330         case ARIZONA_INTERRUPT_STATUS_4:
1331         case ARIZONA_INTERRUPT_STATUS_5:
1332         case ARIZONA_INTERRUPT_STATUS_6:
1333         case ARIZONA_INTERRUPT_STATUS_1_MASK:
1334         case ARIZONA_INTERRUPT_STATUS_2_MASK:
1335         case ARIZONA_INTERRUPT_STATUS_3_MASK:
1336         case ARIZONA_INTERRUPT_STATUS_4_MASK:
1337         case ARIZONA_INTERRUPT_STATUS_5_MASK:
1338         case ARIZONA_INTERRUPT_STATUS_6_MASK:
1339         case ARIZONA_INTERRUPT_CONTROL:
1340         case ARIZONA_IRQ2_STATUS_1:
1341         case ARIZONA_IRQ2_STATUS_2:
1342         case ARIZONA_IRQ2_STATUS_3:
1343         case ARIZONA_IRQ2_STATUS_4:
1344         case ARIZONA_IRQ2_STATUS_5:
1345         case ARIZONA_IRQ2_STATUS_6:
1346         case ARIZONA_IRQ2_STATUS_1_MASK:
1347         case ARIZONA_IRQ2_STATUS_2_MASK:
1348         case ARIZONA_IRQ2_STATUS_3_MASK:
1349         case ARIZONA_IRQ2_STATUS_4_MASK:
1350         case ARIZONA_IRQ2_STATUS_5_MASK:
1351         case ARIZONA_IRQ2_STATUS_6_MASK:
1352         case ARIZONA_IRQ2_CONTROL:
1353         case ARIZONA_INTERRUPT_RAW_STATUS_2:
1354         case ARIZONA_INTERRUPT_RAW_STATUS_3:
1355         case ARIZONA_INTERRUPT_RAW_STATUS_4:
1356         case ARIZONA_INTERRUPT_RAW_STATUS_5:
1357         case ARIZONA_INTERRUPT_RAW_STATUS_6:
1358         case ARIZONA_INTERRUPT_RAW_STATUS_7:
1359         case ARIZONA_INTERRUPT_RAW_STATUS_8:
1360         case ARIZONA_INTERRUPT_RAW_STATUS_9:
1361         case ARIZONA_IRQ_PIN_STATUS:
1362         case ARIZONA_FX_CTRL1:
1363         case ARIZONA_FX_CTRL2:
1364         case ARIZONA_EQ1_1:
1365         case ARIZONA_EQ1_2:
1366         case ARIZONA_EQ1_3:
1367         case ARIZONA_EQ1_4:
1368         case ARIZONA_EQ1_5:
1369         case ARIZONA_EQ1_6:
1370         case ARIZONA_EQ1_7:
1371         case ARIZONA_EQ1_8:
1372         case ARIZONA_EQ1_9:
1373         case ARIZONA_EQ1_10:
1374         case ARIZONA_EQ1_11:
1375         case ARIZONA_EQ1_12:
1376         case ARIZONA_EQ1_13:
1377         case ARIZONA_EQ1_14:
1378         case ARIZONA_EQ1_15:
1379         case ARIZONA_EQ1_16:
1380         case ARIZONA_EQ1_17:
1381         case ARIZONA_EQ1_18:
1382         case ARIZONA_EQ1_19:
1383         case ARIZONA_EQ1_20:
1384         case ARIZONA_EQ1_21:
1385         case ARIZONA_EQ2_1:
1386         case ARIZONA_EQ2_2:
1387         case ARIZONA_EQ2_3:
1388         case ARIZONA_EQ2_4:
1389         case ARIZONA_EQ2_5:
1390         case ARIZONA_EQ2_6:
1391         case ARIZONA_EQ2_7:
1392         case ARIZONA_EQ2_8:
1393         case ARIZONA_EQ2_9:
1394         case ARIZONA_EQ2_10:
1395         case ARIZONA_EQ2_11:
1396         case ARIZONA_EQ2_12:
1397         case ARIZONA_EQ2_13:
1398         case ARIZONA_EQ2_14:
1399         case ARIZONA_EQ2_15:
1400         case ARIZONA_EQ2_16:
1401         case ARIZONA_EQ2_17:
1402         case ARIZONA_EQ2_18:
1403         case ARIZONA_EQ2_19:
1404         case ARIZONA_EQ2_20:
1405         case ARIZONA_EQ2_21:
1406         case ARIZONA_DRC1_CTRL1:
1407         case ARIZONA_DRC1_CTRL2:
1408         case ARIZONA_DRC1_CTRL3:
1409         case ARIZONA_DRC1_CTRL4:
1410         case ARIZONA_DRC1_CTRL5:
1411         case ARIZONA_DRC2_CTRL1:
1412         case ARIZONA_DRC2_CTRL2:
1413         case ARIZONA_DRC2_CTRL3:
1414         case ARIZONA_DRC2_CTRL4:
1415         case ARIZONA_DRC2_CTRL5:
1416         case ARIZONA_HPLPF1_1:
1417         case ARIZONA_HPLPF1_2:
1418         case ARIZONA_HPLPF2_1:
1419         case ARIZONA_HPLPF2_2:
1420         case ARIZONA_HPLPF3_1:
1421         case ARIZONA_HPLPF3_2:
1422         case ARIZONA_HPLPF4_1:
1423         case ARIZONA_HPLPF4_2:
1424         case ARIZONA_ASRC_ENABLE:
1425         case ARIZONA_ASRC_STATUS:
1426         case ARIZONA_ASRC_RATE1:
1427         case ARIZONA_ASRC_RATE2:
1428         case ARIZONA_ISRC_1_CTRL_1:
1429         case ARIZONA_ISRC_1_CTRL_2:
1430         case ARIZONA_ISRC_1_CTRL_3:
1431         case ARIZONA_ISRC_2_CTRL_1:
1432         case ARIZONA_ISRC_2_CTRL_2:
1433         case ARIZONA_ISRC_2_CTRL_3:
1434         case ARIZONA_ISRC_3_CTRL_1:
1435         case ARIZONA_ISRC_3_CTRL_2:
1436         case ARIZONA_ISRC_3_CTRL_3:
1437         case ARIZONA_DSP2_CONTROL_1:
1438         case ARIZONA_DSP2_CLOCKING_1:
1439         case ARIZONA_DSP2_STATUS_1:
1440         case ARIZONA_DSP2_STATUS_2:
1441         case ARIZONA_DSP2_STATUS_3:
1442         case ARIZONA_DSP2_STATUS_4:
1443         case ARIZONA_DSP2_WDMA_BUFFER_1:
1444         case ARIZONA_DSP2_WDMA_BUFFER_2:
1445         case ARIZONA_DSP2_WDMA_BUFFER_3:
1446         case ARIZONA_DSP2_WDMA_BUFFER_4:
1447         case ARIZONA_DSP2_WDMA_BUFFER_5:
1448         case ARIZONA_DSP2_WDMA_BUFFER_6:
1449         case ARIZONA_DSP2_WDMA_BUFFER_7:
1450         case ARIZONA_DSP2_WDMA_BUFFER_8:
1451         case ARIZONA_DSP2_RDMA_BUFFER_1:
1452         case ARIZONA_DSP2_RDMA_BUFFER_2:
1453         case ARIZONA_DSP2_RDMA_BUFFER_3:
1454         case ARIZONA_DSP2_RDMA_BUFFER_4:
1455         case ARIZONA_DSP2_RDMA_BUFFER_5:
1456         case ARIZONA_DSP2_RDMA_BUFFER_6:
1457         case ARIZONA_DSP2_WDMA_CONFIG_1:
1458         case ARIZONA_DSP2_WDMA_CONFIG_2:
1459         case ARIZONA_DSP2_WDMA_OFFSET_1:
1460         case ARIZONA_DSP2_RDMA_CONFIG_1:
1461         case ARIZONA_DSP2_RDMA_OFFSET_1:
1462         case ARIZONA_DSP2_EXTERNAL_START_SELECT_1:
1463         case ARIZONA_DSP2_SCRATCH_0:
1464         case ARIZONA_DSP2_SCRATCH_1:
1465         case ARIZONA_DSP2_SCRATCH_2:
1466         case ARIZONA_DSP2_SCRATCH_3:
1467         case ARIZONA_DSP3_CONTROL_1:
1468         case ARIZONA_DSP3_CLOCKING_1:
1469         case ARIZONA_DSP3_STATUS_1:
1470         case ARIZONA_DSP3_STATUS_2:
1471         case ARIZONA_DSP3_STATUS_3:
1472         case ARIZONA_DSP3_STATUS_4:
1473         case ARIZONA_DSP3_WDMA_BUFFER_1:
1474         case ARIZONA_DSP3_WDMA_BUFFER_2:
1475         case ARIZONA_DSP3_WDMA_BUFFER_3:
1476         case ARIZONA_DSP3_WDMA_BUFFER_4:
1477         case ARIZONA_DSP3_WDMA_BUFFER_5:
1478         case ARIZONA_DSP3_WDMA_BUFFER_6:
1479         case ARIZONA_DSP3_WDMA_BUFFER_7:
1480         case ARIZONA_DSP3_WDMA_BUFFER_8:
1481         case ARIZONA_DSP3_RDMA_BUFFER_1:
1482         case ARIZONA_DSP3_RDMA_BUFFER_2:
1483         case ARIZONA_DSP3_RDMA_BUFFER_3:
1484         case ARIZONA_DSP3_RDMA_BUFFER_4:
1485         case ARIZONA_DSP3_RDMA_BUFFER_5:
1486         case ARIZONA_DSP3_RDMA_BUFFER_6:
1487         case ARIZONA_DSP3_WDMA_CONFIG_1:
1488         case ARIZONA_DSP3_WDMA_CONFIG_2:
1489         case ARIZONA_DSP3_WDMA_OFFSET_1:
1490         case ARIZONA_DSP3_RDMA_CONFIG_1:
1491         case ARIZONA_DSP3_RDMA_OFFSET_1:
1492         case ARIZONA_DSP3_EXTERNAL_START_SELECT_1:
1493         case ARIZONA_DSP3_SCRATCH_0:
1494         case ARIZONA_DSP3_SCRATCH_1:
1495         case ARIZONA_DSP3_SCRATCH_2:
1496         case ARIZONA_DSP3_SCRATCH_3:
1497                 return true;
1498         default:
1499                 return cs47l24_is_adsp_memory(reg);
1500         }
1501 }
1502
1503 static bool cs47l24_volatile_register(struct device *dev, unsigned int reg)
1504 {
1505         switch (reg) {
1506         case ARIZONA_SOFTWARE_RESET:
1507         case ARIZONA_DEVICE_REVISION:
1508         case ARIZONA_WRITE_SEQUENCER_CTRL_0:
1509         case ARIZONA_WRITE_SEQUENCER_CTRL_1:
1510         case ARIZONA_WRITE_SEQUENCER_CTRL_2:
1511         case ARIZONA_HAPTICS_STATUS:
1512         case ARIZONA_SAMPLE_RATE_1_STATUS:
1513         case ARIZONA_SAMPLE_RATE_2_STATUS:
1514         case ARIZONA_SAMPLE_RATE_3_STATUS:
1515         case ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS:
1516         case ARIZONA_ASYNC_SAMPLE_RATE_2_STATUS:
1517         case ARIZONA_HP_CTRL_1L:
1518         case ARIZONA_HP_CTRL_1R:
1519         case ARIZONA_INPUT_ENABLES_STATUS:
1520         case ARIZONA_OUTPUT_STATUS_1:
1521         case ARIZONA_RAW_OUTPUT_STATUS_1:
1522         case ARIZONA_INTERRUPT_STATUS_1:
1523         case ARIZONA_INTERRUPT_STATUS_2:
1524         case ARIZONA_INTERRUPT_STATUS_3:
1525         case ARIZONA_INTERRUPT_STATUS_4:
1526         case ARIZONA_INTERRUPT_STATUS_5:
1527         case ARIZONA_INTERRUPT_STATUS_6:
1528         case ARIZONA_IRQ2_STATUS_1:
1529         case ARIZONA_IRQ2_STATUS_2:
1530         case ARIZONA_IRQ2_STATUS_3:
1531         case ARIZONA_IRQ2_STATUS_4:
1532         case ARIZONA_IRQ2_STATUS_5:
1533         case ARIZONA_IRQ2_STATUS_6:
1534         case ARIZONA_INTERRUPT_RAW_STATUS_2:
1535         case ARIZONA_INTERRUPT_RAW_STATUS_3:
1536         case ARIZONA_INTERRUPT_RAW_STATUS_4:
1537         case ARIZONA_INTERRUPT_RAW_STATUS_5:
1538         case ARIZONA_INTERRUPT_RAW_STATUS_6:
1539         case ARIZONA_INTERRUPT_RAW_STATUS_7:
1540         case ARIZONA_INTERRUPT_RAW_STATUS_8:
1541         case ARIZONA_INTERRUPT_RAW_STATUS_9:
1542         case ARIZONA_IRQ_PIN_STATUS:
1543         case ARIZONA_FX_CTRL2:
1544         case ARIZONA_ASRC_STATUS:
1545         case ARIZONA_DSP2_STATUS_1:
1546         case ARIZONA_DSP2_STATUS_2:
1547         case ARIZONA_DSP2_STATUS_3:
1548         case ARIZONA_DSP2_STATUS_4:
1549         case ARIZONA_DSP2_WDMA_BUFFER_1:
1550         case ARIZONA_DSP2_WDMA_BUFFER_2:
1551         case ARIZONA_DSP2_WDMA_BUFFER_3:
1552         case ARIZONA_DSP2_WDMA_BUFFER_4:
1553         case ARIZONA_DSP2_WDMA_BUFFER_5:
1554         case ARIZONA_DSP2_WDMA_BUFFER_6:
1555         case ARIZONA_DSP2_WDMA_BUFFER_7:
1556         case ARIZONA_DSP2_WDMA_BUFFER_8:
1557         case ARIZONA_DSP2_RDMA_BUFFER_1:
1558         case ARIZONA_DSP2_RDMA_BUFFER_2:
1559         case ARIZONA_DSP2_RDMA_BUFFER_3:
1560         case ARIZONA_DSP2_RDMA_BUFFER_4:
1561         case ARIZONA_DSP2_RDMA_BUFFER_5:
1562         case ARIZONA_DSP2_RDMA_BUFFER_6:
1563         case ARIZONA_DSP2_WDMA_CONFIG_1:
1564         case ARIZONA_DSP2_WDMA_CONFIG_2:
1565         case ARIZONA_DSP2_WDMA_OFFSET_1:
1566         case ARIZONA_DSP2_RDMA_CONFIG_1:
1567         case ARIZONA_DSP2_RDMA_OFFSET_1:
1568         case ARIZONA_DSP2_EXTERNAL_START_SELECT_1:
1569         case ARIZONA_DSP2_SCRATCH_0:
1570         case ARIZONA_DSP2_SCRATCH_1:
1571         case ARIZONA_DSP2_SCRATCH_2:
1572         case ARIZONA_DSP2_SCRATCH_3:
1573         case ARIZONA_DSP2_CLOCKING_1:
1574         case ARIZONA_DSP3_STATUS_1:
1575         case ARIZONA_DSP3_STATUS_2:
1576         case ARIZONA_DSP3_STATUS_3:
1577         case ARIZONA_DSP3_STATUS_4:
1578         case ARIZONA_DSP3_WDMA_BUFFER_1:
1579         case ARIZONA_DSP3_WDMA_BUFFER_2:
1580         case ARIZONA_DSP3_WDMA_BUFFER_3:
1581         case ARIZONA_DSP3_WDMA_BUFFER_4:
1582         case ARIZONA_DSP3_WDMA_BUFFER_5:
1583         case ARIZONA_DSP3_WDMA_BUFFER_6:
1584         case ARIZONA_DSP3_WDMA_BUFFER_7:
1585         case ARIZONA_DSP3_WDMA_BUFFER_8:
1586         case ARIZONA_DSP3_RDMA_BUFFER_1:
1587         case ARIZONA_DSP3_RDMA_BUFFER_2:
1588         case ARIZONA_DSP3_RDMA_BUFFER_3:
1589         case ARIZONA_DSP3_RDMA_BUFFER_4:
1590         case ARIZONA_DSP3_RDMA_BUFFER_5:
1591         case ARIZONA_DSP3_RDMA_BUFFER_6:
1592         case ARIZONA_DSP3_WDMA_CONFIG_1:
1593         case ARIZONA_DSP3_WDMA_CONFIG_2:
1594         case ARIZONA_DSP3_WDMA_OFFSET_1:
1595         case ARIZONA_DSP3_RDMA_CONFIG_1:
1596         case ARIZONA_DSP3_RDMA_OFFSET_1:
1597         case ARIZONA_DSP3_EXTERNAL_START_SELECT_1:
1598         case ARIZONA_DSP3_SCRATCH_0:
1599         case ARIZONA_DSP3_SCRATCH_1:
1600         case ARIZONA_DSP3_SCRATCH_2:
1601         case ARIZONA_DSP3_SCRATCH_3:
1602         case ARIZONA_DSP3_CLOCKING_1:
1603                 return true;
1604         default:
1605                 return cs47l24_is_adsp_memory(reg);
1606         }
1607 }
1608
1609 #define CS47L24_MAX_REGISTER 0x3b3fff
1610
1611 const struct regmap_config cs47l24_spi_regmap = {
1612         .reg_bits = 32,
1613         .pad_bits = 16,
1614         .val_bits = 16,
1615         .reg_format_endian = REGMAP_ENDIAN_BIG,
1616         .val_format_endian = REGMAP_ENDIAN_BIG,
1617
1618         .max_register = CS47L24_MAX_REGISTER,
1619         .readable_reg = cs47l24_readable_register,
1620         .volatile_reg = cs47l24_volatile_register,
1621
1622         .cache_type = REGCACHE_RBTREE,
1623         .reg_defaults = cs47l24_reg_default,
1624         .num_reg_defaults = ARRAY_SIZE(cs47l24_reg_default),
1625 };
1626 EXPORT_SYMBOL_GPL(cs47l24_spi_regmap);
1627