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
23static const struct reg_sequence cs47l24_reva_patch[] = {
24 { 0x80, 0x3 },
25 { 0x27C, 0x0010 },
26 { 0x221, 0x0070 },
27 { 0x80, 0x0 },
28};
29
30int cs47l24_patch(struct arizona *arizona)
31{
32 return regmap_register_patch(arizona->regmap,
33 cs47l24_reva_patch,
34 ARRAY_SIZE(cs47l24_reva_patch));
35}
36EXPORT_SYMBOL_GPL(cs47l24_patch);
37
38static 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
174const 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};
183EXPORT_SYMBOL_GPL(cs47l24_irq);
184
185static 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
784static 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
801static 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
1503static 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
1611const 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};
1626EXPORT_SYMBOL_GPL(cs47l24_spi_regmap);
1627
1628