This source file includes following definitions.
- cs47l90_patch
- cs47l90_is_adsp_memory
- cs47l90_16bit_readable_register
- cs47l90_16bit_volatile_register
- cs47l90_32bit_readable_register
- cs47l90_32bit_volatile_register
1
2
3
4
5
6
7
8 #include <linux/device.h>
9 #include <linux/module.h>
10 #include <linux/regmap.h>
11
12 #include <linux/mfd/madera/core.h>
13 #include <linux/mfd/madera/registers.h>
14
15 #include "madera.h"
16
17 static const struct reg_sequence cs47l90_reva_16_patch[] = {
18 { 0x8A, 0x5555 },
19 { 0x8A, 0xAAAA },
20 { 0x4CF, 0x0700 },
21 { 0x171, 0x0003 },
22 { 0x101, 0x0444 },
23 { 0x159, 0x0002 },
24 { 0x120, 0x0444 },
25 { 0x1D1, 0x0004 },
26 { 0x1E0, 0xC084 },
27 { 0x159, 0x0000 },
28 { 0x120, 0x0404 },
29 { 0x101, 0x0404 },
30 { 0x171, 0x0002 },
31 { 0x17A, 0x2906 },
32 { 0x19A, 0x2906 },
33 { 0x441, 0xC750 },
34 { 0x340, 0x0001 },
35 { 0x112, 0x0405 },
36 { 0x124, 0x0C49 },
37 { 0x1300, 0x050E },
38 { 0x1302, 0x0101 },
39 { 0x1380, 0x0425 },
40 { 0x1381, 0xF6D8 },
41 { 0x1382, 0x0632 },
42 { 0x1383, 0xFEC8 },
43 { 0x1390, 0x042F },
44 { 0x1391, 0xF6CA },
45 { 0x1392, 0x0637 },
46 { 0x1393, 0xFEC8 },
47 { 0x281, 0x0000 },
48 { 0x282, 0x0000 },
49 { 0x4EA, 0x0100 },
50 { 0x8A, 0xCCCC },
51 { 0x8A, 0x3333 },
52 };
53
54 int cs47l90_patch(struct madera *madera)
55 {
56 int ret;
57
58 ret = regmap_register_patch(madera->regmap,
59 cs47l90_reva_16_patch,
60 ARRAY_SIZE(cs47l90_reva_16_patch));
61 if (ret < 0) {
62 dev_err(madera->dev,
63 "Error in applying 16-bit patch: %d\n", ret);
64 return ret;
65 }
66
67 return 0;
68 }
69 EXPORT_SYMBOL_GPL(cs47l90_patch);
70
71 static const struct reg_default cs47l90_reg_default[] = {
72 { 0x00000020, 0x0000 },
73 { 0x00000021, 0x1000 },
74 { 0x00000022, 0x0000 },
75 { 0x00000023, 0x1000 },
76 { 0x00000024, 0x0000 },
77 { 0x00000030, 0x0000 },
78 { 0x00000031, 0x0100 },
79 { 0x00000032, 0x0100 },
80 { 0x00000061, 0x01ff },
81 { 0x00000062, 0x01ff },
82 { 0x00000063, 0x01ff },
83 { 0x00000064, 0x01ff },
84 { 0x00000066, 0x01ff },
85 { 0x00000067, 0x01ff },
86 { 0x00000090, 0x0000 },
87 { 0x00000091, 0x7fff },
88 { 0x00000092, 0x0000 },
89 { 0x00000093, 0x0000 },
90 { 0x00000094, 0x0000 },
91 { 0x00000095, 0x0000 },
92 { 0x00000096, 0x0000 },
93 { 0x00000097, 0x0000 },
94 { 0x000000a0, 0x0000 },
95 { 0x00000100, 0x0002 },
96 { 0x00000101, 0x0404 },
97 { 0x00000102, 0x0011 },
98 { 0x00000103, 0x0011 },
99 { 0x00000104, 0x0011 },
100 { 0x00000112, 0x0405 },
101 { 0x00000113, 0x0011 },
102 { 0x00000114, 0x0011 },
103 { 0x00000120, 0x0404 },
104 { 0x00000122, 0x0000 },
105 { 0x00000149, 0x0000 },
106 { 0x0000014a, 0x0000 },
107 { 0x00000152, 0x0000 },
108 { 0x00000153, 0x0000 },
109 { 0x00000154, 0x0000 },
110 { 0x00000155, 0x0000 },
111 { 0x00000156, 0x0000 },
112 { 0x00000171, 0x0002 },
113 { 0x00000172, 0x0008 },
114 { 0x00000173, 0x0018 },
115 { 0x00000174, 0x007d },
116 { 0x00000175, 0x0000 },
117 { 0x00000176, 0x0000 },
118 { 0x00000179, 0x0000 },
119 { 0x0000017a, 0x2906 },
120 { 0x00000181, 0x0000 },
121 { 0x00000182, 0x0000 },
122 { 0x00000183, 0x0000 },
123 { 0x00000184, 0x0000 },
124 { 0x00000185, 0x0000 },
125 { 0x00000186, 0x0000 },
126 { 0x00000187, 0x0001 },
127 { 0x00000189, 0x0000 },
128 { 0x0000018a, 0x0004 },
129 { 0x00000191, 0x0002 },
130 { 0x00000192, 0x0008 },
131 { 0x00000193, 0x0018 },
132 { 0x00000194, 0x007d },
133 { 0x00000195, 0x0000 },
134 { 0x00000196, 0x0000 },
135 { 0x00000199, 0x0000 },
136 { 0x0000019a, 0x2906 },
137 { 0x000001a1, 0x0000 },
138 { 0x000001a2, 0x0000 },
139 { 0x000001a3, 0x0000 },
140 { 0x000001a4, 0x0000 },
141 { 0x000001a5, 0x0000 },
142 { 0x000001a6, 0x0000 },
143 { 0x000001a7, 0x0001 },
144 { 0x000001a9, 0x0000 },
145 { 0x000001aa, 0x0004 },
146 { 0x000001d1, 0x0004 },
147 { 0x000001d2, 0x0004 },
148 { 0x000001d3, 0x0000 },
149 { 0x000001d4, 0x0000 },
150 { 0x000001d5, 0x0001 },
151 { 0x000001d6, 0x8004 },
152 { 0x000001d8, 0x0000 },
153 { 0x000001da, 0x0070 },
154 { 0x000001db, 0x0000 },
155 { 0x000001dc, 0x06da },
156 { 0x000001dd, 0x0011 },
157 { 0x00000200, 0x0006 },
158 { 0x00000213, 0x03e4 },
159 { 0x00000218, 0x00e6 },
160 { 0x00000219, 0x00e6 },
161 { 0x0000021c, 0x2222 },
162 { 0x0000021e, 0x2222 },
163 { 0x0000027e, 0x0000 },
164 { 0x00000293, 0x0080 },
165 { 0x00000299, 0x0000 },
166 { 0x0000029b, 0x0000 },
167 { 0x000002a2, 0x0010 },
168 { 0x000002a3, 0x1102 },
169 { 0x000002a4, 0x009f },
170 { 0x000002a6, 0x3d3d },
171 { 0x000002a7, 0x3d3d },
172 { 0x000002a8, 0x333d },
173 { 0x000002a9, 0x202d },
174 { 0x000002b2, 0x0010 },
175 { 0x000002b3, 0x1102 },
176 { 0x000002b4, 0x009f },
177 { 0x000002b6, 0x3d3d },
178 { 0x000002b7, 0x3d3d },
179 { 0x000002b8, 0x333d },
180 { 0x000002b9, 0x202d },
181 { 0x000002c6, 0x0010 },
182 { 0x000002c8, 0x0000 },
183 { 0x000002d3, 0x0000 },
184 { 0x00000300, 0x0000 },
185 { 0x00000308, 0x0400 },
186 { 0x00000309, 0x0022 },
187 { 0x0000030c, 0x0002 },
188 { 0x00000310, 0x0080 },
189 { 0x00000311, 0x0180 },
190 { 0x00000312, 0x0500 },
191 { 0x00000313, 0x0000 },
192 { 0x00000314, 0x0080 },
193 { 0x00000315, 0x0180 },
194 { 0x00000316, 0x0000 },
195 { 0x00000317, 0x0000 },
196 { 0x00000318, 0x0080 },
197 { 0x00000319, 0x0180 },
198 { 0x0000031a, 0x0500 },
199 { 0x0000031b, 0x0000 },
200 { 0x0000031c, 0x0080 },
201 { 0x0000031d, 0x0180 },
202 { 0x0000031e, 0x0000 },
203 { 0x0000031f, 0x0000 },
204 { 0x00000320, 0x0000 },
205 { 0x00000321, 0x0180 },
206 { 0x00000322, 0x0500 },
207 { 0x00000323, 0x0000 },
208 { 0x00000324, 0x0000 },
209 { 0x00000325, 0x0180 },
210 { 0x00000326, 0x0000 },
211 { 0x00000327, 0x0000 },
212 { 0x00000328, 0x0000 },
213 { 0x00000329, 0x0180 },
214 { 0x0000032a, 0x0500 },
215 { 0x0000032b, 0x0000 },
216 { 0x0000032c, 0x0000 },
217 { 0x0000032d, 0x0180 },
218 { 0x0000032e, 0x0000 },
219 { 0x0000032f, 0x0000 },
220 { 0x00000330, 0x0000 },
221 { 0x00000331, 0x0180 },
222 { 0x00000332, 0x0500 },
223 { 0x00000333, 0x0000 },
224 { 0x00000334, 0x0000 },
225 { 0x00000335, 0x0180 },
226 { 0x00000336, 0x0000 },
227 { 0x00000337, 0x0000 },
228 { 0x00000400, 0x0000 },
229 { 0x00000408, 0x0000 },
230 { 0x00000409, 0x0022 },
231 { 0x00000410, 0x0080 },
232 { 0x00000411, 0x0180 },
233 { 0x00000412, 0x0000 },
234 { 0x00000413, 0x0001 },
235 { 0x00000414, 0x0080 },
236 { 0x00000415, 0x0180 },
237 { 0x00000417, 0x0002 },
238 { 0x00000418, 0x0080 },
239 { 0x00000419, 0x0180 },
240 { 0x0000041a, 0x0002 },
241 { 0x0000041b, 0x0004 },
242 { 0x0000041c, 0x0080 },
243 { 0x0000041d, 0x0180 },
244 { 0x0000041f, 0x0008 },
245 { 0x00000420, 0x0080 },
246 { 0x00000421, 0x0180 },
247 { 0x00000423, 0x0010 },
248 { 0x00000424, 0x0080 },
249 { 0x00000425, 0x0180 },
250 { 0x00000427, 0x0020 },
251 { 0x00000430, 0x0000 },
252 { 0x00000431, 0x0180 },
253 { 0x00000433, 0x0100 },
254 { 0x00000434, 0x0000 },
255 { 0x00000435, 0x0180 },
256 { 0x00000437, 0x0200 },
257 { 0x00000450, 0x0000 },
258 { 0x00000451, 0x0000 },
259 { 0x00000458, 0x0000 },
260 { 0x00000490, 0x0069 },
261 { 0x00000491, 0x0000 },
262 { 0x000004a0, 0x3080 },
263 { 0x000004a1, 0x3000 },
264 { 0x000004a2, 0x3000 },
265 { 0x00000500, 0x000c },
266 { 0x00000501, 0x0000 },
267 { 0x00000502, 0x0000 },
268 { 0x00000503, 0x0000 },
269 { 0x00000504, 0x0000 },
270 { 0x00000506, 0x0040 },
271 { 0x00000507, 0x1818 },
272 { 0x00000508, 0x1818 },
273 { 0x00000509, 0x0000 },
274 { 0x0000050a, 0x0001 },
275 { 0x0000050b, 0x0002 },
276 { 0x0000050c, 0x0003 },
277 { 0x0000050d, 0x0004 },
278 { 0x0000050e, 0x0005 },
279 { 0x0000050f, 0x0006 },
280 { 0x00000510, 0x0007 },
281 { 0x00000511, 0x0000 },
282 { 0x00000512, 0x0001 },
283 { 0x00000513, 0x0002 },
284 { 0x00000514, 0x0003 },
285 { 0x00000515, 0x0004 },
286 { 0x00000516, 0x0005 },
287 { 0x00000517, 0x0006 },
288 { 0x00000518, 0x0007 },
289 { 0x00000519, 0x0000 },
290 { 0x0000051a, 0x0000 },
291 { 0x00000540, 0x000c },
292 { 0x00000541, 0x0000 },
293 { 0x00000542, 0x0000 },
294 { 0x00000543, 0x0000 },
295 { 0x00000544, 0x0000 },
296 { 0x00000546, 0x0040 },
297 { 0x00000547, 0x1818 },
298 { 0x00000548, 0x1818 },
299 { 0x00000549, 0x0000 },
300 { 0x0000054a, 0x0001 },
301 { 0x0000054b, 0x0002 },
302 { 0x0000054c, 0x0003 },
303 { 0x0000054d, 0x0004 },
304 { 0x0000054e, 0x0005 },
305 { 0x0000054f, 0x0006 },
306 { 0x00000550, 0x0007 },
307 { 0x00000551, 0x0000 },
308 { 0x00000552, 0x0001 },
309 { 0x00000553, 0x0002 },
310 { 0x00000554, 0x0003 },
311 { 0x00000555, 0x0004 },
312 { 0x00000556, 0x0005 },
313 { 0x00000557, 0x0006 },
314 { 0x00000558, 0x0007 },
315 { 0x00000559, 0x0000 },
316 { 0x0000055a, 0x0000 },
317 { 0x00000580, 0x000c },
318 { 0x00000581, 0x0000 },
319 { 0x00000582, 0x0000 },
320 { 0x00000583, 0x0000 },
321 { 0x00000584, 0x0000 },
322 { 0x00000586, 0x0040 },
323 { 0x00000587, 0x1818 },
324 { 0x00000588, 0x1818 },
325 { 0x00000589, 0x0000 },
326 { 0x0000058a, 0x0001 },
327 { 0x00000591, 0x0000 },
328 { 0x00000592, 0x0001 },
329 { 0x00000599, 0x0000 },
330 { 0x0000059a, 0x0000 },
331 { 0x000005a0, 0x000c },
332 { 0x000005a1, 0x0000 },
333 { 0x000005a2, 0x0000 },
334 { 0x000005a3, 0x0000 },
335 { 0x000005a4, 0x0000 },
336 { 0x000005a6, 0x0040 },
337 { 0x000005a7, 0x1818 },
338 { 0x000005a8, 0x1818 },
339 { 0x000005a9, 0x0000 },
340 { 0x000005aa, 0x0001 },
341 { 0x000005b1, 0x0000 },
342 { 0x000005b2, 0x0001 },
343 { 0x000005b9, 0x0000 },
344 { 0x000005ba, 0x0000 },
345 { 0x000005c2, 0x0000 },
346 { 0x000005e3, 0x0000 },
347 { 0x000005e5, 0x0000 },
348 { 0x000005e6, 0x0000 },
349 { 0x000005e7, 0x0000 },
350 { 0x000005e8, 0x0000 },
351 { 0x000005e9, 0x0000 },
352 { 0x000005ea, 0x0000 },
353 { 0x000005eb, 0x0000 },
354 { 0x000005ec, 0x0000 },
355 { 0x000005f5, 0x0000 },
356 { 0x000005f6, 0x0000 },
357 { 0x00000640, 0x0000 },
358 { 0x00000641, 0x0080 },
359 { 0x00000642, 0x0000 },
360 { 0x00000643, 0x0080 },
361 { 0x00000644, 0x0000 },
362 { 0x00000645, 0x0080 },
363 { 0x00000646, 0x0000 },
364 { 0x00000647, 0x0080 },
365 { 0x00000648, 0x0000 },
366 { 0x00000649, 0x0080 },
367 { 0x0000064a, 0x0000 },
368 { 0x0000064b, 0x0080 },
369 { 0x0000064c, 0x0000 },
370 { 0x0000064d, 0x0080 },
371 { 0x0000064e, 0x0000 },
372 { 0x0000064f, 0x0080 },
373 { 0x00000680, 0x0000 },
374 { 0x00000681, 0x0080 },
375 { 0x00000682, 0x0000 },
376 { 0x00000683, 0x0080 },
377 { 0x00000684, 0x0000 },
378 { 0x00000685, 0x0080 },
379 { 0x00000686, 0x0000 },
380 { 0x00000687, 0x0080 },
381 { 0x00000688, 0x0000 },
382 { 0x00000689, 0x0080 },
383 { 0x0000068a, 0x0000 },
384 { 0x0000068b, 0x0080 },
385 { 0x0000068c, 0x0000 },
386 { 0x0000068d, 0x0080 },
387 { 0x0000068e, 0x0000 },
388 { 0x0000068f, 0x0080 },
389 { 0x00000690, 0x0000 },
390 { 0x00000691, 0x0080 },
391 { 0x00000692, 0x0000 },
392 { 0x00000693, 0x0080 },
393 { 0x00000694, 0x0000 },
394 { 0x00000695, 0x0080 },
395 { 0x00000696, 0x0000 },
396 { 0x00000697, 0x0080 },
397 { 0x00000698, 0x0000 },
398 { 0x00000699, 0x0080 },
399 { 0x0000069a, 0x0000 },
400 { 0x0000069b, 0x0080 },
401 { 0x0000069c, 0x0000 },
402 { 0x0000069d, 0x0080 },
403 { 0x0000069e, 0x0000 },
404 { 0x0000069f, 0x0080 },
405 { 0x000006a0, 0x0000 },
406 { 0x000006a1, 0x0080 },
407 { 0x000006a2, 0x0000 },
408 { 0x000006a3, 0x0080 },
409 { 0x000006a4, 0x0000 },
410 { 0x000006a5, 0x0080 },
411 { 0x000006a6, 0x0000 },
412 { 0x000006a7, 0x0080 },
413 { 0x000006a8, 0x0000 },
414 { 0x000006a9, 0x0080 },
415 { 0x000006aa, 0x0000 },
416 { 0x000006ab, 0x0080 },
417 { 0x000006ac, 0x0000 },
418 { 0x000006ad, 0x0080 },
419 { 0x000006ae, 0x0000 },
420 { 0x000006af, 0x0080 },
421 { 0x000006c0, 0x0000 },
422 { 0x000006c1, 0x0080 },
423 { 0x000006c2, 0x0000 },
424 { 0x000006c3, 0x0080 },
425 { 0x000006c4, 0x0000 },
426 { 0x000006c5, 0x0080 },
427 { 0x000006c6, 0x0000 },
428 { 0x000006c7, 0x0080 },
429 { 0x000006c8, 0x0000 },
430 { 0x000006c9, 0x0080 },
431 { 0x000006ca, 0x0000 },
432 { 0x000006cb, 0x0080 },
433 { 0x000006cc, 0x0000 },
434 { 0x000006cd, 0x0080 },
435 { 0x000006ce, 0x0000 },
436 { 0x000006cf, 0x0080 },
437 { 0x00000700, 0x0000 },
438 { 0x00000701, 0x0080 },
439 { 0x00000702, 0x0000 },
440 { 0x00000703, 0x0080 },
441 { 0x00000704, 0x0000 },
442 { 0x00000705, 0x0080 },
443 { 0x00000706, 0x0000 },
444 { 0x00000707, 0x0080 },
445 { 0x00000708, 0x0000 },
446 { 0x00000709, 0x0080 },
447 { 0x0000070a, 0x0000 },
448 { 0x0000070b, 0x0080 },
449 { 0x0000070c, 0x0000 },
450 { 0x0000070d, 0x0080 },
451 { 0x0000070e, 0x0000 },
452 { 0x0000070f, 0x0080 },
453 { 0x00000710, 0x0000 },
454 { 0x00000711, 0x0080 },
455 { 0x00000712, 0x0000 },
456 { 0x00000713, 0x0080 },
457 { 0x00000714, 0x0000 },
458 { 0x00000715, 0x0080 },
459 { 0x00000716, 0x0000 },
460 { 0x00000717, 0x0080 },
461 { 0x00000718, 0x0000 },
462 { 0x00000719, 0x0080 },
463 { 0x0000071a, 0x0000 },
464 { 0x0000071b, 0x0080 },
465 { 0x0000071c, 0x0000 },
466 { 0x0000071d, 0x0080 },
467 { 0x0000071e, 0x0000 },
468 { 0x0000071f, 0x0080 },
469 { 0x00000720, 0x0000 },
470 { 0x00000721, 0x0080 },
471 { 0x00000722, 0x0000 },
472 { 0x00000723, 0x0080 },
473 { 0x00000724, 0x0000 },
474 { 0x00000725, 0x0080 },
475 { 0x00000726, 0x0000 },
476 { 0x00000727, 0x0080 },
477 { 0x00000728, 0x0000 },
478 { 0x00000729, 0x0080 },
479 { 0x0000072a, 0x0000 },
480 { 0x0000072b, 0x0080 },
481 { 0x0000072c, 0x0000 },
482 { 0x0000072d, 0x0080 },
483 { 0x0000072e, 0x0000 },
484 { 0x0000072f, 0x0080 },
485 { 0x00000730, 0x0000 },
486 { 0x00000731, 0x0080 },
487 { 0x00000732, 0x0000 },
488 { 0x00000733, 0x0080 },
489 { 0x00000734, 0x0000 },
490 { 0x00000735, 0x0080 },
491 { 0x00000736, 0x0000 },
492 { 0x00000737, 0x0080 },
493 { 0x00000738, 0x0000 },
494 { 0x00000739, 0x0080 },
495 { 0x0000073a, 0x0000 },
496 { 0x0000073b, 0x0080 },
497 { 0x0000073c, 0x0000 },
498 { 0x0000073d, 0x0080 },
499 { 0x0000073e, 0x0000 },
500 { 0x0000073f, 0x0080 },
501 { 0x00000740, 0x0000 },
502 { 0x00000741, 0x0080 },
503 { 0x00000742, 0x0000 },
504 { 0x00000743, 0x0080 },
505 { 0x00000744, 0x0000 },
506 { 0x00000745, 0x0080 },
507 { 0x00000746, 0x0000 },
508 { 0x00000747, 0x0080 },
509 { 0x00000748, 0x0000 },
510 { 0x00000749, 0x0080 },
511 { 0x0000074a, 0x0000 },
512 { 0x0000074b, 0x0080 },
513 { 0x0000074c, 0x0000 },
514 { 0x0000074d, 0x0080 },
515 { 0x0000074e, 0x0000 },
516 { 0x0000074f, 0x0080 },
517 { 0x00000750, 0x0000 },
518 { 0x00000751, 0x0080 },
519 { 0x00000752, 0x0000 },
520 { 0x00000753, 0x0080 },
521 { 0x00000754, 0x0000 },
522 { 0x00000755, 0x0080 },
523 { 0x00000756, 0x0000 },
524 { 0x00000757, 0x0080 },
525 { 0x00000758, 0x0000 },
526 { 0x00000759, 0x0080 },
527 { 0x0000075a, 0x0000 },
528 { 0x0000075b, 0x0080 },
529 { 0x0000075c, 0x0000 },
530 { 0x0000075d, 0x0080 },
531 { 0x0000075e, 0x0000 },
532 { 0x0000075f, 0x0080 },
533 { 0x00000760, 0x0000 },
534 { 0x00000761, 0x0080 },
535 { 0x00000762, 0x0000 },
536 { 0x00000763, 0x0080 },
537 { 0x00000764, 0x0000 },
538 { 0x00000765, 0x0080 },
539 { 0x00000766, 0x0000 },
540 { 0x00000767, 0x0080 },
541 { 0x00000768, 0x0000 },
542 { 0x00000769, 0x0080 },
543 { 0x0000076a, 0x0000 },
544 { 0x0000076b, 0x0080 },
545 { 0x0000076c, 0x0000 },
546 { 0x0000076d, 0x0080 },
547 { 0x0000076e, 0x0000 },
548 { 0x0000076f, 0x0080 },
549 { 0x00000770, 0x0000 },
550 { 0x00000771, 0x0080 },
551 { 0x00000772, 0x0000 },
552 { 0x00000773, 0x0080 },
553 { 0x00000774, 0x0000 },
554 { 0x00000775, 0x0080 },
555 { 0x00000776, 0x0000 },
556 { 0x00000777, 0x0080 },
557 { 0x00000778, 0x0000 },
558 { 0x00000779, 0x0080 },
559 { 0x0000077a, 0x0000 },
560 { 0x0000077b, 0x0080 },
561 { 0x0000077c, 0x0000 },
562 { 0x0000077d, 0x0080 },
563 { 0x0000077e, 0x0000 },
564 { 0x0000077f, 0x0080 },
565 { 0x00000780, 0x0000 },
566 { 0x00000781, 0x0080 },
567 { 0x00000782, 0x0000 },
568 { 0x00000783, 0x0080 },
569 { 0x00000784, 0x0000 },
570 { 0x00000785, 0x0080 },
571 { 0x00000786, 0x0000 },
572 { 0x00000787, 0x0080 },
573 { 0x00000788, 0x0000 },
574 { 0x00000789, 0x0080 },
575 { 0x0000078a, 0x0000 },
576 { 0x0000078b, 0x0080 },
577 { 0x0000078c, 0x0000 },
578 { 0x0000078d, 0x0080 },
579 { 0x0000078e, 0x0000 },
580 { 0x0000078f, 0x0080 },
581 { 0x000007a0, 0x0000 },
582 { 0x000007a1, 0x0080 },
583 { 0x000007a2, 0x0000 },
584 { 0x000007a3, 0x0080 },
585 { 0x000007a4, 0x0000 },
586 { 0x000007a5, 0x0080 },
587 { 0x000007a6, 0x0000 },
588 { 0x000007a7, 0x0080 },
589 { 0x000007a8, 0x0000 },
590 { 0x000007a9, 0x0080 },
591 { 0x000007aa, 0x0000 },
592 { 0x000007ab, 0x0080 },
593 { 0x000007ac, 0x0000 },
594 { 0x000007ad, 0x0080 },
595 { 0x000007ae, 0x0000 },
596 { 0x000007af, 0x0080 },
597 { 0x000007c0, 0x0000 },
598 { 0x000007c1, 0x0080 },
599 { 0x000007c2, 0x0000 },
600 { 0x000007c3, 0x0080 },
601 { 0x000007c4, 0x0000 },
602 { 0x000007c5, 0x0080 },
603 { 0x000007c6, 0x0000 },
604 { 0x000007c7, 0x0080 },
605 { 0x000007c8, 0x0000 },
606 { 0x000007c9, 0x0080 },
607 { 0x000007ca, 0x0000 },
608 { 0x000007cb, 0x0080 },
609 { 0x000007cc, 0x0000 },
610 { 0x000007cd, 0x0080 },
611 { 0x000007ce, 0x0000 },
612 { 0x000007cf, 0x0080 },
613 { 0x000007d0, 0x0000 },
614 { 0x000007d1, 0x0080 },
615 { 0x000007d2, 0x0000 },
616 { 0x000007d3, 0x0080 },
617 { 0x000007d4, 0x0000 },
618 { 0x000007d5, 0x0080 },
619 { 0x000007d6, 0x0000 },
620 { 0x000007d7, 0x0080 },
621 { 0x000007d8, 0x0000 },
622 { 0x000007d9, 0x0080 },
623 { 0x000007da, 0x0000 },
624 { 0x000007db, 0x0080 },
625 { 0x000007dc, 0x0000 },
626 { 0x000007dd, 0x0080 },
627 { 0x000007de, 0x0000 },
628 { 0x000007df, 0x0080 },
629 { 0x000007e0, 0x0000 },
630 { 0x000007e1, 0x0080 },
631 { 0x000007e2, 0x0000 },
632 { 0x000007e3, 0x0080 },
633 { 0x000007e4, 0x0000 },
634 { 0x000007e5, 0x0080 },
635 { 0x000007e6, 0x0000 },
636 { 0x000007e7, 0x0080 },
637 { 0x000007e8, 0x0000 },
638 { 0x000007e9, 0x0080 },
639 { 0x000007ea, 0x0000 },
640 { 0x000007eb, 0x0080 },
641 { 0x000007ec, 0x0000 },
642 { 0x000007ed, 0x0080 },
643 { 0x000007ee, 0x0000 },
644 { 0x000007ef, 0x0080 },
645 { 0x000007f0, 0x0000 },
646 { 0x000007f1, 0x0080 },
647 { 0x000007f2, 0x0000 },
648 { 0x000007f3, 0x0080 },
649 { 0x000007f4, 0x0000 },
650 { 0x000007f5, 0x0080 },
651 { 0x000007f6, 0x0000 },
652 { 0x000007f7, 0x0080 },
653 { 0x000007f8, 0x0000 },
654 { 0x000007f9, 0x0080 },
655 { 0x000007fa, 0x0000 },
656 { 0x000007fb, 0x0080 },
657 { 0x000007fc, 0x0000 },
658 { 0x000007fd, 0x0080 },
659 { 0x000007fe, 0x0000 },
660 { 0x000007ff, 0x0080 },
661 { 0x00000800, 0x0000 },
662 { 0x00000801, 0x0080 },
663 { 0x00000808, 0x0000 },
664 { 0x00000809, 0x0080 },
665 { 0x00000880, 0x0000 },
666 { 0x00000881, 0x0080 },
667 { 0x00000882, 0x0000 },
668 { 0x00000883, 0x0080 },
669 { 0x00000884, 0x0000 },
670 { 0x00000885, 0x0080 },
671 { 0x00000886, 0x0000 },
672 { 0x00000887, 0x0080 },
673 { 0x00000888, 0x0000 },
674 { 0x00000889, 0x0080 },
675 { 0x0000088a, 0x0000 },
676 { 0x0000088b, 0x0080 },
677 { 0x0000088c, 0x0000 },
678 { 0x0000088d, 0x0080 },
679 { 0x0000088e, 0x0000 },
680 { 0x0000088f, 0x0080 },
681 { 0x00000890, 0x0000 },
682 { 0x00000891, 0x0080 },
683 { 0x00000892, 0x0000 },
684 { 0x00000893, 0x0080 },
685 { 0x00000894, 0x0000 },
686 { 0x00000895, 0x0080 },
687 { 0x00000896, 0x0000 },
688 { 0x00000897, 0x0080 },
689 { 0x00000898, 0x0000 },
690 { 0x00000899, 0x0080 },
691 { 0x0000089a, 0x0000 },
692 { 0x0000089b, 0x0080 },
693 { 0x0000089c, 0x0000 },
694 { 0x0000089d, 0x0080 },
695 { 0x0000089e, 0x0000 },
696 { 0x0000089f, 0x0080 },
697 { 0x000008c0, 0x0000 },
698 { 0x000008c1, 0x0080 },
699 { 0x000008c2, 0x0000 },
700 { 0x000008c3, 0x0080 },
701 { 0x000008c4, 0x0000 },
702 { 0x000008c5, 0x0080 },
703 { 0x000008c6, 0x0000 },
704 { 0x000008c7, 0x0080 },
705 { 0x000008c8, 0x0000 },
706 { 0x000008c9, 0x0080 },
707 { 0x000008ca, 0x0000 },
708 { 0x000008cb, 0x0080 },
709 { 0x000008cc, 0x0000 },
710 { 0x000008cd, 0x0080 },
711 { 0x000008ce, 0x0000 },
712 { 0x000008cf, 0x0080 },
713 { 0x000008d0, 0x0000 },
714 { 0x000008d1, 0x0080 },
715 { 0x000008d2, 0x0000 },
716 { 0x000008d3, 0x0080 },
717 { 0x000008d4, 0x0000 },
718 { 0x000008d5, 0x0080 },
719 { 0x000008d6, 0x0000 },
720 { 0x000008d7, 0x0080 },
721 { 0x000008d8, 0x0000 },
722 { 0x000008d9, 0x0080 },
723 { 0x000008da, 0x0000 },
724 { 0x000008db, 0x0080 },
725 { 0x000008dc, 0x0000 },
726 { 0x000008dd, 0x0080 },
727 { 0x000008de, 0x0000 },
728 { 0x000008df, 0x0080 },
729 { 0x00000900, 0x0000 },
730 { 0x00000901, 0x0080 },
731 { 0x00000902, 0x0000 },
732 { 0x00000903, 0x0080 },
733 { 0x00000904, 0x0000 },
734 { 0x00000905, 0x0080 },
735 { 0x00000906, 0x0000 },
736 { 0x00000907, 0x0080 },
737 { 0x00000908, 0x0000 },
738 { 0x00000909, 0x0080 },
739 { 0x0000090a, 0x0000 },
740 { 0x0000090b, 0x0080 },
741 { 0x0000090c, 0x0000 },
742 { 0x0000090d, 0x0080 },
743 { 0x0000090e, 0x0000 },
744 { 0x0000090f, 0x0080 },
745 { 0x00000910, 0x0000 },
746 { 0x00000911, 0x0080 },
747 { 0x00000912, 0x0000 },
748 { 0x00000913, 0x0080 },
749 { 0x00000914, 0x0000 },
750 { 0x00000915, 0x0080 },
751 { 0x00000916, 0x0000 },
752 { 0x00000917, 0x0080 },
753 { 0x00000918, 0x0000 },
754 { 0x00000919, 0x0080 },
755 { 0x0000091a, 0x0000 },
756 { 0x0000091b, 0x0080 },
757 { 0x0000091c, 0x0000 },
758 { 0x0000091d, 0x0080 },
759 { 0x0000091e, 0x0000 },
760 { 0x0000091f, 0x0080 },
761 { 0x00000940, 0x0000 },
762 { 0x00000941, 0x0080 },
763 { 0x00000942, 0x0000 },
764 { 0x00000943, 0x0080 },
765 { 0x00000944, 0x0000 },
766 { 0x00000945, 0x0080 },
767 { 0x00000946, 0x0000 },
768 { 0x00000947, 0x0080 },
769 { 0x00000948, 0x0000 },
770 { 0x00000949, 0x0080 },
771 { 0x0000094a, 0x0000 },
772 { 0x0000094b, 0x0080 },
773 { 0x0000094c, 0x0000 },
774 { 0x0000094d, 0x0080 },
775 { 0x0000094e, 0x0000 },
776 { 0x0000094f, 0x0080 },
777 { 0x00000950, 0x0000 },
778 { 0x00000958, 0x0000 },
779 { 0x00000960, 0x0000 },
780 { 0x00000968, 0x0000 },
781 { 0x00000970, 0x0000 },
782 { 0x00000978, 0x0000 },
783 { 0x00000980, 0x0000 },
784 { 0x00000981, 0x0080 },
785 { 0x00000982, 0x0000 },
786 { 0x00000983, 0x0080 },
787 { 0x00000984, 0x0000 },
788 { 0x00000985, 0x0080 },
789 { 0x00000986, 0x0000 },
790 { 0x00000987, 0x0080 },
791 { 0x00000988, 0x0000 },
792 { 0x00000989, 0x0080 },
793 { 0x0000098a, 0x0000 },
794 { 0x0000098b, 0x0080 },
795 { 0x0000098c, 0x0000 },
796 { 0x0000098d, 0x0080 },
797 { 0x0000098e, 0x0000 },
798 { 0x0000098f, 0x0080 },
799 { 0x00000990, 0x0000 },
800 { 0x00000998, 0x0000 },
801 { 0x000009a0, 0x0000 },
802 { 0x000009a8, 0x0000 },
803 { 0x000009b0, 0x0000 },
804 { 0x000009b8, 0x0000 },
805 { 0x000009c0, 0x0000 },
806 { 0x000009c1, 0x0080 },
807 { 0x000009c2, 0x0000 },
808 { 0x000009c3, 0x0080 },
809 { 0x000009c4, 0x0000 },
810 { 0x000009c5, 0x0080 },
811 { 0x000009c6, 0x0000 },
812 { 0x000009c7, 0x0080 },
813 { 0x000009c8, 0x0000 },
814 { 0x000009c9, 0x0080 },
815 { 0x000009ca, 0x0000 },
816 { 0x000009cb, 0x0080 },
817 { 0x000009cc, 0x0000 },
818 { 0x000009cd, 0x0080 },
819 { 0x000009ce, 0x0000 },
820 { 0x000009cf, 0x0080 },
821 { 0x000009d0, 0x0000 },
822 { 0x000009d8, 0x0000 },
823 { 0x000009e0, 0x0000 },
824 { 0x000009e8, 0x0000 },
825 { 0x000009f0, 0x0000 },
826 { 0x000009f8, 0x0000 },
827 { 0x00000a00, 0x0000 },
828 { 0x00000a01, 0x0080 },
829 { 0x00000a02, 0x0000 },
830 { 0x00000a03, 0x0080 },
831 { 0x00000a04, 0x0000 },
832 { 0x00000a05, 0x0080 },
833 { 0x00000a06, 0x0000 },
834 { 0x00000a07, 0x0080 },
835 { 0x00000a08, 0x0000 },
836 { 0x00000a09, 0x0080 },
837 { 0x00000a0a, 0x0000 },
838 { 0x00000a0b, 0x0080 },
839 { 0x00000a0c, 0x0000 },
840 { 0x00000a0d, 0x0080 },
841 { 0x00000a0e, 0x0000 },
842 { 0x00000a0f, 0x0080 },
843 { 0x00000a10, 0x0000 },
844 { 0x00000a18, 0x0000 },
845 { 0x00000a20, 0x0000 },
846 { 0x00000a28, 0x0000 },
847 { 0x00000a30, 0x0000 },
848 { 0x00000a38, 0x0000 },
849 { 0x00000a40, 0x0000 },
850 { 0x00000a41, 0x0080 },
851 { 0x00000a42, 0x0000 },
852 { 0x00000a43, 0x0080 },
853 { 0x00000a44, 0x0000 },
854 { 0x00000a45, 0x0080 },
855 { 0x00000a46, 0x0000 },
856 { 0x00000a47, 0x0080 },
857 { 0x00000a48, 0x0000 },
858 { 0x00000a49, 0x0080 },
859 { 0x00000a4a, 0x0000 },
860 { 0x00000a4b, 0x0080 },
861 { 0x00000a4c, 0x0000 },
862 { 0x00000a4d, 0x0080 },
863 { 0x00000a4e, 0x0000 },
864 { 0x00000a4f, 0x0080 },
865 { 0x00000a50, 0x0000 },
866 { 0x00000a58, 0x0000 },
867 { 0x00000a60, 0x0000 },
868 { 0x00000a68, 0x0000 },
869 { 0x00000a70, 0x0000 },
870 { 0x00000a78, 0x0000 },
871 { 0x00000a80, 0x0000 },
872 { 0x00000a88, 0x0000 },
873 { 0x00000a90, 0x0000 },
874 { 0x00000a98, 0x0000 },
875 { 0x00000aa0, 0x0000 },
876 { 0x00000aa8, 0x0000 },
877 { 0x00000ab0, 0x0000 },
878 { 0x00000ab8, 0x0000 },
879 { 0x00000b00, 0x0000 },
880 { 0x00000b08, 0x0000 },
881 { 0x00000b10, 0x0000 },
882 { 0x00000b18, 0x0000 },
883 { 0x00000b20, 0x0000 },
884 { 0x00000b28, 0x0000 },
885 { 0x00000b30, 0x0000 },
886 { 0x00000b38, 0x0000 },
887 { 0x00000b40, 0x0000 },
888 { 0x00000b48, 0x0000 },
889 { 0x00000b50, 0x0000 },
890 { 0x00000b58, 0x0000 },
891 { 0x00000b60, 0x0000 },
892 { 0x00000b68, 0x0000 },
893 { 0x00000b70, 0x0000 },
894 { 0x00000b78, 0x0000 },
895 { 0x00000b80, 0x0000 },
896 { 0x00000b88, 0x0000 },
897 { 0x00000ba0, 0x0000 },
898 { 0x00000ba8, 0x0000 },
899 { 0x00000bc0, 0x0000 },
900 { 0x00000bc8, 0x0000 },
901 { 0x00000be0, 0x0000 },
902 { 0x00000be8, 0x0000 },
903 { 0x00000c00, 0x0000 },
904 { 0x00000c01, 0x0080 },
905 { 0x00000c02, 0x0000 },
906 { 0x00000c03, 0x0080 },
907 { 0x00000c04, 0x0000 },
908 { 0x00000c05, 0x0080 },
909 { 0x00000c06, 0x0000 },
910 { 0x00000c07, 0x0080 },
911 { 0x00000c08, 0x0000 },
912 { 0x00000c09, 0x0080 },
913 { 0x00000c0a, 0x0000 },
914 { 0x00000c0b, 0x0080 },
915 { 0x00000c0c, 0x0000 },
916 { 0x00000c0d, 0x0080 },
917 { 0x00000c0e, 0x0000 },
918 { 0x00000c0f, 0x0080 },
919 { 0x00000c10, 0x0000 },
920 { 0x00000c18, 0x0000 },
921 { 0x00000c20, 0x0000 },
922 { 0x00000c28, 0x0000 },
923 { 0x00000c30, 0x0000 },
924 { 0x00000c38, 0x0000 },
925 { 0x00000c40, 0x0000 },
926 { 0x00000c41, 0x0080 },
927 { 0x00000c42, 0x0000 },
928 { 0x00000c43, 0x0080 },
929 { 0x00000c44, 0x0000 },
930 { 0x00000c45, 0x0080 },
931 { 0x00000c46, 0x0000 },
932 { 0x00000c47, 0x0080 },
933 { 0x00000c48, 0x0000 },
934 { 0x00000c49, 0x0080 },
935 { 0x00000c4a, 0x0000 },
936 { 0x00000c4b, 0x0080 },
937 { 0x00000c4c, 0x0000 },
938 { 0x00000c4d, 0x0080 },
939 { 0x00000c4e, 0x0000 },
940 { 0x00000c4f, 0x0080 },
941 { 0x00000c50, 0x0000 },
942 { 0x00000c58, 0x0000 },
943 { 0x00000c60, 0x0000 },
944 { 0x00000c68, 0x0000 },
945 { 0x00000c70, 0x0000 },
946 { 0x00000c78, 0x0000 },
947 { 0x00000dc0, 0x0000 },
948 { 0x00000dc8, 0x0000 },
949 { 0x00000dd0, 0x0000 },
950 { 0x00000dd8, 0x0000 },
951 { 0x00000de0, 0x0000 },
952 { 0x00000de8, 0x0000 },
953 { 0x00000df0, 0x0000 },
954 { 0x00000df8, 0x0000 },
955 { 0x00000e00, 0x0000 },
956 { 0x00000e10, 0x6318 },
957 { 0x00000e11, 0x6300 },
958 { 0x00000e12, 0x0fc8 },
959 { 0x00000e13, 0x03fe },
960 { 0x00000e14, 0x00e0 },
961 { 0x00000e15, 0x1ec4 },
962 { 0x00000e16, 0xf136 },
963 { 0x00000e17, 0x0409 },
964 { 0x00000e18, 0x04cc },
965 { 0x00000e19, 0x1c9b },
966 { 0x00000e1a, 0xf337 },
967 { 0x00000e1b, 0x040b },
968 { 0x00000e1c, 0x0cbb },
969 { 0x00000e1d, 0x16f8 },
970 { 0x00000e1e, 0xf7d9 },
971 { 0x00000e1f, 0x040a },
972 { 0x00000e20, 0x1f14 },
973 { 0x00000e21, 0x058c },
974 { 0x00000e22, 0x0563 },
975 { 0x00000e23, 0x4000 },
976 { 0x00000e24, 0x0b75 },
977 { 0x00000e26, 0x6318 },
978 { 0x00000e27, 0x6300 },
979 { 0x00000e28, 0x0fc8 },
980 { 0x00000e29, 0x03fe },
981 { 0x00000e2a, 0x00e0 },
982 { 0x00000e2b, 0x1ec4 },
983 { 0x00000e2c, 0xf136 },
984 { 0x00000e2d, 0x0409 },
985 { 0x00000e2e, 0x04cc },
986 { 0x00000e2f, 0x1c9b },
987 { 0x00000e30, 0xf337 },
988 { 0x00000e31, 0x040b },
989 { 0x00000e32, 0x0cbb },
990 { 0x00000e33, 0x16f8 },
991 { 0x00000e34, 0xf7d9 },
992 { 0x00000e35, 0x040a },
993 { 0x00000e36, 0x1f14 },
994 { 0x00000e37, 0x058c },
995 { 0x00000e38, 0x0563 },
996 { 0x00000e39, 0x4000 },
997 { 0x00000e3a, 0x0b75 },
998 { 0x00000e3c, 0x6318 },
999 { 0x00000e3d, 0x6300 },
1000 { 0x00000e3e, 0x0fc8 },
1001 { 0x00000e3f, 0x03fe },
1002 { 0x00000e40, 0x00e0 },
1003 { 0x00000e41, 0x1ec4 },
1004 { 0x00000e42, 0xf136 },
1005 { 0x00000e43, 0x0409 },
1006 { 0x00000e44, 0x04cc },
1007 { 0x00000e45, 0x1c9b },
1008 { 0x00000e46, 0xf337 },
1009 { 0x00000e47, 0x040b },
1010 { 0x00000e48, 0x0cbb },
1011 { 0x00000e49, 0x16f8 },
1012 { 0x00000e4a, 0xf7d9 },
1013 { 0x00000e4b, 0x040a },
1014 { 0x00000e4c, 0x1f14 },
1015 { 0x00000e4d, 0x058c },
1016 { 0x00000e4e, 0x0563 },
1017 { 0x00000e4f, 0x4000 },
1018 { 0x00000e50, 0x0b75 },
1019 { 0x00000e52, 0x6318 },
1020 { 0x00000e53, 0x6300 },
1021 { 0x00000e54, 0x0fc8 },
1022 { 0x00000e55, 0x03fe },
1023 { 0x00000e56, 0x00e0 },
1024 { 0x00000e57, 0x1ec4 },
1025 { 0x00000e58, 0xf136 },
1026 { 0x00000e59, 0x0409 },
1027 { 0x00000e5a, 0x04cc },
1028 { 0x00000e5b, 0x1c9b },
1029 { 0x00000e5c, 0xf337 },
1030 { 0x00000e5d, 0x040b },
1031 { 0x00000e5e, 0x0cbb },
1032 { 0x00000e5f, 0x16f8 },
1033 { 0x00000e60, 0xf7d9 },
1034 { 0x00000e61, 0x040a },
1035 { 0x00000e62, 0x1f14 },
1036 { 0x00000e63, 0x058c },
1037 { 0x00000e64, 0x0563 },
1038 { 0x00000e65, 0x4000 },
1039 { 0x00000e66, 0x0b75 },
1040 { 0x00000e80, 0x0018 },
1041 { 0x00000e81, 0x0933 },
1042 { 0x00000e82, 0x0018 },
1043 { 0x00000e83, 0x0000 },
1044 { 0x00000e84, 0x0000 },
1045 { 0x00000e88, 0x0018 },
1046 { 0x00000e89, 0x0933 },
1047 { 0x00000e8a, 0x0018 },
1048 { 0x00000e8b, 0x0000 },
1049 { 0x00000e8c, 0x0000 },
1050 { 0x00000ec0, 0x0000 },
1051 { 0x00000ec1, 0x0000 },
1052 { 0x00000ec4, 0x0000 },
1053 { 0x00000ec5, 0x0000 },
1054 { 0x00000ec8, 0x0000 },
1055 { 0x00000ec9, 0x0000 },
1056 { 0x00000ecc, 0x0000 },
1057 { 0x00000ecd, 0x0000 },
1058 { 0x00000ed0, 0x0000 },
1059 { 0x00000ed2, 0x0000 },
1060 { 0x00000ed3, 0x4000 },
1061 { 0x00000ee0, 0x0000 },
1062 { 0x00000ee2, 0x0000 },
1063 { 0x00000ee3, 0x4000 },
1064 { 0x00000ef0, 0x0000 },
1065 { 0x00000ef1, 0x0001 },
1066 { 0x00000ef2, 0x0000 },
1067 { 0x00000ef3, 0x0000 },
1068 { 0x00000ef4, 0x0001 },
1069 { 0x00000ef5, 0x0000 },
1070 { 0x00000ef6, 0x0000 },
1071 { 0x00000ef7, 0x0001 },
1072 { 0x00000ef8, 0x0000 },
1073 { 0x00000ef9, 0x0000 },
1074 { 0x00000efa, 0x0001 },
1075 { 0x00000efb, 0x0000 },
1076 { 0x00000f01, 0x0000 },
1077 { 0x00000f02, 0x0000 },
1078 { 0x00000f08, 0x001c },
1079 { 0x00000f09, 0x0000 },
1080 { 0x00000f0a, 0x0000 },
1081 { 0x00000f0b, 0x0000 },
1082 { 0x00000f0c, 0x0000 },
1083 { 0x00000f0d, 0x0000 },
1084 { 0x00000f0e, 0x0000 },
1085 { 0x00000f0f, 0x0000 },
1086 { 0x00000f10, 0x0000 },
1087 { 0x00000f11, 0x0000 },
1088 { 0x00000f12, 0x0000 },
1089 { 0x00000f15, 0x0000 },
1090 { 0x00000f17, 0x0004 },
1091 { 0x00000f18, 0x0004 },
1092 { 0x00000f19, 0x0002 },
1093 { 0x00000f1a, 0x0000 },
1094 { 0x00000f1b, 0x0010 },
1095 { 0x00000f1c, 0x0000 },
1096 { 0x00000f1d, 0x0000 },
1097 { 0x00000f1e, 0x0000 },
1098 { 0x00000f1f, 0x0000 },
1099 { 0x00000f20, 0x0000 },
1100 { 0x00000f21, 0x0000 },
1101 { 0x00000f22, 0x0000 },
1102 { 0x00000f23, 0x0000 },
1103 { 0x00000f24, 0x0000 },
1104 { 0x00000f25, 0x0000 },
1105 { 0x00000f26, 0x0000 },
1106 { 0x00000f27, 0x0000 },
1107 { 0x00000f28, 0x0000 },
1108 { 0x00000f29, 0x0000 },
1109 { 0x00000f2a, 0x0000 },
1110 { 0x00000f2b, 0x0000 },
1111 { 0x00000f2c, 0x0000 },
1112 { 0x00000f2d, 0x0000 },
1113 { 0x00000f2e, 0x0000 },
1114 { 0x00000f2f, 0x0000 },
1115 { 0x00000f30, 0x0000 },
1116 { 0x00000f31, 0x0000 },
1117 { 0x00000f32, 0x0000 },
1118 { 0x00000f33, 0x0000 },
1119 { 0x00000f34, 0x0000 },
1120 { 0x00000f35, 0x0000 },
1121 { 0x00000f36, 0x0000 },
1122 { 0x00000f37, 0x0000 },
1123 { 0x00000f38, 0x0000 },
1124 { 0x00000f39, 0x0000 },
1125 { 0x00000f3a, 0x0000 },
1126 { 0x00000f3b, 0x0000 },
1127 { 0x00000f3c, 0x0000 },
1128 { 0x00000f3d, 0x0000 },
1129 { 0x00000f3e, 0x0000 },
1130 { 0x00000f3f, 0x0000 },
1131 { 0x00000f40, 0x0000 },
1132 { 0x00000f41, 0x0000 },
1133 { 0x00000f42, 0x0000 },
1134 { 0x00000f43, 0x0000 },
1135 { 0x00000f44, 0x0000 },
1136 { 0x00000f45, 0x0000 },
1137 { 0x00000f46, 0x0000 },
1138 { 0x00000f47, 0x0000 },
1139 { 0x00000f48, 0x0000 },
1140 { 0x00000f49, 0x0000 },
1141 { 0x00000f4a, 0x0000 },
1142 { 0x00000f4b, 0x0000 },
1143 { 0x00000f4c, 0x0000 },
1144 { 0x00000f4d, 0x0000 },
1145 { 0x00000f4e, 0x0000 },
1146 { 0x00000f4f, 0x0000 },
1147 { 0x00000f50, 0x0000 },
1148 { 0x00000f51, 0x0000 },
1149 { 0x00000f52, 0x0000 },
1150 { 0x00000f53, 0x0000 },
1151 { 0x00000f54, 0x0000 },
1152 { 0x00000f55, 0x0000 },
1153 { 0x00000f56, 0x0000 },
1154 { 0x00000f57, 0x0000 },
1155 { 0x00000f58, 0x0000 },
1156 { 0x00000f59, 0x0000 },
1157 { 0x00000f5a, 0x0000 },
1158 { 0x00000f5b, 0x0000 },
1159 { 0x00000f5c, 0x0000 },
1160 { 0x00000f5d, 0x0000 },
1161 { 0x00000f5e, 0x0000 },
1162 { 0x00000f5f, 0x0000 },
1163 { 0x00000f60, 0x0000 },
1164 { 0x00000f61, 0x0000 },
1165 { 0x00000f62, 0x0000 },
1166 { 0x00000f63, 0x0000 },
1167 { 0x00000f64, 0x0000 },
1168 { 0x00000f65, 0x0000 },
1169 { 0x00000f66, 0x0000 },
1170 { 0x00000f67, 0x0000 },
1171 { 0x00000f68, 0x0000 },
1172 { 0x00000f69, 0x0000 },
1173 { 0x00000f71, 0x0000 },
1174 { 0x00000f73, 0x0004 },
1175 { 0x00000f74, 0x0004 },
1176 { 0x00000f75, 0x0002 },
1177 { 0x00000f76, 0x0000 },
1178 { 0x00000f77, 0x0010 },
1179 { 0x00000f78, 0x0000 },
1180 { 0x00000f79, 0x0000 },
1181 { 0x00000f7a, 0x0000 },
1182 { 0x00000f7b, 0x0000 },
1183 { 0x00000f7c, 0x0000 },
1184 { 0x00000f7d, 0x0000 },
1185 { 0x00000f7e, 0x0000 },
1186 { 0x00000f7f, 0x0000 },
1187 { 0x00000f80, 0x0000 },
1188 { 0x00000f81, 0x0000 },
1189 { 0x00000f82, 0x0000 },
1190 { 0x00000f83, 0x0000 },
1191 { 0x00000f84, 0x0000 },
1192 { 0x00000f85, 0x0000 },
1193 { 0x00000f86, 0x0000 },
1194 { 0x00000f87, 0x0000 },
1195 { 0x00000f88, 0x0000 },
1196 { 0x00000f89, 0x0000 },
1197 { 0x00000f8a, 0x0000 },
1198 { 0x00000f8b, 0x0000 },
1199 { 0x00000f8c, 0x0000 },
1200 { 0x00000f8d, 0x0000 },
1201 { 0x00000f8e, 0x0000 },
1202 { 0x00000f8f, 0x0000 },
1203 { 0x00000f90, 0x0000 },
1204 { 0x00000f91, 0x0000 },
1205 { 0x00000f92, 0x0000 },
1206 { 0x00000f93, 0x0000 },
1207 { 0x00000f94, 0x0000 },
1208 { 0x00000f95, 0x0000 },
1209 { 0x00000f96, 0x0000 },
1210 { 0x00000f97, 0x0000 },
1211 { 0x00000f98, 0x0000 },
1212 { 0x00000f99, 0x0000 },
1213 { 0x00000f9a, 0x0000 },
1214 { 0x00000f9b, 0x0000 },
1215 { 0x00000f9c, 0x0000 },
1216 { 0x00000f9d, 0x0000 },
1217 { 0x00000f9e, 0x0000 },
1218 { 0x00000f9f, 0x0000 },
1219 { 0x00000fa0, 0x0000 },
1220 { 0x00000fa1, 0x0000 },
1221 { 0x00000fa2, 0x0000 },
1222 { 0x00000fa3, 0x0000 },
1223 { 0x00000fa4, 0x0000 },
1224 { 0x00000fa5, 0x0000 },
1225 { 0x00000fa6, 0x0000 },
1226 { 0x00000fa7, 0x0000 },
1227 { 0x00000fa8, 0x0000 },
1228 { 0x00000fa9, 0x0000 },
1229 { 0x00000faa, 0x0000 },
1230 { 0x00000fab, 0x0000 },
1231 { 0x00000fac, 0x0000 },
1232 { 0x00000fad, 0x0000 },
1233 { 0x00000fae, 0x0000 },
1234 { 0x00000faf, 0x0000 },
1235 { 0x00000fb0, 0x0000 },
1236 { 0x00000fb1, 0x0000 },
1237 { 0x00000fb2, 0x0000 },
1238 { 0x00000fb3, 0x0000 },
1239 { 0x00000fb4, 0x0000 },
1240 { 0x00000fb5, 0x0000 },
1241 { 0x00000fb6, 0x0000 },
1242 { 0x00000fb7, 0x0000 },
1243 { 0x00000fb8, 0x0000 },
1244 { 0x00000fb9, 0x0000 },
1245 { 0x00000fba, 0x0000 },
1246 { 0x00000fbb, 0x0000 },
1247 { 0x00000fbc, 0x0000 },
1248 { 0x00000fbd, 0x0000 },
1249 { 0x00000fbe, 0x0000 },
1250 { 0x00000fbf, 0x0000 },
1251 { 0x00000fc0, 0x0000 },
1252 { 0x00000fc1, 0x0000 },
1253 { 0x00000fc2, 0x0000 },
1254 { 0x00000fc3, 0x0000 },
1255 { 0x00000fc4, 0x0000 },
1256 { 0x00000fc5, 0x0000 },
1257 { 0x00001480, 0x0000 },
1258 { 0x00001482, 0x1f00 },
1259 { 0x00001484, 0x1f00 },
1260 { 0x00001486, 0x0000 },
1261 { 0x00001488, 0x1f00 },
1262 { 0x0000148a, 0x1f00 },
1263 { 0x0000148c, 0x0000 },
1264 { 0x0000148e, 0x1f00 },
1265 { 0x00001490, 0x1f00 },
1266 { 0x00001492, 0x0000 },
1267 { 0x00001494, 0x1f00 },
1268 { 0x00001496, 0x1f00 },
1269 { 0x00001498, 0x0000 },
1270 { 0x0000149a, 0x1f00 },
1271 { 0x0000149c, 0x1f00 },
1272 { 0x0000149e, 0x0000 },
1273 { 0x000014a0, 0x1f00 },
1274 { 0x000014a2, 0x1f00 },
1275 { 0x000014a4, 0x0000 },
1276 { 0x000014a6, 0x1f00 },
1277 { 0x000014a8, 0x1f00 },
1278 { 0x000014aa, 0x0000 },
1279 { 0x000014ac, 0x1f00 },
1280 { 0x000014ae, 0x1f00 },
1281 { 0x00001700, 0x2001 },
1282 { 0x00001701, 0xf000 },
1283 { 0x00001702, 0x2001 },
1284 { 0x00001703, 0xf000 },
1285 { 0x00001704, 0x2001 },
1286 { 0x00001705, 0xf000 },
1287 { 0x00001706, 0x2001 },
1288 { 0x00001707, 0xf000 },
1289 { 0x00001708, 0x2001 },
1290 { 0x00001709, 0xf000 },
1291 { 0x0000170a, 0x2001 },
1292 { 0x0000170b, 0xf000 },
1293 { 0x0000170c, 0x2001 },
1294 { 0x0000170d, 0xf000 },
1295 { 0x0000170e, 0x2001 },
1296 { 0x0000170f, 0xf000 },
1297 { 0x00001710, 0x2001 },
1298 { 0x00001711, 0xf000 },
1299 { 0x00001712, 0x2001 },
1300 { 0x00001713, 0xf000 },
1301 { 0x00001714, 0x2001 },
1302 { 0x00001715, 0xf000 },
1303 { 0x00001716, 0x2001 },
1304 { 0x00001717, 0xf000 },
1305 { 0x00001718, 0x2001 },
1306 { 0x00001719, 0xf000 },
1307 { 0x0000171a, 0x2001 },
1308 { 0x0000171b, 0xf000 },
1309 { 0x0000171c, 0x2001 },
1310 { 0x0000171d, 0xf000 },
1311 { 0x0000171e, 0x2001 },
1312 { 0x0000171f, 0xf000 },
1313 { 0x00001720, 0x2001 },
1314 { 0x00001721, 0xf000 },
1315 { 0x00001722, 0x2001 },
1316 { 0x00001723, 0xf000 },
1317 { 0x00001724, 0x2001 },
1318 { 0x00001725, 0xf000 },
1319 { 0x00001726, 0x2001 },
1320 { 0x00001727, 0xf000 },
1321 { 0x00001728, 0x2001 },
1322 { 0x00001729, 0xf000 },
1323 { 0x0000172a, 0x2001 },
1324 { 0x0000172b, 0xf000 },
1325 { 0x0000172c, 0x2001 },
1326 { 0x0000172d, 0xf000 },
1327 { 0x0000172e, 0x2001 },
1328 { 0x0000172f, 0xf000 },
1329 { 0x00001730, 0x2001 },
1330 { 0x00001731, 0xf000 },
1331 { 0x00001732, 0x2001 },
1332 { 0x00001733, 0xf000 },
1333 { 0x00001734, 0x2001 },
1334 { 0x00001735, 0xf000 },
1335 { 0x00001736, 0x2001 },
1336 { 0x00001737, 0xf000 },
1337 { 0x00001738, 0x2001 },
1338 { 0x00001739, 0xf000 },
1339 { 0x0000173a, 0x2001 },
1340 { 0x0000173b, 0xf000 },
1341 { 0x0000173c, 0x2001 },
1342 { 0x0000173d, 0xf000 },
1343 { 0x0000173e, 0x2001 },
1344 { 0x0000173f, 0xf000 },
1345 { 0x00001740, 0x2001 },
1346 { 0x00001741, 0xf000 },
1347 { 0x00001742, 0x2001 },
1348 { 0x00001743, 0xf000 },
1349 { 0x00001744, 0x2001 },
1350 { 0x00001745, 0xf000 },
1351 { 0x00001746, 0x2001 },
1352 { 0x00001747, 0xf000 },
1353 { 0x00001748, 0x2001 },
1354 { 0x00001749, 0xf000 },
1355 { 0x0000174a, 0x2001 },
1356 { 0x0000174b, 0xf000 },
1357 { 0x00001840, 0xffff },
1358 { 0x00001841, 0xffff },
1359 { 0x00001842, 0xffff },
1360 { 0x00001843, 0xffff },
1361 { 0x00001844, 0xffff },
1362 { 0x00001845, 0xffff },
1363 { 0x00001846, 0xffff },
1364 { 0x00001847, 0xffff },
1365 { 0x00001848, 0xffff },
1366 { 0x00001849, 0xffff },
1367 { 0x0000184a, 0xffff },
1368 { 0x0000184b, 0xffff },
1369 { 0x0000184c, 0xffff },
1370 { 0x0000184d, 0xffff },
1371 { 0x0000184e, 0xffff },
1372 { 0x0000184f, 0xffff },
1373 { 0x00001850, 0xffff },
1374 { 0x00001851, 0xffff },
1375 { 0x00001852, 0xffff },
1376 { 0x00001853, 0xffff },
1377 { 0x00001854, 0xffff },
1378 { 0x00001855, 0xffff },
1379 { 0x00001856, 0xffff },
1380 { 0x00001857, 0xffff },
1381 { 0x00001858, 0xffff },
1382 { 0x00001859, 0xffff },
1383 { 0x0000185a, 0xffff },
1384 { 0x0000185b, 0xffff },
1385 { 0x0000185c, 0xffff },
1386 { 0x0000185d, 0xffff },
1387 { 0x0000185e, 0xffff },
1388 { 0x0000185f, 0xffff },
1389 { 0x00001860, 0xffff },
1390 { 0x00001a06, 0x0000 },
1391 { 0x00001a80, 0x4400 },
1392 };
1393
1394 static bool cs47l90_is_adsp_memory(unsigned int reg)
1395 {
1396 switch (reg) {
1397 case 0x080000 ... 0x088ffe:
1398 case 0x0a0000 ... 0x0a9ffe:
1399 case 0x0c0000 ... 0x0c3ffe:
1400 case 0x0e0000 ... 0x0e1ffe:
1401 case 0x100000 ... 0x10effe:
1402 case 0x120000 ... 0x12bffe:
1403 case 0x136000 ... 0x137ffe:
1404 case 0x140000 ... 0x14bffe:
1405 case 0x160000 ... 0x161ffe:
1406 case 0x180000 ... 0x18effe:
1407 case 0x1a0000 ... 0x1b1ffe:
1408 case 0x1b6000 ... 0x1b7ffe:
1409 case 0x1c0000 ... 0x1cbffe:
1410 case 0x1e0000 ... 0x1e1ffe:
1411 case 0x200000 ... 0x208ffe:
1412 case 0x220000 ... 0x229ffe:
1413 case 0x240000 ... 0x243ffe:
1414 case 0x260000 ... 0x261ffe:
1415 case 0x280000 ... 0x288ffe:
1416 case 0x2a0000 ... 0x2a9ffe:
1417 case 0x2c0000 ... 0x2c3ffe:
1418 case 0x2e0000 ... 0x2e1ffe:
1419 case 0x300000 ... 0x308ffe:
1420 case 0x320000 ... 0x333ffe:
1421 case 0x340000 ... 0x353ffe:
1422 case 0x360000 ... 0x361ffe:
1423 case 0x380000 ... 0x388ffe:
1424 case 0x3a0000 ... 0x3b3ffe:
1425 case 0x3c0000 ... 0x3d3ffe:
1426 case 0x3e0000 ... 0x3e1ffe:
1427 return true;
1428 default:
1429 return false;
1430 }
1431 }
1432
1433 static bool cs47l90_16bit_readable_register(struct device *dev,
1434 unsigned int reg)
1435 {
1436 switch (reg) {
1437 case MADERA_SOFTWARE_RESET:
1438 case MADERA_HARDWARE_REVISION:
1439 case MADERA_WRITE_SEQUENCER_CTRL_0:
1440 case MADERA_WRITE_SEQUENCER_CTRL_1:
1441 case MADERA_WRITE_SEQUENCER_CTRL_2:
1442 case MADERA_TONE_GENERATOR_1:
1443 case MADERA_TONE_GENERATOR_2:
1444 case MADERA_TONE_GENERATOR_3:
1445 case MADERA_TONE_GENERATOR_4:
1446 case MADERA_TONE_GENERATOR_5:
1447 case MADERA_PWM_DRIVE_1:
1448 case MADERA_PWM_DRIVE_2:
1449 case MADERA_PWM_DRIVE_3:
1450 case MADERA_SAMPLE_RATE_SEQUENCE_SELECT_1:
1451 case MADERA_SAMPLE_RATE_SEQUENCE_SELECT_2:
1452 case MADERA_SAMPLE_RATE_SEQUENCE_SELECT_3:
1453 case MADERA_SAMPLE_RATE_SEQUENCE_SELECT_4:
1454 case MADERA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_1:
1455 case MADERA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_2:
1456 case MADERA_HAPTICS_CONTROL_1:
1457 case MADERA_HAPTICS_CONTROL_2:
1458 case MADERA_HAPTICS_PHASE_1_INTENSITY:
1459 case MADERA_HAPTICS_PHASE_1_DURATION:
1460 case MADERA_HAPTICS_PHASE_2_INTENSITY:
1461 case MADERA_HAPTICS_PHASE_2_DURATION:
1462 case MADERA_HAPTICS_PHASE_3_INTENSITY:
1463 case MADERA_HAPTICS_PHASE_3_DURATION:
1464 case MADERA_HAPTICS_STATUS:
1465 case MADERA_COMFORT_NOISE_GENERATOR:
1466 case MADERA_CLOCK_32K_1:
1467 case MADERA_SYSTEM_CLOCK_1:
1468 case MADERA_SAMPLE_RATE_1:
1469 case MADERA_SAMPLE_RATE_2:
1470 case MADERA_SAMPLE_RATE_3:
1471 case MADERA_SAMPLE_RATE_1_STATUS:
1472 case MADERA_SAMPLE_RATE_2_STATUS:
1473 case MADERA_SAMPLE_RATE_3_STATUS:
1474 case MADERA_ASYNC_CLOCK_1:
1475 case MADERA_ASYNC_SAMPLE_RATE_1:
1476 case MADERA_ASYNC_SAMPLE_RATE_1_STATUS:
1477 case MADERA_ASYNC_SAMPLE_RATE_2:
1478 case MADERA_ASYNC_SAMPLE_RATE_2_STATUS:
1479 case MADERA_DSP_CLOCK_1:
1480 case MADERA_DSP_CLOCK_2:
1481 case MADERA_OUTPUT_SYSTEM_CLOCK:
1482 case MADERA_OUTPUT_ASYNC_CLOCK:
1483 case MADERA_RATE_ESTIMATOR_1:
1484 case MADERA_RATE_ESTIMATOR_2:
1485 case MADERA_RATE_ESTIMATOR_3:
1486 case MADERA_RATE_ESTIMATOR_4:
1487 case MADERA_RATE_ESTIMATOR_5:
1488 case MADERA_FLL1_CONTROL_1:
1489 case MADERA_FLL1_CONTROL_2:
1490 case MADERA_FLL1_CONTROL_3:
1491 case MADERA_FLL1_CONTROL_4:
1492 case MADERA_FLL1_CONTROL_5:
1493 case MADERA_FLL1_CONTROL_6:
1494 case MADERA_FLL1_CONTROL_7:
1495 case MADERA_FLL1_EFS_2:
1496 case MADERA_FLL1_SYNCHRONISER_1:
1497 case MADERA_FLL1_SYNCHRONISER_2:
1498 case MADERA_FLL1_SYNCHRONISER_3:
1499 case MADERA_FLL1_SYNCHRONISER_4:
1500 case MADERA_FLL1_SYNCHRONISER_5:
1501 case MADERA_FLL1_SYNCHRONISER_6:
1502 case MADERA_FLL1_SYNCHRONISER_7:
1503 case MADERA_FLL1_SPREAD_SPECTRUM:
1504 case MADERA_FLL1_GPIO_CLOCK:
1505 case MADERA_FLL2_CONTROL_1:
1506 case MADERA_FLL2_CONTROL_2:
1507 case MADERA_FLL2_CONTROL_3:
1508 case MADERA_FLL2_CONTROL_4:
1509 case MADERA_FLL2_CONTROL_5:
1510 case MADERA_FLL2_CONTROL_6:
1511 case MADERA_FLL2_CONTROL_7:
1512 case MADERA_FLL2_EFS_2:
1513 case MADERA_FLL2_SYNCHRONISER_1:
1514 case MADERA_FLL2_SYNCHRONISER_2:
1515 case MADERA_FLL2_SYNCHRONISER_3:
1516 case MADERA_FLL2_SYNCHRONISER_4:
1517 case MADERA_FLL2_SYNCHRONISER_5:
1518 case MADERA_FLL2_SYNCHRONISER_6:
1519 case MADERA_FLL2_SYNCHRONISER_7:
1520 case MADERA_FLL2_SPREAD_SPECTRUM:
1521 case MADERA_FLL2_GPIO_CLOCK:
1522 case MADERA_FLLAO_CONTROL_1:
1523 case MADERA_FLLAO_CONTROL_2:
1524 case MADERA_FLLAO_CONTROL_3:
1525 case MADERA_FLLAO_CONTROL_4:
1526 case MADERA_FLLAO_CONTROL_5:
1527 case MADERA_FLLAO_CONTROL_6:
1528 case MADERA_FLLAO_CONTROL_7:
1529 case MADERA_FLLAO_CONTROL_8:
1530 case MADERA_FLLAO_CONTROL_9:
1531 case MADERA_FLLAO_CONTROL_10:
1532 case MADERA_FLLAO_CONTROL_11:
1533 case MADERA_MIC_CHARGE_PUMP_1:
1534 case MADERA_LDO2_CONTROL_1:
1535 case MADERA_MIC_BIAS_CTRL_1:
1536 case MADERA_MIC_BIAS_CTRL_2:
1537 case MADERA_MIC_BIAS_CTRL_5:
1538 case MADERA_MIC_BIAS_CTRL_6:
1539 case MADERA_HP_CTRL_1L:
1540 case MADERA_HP_CTRL_1R:
1541 case MADERA_HP_CTRL_2L:
1542 case MADERA_HP_CTRL_2R:
1543 case MADERA_HP_CTRL_3L:
1544 case MADERA_HP_CTRL_3R:
1545 case MADERA_EDRE_HP_STEREO_CONTROL:
1546 case MADERA_ACCESSORY_DETECT_MODE_1:
1547 case MADERA_HEADPHONE_DETECT_0:
1548 case MADERA_HEADPHONE_DETECT_1:
1549 case MADERA_HEADPHONE_DETECT_2:
1550 case MADERA_HEADPHONE_DETECT_3:
1551 case MADERA_HEADPHONE_DETECT_5:
1552 case MADERA_MICD_CLAMP_CONTROL:
1553 case MADERA_MIC_DETECT_1_CONTROL_0:
1554 case MADERA_MIC_DETECT_1_CONTROL_1:
1555 case MADERA_MIC_DETECT_1_CONTROL_2:
1556 case MADERA_MIC_DETECT_1_CONTROL_3:
1557 case MADERA_MIC_DETECT_1_LEVEL_1:
1558 case MADERA_MIC_DETECT_1_LEVEL_2:
1559 case MADERA_MIC_DETECT_1_LEVEL_3:
1560 case MADERA_MIC_DETECT_1_LEVEL_4:
1561 case MADERA_MIC_DETECT_1_CONTROL_4:
1562 case MADERA_MIC_DETECT_2_CONTROL_0:
1563 case MADERA_MIC_DETECT_2_CONTROL_1:
1564 case MADERA_MIC_DETECT_2_CONTROL_2:
1565 case MADERA_MIC_DETECT_2_CONTROL_3:
1566 case MADERA_MIC_DETECT_2_LEVEL_1:
1567 case MADERA_MIC_DETECT_2_LEVEL_2:
1568 case MADERA_MIC_DETECT_2_LEVEL_3:
1569 case MADERA_MIC_DETECT_2_LEVEL_4:
1570 case MADERA_MIC_DETECT_2_CONTROL_4:
1571 case MADERA_GP_SWITCH_1:
1572 case MADERA_JACK_DETECT_ANALOGUE:
1573 case MADERA_INPUT_ENABLES:
1574 case MADERA_INPUT_ENABLES_STATUS:
1575 case MADERA_INPUT_RATE:
1576 case MADERA_INPUT_VOLUME_RAMP:
1577 case MADERA_HPF_CONTROL:
1578 case MADERA_IN1L_CONTROL:
1579 case MADERA_ADC_DIGITAL_VOLUME_1L:
1580 case MADERA_DMIC1L_CONTROL:
1581 case MADERA_IN1L_RATE_CONTROL:
1582 case MADERA_IN1R_CONTROL:
1583 case MADERA_ADC_DIGITAL_VOLUME_1R:
1584 case MADERA_DMIC1R_CONTROL:
1585 case MADERA_IN1R_RATE_CONTROL:
1586 case MADERA_IN2L_CONTROL:
1587 case MADERA_ADC_DIGITAL_VOLUME_2L:
1588 case MADERA_DMIC2L_CONTROL:
1589 case MADERA_IN2L_RATE_CONTROL:
1590 case MADERA_IN2R_CONTROL:
1591 case MADERA_ADC_DIGITAL_VOLUME_2R:
1592 case MADERA_DMIC2R_CONTROL:
1593 case MADERA_IN2R_RATE_CONTROL:
1594 case MADERA_IN3L_CONTROL:
1595 case MADERA_ADC_DIGITAL_VOLUME_3L:
1596 case MADERA_DMIC3L_CONTROL:
1597 case MADERA_IN3L_RATE_CONTROL:
1598 case MADERA_IN3R_CONTROL:
1599 case MADERA_ADC_DIGITAL_VOLUME_3R:
1600 case MADERA_DMIC3R_CONTROL:
1601 case MADERA_IN3R_RATE_CONTROL:
1602 case MADERA_IN4L_CONTROL:
1603 case MADERA_ADC_DIGITAL_VOLUME_4L:
1604 case MADERA_DMIC4L_CONTROL:
1605 case MADERA_IN4L_RATE_CONTROL:
1606 case MADERA_IN4R_CONTROL:
1607 case MADERA_ADC_DIGITAL_VOLUME_4R:
1608 case MADERA_DMIC4R_CONTROL:
1609 case MADERA_IN4R_RATE_CONTROL:
1610 case MADERA_IN5L_CONTROL:
1611 case MADERA_ADC_DIGITAL_VOLUME_5L:
1612 case MADERA_DMIC5L_CONTROL:
1613 case MADERA_IN5L_RATE_CONTROL:
1614 case MADERA_IN5R_CONTROL:
1615 case MADERA_ADC_DIGITAL_VOLUME_5R:
1616 case MADERA_DMIC5R_CONTROL:
1617 case MADERA_IN5R_RATE_CONTROL:
1618 case MADERA_OUTPUT_ENABLES_1:
1619 case MADERA_OUTPUT_STATUS_1:
1620 case MADERA_RAW_OUTPUT_STATUS_1:
1621 case MADERA_OUTPUT_RATE_1:
1622 case MADERA_OUTPUT_VOLUME_RAMP:
1623 case MADERA_OUTPUT_PATH_CONFIG_1L:
1624 case MADERA_DAC_DIGITAL_VOLUME_1L:
1625 case MADERA_OUTPUT_PATH_CONFIG_1:
1626 case MADERA_NOISE_GATE_SELECT_1L:
1627 case MADERA_OUTPUT_PATH_CONFIG_1R:
1628 case MADERA_DAC_DIGITAL_VOLUME_1R:
1629 case MADERA_NOISE_GATE_SELECT_1R:
1630 case MADERA_OUTPUT_PATH_CONFIG_2L:
1631 case MADERA_DAC_DIGITAL_VOLUME_2L:
1632 case MADERA_OUTPUT_PATH_CONFIG_2:
1633 case MADERA_NOISE_GATE_SELECT_2L:
1634 case MADERA_OUTPUT_PATH_CONFIG_2R:
1635 case MADERA_DAC_DIGITAL_VOLUME_2R:
1636 case MADERA_NOISE_GATE_SELECT_2R:
1637 case MADERA_OUTPUT_PATH_CONFIG_3L:
1638 case MADERA_DAC_DIGITAL_VOLUME_3L:
1639 case MADERA_NOISE_GATE_SELECT_3L:
1640 case MADERA_OUTPUT_PATH_CONFIG_3R:
1641 case MADERA_DAC_DIGITAL_VOLUME_3R:
1642 case MADERA_NOISE_GATE_SELECT_3R:
1643 case MADERA_OUTPUT_PATH_CONFIG_5L:
1644 case MADERA_DAC_DIGITAL_VOLUME_5L:
1645 case MADERA_NOISE_GATE_SELECT_5L:
1646 case MADERA_OUTPUT_PATH_CONFIG_5R:
1647 case MADERA_DAC_DIGITAL_VOLUME_5R:
1648 case MADERA_NOISE_GATE_SELECT_5R:
1649 case MADERA_DAC_AEC_CONTROL_1:
1650 case MADERA_DAC_AEC_CONTROL_2:
1651 case MADERA_NOISE_GATE_CONTROL:
1652 case MADERA_PDM_SPK1_CTRL_1:
1653 case MADERA_PDM_SPK1_CTRL_2:
1654 case MADERA_HP1_SHORT_CIRCUIT_CTRL:
1655 case MADERA_HP2_SHORT_CIRCUIT_CTRL:
1656 case MADERA_HP3_SHORT_CIRCUIT_CTRL:
1657 case MADERA_AIF1_BCLK_CTRL:
1658 case MADERA_AIF1_TX_PIN_CTRL:
1659 case MADERA_AIF1_RX_PIN_CTRL:
1660 case MADERA_AIF1_RATE_CTRL:
1661 case MADERA_AIF1_FORMAT:
1662 case MADERA_AIF1_RX_BCLK_RATE:
1663 case MADERA_AIF1_FRAME_CTRL_1:
1664 case MADERA_AIF1_FRAME_CTRL_2:
1665 case MADERA_AIF1_FRAME_CTRL_3:
1666 case MADERA_AIF1_FRAME_CTRL_4:
1667 case MADERA_AIF1_FRAME_CTRL_5:
1668 case MADERA_AIF1_FRAME_CTRL_6:
1669 case MADERA_AIF1_FRAME_CTRL_7:
1670 case MADERA_AIF1_FRAME_CTRL_8:
1671 case MADERA_AIF1_FRAME_CTRL_9:
1672 case MADERA_AIF1_FRAME_CTRL_10:
1673 case MADERA_AIF1_FRAME_CTRL_11:
1674 case MADERA_AIF1_FRAME_CTRL_12:
1675 case MADERA_AIF1_FRAME_CTRL_13:
1676 case MADERA_AIF1_FRAME_CTRL_14:
1677 case MADERA_AIF1_FRAME_CTRL_15:
1678 case MADERA_AIF1_FRAME_CTRL_16:
1679 case MADERA_AIF1_FRAME_CTRL_17:
1680 case MADERA_AIF1_FRAME_CTRL_18:
1681 case MADERA_AIF1_TX_ENABLES:
1682 case MADERA_AIF1_RX_ENABLES:
1683 case MADERA_AIF2_BCLK_CTRL:
1684 case MADERA_AIF2_TX_PIN_CTRL:
1685 case MADERA_AIF2_RX_PIN_CTRL:
1686 case MADERA_AIF2_RATE_CTRL:
1687 case MADERA_AIF2_FORMAT:
1688 case MADERA_AIF2_RX_BCLK_RATE:
1689 case MADERA_AIF2_FRAME_CTRL_1:
1690 case MADERA_AIF2_FRAME_CTRL_2:
1691 case MADERA_AIF2_FRAME_CTRL_3:
1692 case MADERA_AIF2_FRAME_CTRL_4:
1693 case MADERA_AIF2_FRAME_CTRL_5:
1694 case MADERA_AIF2_FRAME_CTRL_6:
1695 case MADERA_AIF2_FRAME_CTRL_7:
1696 case MADERA_AIF2_FRAME_CTRL_8:
1697 case MADERA_AIF2_FRAME_CTRL_9:
1698 case MADERA_AIF2_FRAME_CTRL_10:
1699 case MADERA_AIF2_FRAME_CTRL_11:
1700 case MADERA_AIF2_FRAME_CTRL_12:
1701 case MADERA_AIF2_FRAME_CTRL_13:
1702 case MADERA_AIF2_FRAME_CTRL_14:
1703 case MADERA_AIF2_FRAME_CTRL_15:
1704 case MADERA_AIF2_FRAME_CTRL_16:
1705 case MADERA_AIF2_FRAME_CTRL_17:
1706 case MADERA_AIF2_FRAME_CTRL_18:
1707 case MADERA_AIF2_TX_ENABLES:
1708 case MADERA_AIF2_RX_ENABLES:
1709 case MADERA_AIF3_BCLK_CTRL:
1710 case MADERA_AIF3_TX_PIN_CTRL:
1711 case MADERA_AIF3_RX_PIN_CTRL:
1712 case MADERA_AIF3_RATE_CTRL:
1713 case MADERA_AIF3_FORMAT:
1714 case MADERA_AIF3_RX_BCLK_RATE:
1715 case MADERA_AIF3_FRAME_CTRL_1:
1716 case MADERA_AIF3_FRAME_CTRL_2:
1717 case MADERA_AIF3_FRAME_CTRL_3:
1718 case MADERA_AIF3_FRAME_CTRL_4:
1719 case MADERA_AIF3_FRAME_CTRL_11:
1720 case MADERA_AIF3_FRAME_CTRL_12:
1721 case MADERA_AIF3_TX_ENABLES:
1722 case MADERA_AIF3_RX_ENABLES:
1723 case MADERA_AIF4_BCLK_CTRL:
1724 case MADERA_AIF4_TX_PIN_CTRL:
1725 case MADERA_AIF4_RX_PIN_CTRL:
1726 case MADERA_AIF4_RATE_CTRL:
1727 case MADERA_AIF4_FORMAT:
1728 case MADERA_AIF4_RX_BCLK_RATE:
1729 case MADERA_AIF4_FRAME_CTRL_1:
1730 case MADERA_AIF4_FRAME_CTRL_2:
1731 case MADERA_AIF4_FRAME_CTRL_3:
1732 case MADERA_AIF4_FRAME_CTRL_4:
1733 case MADERA_AIF4_FRAME_CTRL_11:
1734 case MADERA_AIF4_FRAME_CTRL_12:
1735 case MADERA_AIF4_TX_ENABLES:
1736 case MADERA_AIF4_RX_ENABLES:
1737 case MADERA_SPD1_TX_CONTROL:
1738 case MADERA_SPD1_TX_CHANNEL_STATUS_1:
1739 case MADERA_SPD1_TX_CHANNEL_STATUS_2:
1740 case MADERA_SPD1_TX_CHANNEL_STATUS_3:
1741 case MADERA_SLIMBUS_FRAMER_REF_GEAR:
1742 case MADERA_SLIMBUS_RATES_1:
1743 case MADERA_SLIMBUS_RATES_2:
1744 case MADERA_SLIMBUS_RATES_3:
1745 case MADERA_SLIMBUS_RATES_4:
1746 case MADERA_SLIMBUS_RATES_5:
1747 case MADERA_SLIMBUS_RATES_6:
1748 case MADERA_SLIMBUS_RATES_7:
1749 case MADERA_SLIMBUS_RATES_8:
1750 case MADERA_SLIMBUS_RX_CHANNEL_ENABLE:
1751 case MADERA_SLIMBUS_TX_CHANNEL_ENABLE:
1752 case MADERA_SLIMBUS_RX_PORT_STATUS:
1753 case MADERA_SLIMBUS_TX_PORT_STATUS:
1754 case MADERA_PWM1MIX_INPUT_1_SOURCE:
1755 case MADERA_PWM1MIX_INPUT_1_VOLUME:
1756 case MADERA_PWM1MIX_INPUT_2_SOURCE:
1757 case MADERA_PWM1MIX_INPUT_2_VOLUME:
1758 case MADERA_PWM1MIX_INPUT_3_SOURCE:
1759 case MADERA_PWM1MIX_INPUT_3_VOLUME:
1760 case MADERA_PWM1MIX_INPUT_4_SOURCE:
1761 case MADERA_PWM1MIX_INPUT_4_VOLUME:
1762 case MADERA_PWM2MIX_INPUT_1_SOURCE:
1763 case MADERA_PWM2MIX_INPUT_1_VOLUME:
1764 case MADERA_PWM2MIX_INPUT_2_SOURCE:
1765 case MADERA_PWM2MIX_INPUT_2_VOLUME:
1766 case MADERA_PWM2MIX_INPUT_3_SOURCE:
1767 case MADERA_PWM2MIX_INPUT_3_VOLUME:
1768 case MADERA_PWM2MIX_INPUT_4_SOURCE:
1769 case MADERA_PWM2MIX_INPUT_4_VOLUME:
1770 case MADERA_OUT1LMIX_INPUT_1_SOURCE:
1771 case MADERA_OUT1LMIX_INPUT_1_VOLUME:
1772 case MADERA_OUT1LMIX_INPUT_2_SOURCE:
1773 case MADERA_OUT1LMIX_INPUT_2_VOLUME:
1774 case MADERA_OUT1LMIX_INPUT_3_SOURCE:
1775 case MADERA_OUT1LMIX_INPUT_3_VOLUME:
1776 case MADERA_OUT1LMIX_INPUT_4_SOURCE:
1777 case MADERA_OUT1LMIX_INPUT_4_VOLUME:
1778 case MADERA_OUT1RMIX_INPUT_1_SOURCE:
1779 case MADERA_OUT1RMIX_INPUT_1_VOLUME:
1780 case MADERA_OUT1RMIX_INPUT_2_SOURCE:
1781 case MADERA_OUT1RMIX_INPUT_2_VOLUME:
1782 case MADERA_OUT1RMIX_INPUT_3_SOURCE:
1783 case MADERA_OUT1RMIX_INPUT_3_VOLUME:
1784 case MADERA_OUT1RMIX_INPUT_4_SOURCE:
1785 case MADERA_OUT1RMIX_INPUT_4_VOLUME:
1786 case MADERA_OUT2LMIX_INPUT_1_SOURCE:
1787 case MADERA_OUT2LMIX_INPUT_1_VOLUME:
1788 case MADERA_OUT2LMIX_INPUT_2_SOURCE:
1789 case MADERA_OUT2LMIX_INPUT_2_VOLUME:
1790 case MADERA_OUT2LMIX_INPUT_3_SOURCE:
1791 case MADERA_OUT2LMIX_INPUT_3_VOLUME:
1792 case MADERA_OUT2LMIX_INPUT_4_SOURCE:
1793 case MADERA_OUT2LMIX_INPUT_4_VOLUME:
1794 case MADERA_OUT2RMIX_INPUT_1_SOURCE:
1795 case MADERA_OUT2RMIX_INPUT_1_VOLUME:
1796 case MADERA_OUT2RMIX_INPUT_2_SOURCE:
1797 case MADERA_OUT2RMIX_INPUT_2_VOLUME:
1798 case MADERA_OUT2RMIX_INPUT_3_SOURCE:
1799 case MADERA_OUT2RMIX_INPUT_3_VOLUME:
1800 case MADERA_OUT2RMIX_INPUT_4_SOURCE:
1801 case MADERA_OUT2RMIX_INPUT_4_VOLUME:
1802 case MADERA_OUT3LMIX_INPUT_1_SOURCE:
1803 case MADERA_OUT3LMIX_INPUT_1_VOLUME:
1804 case MADERA_OUT3LMIX_INPUT_2_SOURCE:
1805 case MADERA_OUT3LMIX_INPUT_2_VOLUME:
1806 case MADERA_OUT3LMIX_INPUT_3_SOURCE:
1807 case MADERA_OUT3LMIX_INPUT_3_VOLUME:
1808 case MADERA_OUT3LMIX_INPUT_4_SOURCE:
1809 case MADERA_OUT3LMIX_INPUT_4_VOLUME:
1810 case MADERA_OUT3RMIX_INPUT_1_SOURCE:
1811 case MADERA_OUT3RMIX_INPUT_1_VOLUME:
1812 case MADERA_OUT3RMIX_INPUT_2_SOURCE:
1813 case MADERA_OUT3RMIX_INPUT_2_VOLUME:
1814 case MADERA_OUT3RMIX_INPUT_3_SOURCE:
1815 case MADERA_OUT3RMIX_INPUT_3_VOLUME:
1816 case MADERA_OUT3RMIX_INPUT_4_SOURCE:
1817 case MADERA_OUT3RMIX_INPUT_4_VOLUME:
1818 case MADERA_OUT5LMIX_INPUT_1_SOURCE:
1819 case MADERA_OUT5LMIX_INPUT_1_VOLUME:
1820 case MADERA_OUT5LMIX_INPUT_2_SOURCE:
1821 case MADERA_OUT5LMIX_INPUT_2_VOLUME:
1822 case MADERA_OUT5LMIX_INPUT_3_SOURCE:
1823 case MADERA_OUT5LMIX_INPUT_3_VOLUME:
1824 case MADERA_OUT5LMIX_INPUT_4_SOURCE:
1825 case MADERA_OUT5LMIX_INPUT_4_VOLUME:
1826 case MADERA_OUT5RMIX_INPUT_1_SOURCE:
1827 case MADERA_OUT5RMIX_INPUT_1_VOLUME:
1828 case MADERA_OUT5RMIX_INPUT_2_SOURCE:
1829 case MADERA_OUT5RMIX_INPUT_2_VOLUME:
1830 case MADERA_OUT5RMIX_INPUT_3_SOURCE:
1831 case MADERA_OUT5RMIX_INPUT_3_VOLUME:
1832 case MADERA_OUT5RMIX_INPUT_4_SOURCE:
1833 case MADERA_OUT5RMIX_INPUT_4_VOLUME:
1834 case MADERA_AIF1TX1MIX_INPUT_1_SOURCE:
1835 case MADERA_AIF1TX1MIX_INPUT_1_VOLUME:
1836 case MADERA_AIF1TX1MIX_INPUT_2_SOURCE:
1837 case MADERA_AIF1TX1MIX_INPUT_2_VOLUME:
1838 case MADERA_AIF1TX1MIX_INPUT_3_SOURCE:
1839 case MADERA_AIF1TX1MIX_INPUT_3_VOLUME:
1840 case MADERA_AIF1TX1MIX_INPUT_4_SOURCE:
1841 case MADERA_AIF1TX1MIX_INPUT_4_VOLUME:
1842 case MADERA_AIF1TX2MIX_INPUT_1_SOURCE:
1843 case MADERA_AIF1TX2MIX_INPUT_1_VOLUME:
1844 case MADERA_AIF1TX2MIX_INPUT_2_SOURCE:
1845 case MADERA_AIF1TX2MIX_INPUT_2_VOLUME:
1846 case MADERA_AIF1TX2MIX_INPUT_3_SOURCE:
1847 case MADERA_AIF1TX2MIX_INPUT_3_VOLUME:
1848 case MADERA_AIF1TX2MIX_INPUT_4_SOURCE:
1849 case MADERA_AIF1TX2MIX_INPUT_4_VOLUME:
1850 case MADERA_AIF1TX3MIX_INPUT_1_SOURCE:
1851 case MADERA_AIF1TX3MIX_INPUT_1_VOLUME:
1852 case MADERA_AIF1TX3MIX_INPUT_2_SOURCE:
1853 case MADERA_AIF1TX3MIX_INPUT_2_VOLUME:
1854 case MADERA_AIF1TX3MIX_INPUT_3_SOURCE:
1855 case MADERA_AIF1TX3MIX_INPUT_3_VOLUME:
1856 case MADERA_AIF1TX3MIX_INPUT_4_SOURCE:
1857 case MADERA_AIF1TX3MIX_INPUT_4_VOLUME:
1858 case MADERA_AIF1TX4MIX_INPUT_1_SOURCE:
1859 case MADERA_AIF1TX4MIX_INPUT_1_VOLUME:
1860 case MADERA_AIF1TX4MIX_INPUT_2_SOURCE:
1861 case MADERA_AIF1TX4MIX_INPUT_2_VOLUME:
1862 case MADERA_AIF1TX4MIX_INPUT_3_SOURCE:
1863 case MADERA_AIF1TX4MIX_INPUT_3_VOLUME:
1864 case MADERA_AIF1TX4MIX_INPUT_4_SOURCE:
1865 case MADERA_AIF1TX4MIX_INPUT_4_VOLUME:
1866 case MADERA_AIF1TX5MIX_INPUT_1_SOURCE:
1867 case MADERA_AIF1TX5MIX_INPUT_1_VOLUME:
1868 case MADERA_AIF1TX5MIX_INPUT_2_SOURCE:
1869 case MADERA_AIF1TX5MIX_INPUT_2_VOLUME:
1870 case MADERA_AIF1TX5MIX_INPUT_3_SOURCE:
1871 case MADERA_AIF1TX5MIX_INPUT_3_VOLUME:
1872 case MADERA_AIF1TX5MIX_INPUT_4_SOURCE:
1873 case MADERA_AIF1TX5MIX_INPUT_4_VOLUME:
1874 case MADERA_AIF1TX6MIX_INPUT_1_SOURCE:
1875 case MADERA_AIF1TX6MIX_INPUT_1_VOLUME:
1876 case MADERA_AIF1TX6MIX_INPUT_2_SOURCE:
1877 case MADERA_AIF1TX6MIX_INPUT_2_VOLUME:
1878 case MADERA_AIF1TX6MIX_INPUT_3_SOURCE:
1879 case MADERA_AIF1TX6MIX_INPUT_3_VOLUME:
1880 case MADERA_AIF1TX6MIX_INPUT_4_SOURCE:
1881 case MADERA_AIF1TX6MIX_INPUT_4_VOLUME:
1882 case MADERA_AIF1TX7MIX_INPUT_1_SOURCE:
1883 case MADERA_AIF1TX7MIX_INPUT_1_VOLUME:
1884 case MADERA_AIF1TX7MIX_INPUT_2_SOURCE:
1885 case MADERA_AIF1TX7MIX_INPUT_2_VOLUME:
1886 case MADERA_AIF1TX7MIX_INPUT_3_SOURCE:
1887 case MADERA_AIF1TX7MIX_INPUT_3_VOLUME:
1888 case MADERA_AIF1TX7MIX_INPUT_4_SOURCE:
1889 case MADERA_AIF1TX7MIX_INPUT_4_VOLUME:
1890 case MADERA_AIF1TX8MIX_INPUT_1_SOURCE:
1891 case MADERA_AIF1TX8MIX_INPUT_1_VOLUME:
1892 case MADERA_AIF1TX8MIX_INPUT_2_SOURCE:
1893 case MADERA_AIF1TX8MIX_INPUT_2_VOLUME:
1894 case MADERA_AIF1TX8MIX_INPUT_3_SOURCE:
1895 case MADERA_AIF1TX8MIX_INPUT_3_VOLUME:
1896 case MADERA_AIF1TX8MIX_INPUT_4_SOURCE:
1897 case MADERA_AIF1TX8MIX_INPUT_4_VOLUME:
1898 case MADERA_AIF2TX1MIX_INPUT_1_SOURCE:
1899 case MADERA_AIF2TX1MIX_INPUT_1_VOLUME:
1900 case MADERA_AIF2TX1MIX_INPUT_2_SOURCE:
1901 case MADERA_AIF2TX1MIX_INPUT_2_VOLUME:
1902 case MADERA_AIF2TX1MIX_INPUT_3_SOURCE:
1903 case MADERA_AIF2TX1MIX_INPUT_3_VOLUME:
1904 case MADERA_AIF2TX1MIX_INPUT_4_SOURCE:
1905 case MADERA_AIF2TX1MIX_INPUT_4_VOLUME:
1906 case MADERA_AIF2TX2MIX_INPUT_1_SOURCE:
1907 case MADERA_AIF2TX2MIX_INPUT_1_VOLUME:
1908 case MADERA_AIF2TX2MIX_INPUT_2_SOURCE:
1909 case MADERA_AIF2TX2MIX_INPUT_2_VOLUME:
1910 case MADERA_AIF2TX2MIX_INPUT_3_SOURCE:
1911 case MADERA_AIF2TX2MIX_INPUT_3_VOLUME:
1912 case MADERA_AIF2TX2MIX_INPUT_4_SOURCE:
1913 case MADERA_AIF2TX2MIX_INPUT_4_VOLUME:
1914 case MADERA_AIF2TX3MIX_INPUT_1_SOURCE:
1915 case MADERA_AIF2TX3MIX_INPUT_1_VOLUME:
1916 case MADERA_AIF2TX3MIX_INPUT_2_SOURCE:
1917 case MADERA_AIF2TX3MIX_INPUT_2_VOLUME:
1918 case MADERA_AIF2TX3MIX_INPUT_3_SOURCE:
1919 case MADERA_AIF2TX3MIX_INPUT_3_VOLUME:
1920 case MADERA_AIF2TX3MIX_INPUT_4_SOURCE:
1921 case MADERA_AIF2TX3MIX_INPUT_4_VOLUME:
1922 case MADERA_AIF2TX4MIX_INPUT_1_SOURCE:
1923 case MADERA_AIF2TX4MIX_INPUT_1_VOLUME:
1924 case MADERA_AIF2TX4MIX_INPUT_2_SOURCE:
1925 case MADERA_AIF2TX4MIX_INPUT_2_VOLUME:
1926 case MADERA_AIF2TX4MIX_INPUT_3_SOURCE:
1927 case MADERA_AIF2TX4MIX_INPUT_3_VOLUME:
1928 case MADERA_AIF2TX4MIX_INPUT_4_SOURCE:
1929 case MADERA_AIF2TX4MIX_INPUT_4_VOLUME:
1930 case MADERA_AIF2TX5MIX_INPUT_1_SOURCE:
1931 case MADERA_AIF2TX5MIX_INPUT_1_VOLUME:
1932 case MADERA_AIF2TX5MIX_INPUT_2_SOURCE:
1933 case MADERA_AIF2TX5MIX_INPUT_2_VOLUME:
1934 case MADERA_AIF2TX5MIX_INPUT_3_SOURCE:
1935 case MADERA_AIF2TX5MIX_INPUT_3_VOLUME:
1936 case MADERA_AIF2TX5MIX_INPUT_4_SOURCE:
1937 case MADERA_AIF2TX5MIX_INPUT_4_VOLUME:
1938 case MADERA_AIF2TX6MIX_INPUT_1_SOURCE:
1939 case MADERA_AIF2TX6MIX_INPUT_1_VOLUME:
1940 case MADERA_AIF2TX6MIX_INPUT_2_SOURCE:
1941 case MADERA_AIF2TX6MIX_INPUT_2_VOLUME:
1942 case MADERA_AIF2TX6MIX_INPUT_3_SOURCE:
1943 case MADERA_AIF2TX6MIX_INPUT_3_VOLUME:
1944 case MADERA_AIF2TX6MIX_INPUT_4_SOURCE:
1945 case MADERA_AIF2TX6MIX_INPUT_4_VOLUME:
1946 case MADERA_AIF2TX7MIX_INPUT_1_SOURCE:
1947 case MADERA_AIF2TX7MIX_INPUT_1_VOLUME:
1948 case MADERA_AIF2TX7MIX_INPUT_2_SOURCE:
1949 case MADERA_AIF2TX7MIX_INPUT_2_VOLUME:
1950 case MADERA_AIF2TX7MIX_INPUT_3_SOURCE:
1951 case MADERA_AIF2TX7MIX_INPUT_3_VOLUME:
1952 case MADERA_AIF2TX7MIX_INPUT_4_SOURCE:
1953 case MADERA_AIF2TX7MIX_INPUT_4_VOLUME:
1954 case MADERA_AIF2TX8MIX_INPUT_1_SOURCE:
1955 case MADERA_AIF2TX8MIX_INPUT_1_VOLUME:
1956 case MADERA_AIF2TX8MIX_INPUT_2_SOURCE:
1957 case MADERA_AIF2TX8MIX_INPUT_2_VOLUME:
1958 case MADERA_AIF2TX8MIX_INPUT_3_SOURCE:
1959 case MADERA_AIF2TX8MIX_INPUT_3_VOLUME:
1960 case MADERA_AIF2TX8MIX_INPUT_4_SOURCE:
1961 case MADERA_AIF2TX8MIX_INPUT_4_VOLUME:
1962 case MADERA_AIF3TX1MIX_INPUT_1_SOURCE:
1963 case MADERA_AIF3TX1MIX_INPUT_1_VOLUME:
1964 case MADERA_AIF3TX1MIX_INPUT_2_SOURCE:
1965 case MADERA_AIF3TX1MIX_INPUT_2_VOLUME:
1966 case MADERA_AIF3TX1MIX_INPUT_3_SOURCE:
1967 case MADERA_AIF3TX1MIX_INPUT_3_VOLUME:
1968 case MADERA_AIF3TX1MIX_INPUT_4_SOURCE:
1969 case MADERA_AIF3TX1MIX_INPUT_4_VOLUME:
1970 case MADERA_AIF3TX2MIX_INPUT_1_SOURCE:
1971 case MADERA_AIF3TX2MIX_INPUT_1_VOLUME:
1972 case MADERA_AIF3TX2MIX_INPUT_2_SOURCE:
1973 case MADERA_AIF3TX2MIX_INPUT_2_VOLUME:
1974 case MADERA_AIF3TX2MIX_INPUT_3_SOURCE:
1975 case MADERA_AIF3TX2MIX_INPUT_3_VOLUME:
1976 case MADERA_AIF3TX2MIX_INPUT_4_SOURCE:
1977 case MADERA_AIF3TX2MIX_INPUT_4_VOLUME:
1978 case MADERA_AIF4TX1MIX_INPUT_1_SOURCE:
1979 case MADERA_AIF4TX1MIX_INPUT_1_VOLUME:
1980 case MADERA_AIF4TX1MIX_INPUT_2_SOURCE:
1981 case MADERA_AIF4TX1MIX_INPUT_2_VOLUME:
1982 case MADERA_AIF4TX1MIX_INPUT_3_SOURCE:
1983 case MADERA_AIF4TX1MIX_INPUT_3_VOLUME:
1984 case MADERA_AIF4TX1MIX_INPUT_4_SOURCE:
1985 case MADERA_AIF4TX1MIX_INPUT_4_VOLUME:
1986 case MADERA_AIF4TX2MIX_INPUT_1_SOURCE:
1987 case MADERA_AIF4TX2MIX_INPUT_1_VOLUME:
1988 case MADERA_AIF4TX2MIX_INPUT_2_SOURCE:
1989 case MADERA_AIF4TX2MIX_INPUT_2_VOLUME:
1990 case MADERA_AIF4TX2MIX_INPUT_3_SOURCE:
1991 case MADERA_AIF4TX2MIX_INPUT_3_VOLUME:
1992 case MADERA_AIF4TX2MIX_INPUT_4_SOURCE:
1993 case MADERA_AIF4TX2MIX_INPUT_4_VOLUME:
1994 case MADERA_SLIMTX1MIX_INPUT_1_SOURCE:
1995 case MADERA_SLIMTX1MIX_INPUT_1_VOLUME:
1996 case MADERA_SLIMTX1MIX_INPUT_2_SOURCE:
1997 case MADERA_SLIMTX1MIX_INPUT_2_VOLUME:
1998 case MADERA_SLIMTX1MIX_INPUT_3_SOURCE:
1999 case MADERA_SLIMTX1MIX_INPUT_3_VOLUME:
2000 case MADERA_SLIMTX1MIX_INPUT_4_SOURCE:
2001 case MADERA_SLIMTX1MIX_INPUT_4_VOLUME:
2002 case MADERA_SLIMTX2MIX_INPUT_1_SOURCE:
2003 case MADERA_SLIMTX2MIX_INPUT_1_VOLUME:
2004 case MADERA_SLIMTX2MIX_INPUT_2_SOURCE:
2005 case MADERA_SLIMTX2MIX_INPUT_2_VOLUME:
2006 case MADERA_SLIMTX2MIX_INPUT_3_SOURCE:
2007 case MADERA_SLIMTX2MIX_INPUT_3_VOLUME:
2008 case MADERA_SLIMTX2MIX_INPUT_4_SOURCE:
2009 case MADERA_SLIMTX2MIX_INPUT_4_VOLUME:
2010 case MADERA_SLIMTX3MIX_INPUT_1_SOURCE:
2011 case MADERA_SLIMTX3MIX_INPUT_1_VOLUME:
2012 case MADERA_SLIMTX3MIX_INPUT_2_SOURCE:
2013 case MADERA_SLIMTX3MIX_INPUT_2_VOLUME:
2014 case MADERA_SLIMTX3MIX_INPUT_3_SOURCE:
2015 case MADERA_SLIMTX3MIX_INPUT_3_VOLUME:
2016 case MADERA_SLIMTX3MIX_INPUT_4_SOURCE:
2017 case MADERA_SLIMTX3MIX_INPUT_4_VOLUME:
2018 case MADERA_SLIMTX4MIX_INPUT_1_SOURCE:
2019 case MADERA_SLIMTX4MIX_INPUT_1_VOLUME:
2020 case MADERA_SLIMTX4MIX_INPUT_2_SOURCE:
2021 case MADERA_SLIMTX4MIX_INPUT_2_VOLUME:
2022 case MADERA_SLIMTX4MIX_INPUT_3_SOURCE:
2023 case MADERA_SLIMTX4MIX_INPUT_3_VOLUME:
2024 case MADERA_SLIMTX4MIX_INPUT_4_SOURCE:
2025 case MADERA_SLIMTX4MIX_INPUT_4_VOLUME:
2026 case MADERA_SLIMTX5MIX_INPUT_1_SOURCE:
2027 case MADERA_SLIMTX5MIX_INPUT_1_VOLUME:
2028 case MADERA_SLIMTX5MIX_INPUT_2_SOURCE:
2029 case MADERA_SLIMTX5MIX_INPUT_2_VOLUME:
2030 case MADERA_SLIMTX5MIX_INPUT_3_SOURCE:
2031 case MADERA_SLIMTX5MIX_INPUT_3_VOLUME:
2032 case MADERA_SLIMTX5MIX_INPUT_4_SOURCE:
2033 case MADERA_SLIMTX5MIX_INPUT_4_VOLUME:
2034 case MADERA_SLIMTX6MIX_INPUT_1_SOURCE:
2035 case MADERA_SLIMTX6MIX_INPUT_1_VOLUME:
2036 case MADERA_SLIMTX6MIX_INPUT_2_SOURCE:
2037 case MADERA_SLIMTX6MIX_INPUT_2_VOLUME:
2038 case MADERA_SLIMTX6MIX_INPUT_3_SOURCE:
2039 case MADERA_SLIMTX6MIX_INPUT_3_VOLUME:
2040 case MADERA_SLIMTX6MIX_INPUT_4_SOURCE:
2041 case MADERA_SLIMTX6MIX_INPUT_4_VOLUME:
2042 case MADERA_SLIMTX7MIX_INPUT_1_SOURCE:
2043 case MADERA_SLIMTX7MIX_INPUT_1_VOLUME:
2044 case MADERA_SLIMTX7MIX_INPUT_2_SOURCE:
2045 case MADERA_SLIMTX7MIX_INPUT_2_VOLUME:
2046 case MADERA_SLIMTX7MIX_INPUT_3_SOURCE:
2047 case MADERA_SLIMTX7MIX_INPUT_3_VOLUME:
2048 case MADERA_SLIMTX7MIX_INPUT_4_SOURCE:
2049 case MADERA_SLIMTX7MIX_INPUT_4_VOLUME:
2050 case MADERA_SLIMTX8MIX_INPUT_1_SOURCE:
2051 case MADERA_SLIMTX8MIX_INPUT_1_VOLUME:
2052 case MADERA_SLIMTX8MIX_INPUT_2_SOURCE:
2053 case MADERA_SLIMTX8MIX_INPUT_2_VOLUME:
2054 case MADERA_SLIMTX8MIX_INPUT_3_SOURCE:
2055 case MADERA_SLIMTX8MIX_INPUT_3_VOLUME:
2056 case MADERA_SLIMTX8MIX_INPUT_4_SOURCE:
2057 case MADERA_SLIMTX8MIX_INPUT_4_VOLUME:
2058 case MADERA_SPDIF1TX1MIX_INPUT_1_SOURCE:
2059 case MADERA_SPDIF1TX1MIX_INPUT_1_VOLUME:
2060 case MADERA_SPDIF1TX2MIX_INPUT_1_SOURCE:
2061 case MADERA_SPDIF1TX2MIX_INPUT_1_VOLUME:
2062 case MADERA_EQ1MIX_INPUT_1_SOURCE:
2063 case MADERA_EQ1MIX_INPUT_1_VOLUME:
2064 case MADERA_EQ1MIX_INPUT_2_SOURCE:
2065 case MADERA_EQ1MIX_INPUT_2_VOLUME:
2066 case MADERA_EQ1MIX_INPUT_3_SOURCE:
2067 case MADERA_EQ1MIX_INPUT_3_VOLUME:
2068 case MADERA_EQ1MIX_INPUT_4_SOURCE:
2069 case MADERA_EQ1MIX_INPUT_4_VOLUME:
2070 case MADERA_EQ2MIX_INPUT_1_SOURCE:
2071 case MADERA_EQ2MIX_INPUT_1_VOLUME:
2072 case MADERA_EQ2MIX_INPUT_2_SOURCE:
2073 case MADERA_EQ2MIX_INPUT_2_VOLUME:
2074 case MADERA_EQ2MIX_INPUT_3_SOURCE:
2075 case MADERA_EQ2MIX_INPUT_3_VOLUME:
2076 case MADERA_EQ2MIX_INPUT_4_SOURCE:
2077 case MADERA_EQ2MIX_INPUT_4_VOLUME:
2078 case MADERA_EQ3MIX_INPUT_1_SOURCE:
2079 case MADERA_EQ3MIX_INPUT_1_VOLUME:
2080 case MADERA_EQ3MIX_INPUT_2_SOURCE:
2081 case MADERA_EQ3MIX_INPUT_2_VOLUME:
2082 case MADERA_EQ3MIX_INPUT_3_SOURCE:
2083 case MADERA_EQ3MIX_INPUT_3_VOLUME:
2084 case MADERA_EQ3MIX_INPUT_4_SOURCE:
2085 case MADERA_EQ3MIX_INPUT_4_VOLUME:
2086 case MADERA_EQ4MIX_INPUT_1_SOURCE:
2087 case MADERA_EQ4MIX_INPUT_1_VOLUME:
2088 case MADERA_EQ4MIX_INPUT_2_SOURCE:
2089 case MADERA_EQ4MIX_INPUT_2_VOLUME:
2090 case MADERA_EQ4MIX_INPUT_3_SOURCE:
2091 case MADERA_EQ4MIX_INPUT_3_VOLUME:
2092 case MADERA_EQ4MIX_INPUT_4_SOURCE:
2093 case MADERA_EQ4MIX_INPUT_4_VOLUME:
2094 case MADERA_DRC1LMIX_INPUT_1_SOURCE:
2095 case MADERA_DRC1LMIX_INPUT_1_VOLUME:
2096 case MADERA_DRC1LMIX_INPUT_2_SOURCE:
2097 case MADERA_DRC1LMIX_INPUT_2_VOLUME:
2098 case MADERA_DRC1LMIX_INPUT_3_SOURCE:
2099 case MADERA_DRC1LMIX_INPUT_3_VOLUME:
2100 case MADERA_DRC1LMIX_INPUT_4_SOURCE:
2101 case MADERA_DRC1LMIX_INPUT_4_VOLUME:
2102 case MADERA_DRC1RMIX_INPUT_1_SOURCE:
2103 case MADERA_DRC1RMIX_INPUT_1_VOLUME:
2104 case MADERA_DRC1RMIX_INPUT_2_SOURCE:
2105 case MADERA_DRC1RMIX_INPUT_2_VOLUME:
2106 case MADERA_DRC1RMIX_INPUT_3_SOURCE:
2107 case MADERA_DRC1RMIX_INPUT_3_VOLUME:
2108 case MADERA_DRC1RMIX_INPUT_4_SOURCE:
2109 case MADERA_DRC1RMIX_INPUT_4_VOLUME:
2110 case MADERA_DRC2LMIX_INPUT_1_SOURCE:
2111 case MADERA_DRC2LMIX_INPUT_1_VOLUME:
2112 case MADERA_DRC2LMIX_INPUT_2_SOURCE:
2113 case MADERA_DRC2LMIX_INPUT_2_VOLUME:
2114 case MADERA_DRC2LMIX_INPUT_3_SOURCE:
2115 case MADERA_DRC2LMIX_INPUT_3_VOLUME:
2116 case MADERA_DRC2LMIX_INPUT_4_SOURCE:
2117 case MADERA_DRC2LMIX_INPUT_4_VOLUME:
2118 case MADERA_DRC2RMIX_INPUT_1_SOURCE:
2119 case MADERA_DRC2RMIX_INPUT_1_VOLUME:
2120 case MADERA_DRC2RMIX_INPUT_2_SOURCE:
2121 case MADERA_DRC2RMIX_INPUT_2_VOLUME:
2122 case MADERA_DRC2RMIX_INPUT_3_SOURCE:
2123 case MADERA_DRC2RMIX_INPUT_3_VOLUME:
2124 case MADERA_DRC2RMIX_INPUT_4_SOURCE:
2125 case MADERA_DRC2RMIX_INPUT_4_VOLUME:
2126 case MADERA_HPLP1MIX_INPUT_1_SOURCE:
2127 case MADERA_HPLP1MIX_INPUT_1_VOLUME:
2128 case MADERA_HPLP1MIX_INPUT_2_SOURCE:
2129 case MADERA_HPLP1MIX_INPUT_2_VOLUME:
2130 case MADERA_HPLP1MIX_INPUT_3_SOURCE:
2131 case MADERA_HPLP1MIX_INPUT_3_VOLUME:
2132 case MADERA_HPLP1MIX_INPUT_4_SOURCE:
2133 case MADERA_HPLP1MIX_INPUT_4_VOLUME:
2134 case MADERA_HPLP2MIX_INPUT_1_SOURCE:
2135 case MADERA_HPLP2MIX_INPUT_1_VOLUME:
2136 case MADERA_HPLP2MIX_INPUT_2_SOURCE:
2137 case MADERA_HPLP2MIX_INPUT_2_VOLUME:
2138 case MADERA_HPLP2MIX_INPUT_3_SOURCE:
2139 case MADERA_HPLP2MIX_INPUT_3_VOLUME:
2140 case MADERA_HPLP2MIX_INPUT_4_SOURCE:
2141 case MADERA_HPLP2MIX_INPUT_4_VOLUME:
2142 case MADERA_HPLP3MIX_INPUT_1_SOURCE:
2143 case MADERA_HPLP3MIX_INPUT_1_VOLUME:
2144 case MADERA_HPLP3MIX_INPUT_2_SOURCE:
2145 case MADERA_HPLP3MIX_INPUT_2_VOLUME:
2146 case MADERA_HPLP3MIX_INPUT_3_SOURCE:
2147 case MADERA_HPLP3MIX_INPUT_3_VOLUME:
2148 case MADERA_HPLP3MIX_INPUT_4_SOURCE:
2149 case MADERA_HPLP3MIX_INPUT_4_VOLUME:
2150 case MADERA_HPLP4MIX_INPUT_1_SOURCE:
2151 case MADERA_HPLP4MIX_INPUT_1_VOLUME:
2152 case MADERA_HPLP4MIX_INPUT_2_SOURCE:
2153 case MADERA_HPLP4MIX_INPUT_2_VOLUME:
2154 case MADERA_HPLP4MIX_INPUT_3_SOURCE:
2155 case MADERA_HPLP4MIX_INPUT_3_VOLUME:
2156 case MADERA_HPLP4MIX_INPUT_4_SOURCE:
2157 case MADERA_HPLP4MIX_INPUT_4_VOLUME:
2158 case MADERA_DSP1LMIX_INPUT_1_SOURCE:
2159 case MADERA_DSP1LMIX_INPUT_1_VOLUME:
2160 case MADERA_DSP1LMIX_INPUT_2_SOURCE:
2161 case MADERA_DSP1LMIX_INPUT_2_VOLUME:
2162 case MADERA_DSP1LMIX_INPUT_3_SOURCE:
2163 case MADERA_DSP1LMIX_INPUT_3_VOLUME:
2164 case MADERA_DSP1LMIX_INPUT_4_SOURCE:
2165 case MADERA_DSP1LMIX_INPUT_4_VOLUME:
2166 case MADERA_DSP1RMIX_INPUT_1_SOURCE:
2167 case MADERA_DSP1RMIX_INPUT_1_VOLUME:
2168 case MADERA_DSP1RMIX_INPUT_2_SOURCE:
2169 case MADERA_DSP1RMIX_INPUT_2_VOLUME:
2170 case MADERA_DSP1RMIX_INPUT_3_SOURCE:
2171 case MADERA_DSP1RMIX_INPUT_3_VOLUME:
2172 case MADERA_DSP1RMIX_INPUT_4_SOURCE:
2173 case MADERA_DSP1RMIX_INPUT_4_VOLUME:
2174 case MADERA_DSP1AUX1MIX_INPUT_1_SOURCE:
2175 case MADERA_DSP1AUX2MIX_INPUT_1_SOURCE:
2176 case MADERA_DSP1AUX3MIX_INPUT_1_SOURCE:
2177 case MADERA_DSP1AUX4MIX_INPUT_1_SOURCE:
2178 case MADERA_DSP1AUX5MIX_INPUT_1_SOURCE:
2179 case MADERA_DSP1AUX6MIX_INPUT_1_SOURCE:
2180 case MADERA_DSP2LMIX_INPUT_1_SOURCE:
2181 case MADERA_DSP2LMIX_INPUT_1_VOLUME:
2182 case MADERA_DSP2LMIX_INPUT_2_SOURCE:
2183 case MADERA_DSP2LMIX_INPUT_2_VOLUME:
2184 case MADERA_DSP2LMIX_INPUT_3_SOURCE:
2185 case MADERA_DSP2LMIX_INPUT_3_VOLUME:
2186 case MADERA_DSP2LMIX_INPUT_4_SOURCE:
2187 case MADERA_DSP2LMIX_INPUT_4_VOLUME:
2188 case MADERA_DSP2RMIX_INPUT_1_SOURCE:
2189 case MADERA_DSP2RMIX_INPUT_1_VOLUME:
2190 case MADERA_DSP2RMIX_INPUT_2_SOURCE:
2191 case MADERA_DSP2RMIX_INPUT_2_VOLUME:
2192 case MADERA_DSP2RMIX_INPUT_3_SOURCE:
2193 case MADERA_DSP2RMIX_INPUT_3_VOLUME:
2194 case MADERA_DSP2RMIX_INPUT_4_SOURCE:
2195 case MADERA_DSP2RMIX_INPUT_4_VOLUME:
2196 case MADERA_DSP2AUX1MIX_INPUT_1_SOURCE:
2197 case MADERA_DSP2AUX2MIX_INPUT_1_SOURCE:
2198 case MADERA_DSP2AUX3MIX_INPUT_1_SOURCE:
2199 case MADERA_DSP2AUX4MIX_INPUT_1_SOURCE:
2200 case MADERA_DSP2AUX5MIX_INPUT_1_SOURCE:
2201 case MADERA_DSP2AUX6MIX_INPUT_1_SOURCE:
2202 case MADERA_DSP3LMIX_INPUT_1_SOURCE:
2203 case MADERA_DSP3LMIX_INPUT_1_VOLUME:
2204 case MADERA_DSP3LMIX_INPUT_2_SOURCE:
2205 case MADERA_DSP3LMIX_INPUT_2_VOLUME:
2206 case MADERA_DSP3LMIX_INPUT_3_SOURCE:
2207 case MADERA_DSP3LMIX_INPUT_3_VOLUME:
2208 case MADERA_DSP3LMIX_INPUT_4_SOURCE:
2209 case MADERA_DSP3LMIX_INPUT_4_VOLUME:
2210 case MADERA_DSP3RMIX_INPUT_1_SOURCE:
2211 case MADERA_DSP3RMIX_INPUT_1_VOLUME:
2212 case MADERA_DSP3RMIX_INPUT_2_SOURCE:
2213 case MADERA_DSP3RMIX_INPUT_2_VOLUME:
2214 case MADERA_DSP3RMIX_INPUT_3_SOURCE:
2215 case MADERA_DSP3RMIX_INPUT_3_VOLUME:
2216 case MADERA_DSP3RMIX_INPUT_4_SOURCE:
2217 case MADERA_DSP3RMIX_INPUT_4_VOLUME:
2218 case MADERA_DSP3AUX1MIX_INPUT_1_SOURCE:
2219 case MADERA_DSP3AUX2MIX_INPUT_1_SOURCE:
2220 case MADERA_DSP3AUX3MIX_INPUT_1_SOURCE:
2221 case MADERA_DSP3AUX4MIX_INPUT_1_SOURCE:
2222 case MADERA_DSP3AUX5MIX_INPUT_1_SOURCE:
2223 case MADERA_DSP3AUX6MIX_INPUT_1_SOURCE:
2224 case MADERA_DSP4LMIX_INPUT_1_SOURCE:
2225 case MADERA_DSP4LMIX_INPUT_1_VOLUME:
2226 case MADERA_DSP4LMIX_INPUT_2_SOURCE:
2227 case MADERA_DSP4LMIX_INPUT_2_VOLUME:
2228 case MADERA_DSP4LMIX_INPUT_3_SOURCE:
2229 case MADERA_DSP4LMIX_INPUT_3_VOLUME:
2230 case MADERA_DSP4LMIX_INPUT_4_SOURCE:
2231 case MADERA_DSP4LMIX_INPUT_4_VOLUME:
2232 case MADERA_DSP4RMIX_INPUT_1_SOURCE:
2233 case MADERA_DSP4RMIX_INPUT_1_VOLUME:
2234 case MADERA_DSP4RMIX_INPUT_2_SOURCE:
2235 case MADERA_DSP4RMIX_INPUT_2_VOLUME:
2236 case MADERA_DSP4RMIX_INPUT_3_SOURCE:
2237 case MADERA_DSP4RMIX_INPUT_3_VOLUME:
2238 case MADERA_DSP4RMIX_INPUT_4_SOURCE:
2239 case MADERA_DSP4RMIX_INPUT_4_VOLUME:
2240 case MADERA_DSP4AUX1MIX_INPUT_1_SOURCE:
2241 case MADERA_DSP4AUX2MIX_INPUT_1_SOURCE:
2242 case MADERA_DSP4AUX3MIX_INPUT_1_SOURCE:
2243 case MADERA_DSP4AUX4MIX_INPUT_1_SOURCE:
2244 case MADERA_DSP4AUX5MIX_INPUT_1_SOURCE:
2245 case MADERA_DSP4AUX6MIX_INPUT_1_SOURCE:
2246 case MADERA_DSP5LMIX_INPUT_1_SOURCE:
2247 case MADERA_DSP5LMIX_INPUT_1_VOLUME:
2248 case MADERA_DSP5LMIX_INPUT_2_SOURCE:
2249 case MADERA_DSP5LMIX_INPUT_2_VOLUME:
2250 case MADERA_DSP5LMIX_INPUT_3_SOURCE:
2251 case MADERA_DSP5LMIX_INPUT_3_VOLUME:
2252 case MADERA_DSP5LMIX_INPUT_4_SOURCE:
2253 case MADERA_DSP5LMIX_INPUT_4_VOLUME:
2254 case MADERA_DSP5RMIX_INPUT_1_SOURCE:
2255 case MADERA_DSP5RMIX_INPUT_1_VOLUME:
2256 case MADERA_DSP5RMIX_INPUT_2_SOURCE:
2257 case MADERA_DSP5RMIX_INPUT_2_VOLUME:
2258 case MADERA_DSP5RMIX_INPUT_3_SOURCE:
2259 case MADERA_DSP5RMIX_INPUT_3_VOLUME:
2260 case MADERA_DSP5RMIX_INPUT_4_SOURCE:
2261 case MADERA_DSP5RMIX_INPUT_4_VOLUME:
2262 case MADERA_DSP5AUX1MIX_INPUT_1_SOURCE:
2263 case MADERA_DSP5AUX2MIX_INPUT_1_SOURCE:
2264 case MADERA_DSP5AUX3MIX_INPUT_1_SOURCE:
2265 case MADERA_DSP5AUX4MIX_INPUT_1_SOURCE:
2266 case MADERA_DSP5AUX5MIX_INPUT_1_SOURCE:
2267 case MADERA_DSP5AUX6MIX_INPUT_1_SOURCE:
2268 case MADERA_ASRC1_1LMIX_INPUT_1_SOURCE:
2269 case MADERA_ASRC1_1RMIX_INPUT_1_SOURCE:
2270 case MADERA_ASRC1_2LMIX_INPUT_1_SOURCE:
2271 case MADERA_ASRC1_2RMIX_INPUT_1_SOURCE:
2272 case MADERA_ASRC2_1LMIX_INPUT_1_SOURCE:
2273 case MADERA_ASRC2_1RMIX_INPUT_1_SOURCE:
2274 case MADERA_ASRC2_2LMIX_INPUT_1_SOURCE:
2275 case MADERA_ASRC2_2RMIX_INPUT_1_SOURCE:
2276 case MADERA_ISRC1DEC1MIX_INPUT_1_SOURCE:
2277 case MADERA_ISRC1DEC2MIX_INPUT_1_SOURCE:
2278 case MADERA_ISRC1DEC3MIX_INPUT_1_SOURCE:
2279 case MADERA_ISRC1DEC4MIX_INPUT_1_SOURCE:
2280 case MADERA_ISRC1INT1MIX_INPUT_1_SOURCE:
2281 case MADERA_ISRC1INT2MIX_INPUT_1_SOURCE:
2282 case MADERA_ISRC1INT3MIX_INPUT_1_SOURCE:
2283 case MADERA_ISRC1INT4MIX_INPUT_1_SOURCE:
2284 case MADERA_ISRC2DEC1MIX_INPUT_1_SOURCE:
2285 case MADERA_ISRC2DEC2MIX_INPUT_1_SOURCE:
2286 case MADERA_ISRC2DEC3MIX_INPUT_1_SOURCE:
2287 case MADERA_ISRC2DEC4MIX_INPUT_1_SOURCE:
2288 case MADERA_ISRC2INT1MIX_INPUT_1_SOURCE:
2289 case MADERA_ISRC2INT2MIX_INPUT_1_SOURCE:
2290 case MADERA_ISRC2INT3MIX_INPUT_1_SOURCE:
2291 case MADERA_ISRC2INT4MIX_INPUT_1_SOURCE:
2292 case MADERA_ISRC3DEC1MIX_INPUT_1_SOURCE:
2293 case MADERA_ISRC3DEC2MIX_INPUT_1_SOURCE:
2294 case MADERA_ISRC3INT1MIX_INPUT_1_SOURCE:
2295 case MADERA_ISRC3INT2MIX_INPUT_1_SOURCE:
2296 case MADERA_ISRC4DEC1MIX_INPUT_1_SOURCE:
2297 case MADERA_ISRC4DEC2MIX_INPUT_1_SOURCE:
2298 case MADERA_ISRC4INT1MIX_INPUT_1_SOURCE:
2299 case MADERA_ISRC4INT2MIX_INPUT_1_SOURCE:
2300 case MADERA_DSP6LMIX_INPUT_1_SOURCE:
2301 case MADERA_DSP6LMIX_INPUT_1_VOLUME:
2302 case MADERA_DSP6LMIX_INPUT_2_SOURCE:
2303 case MADERA_DSP6LMIX_INPUT_2_VOLUME:
2304 case MADERA_DSP6LMIX_INPUT_3_SOURCE:
2305 case MADERA_DSP6LMIX_INPUT_3_VOLUME:
2306 case MADERA_DSP6LMIX_INPUT_4_SOURCE:
2307 case MADERA_DSP6LMIX_INPUT_4_VOLUME:
2308 case MADERA_DSP6RMIX_INPUT_1_SOURCE:
2309 case MADERA_DSP6RMIX_INPUT_1_VOLUME:
2310 case MADERA_DSP6RMIX_INPUT_2_SOURCE:
2311 case MADERA_DSP6RMIX_INPUT_2_VOLUME:
2312 case MADERA_DSP6RMIX_INPUT_3_SOURCE:
2313 case MADERA_DSP6RMIX_INPUT_3_VOLUME:
2314 case MADERA_DSP6RMIX_INPUT_4_SOURCE:
2315 case MADERA_DSP6RMIX_INPUT_4_VOLUME:
2316 case MADERA_DSP6AUX1MIX_INPUT_1_SOURCE:
2317 case MADERA_DSP6AUX2MIX_INPUT_1_SOURCE:
2318 case MADERA_DSP6AUX3MIX_INPUT_1_SOURCE:
2319 case MADERA_DSP6AUX4MIX_INPUT_1_SOURCE:
2320 case MADERA_DSP6AUX5MIX_INPUT_1_SOURCE:
2321 case MADERA_DSP6AUX6MIX_INPUT_1_SOURCE:
2322 case MADERA_DSP7LMIX_INPUT_1_SOURCE:
2323 case MADERA_DSP7LMIX_INPUT_1_VOLUME:
2324 case MADERA_DSP7LMIX_INPUT_2_SOURCE:
2325 case MADERA_DSP7LMIX_INPUT_2_VOLUME:
2326 case MADERA_DSP7LMIX_INPUT_3_SOURCE:
2327 case MADERA_DSP7LMIX_INPUT_3_VOLUME:
2328 case MADERA_DSP7LMIX_INPUT_4_SOURCE:
2329 case MADERA_DSP7LMIX_INPUT_4_VOLUME:
2330 case MADERA_DSP7RMIX_INPUT_1_SOURCE:
2331 case MADERA_DSP7RMIX_INPUT_1_VOLUME:
2332 case MADERA_DSP7RMIX_INPUT_2_SOURCE:
2333 case MADERA_DSP7RMIX_INPUT_2_VOLUME:
2334 case MADERA_DSP7RMIX_INPUT_3_SOURCE:
2335 case MADERA_DSP7RMIX_INPUT_3_VOLUME:
2336 case MADERA_DSP7RMIX_INPUT_4_SOURCE:
2337 case MADERA_DSP7RMIX_INPUT_4_VOLUME:
2338 case MADERA_DSP7AUX1MIX_INPUT_1_SOURCE:
2339 case MADERA_DSP7AUX2MIX_INPUT_1_SOURCE:
2340 case MADERA_DSP7AUX3MIX_INPUT_1_SOURCE:
2341 case MADERA_DSP7AUX4MIX_INPUT_1_SOURCE:
2342 case MADERA_DSP7AUX5MIX_INPUT_1_SOURCE:
2343 case MADERA_DSP7AUX6MIX_INPUT_1_SOURCE:
2344 case MADERA_DFC1MIX_INPUT_1_SOURCE:
2345 case MADERA_DFC2MIX_INPUT_1_SOURCE:
2346 case MADERA_DFC3MIX_INPUT_1_SOURCE:
2347 case MADERA_DFC4MIX_INPUT_1_SOURCE:
2348 case MADERA_DFC5MIX_INPUT_1_SOURCE:
2349 case MADERA_DFC6MIX_INPUT_1_SOURCE:
2350 case MADERA_DFC7MIX_INPUT_1_SOURCE:
2351 case MADERA_DFC8MIX_INPUT_1_SOURCE:
2352 case MADERA_FX_CTRL1:
2353 case MADERA_FX_CTRL2:
2354 case MADERA_EQ1_1 ... MADERA_EQ1_21:
2355 case MADERA_EQ2_1 ... MADERA_EQ2_21:
2356 case MADERA_EQ3_1 ... MADERA_EQ3_21:
2357 case MADERA_EQ4_1 ... MADERA_EQ4_21:
2358 case MADERA_DRC1_CTRL1:
2359 case MADERA_DRC1_CTRL2:
2360 case MADERA_DRC1_CTRL3:
2361 case MADERA_DRC1_CTRL4:
2362 case MADERA_DRC1_CTRL5:
2363 case MADERA_DRC2_CTRL1:
2364 case MADERA_DRC2_CTRL2:
2365 case MADERA_DRC2_CTRL3:
2366 case MADERA_DRC2_CTRL4:
2367 case MADERA_DRC2_CTRL5:
2368 case MADERA_HPLPF1_1:
2369 case MADERA_HPLPF1_2:
2370 case MADERA_HPLPF2_1:
2371 case MADERA_HPLPF2_2:
2372 case MADERA_HPLPF3_1:
2373 case MADERA_HPLPF3_2:
2374 case MADERA_HPLPF4_1:
2375 case MADERA_HPLPF4_2:
2376 case MADERA_ASRC1_ENABLE:
2377 case MADERA_ASRC1_STATUS:
2378 case MADERA_ASRC1_RATE1:
2379 case MADERA_ASRC1_RATE2:
2380 case MADERA_ASRC2_ENABLE:
2381 case MADERA_ASRC2_STATUS:
2382 case MADERA_ASRC2_RATE1:
2383 case MADERA_ASRC2_RATE2:
2384 case MADERA_ISRC_1_CTRL_1:
2385 case MADERA_ISRC_1_CTRL_2:
2386 case MADERA_ISRC_1_CTRL_3:
2387 case MADERA_ISRC_2_CTRL_1:
2388 case MADERA_ISRC_2_CTRL_2:
2389 case MADERA_ISRC_2_CTRL_3:
2390 case MADERA_ISRC_3_CTRL_1:
2391 case MADERA_ISRC_3_CTRL_2:
2392 case MADERA_ISRC_3_CTRL_3:
2393 case MADERA_ISRC_4_CTRL_1:
2394 case MADERA_ISRC_4_CTRL_2:
2395 case MADERA_ISRC_4_CTRL_3:
2396 case MADERA_CLOCK_CONTROL:
2397 case MADERA_ANC_SRC:
2398 case MADERA_DSP_STATUS:
2399 case MADERA_ANC_COEFF_START ... MADERA_ANC_COEFF_END:
2400 case MADERA_FCL_FILTER_CONTROL:
2401 case MADERA_FCL_ADC_REFORMATTER_CONTROL:
2402 case MADERA_FCL_COEFF_START ... MADERA_FCL_COEFF_END:
2403 case MADERA_FCR_FILTER_CONTROL:
2404 case MADERA_FCR_ADC_REFORMATTER_CONTROL:
2405 case MADERA_FCR_COEFF_START ... MADERA_FCR_COEFF_END:
2406 case MADERA_DFC1_CTRL:
2407 case MADERA_DFC1_RX:
2408 case MADERA_DFC1_TX:
2409 case MADERA_DFC2_CTRL:
2410 case MADERA_DFC2_RX:
2411 case MADERA_DFC2_TX:
2412 case MADERA_DFC3_CTRL:
2413 case MADERA_DFC3_RX:
2414 case MADERA_DFC3_TX:
2415 case MADERA_DFC4_CTRL:
2416 case MADERA_DFC4_RX:
2417 case MADERA_DFC4_TX:
2418 case MADERA_DFC5_CTRL:
2419 case MADERA_DFC5_RX:
2420 case MADERA_DFC5_TX:
2421 case MADERA_DFC6_CTRL:
2422 case MADERA_DFC6_RX:
2423 case MADERA_DFC6_TX:
2424 case MADERA_DFC7_CTRL:
2425 case MADERA_DFC7_RX:
2426 case MADERA_DFC7_TX:
2427 case MADERA_DFC8_CTRL:
2428 case MADERA_DFC8_RX:
2429 case MADERA_DFC8_TX:
2430 case MADERA_DFC_STATUS:
2431 case MADERA_GPIO1_CTRL_1 ... MADERA_GPIO38_CTRL_2:
2432 case MADERA_IRQ1_STATUS_1 ... MADERA_IRQ1_STATUS_33:
2433 case MADERA_IRQ1_MASK_1 ... MADERA_IRQ1_MASK_33:
2434 case MADERA_IRQ1_RAW_STATUS_1 ... MADERA_IRQ1_RAW_STATUS_33:
2435 case MADERA_INTERRUPT_DEBOUNCE_7:
2436 case MADERA_IRQ1_CTRL:
2437 return true;
2438 default:
2439 return false;
2440 }
2441 }
2442
2443 static bool cs47l90_16bit_volatile_register(struct device *dev,
2444 unsigned int reg)
2445 {
2446 switch (reg) {
2447 case MADERA_SOFTWARE_RESET:
2448 case MADERA_HARDWARE_REVISION:
2449 case MADERA_WRITE_SEQUENCER_CTRL_0:
2450 case MADERA_WRITE_SEQUENCER_CTRL_1:
2451 case MADERA_WRITE_SEQUENCER_CTRL_2:
2452 case MADERA_HAPTICS_STATUS:
2453 case MADERA_SAMPLE_RATE_1_STATUS:
2454 case MADERA_SAMPLE_RATE_2_STATUS:
2455 case MADERA_SAMPLE_RATE_3_STATUS:
2456 case MADERA_ASYNC_SAMPLE_RATE_1_STATUS:
2457 case MADERA_ASYNC_SAMPLE_RATE_2_STATUS:
2458 case MADERA_HP_CTRL_1L:
2459 case MADERA_HP_CTRL_1R:
2460 case MADERA_HP_CTRL_2L:
2461 case MADERA_HP_CTRL_2R:
2462 case MADERA_HP_CTRL_3L:
2463 case MADERA_HP_CTRL_3R:
2464 case MADERA_MIC_DETECT_1_CONTROL_3:
2465 case MADERA_MIC_DETECT_1_CONTROL_4:
2466 case MADERA_MIC_DETECT_2_CONTROL_3:
2467 case MADERA_MIC_DETECT_2_CONTROL_4:
2468 case MADERA_HEADPHONE_DETECT_2:
2469 case MADERA_HEADPHONE_DETECT_3:
2470 case MADERA_HEADPHONE_DETECT_5:
2471 case MADERA_INPUT_ENABLES_STATUS:
2472 case MADERA_OUTPUT_STATUS_1:
2473 case MADERA_RAW_OUTPUT_STATUS_1:
2474 case MADERA_SPD1_TX_CHANNEL_STATUS_1:
2475 case MADERA_SPD1_TX_CHANNEL_STATUS_2:
2476 case MADERA_SPD1_TX_CHANNEL_STATUS_3:
2477 case MADERA_SLIMBUS_RX_PORT_STATUS:
2478 case MADERA_SLIMBUS_TX_PORT_STATUS:
2479 case MADERA_FX_CTRL2:
2480 case MADERA_ASRC2_STATUS:
2481 case MADERA_ASRC1_STATUS:
2482 case MADERA_CLOCK_CONTROL:
2483 case MADERA_DFC_STATUS:
2484 case MADERA_IRQ1_STATUS_1 ... MADERA_IRQ1_STATUS_33:
2485 case MADERA_IRQ1_RAW_STATUS_1 ... MADERA_IRQ1_RAW_STATUS_33:
2486 return true;
2487 default:
2488 return false;
2489 }
2490 }
2491
2492 static bool cs47l90_32bit_readable_register(struct device *dev,
2493 unsigned int reg)
2494 {
2495 switch (reg) {
2496 case MADERA_WSEQ_SEQUENCE_1 ... MADERA_WSEQ_SEQUENCE_508:
2497 case MADERA_OTP_HPDET_CAL_1 ... MADERA_OTP_HPDET_CAL_2:
2498 case MADERA_DSP1_CONFIG_1 ... MADERA_DSP1_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
2499 case MADERA_DSP2_CONFIG_1 ... MADERA_DSP2_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
2500 case MADERA_DSP3_CONFIG_1 ... MADERA_DSP3_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
2501 case MADERA_DSP4_CONFIG_1 ... MADERA_DSP4_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
2502 case MADERA_DSP5_CONFIG_1 ... MADERA_DSP5_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
2503 case MADERA_DSP6_CONFIG_1 ... MADERA_DSP6_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
2504 case MADERA_DSP7_CONFIG_1 ... MADERA_DSP7_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
2505 return true;
2506 default:
2507 return cs47l90_is_adsp_memory(reg);
2508 }
2509 }
2510
2511 static bool cs47l90_32bit_volatile_register(struct device *dev,
2512 unsigned int reg)
2513 {
2514 switch (reg) {
2515 case MADERA_WSEQ_SEQUENCE_1 ... MADERA_WSEQ_SEQUENCE_508:
2516 case MADERA_OTP_HPDET_CAL_1 ... MADERA_OTP_HPDET_CAL_2:
2517 case MADERA_DSP1_CONFIG_1 ... MADERA_DSP1_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
2518 case MADERA_DSP2_CONFIG_1 ... MADERA_DSP2_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
2519 case MADERA_DSP3_CONFIG_1 ... MADERA_DSP3_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
2520 case MADERA_DSP4_CONFIG_1 ... MADERA_DSP4_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
2521 case MADERA_DSP5_CONFIG_1 ... MADERA_DSP5_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
2522 case MADERA_DSP6_CONFIG_1 ... MADERA_DSP6_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
2523 case MADERA_DSP7_CONFIG_1 ... MADERA_DSP7_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
2524 return true;
2525 default:
2526 return cs47l90_is_adsp_memory(reg);
2527 }
2528 }
2529
2530 const struct regmap_config cs47l90_16bit_spi_regmap = {
2531 .name = "cs47l90_16bit",
2532 .reg_bits = 32,
2533 .pad_bits = 16,
2534 .val_bits = 16,
2535 .reg_format_endian = REGMAP_ENDIAN_BIG,
2536 .val_format_endian = REGMAP_ENDIAN_BIG,
2537
2538 .max_register = MADERA_INTERRUPT_RAW_STATUS_1,
2539 .readable_reg = cs47l90_16bit_readable_register,
2540 .volatile_reg = cs47l90_16bit_volatile_register,
2541
2542 .cache_type = REGCACHE_RBTREE,
2543 .reg_defaults = cs47l90_reg_default,
2544 .num_reg_defaults = ARRAY_SIZE(cs47l90_reg_default),
2545 };
2546 EXPORT_SYMBOL_GPL(cs47l90_16bit_spi_regmap);
2547
2548 const struct regmap_config cs47l90_16bit_i2c_regmap = {
2549 .name = "cs47l90_16bit",
2550 .reg_bits = 32,
2551 .val_bits = 16,
2552 .reg_format_endian = REGMAP_ENDIAN_BIG,
2553 .val_format_endian = REGMAP_ENDIAN_BIG,
2554
2555 .max_register = MADERA_INTERRUPT_RAW_STATUS_1,
2556 .readable_reg = cs47l90_16bit_readable_register,
2557 .volatile_reg = cs47l90_16bit_volatile_register,
2558
2559 .cache_type = REGCACHE_RBTREE,
2560 .reg_defaults = cs47l90_reg_default,
2561 .num_reg_defaults = ARRAY_SIZE(cs47l90_reg_default),
2562 };
2563 EXPORT_SYMBOL_GPL(cs47l90_16bit_i2c_regmap);
2564
2565 const struct regmap_config cs47l90_32bit_spi_regmap = {
2566 .name = "cs47l90_32bit",
2567 .reg_bits = 32,
2568 .reg_stride = 2,
2569 .pad_bits = 16,
2570 .val_bits = 32,
2571 .reg_format_endian = REGMAP_ENDIAN_BIG,
2572 .val_format_endian = REGMAP_ENDIAN_BIG,
2573
2574 .max_register = MADERA_DSP7_PMEM_ERR_ADDR___XMEM_ERR_ADDR,
2575 .readable_reg = cs47l90_32bit_readable_register,
2576 .volatile_reg = cs47l90_32bit_volatile_register,
2577
2578 .cache_type = REGCACHE_RBTREE,
2579 };
2580 EXPORT_SYMBOL_GPL(cs47l90_32bit_spi_regmap);
2581
2582 const struct regmap_config cs47l90_32bit_i2c_regmap = {
2583 .name = "cs47l90_32bit",
2584 .reg_bits = 32,
2585 .reg_stride = 2,
2586 .val_bits = 32,
2587 .reg_format_endian = REGMAP_ENDIAN_BIG,
2588 .val_format_endian = REGMAP_ENDIAN_BIG,
2589
2590 .max_register = MADERA_DSP7_PMEM_ERR_ADDR___XMEM_ERR_ADDR,
2591 .readable_reg = cs47l90_32bit_readable_register,
2592 .volatile_reg = cs47l90_32bit_volatile_register,
2593
2594 .cache_type = REGCACHE_RBTREE,
2595 };
2596 EXPORT_SYMBOL_GPL(cs47l90_32bit_i2c_regmap);