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