This source file includes following definitions.
- cs47l92_patch
- cs47l92_is_adsp_memory
- cs47l92_16bit_readable_register
- cs47l92_16bit_volatile_register
- cs47l92_32bit_readable_register
- cs47l92_32bit_volatile_register
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 #include <linux/device.h>
  12 #include <linux/module.h>
  13 #include <linux/regmap.h>
  14 
  15 #include <linux/mfd/madera/core.h>
  16 #include <linux/mfd/madera/registers.h>
  17 
  18 #include "madera.h"
  19 
  20 static const struct reg_sequence cs47l92_reva_16_patch[] = {
  21         { 0x3A2,  0x2C29 },
  22         { 0x3A3,  0x0E00 },
  23         { 0x281,  0x0000 },
  24         { 0x282,  0x0000 },
  25         { 0x4EA,  0x0100 },
  26         { 0x22B,  0x0000 },
  27         { 0x4A0,  0x0080 },
  28         { 0x4A1,  0x0000 },
  29         { 0x4A2,  0x0000 },
  30         { 0x180B, 0x033F },
  31         { 0x190B, 0x033F },
  32         { 0x442,  0x0304 },
  33         { 0x34C,  0x0003 },
  34         { 0x124,  0x0C49 },
  35         { 0x120,  0x0345 },
  36         { 0x120,  0x0305 },
  37         { 0x4FA,  0x5064 },
  38         { 0x1300, 0x050E },
  39         { 0x1302, 0x0101 },
  40         { 0x1380, 0x02E0 },
  41         { 0x1381, 0xF942 },
  42         { 0x1382, 0x04CE },
  43         { 0x1383, 0xFF06 },
  44         { 0x1390, 0x0304 },
  45         { 0x1391, 0xF8FF },
  46         { 0x1392, 0x04F3 },
  47         { 0x1393, 0xFF00 },
  48         { 0x13A0, 0x02E0 },
  49         { 0x13A1, 0xF942 },
  50         { 0x13A2, 0x04CE },
  51         { 0x13A3, 0xFF06 },
  52         { 0x13B0, 0x0304 },
  53         { 0x13B1, 0xF8FF },
  54         { 0x13B2, 0x04F3 },
  55         { 0x13B3, 0xFF00 },
  56         { 0x412,  0x0005 },
  57         { 0x41A,  0x0005 },
  58         { 0x422,  0x0005 },
  59 };
  60 
  61 static const struct reg_sequence cs47l92_reva_32_patch[] = {
  62         { 0x3030, 0x04A00C01 },
  63         { 0x3032, 0x0225F501 },
  64         { 0x3044, 0x04A00C00 },
  65         { 0x3046, 0x0225FF01 },
  66         { 0x3080, 0x04A00C01 },
  67         { 0x3082, 0x0226F501 },
  68         { 0x3094, 0x04A00C00 },
  69         { 0x3096, 0x0226FF01 },
  70         { 0x30D1, 0x04A10C01 },
  71         { 0x30D2, 0x0227F501 },
  72         { 0x30E4, 0x04A10C00 },
  73         { 0x30E6, 0x0227FF01 },
  74         { 0x3120, 0x04A10C01 },
  75         { 0x3122, 0x0228F501 },
  76         { 0x3134, 0x04A10C00 },
  77         { 0x3136, 0x0228FF01 },
  78         { 0x3170, 0x04A20C01 },
  79         { 0x3172, 0x022B0101 },
  80         { 0x3174, 0x0229F501 },
  81         { 0x3184, 0x04A20C00 },
  82         { 0x3186, 0x022B0100 },
  83         { 0x3188, 0x0229FF01 },
  84         { 0x31C0, 0x04A20C01 },
  85         { 0x31C2, 0x022B0001 },
  86         { 0x31C4, 0x022AF501 },
  87         { 0x31D4, 0x04A20C00 },
  88         { 0x31D6, 0x022B0000 },
  89         { 0x31D8, 0x022AFF01 },
  90 };
  91 
  92 int cs47l92_patch(struct madera *madera)
  93 {
  94         int ret;
  95 
  96         ret = regmap_register_patch(madera->regmap,
  97                                     cs47l92_reva_16_patch,
  98                                     ARRAY_SIZE(cs47l92_reva_16_patch));
  99         if (ret < 0) {
 100                 dev_err(madera->dev,
 101                         "Error in applying 16-bit patch: %d\n", ret);
 102                 return ret;
 103         }
 104 
 105         ret = regmap_register_patch(madera->regmap_32bit,
 106                                     cs47l92_reva_32_patch,
 107                                     ARRAY_SIZE(cs47l92_reva_32_patch));
 108         if (ret < 0) {
 109                 dev_err(madera->dev,
 110                         "Error in applying 32-bit patch: %d\n", ret);
 111                 return ret;
 112         }
 113 
 114         return 0;
 115 }
 116 EXPORT_SYMBOL_GPL(cs47l92_patch);
 117 
 118 static const struct reg_default cs47l92_reg_default[] = {
 119         { 0x00000020, 0x0000 }, 
 120         { 0x00000021, 0x1000 }, 
 121         { 0x00000022, 0x0000 }, 
 122         { 0x00000023, 0x1000 }, 
 123         { 0x00000024, 0x0000 }, 
 124         { 0x00000030, 0x0000 }, 
 125         { 0x00000031, 0x0100 }, 
 126         { 0x00000032, 0x0100 }, 
 127         { 0x00000061, 0x01ff }, 
 128         { 0x00000062, 0x01ff }, 
 129         { 0x00000063, 0x01ff }, 
 130         { 0x00000064, 0x01ff }, 
 131         { 0x00000090, 0x0000 }, 
 132         { 0x00000091, 0x7fff }, 
 133         { 0x00000092, 0x0000 }, 
 134         { 0x00000093, 0x0000 }, 
 135         { 0x00000094, 0x0000 }, 
 136         { 0x00000095, 0x0000 }, 
 137         { 0x00000096, 0x0000 }, 
 138         { 0x00000097, 0x0000 }, 
 139         { 0x000000a0, 0x0000 }, 
 140         { 0x00000100, 0x0002 }, 
 141         { 0x00000101, 0x0404 }, 
 142         { 0x00000102, 0x0011 }, 
 143         { 0x00000103, 0x0011 }, 
 144         { 0x00000104, 0x0011 }, 
 145         { 0x00000112, 0x0305 }, 
 146         { 0x00000113, 0x0011 }, 
 147         { 0x00000114, 0x0011 }, 
 148         { 0x00000120, 0x0305 }, 
 149         { 0x00000122, 0x0000 }, 
 150         { 0x00000149, 0x0000 }, 
 151         { 0x0000014a, 0x0000 }, 
 152         { 0x00000152, 0x0000 }, 
 153         { 0x00000153, 0x0000 }, 
 154         { 0x00000154, 0x0000 }, 
 155         { 0x00000155, 0x0000 }, 
 156         { 0x00000156, 0x0000 }, 
 157         { 0x00000171, 0x7004 }, 
 158         { 0x00000172, 0x0004 }, 
 159         { 0x00000173, 0x0000 }, 
 160         { 0x00000174, 0x0000 }, 
 161         { 0x00000175, 0x0001 }, 
 162         { 0x00000176, 0x8000 }, 
 163         { 0x00000177, 0x0680 }, 
 164         { 0x00000178, 0x21f0 }, 
 165         { 0x00000179, 0x0000 }, 
 166         { 0x0000017a, 0x0000 }, 
 167         { 0x0000017b, 0x0011 }, 
 168         { 0x0000017d, 0x33e8 }, 
 169         { 0x00000181, 0x7000 }, 
 170         { 0x00000182, 0x0004 }, 
 171         { 0x00000183, 0x0000 }, 
 172         { 0x00000184, 0x0000 }, 
 173         { 0x00000185, 0x0001 }, 
 174         { 0x00000186, 0x0000 }, 
 175         { 0x0000018e, 0x0c04 }, 
 176         { 0x00000191, 0x7000 }, 
 177         { 0x00000192, 0x0004 }, 
 178         { 0x00000193, 0x0000 }, 
 179         { 0x00000194, 0x0000 }, 
 180         { 0x00000195, 0x0001 }, 
 181         { 0x00000196, 0x8000 }, 
 182         { 0x00000197, 0x0680 }, 
 183         { 0x00000198, 0x21f0 }, 
 184         { 0x00000199, 0x0000 }, 
 185         { 0x0000019a, 0x0000 }, 
 186         { 0x0000019b, 0x0011 }, 
 187         { 0x0000019d, 0x33e8 }, 
 188         { 0x000001a1, 0x7000 }, 
 189         { 0x000001a2, 0x0004 }, 
 190         { 0x000001a3, 0x0000 }, 
 191         { 0x000001a4, 0x0000 }, 
 192         { 0x000001a5, 0x0001 }, 
 193         { 0x000001a6, 0x0000 }, 
 194         { 0x000001ae, 0x0c04 }, 
 195         { 0x00000200, 0x0006 }, 
 196         { 0x00000213, 0x03e4 }, 
 197         { 0x00000218, 0x00e6 }, 
 198         { 0x00000219, 0x00e6 }, 
 199         { 0x0000021c, 0x2222 }, 
 200         { 0x0000021e, 0x0022 }, 
 201         { 0x00000293, 0x0080 }, 
 202         { 0x00000299, 0x0000 }, 
 203         { 0x0000029b, 0x0000 }, 
 204         { 0x000002a2, 0x0010 }, 
 205         { 0x000002a3, 0x1102 }, 
 206         { 0x000002a4, 0x009f }, 
 207         { 0x000002a6, 0x3d3d }, 
 208         { 0x000002a7, 0x3d3d }, 
 209         { 0x000002a8, 0x333d }, 
 210         { 0x000002a9, 0x202d }, 
 211         { 0x000002b2, 0x0010 }, 
 212         { 0x000002b3, 0x1102 }, 
 213         { 0x000002b4, 0x009f }, 
 214         { 0x000002b6, 0x3d3d }, 
 215         { 0x000002b7, 0x3d3d }, 
 216         { 0x000002b8, 0x333d }, 
 217         { 0x000002b9, 0x202d }, 
 218         { 0x000002c6, 0x0210 }, 
 219         { 0x000002c8, 0x0000 }, 
 220         { 0x000002d3, 0x0000 }, 
 221         { 0x00000300, 0x0000 }, 
 222         { 0x00000308, 0x0400 }, 
 223         { 0x00000309, 0x0022 }, 
 224         { 0x0000030c, 0x0002 }, 
 225         { 0x00000310, 0x0080 }, 
 226         { 0x00000311, 0x0180 }, 
 227         { 0x00000312, 0x0500 }, 
 228         { 0x00000313, 0x0000 }, 
 229         { 0x00000314, 0x0080 }, 
 230         { 0x00000315, 0x0180 }, 
 231         { 0x00000316, 0x0000 }, 
 232         { 0x00000317, 0x0000 }, 
 233         { 0x00000318, 0x0080 }, 
 234         { 0x00000319, 0x0180 }, 
 235         { 0x0000031a, 0x0500 }, 
 236         { 0x0000031b, 0x0000 }, 
 237         { 0x0000031c, 0x0080 }, 
 238         { 0x0000031d, 0x0180 }, 
 239         { 0x0000031e, 0x0000 }, 
 240         { 0x0000031f, 0x0000 }, 
 241         { 0x00000320, 0x0000 }, 
 242         { 0x00000321, 0x0180 }, 
 243         { 0x00000322, 0x0500 }, 
 244         { 0x00000323, 0x0000 }, 
 245         { 0x00000324, 0x0000 }, 
 246         { 0x00000325, 0x0180 }, 
 247         { 0x00000326, 0x0000 }, 
 248         { 0x00000327, 0x0000 }, 
 249         { 0x00000328, 0x0000 }, 
 250         { 0x00000329, 0x0180 }, 
 251         { 0x0000032a, 0x0500 }, 
 252         { 0x0000032b, 0x0000 }, 
 253         { 0x0000032c, 0x0000 }, 
 254         { 0x0000032d, 0x0180 }, 
 255         { 0x0000032e, 0x0000 }, 
 256         { 0x0000032f, 0x0000 }, 
 257         { 0x00000400, 0x0000 }, 
 258         { 0x00000408, 0x0040 }, 
 259         { 0x00000409, 0x0022 }, 
 260         { 0x00000410, 0x0080 }, 
 261         { 0x00000411, 0x0180 }, 
 262         { 0x00000412, 0x0005 }, 
 263         { 0x00000413, 0x0001 }, 
 264         { 0x00000414, 0x0080 }, 
 265         { 0x00000415, 0x0180 }, 
 266         { 0x00000417, 0x0002 }, 
 267         { 0x00000418, 0x0080 }, 
 268         { 0x00000419, 0x0180 }, 
 269         { 0x0000041a, 0x0005 }, 
 270         { 0x0000041b, 0x0004 }, 
 271         { 0x0000041c, 0x0080 }, 
 272         { 0x0000041d, 0x0180 }, 
 273         { 0x0000041f, 0x0008 }, 
 274         { 0x00000420, 0x0080 }, 
 275         { 0x00000421, 0x0180 }, 
 276         { 0x00000422, 0x0005 }, 
 277         { 0x00000423, 0x0010 }, 
 278         { 0x00000424, 0x0080 }, 
 279         { 0x00000425, 0x0180 }, 
 280         { 0x00000427, 0x0020 }, 
 281         { 0x00000430, 0x0000 }, 
 282         { 0x00000431, 0x0180 }, 
 283         { 0x00000433, 0x0100 }, 
 284         { 0x00000434, 0x0000 }, 
 285         { 0x00000435, 0x0180 }, 
 286         { 0x00000437, 0x0200 }, 
 287         { 0x00000450, 0x0000 }, 
 288         { 0x00000451, 0x0000 }, 
 289         { 0x00000458, 0x0000 }, 
 290         { 0x00000490, 0x0069 }, 
 291         { 0x00000491, 0x0000 }, 
 292         { 0x000004a0, 0x0080 }, 
 293         { 0x000004a1, 0x0000 }, 
 294         { 0x000004a2, 0x0000 }, 
 295         { 0x00000500, 0x000c }, 
 296         { 0x00000501, 0x0000 }, 
 297         { 0x00000502, 0x0000 }, 
 298         { 0x00000503, 0x0000 }, 
 299         { 0x00000504, 0x0000 }, 
 300         { 0x00000506, 0x0040 }, 
 301         { 0x00000507, 0x1818 }, 
 302         { 0x00000508, 0x1818 }, 
 303         { 0x00000509, 0x0000 }, 
 304         { 0x0000050a, 0x0001 }, 
 305         { 0x0000050b, 0x0002 }, 
 306         { 0x0000050c, 0x0003 }, 
 307         { 0x0000050d, 0x0004 }, 
 308         { 0x0000050e, 0x0005 }, 
 309         { 0x0000050f, 0x0006 }, 
 310         { 0x00000510, 0x0007 }, 
 311         { 0x00000511, 0x0000 }, 
 312         { 0x00000512, 0x0001 }, 
 313         { 0x00000513, 0x0002 }, 
 314         { 0x00000514, 0x0003 }, 
 315         { 0x00000515, 0x0004 }, 
 316         { 0x00000516, 0x0005 }, 
 317         { 0x00000517, 0x0006 }, 
 318         { 0x00000518, 0x0007 }, 
 319         { 0x00000519, 0x0000 }, 
 320         { 0x0000051a, 0x0000 }, 
 321         { 0x00000540, 0x000c }, 
 322         { 0x00000541, 0x0000 }, 
 323         { 0x00000542, 0x0000 }, 
 324         { 0x00000543, 0x0000 }, 
 325         { 0x00000544, 0x0000 }, 
 326         { 0x00000546, 0x0040 }, 
 327         { 0x00000547, 0x1818 }, 
 328         { 0x00000548, 0x1818 }, 
 329         { 0x00000549, 0x0000 }, 
 330         { 0x0000054a, 0x0001 }, 
 331         { 0x0000054b, 0x0002 }, 
 332         { 0x0000054c, 0x0003 }, 
 333         { 0x0000054d, 0x0004 }, 
 334         { 0x0000054e, 0x0005 }, 
 335         { 0x0000054f, 0x0006 }, 
 336         { 0x00000550, 0x0007 }, 
 337         { 0x00000551, 0x0000 }, 
 338         { 0x00000552, 0x0001 }, 
 339         { 0x00000553, 0x0002 }, 
 340         { 0x00000554, 0x0003 }, 
 341         { 0x00000555, 0x0004 }, 
 342         { 0x00000556, 0x0005 }, 
 343         { 0x00000557, 0x0006 }, 
 344         { 0x00000558, 0x0007 }, 
 345         { 0x00000559, 0x0000 }, 
 346         { 0x0000055a, 0x0000 }, 
 347         { 0x00000580, 0x000c }, 
 348         { 0x00000581, 0x0000 }, 
 349         { 0x00000582, 0x0000 }, 
 350         { 0x00000583, 0x0000 }, 
 351         { 0x00000584, 0x0000 }, 
 352         { 0x00000586, 0x0040 }, 
 353         { 0x00000587, 0x1818 }, 
 354         { 0x00000588, 0x1818 }, 
 355         { 0x00000589, 0x0000 }, 
 356         { 0x0000058a, 0x0001 }, 
 357         { 0x0000058b, 0x0002 }, 
 358         { 0x0000058c, 0x0003 }, 
 359         { 0x0000058d, 0x0004 }, 
 360         { 0x0000058e, 0x0005 }, 
 361         { 0x0000058f, 0x0006 }, 
 362         { 0x00000590, 0x0007 }, 
 363         { 0x00000591, 0x0000 }, 
 364         { 0x00000592, 0x0001 }, 
 365         { 0x00000593, 0x0002 }, 
 366         { 0x00000594, 0x0003 }, 
 367         { 0x00000595, 0x0004 }, 
 368         { 0x00000596, 0x0005 }, 
 369         { 0x00000597, 0x0006 }, 
 370         { 0x00000598, 0x0007 }, 
 371         { 0x00000599, 0x0000 }, 
 372         { 0x0000059a, 0x0000 }, 
 373         { 0x000005c2, 0x0000 }, 
 374         { 0x000005e3, 0x0000 }, 
 375         { 0x000005e5, 0x0000 }, 
 376         { 0x000005e6, 0x0000 }, 
 377         { 0x000005e7, 0x0000 }, 
 378         { 0x000005e8, 0x0000 }, 
 379         { 0x000005e9, 0x0000 }, 
 380         { 0x000005ea, 0x0000 }, 
 381         { 0x000005eb, 0x0000 }, 
 382         { 0x000005ec, 0x0000 }, 
 383         { 0x000005f5, 0x0000 }, 
 384         { 0x000005f6, 0x0000 }, 
 385         { 0x00000640, 0x0000 }, 
 386         { 0x00000641, 0x0080 }, 
 387         { 0x00000642, 0x0000 }, 
 388         { 0x00000643, 0x0080 }, 
 389         { 0x00000644, 0x0000 }, 
 390         { 0x00000645, 0x0080 }, 
 391         { 0x00000646, 0x0000 }, 
 392         { 0x00000647, 0x0080 }, 
 393         { 0x00000648, 0x0000 }, 
 394         { 0x00000649, 0x0080 }, 
 395         { 0x0000064a, 0x0000 }, 
 396         { 0x0000064b, 0x0080 }, 
 397         { 0x0000064c, 0x0000 }, 
 398         { 0x0000064d, 0x0080 }, 
 399         { 0x0000064e, 0x0000 }, 
 400         { 0x0000064f, 0x0080 }, 
 401         { 0x00000680, 0x0000 }, 
 402         { 0x00000681, 0x0080 }, 
 403         { 0x00000682, 0x0000 }, 
 404         { 0x00000683, 0x0080 }, 
 405         { 0x00000684, 0x0000 }, 
 406         { 0x00000685, 0x0080 }, 
 407         { 0x00000686, 0x0000 }, 
 408         { 0x00000687, 0x0080 }, 
 409         { 0x00000688, 0x0000 }, 
 410         { 0x00000689, 0x0080 }, 
 411         { 0x0000068a, 0x0000 }, 
 412         { 0x0000068b, 0x0080 }, 
 413         { 0x0000068c, 0x0000 }, 
 414         { 0x0000068d, 0x0080 }, 
 415         { 0x0000068e, 0x0000 }, 
 416         { 0x0000068f, 0x0080 }, 
 417         { 0x00000690, 0x0000 }, 
 418         { 0x00000691, 0x0080 }, 
 419         { 0x00000692, 0x0000 }, 
 420         { 0x00000693, 0x0080 }, 
 421         { 0x00000694, 0x0000 }, 
 422         { 0x00000695, 0x0080 }, 
 423         { 0x00000696, 0x0000 }, 
 424         { 0x00000697, 0x0080 }, 
 425         { 0x00000698, 0x0000 }, 
 426         { 0x00000699, 0x0080 }, 
 427         { 0x0000069a, 0x0000 }, 
 428         { 0x0000069b, 0x0080 }, 
 429         { 0x0000069c, 0x0000 }, 
 430         { 0x0000069d, 0x0080 }, 
 431         { 0x0000069e, 0x0000 }, 
 432         { 0x0000069f, 0x0080 }, 
 433         { 0x000006a0, 0x0000 }, 
 434         { 0x000006a1, 0x0080 }, 
 435         { 0x000006a2, 0x0000 }, 
 436         { 0x000006a3, 0x0080 }, 
 437         { 0x000006a4, 0x0000 }, 
 438         { 0x000006a5, 0x0080 }, 
 439         { 0x000006a6, 0x0000 }, 
 440         { 0x000006a7, 0x0080 }, 
 441         { 0x000006a8, 0x0000 }, 
 442         { 0x000006a9, 0x0080 }, 
 443         { 0x000006aa, 0x0000 }, 
 444         { 0x000006ab, 0x0080 }, 
 445         { 0x000006ac, 0x0000 }, 
 446         { 0x000006ad, 0x0080 }, 
 447         { 0x000006ae, 0x0000 }, 
 448         { 0x000006af, 0x0080 }, 
 449         { 0x000006c0, 0x0000 }, 
 450         { 0x000006c1, 0x0080 }, 
 451         { 0x000006c2, 0x0000 }, 
 452         { 0x000006c3, 0x0080 }, 
 453         { 0x000006c4, 0x0000 }, 
 454         { 0x000006c5, 0x0080 }, 
 455         { 0x000006c6, 0x0000 }, 
 456         { 0x000006c7, 0x0080 }, 
 457         { 0x000006c8, 0x0000 }, 
 458         { 0x000006c9, 0x0080 }, 
 459         { 0x000006ca, 0x0000 }, 
 460         { 0x000006cb, 0x0080 }, 
 461         { 0x000006cc, 0x0000 }, 
 462         { 0x000006cd, 0x0080 }, 
 463         { 0x000006ce, 0x0000 }, 
 464         { 0x000006cf, 0x0080 }, 
 465         { 0x00000700, 0x0000 }, 
 466         { 0x00000701, 0x0080 }, 
 467         { 0x00000702, 0x0000 }, 
 468         { 0x00000703, 0x0080 }, 
 469         { 0x00000704, 0x0000 }, 
 470         { 0x00000705, 0x0080 }, 
 471         { 0x00000706, 0x0000 }, 
 472         { 0x00000707, 0x0080 }, 
 473         { 0x00000708, 0x0000 }, 
 474         { 0x00000709, 0x0080 }, 
 475         { 0x0000070a, 0x0000 }, 
 476         { 0x0000070b, 0x0080 }, 
 477         { 0x0000070c, 0x0000 }, 
 478         { 0x0000070d, 0x0080 }, 
 479         { 0x0000070e, 0x0000 }, 
 480         { 0x0000070f, 0x0080 }, 
 481         { 0x00000710, 0x0000 }, 
 482         { 0x00000711, 0x0080 }, 
 483         { 0x00000712, 0x0000 }, 
 484         { 0x00000713, 0x0080 }, 
 485         { 0x00000714, 0x0000 }, 
 486         { 0x00000715, 0x0080 }, 
 487         { 0x00000716, 0x0000 }, 
 488         { 0x00000717, 0x0080 }, 
 489         { 0x00000718, 0x0000 }, 
 490         { 0x00000719, 0x0080 }, 
 491         { 0x0000071a, 0x0000 }, 
 492         { 0x0000071b, 0x0080 }, 
 493         { 0x0000071c, 0x0000 }, 
 494         { 0x0000071d, 0x0080 }, 
 495         { 0x0000071e, 0x0000 }, 
 496         { 0x0000071f, 0x0080 }, 
 497         { 0x00000720, 0x0000 }, 
 498         { 0x00000721, 0x0080 }, 
 499         { 0x00000722, 0x0000 }, 
 500         { 0x00000723, 0x0080 }, 
 501         { 0x00000724, 0x0000 }, 
 502         { 0x00000725, 0x0080 }, 
 503         { 0x00000726, 0x0000 }, 
 504         { 0x00000727, 0x0080 }, 
 505         { 0x00000728, 0x0000 }, 
 506         { 0x00000729, 0x0080 }, 
 507         { 0x0000072a, 0x0000 }, 
 508         { 0x0000072b, 0x0080 }, 
 509         { 0x0000072c, 0x0000 }, 
 510         { 0x0000072d, 0x0080 }, 
 511         { 0x0000072e, 0x0000 }, 
 512         { 0x0000072f, 0x0080 }, 
 513         { 0x00000730, 0x0000 }, 
 514         { 0x00000731, 0x0080 }, 
 515         { 0x00000732, 0x0000 }, 
 516         { 0x00000733, 0x0080 }, 
 517         { 0x00000734, 0x0000 }, 
 518         { 0x00000735, 0x0080 }, 
 519         { 0x00000736, 0x0000 }, 
 520         { 0x00000737, 0x0080 }, 
 521         { 0x00000738, 0x0000 }, 
 522         { 0x00000739, 0x0080 }, 
 523         { 0x0000073a, 0x0000 }, 
 524         { 0x0000073b, 0x0080 }, 
 525         { 0x0000073c, 0x0000 }, 
 526         { 0x0000073d, 0x0080 }, 
 527         { 0x0000073e, 0x0000 }, 
 528         { 0x0000073f, 0x0080 }, 
 529         { 0x00000740, 0x0000 }, 
 530         { 0x00000741, 0x0080 }, 
 531         { 0x00000742, 0x0000 }, 
 532         { 0x00000743, 0x0080 }, 
 533         { 0x00000744, 0x0000 }, 
 534         { 0x00000745, 0x0080 }, 
 535         { 0x00000746, 0x0000 }, 
 536         { 0x00000747, 0x0080 }, 
 537         { 0x00000748, 0x0000 }, 
 538         { 0x00000749, 0x0080 }, 
 539         { 0x0000074a, 0x0000 }, 
 540         { 0x0000074b, 0x0080 }, 
 541         { 0x0000074c, 0x0000 }, 
 542         { 0x0000074d, 0x0080 }, 
 543         { 0x0000074e, 0x0000 }, 
 544         { 0x0000074f, 0x0080 }, 
 545         { 0x00000750, 0x0000 }, 
 546         { 0x00000751, 0x0080 }, 
 547         { 0x00000752, 0x0000 }, 
 548         { 0x00000753, 0x0080 }, 
 549         { 0x00000754, 0x0000 }, 
 550         { 0x00000755, 0x0080 }, 
 551         { 0x00000756, 0x0000 }, 
 552         { 0x00000757, 0x0080 }, 
 553         { 0x00000758, 0x0000 }, 
 554         { 0x00000759, 0x0080 }, 
 555         { 0x0000075a, 0x0000 }, 
 556         { 0x0000075b, 0x0080 }, 
 557         { 0x0000075c, 0x0000 }, 
 558         { 0x0000075d, 0x0080 }, 
 559         { 0x0000075e, 0x0000 }, 
 560         { 0x0000075f, 0x0080 }, 
 561         { 0x00000760, 0x0000 }, 
 562         { 0x00000761, 0x0080 }, 
 563         { 0x00000762, 0x0000 }, 
 564         { 0x00000763, 0x0080 }, 
 565         { 0x00000764, 0x0000 }, 
 566         { 0x00000765, 0x0080 }, 
 567         { 0x00000766, 0x0000 }, 
 568         { 0x00000767, 0x0080 }, 
 569         { 0x00000768, 0x0000 }, 
 570         { 0x00000769, 0x0080 }, 
 571         { 0x0000076a, 0x0000 }, 
 572         { 0x0000076b, 0x0080 }, 
 573         { 0x0000076c, 0x0000 }, 
 574         { 0x0000076d, 0x0080 }, 
 575         { 0x0000076e, 0x0000 }, 
 576         { 0x0000076f, 0x0080 }, 
 577         { 0x00000770, 0x0000 }, 
 578         { 0x00000771, 0x0080 }, 
 579         { 0x00000772, 0x0000 }, 
 580         { 0x00000773, 0x0080 }, 
 581         { 0x00000774, 0x0000 }, 
 582         { 0x00000775, 0x0080 }, 
 583         { 0x00000776, 0x0000 }, 
 584         { 0x00000777, 0x0080 }, 
 585         { 0x00000778, 0x0000 }, 
 586         { 0x00000779, 0x0080 }, 
 587         { 0x0000077a, 0x0000 }, 
 588         { 0x0000077b, 0x0080 }, 
 589         { 0x0000077c, 0x0000 }, 
 590         { 0x0000077d, 0x0080 }, 
 591         { 0x0000077e, 0x0000 }, 
 592         { 0x0000077f, 0x0080 }, 
 593         { 0x00000780, 0x0000 }, 
 594         { 0x00000781, 0x0080 }, 
 595         { 0x00000782, 0x0000 }, 
 596         { 0x00000783, 0x0080 }, 
 597         { 0x00000784, 0x0000 }, 
 598         { 0x00000785, 0x0080 }, 
 599         { 0x00000786, 0x0000 }, 
 600         { 0x00000787, 0x0080 }, 
 601         { 0x00000788, 0x0000 }, 
 602         { 0x00000789, 0x0080 }, 
 603         { 0x0000078a, 0x0000 }, 
 604         { 0x0000078b, 0x0080 }, 
 605         { 0x0000078c, 0x0000 }, 
 606         { 0x0000078d, 0x0080 }, 
 607         { 0x0000078e, 0x0000 }, 
 608         { 0x0000078f, 0x0080 }, 
 609         { 0x00000790, 0x0000 }, 
 610         { 0x00000791, 0x0080 }, 
 611         { 0x00000792, 0x0000 }, 
 612         { 0x00000793, 0x0080 }, 
 613         { 0x00000794, 0x0000 }, 
 614         { 0x00000795, 0x0080 }, 
 615         { 0x00000796, 0x0000 }, 
 616         { 0x00000797, 0x0080 }, 
 617         { 0x00000798, 0x0000 }, 
 618         { 0x00000799, 0x0080 }, 
 619         { 0x0000079a, 0x0000 }, 
 620         { 0x0000079b, 0x0080 }, 
 621         { 0x0000079c, 0x0000 }, 
 622         { 0x0000079d, 0x0080 }, 
 623         { 0x0000079e, 0x0000 }, 
 624         { 0x0000079f, 0x0080 }, 
 625         { 0x000007a0, 0x0000 }, 
 626         { 0x000007a1, 0x0080 }, 
 627         { 0x000007a2, 0x0000 }, 
 628         { 0x000007a3, 0x0080 }, 
 629         { 0x000007a4, 0x0000 }, 
 630         { 0x000007a5, 0x0080 }, 
 631         { 0x000007a6, 0x0000 }, 
 632         { 0x000007a7, 0x0080 }, 
 633         { 0x000007a8, 0x0000 }, 
 634         { 0x000007a9, 0x0080 }, 
 635         { 0x000007aa, 0x0000 }, 
 636         { 0x000007ab, 0x0080 }, 
 637         { 0x000007ac, 0x0000 }, 
 638         { 0x000007ad, 0x0080 }, 
 639         { 0x000007ae, 0x0000 }, 
 640         { 0x000007af, 0x0080 }, 
 641         { 0x000007b0, 0x0000 }, 
 642         { 0x000007b1, 0x0080 }, 
 643         { 0x000007b2, 0x0000 }, 
 644         { 0x000007b3, 0x0080 }, 
 645         { 0x000007b4, 0x0000 }, 
 646         { 0x000007b5, 0x0080 }, 
 647         { 0x000007b6, 0x0000 }, 
 648         { 0x000007b7, 0x0080 }, 
 649         { 0x000007b8, 0x0000 }, 
 650         { 0x000007b9, 0x0080 }, 
 651         { 0x000007ba, 0x0000 }, 
 652         { 0x000007bb, 0x0080 }, 
 653         { 0x000007bc, 0x0000 }, 
 654         { 0x000007bd, 0x0080 }, 
 655         { 0x000007be, 0x0000 }, 
 656         { 0x000007bf, 0x0080 }, 
 657         { 0x000007c0, 0x0000 }, 
 658         { 0x000007c1, 0x0080 }, 
 659         { 0x000007c2, 0x0000 }, 
 660         { 0x000007c3, 0x0080 }, 
 661         { 0x000007c4, 0x0000 }, 
 662         { 0x000007c5, 0x0080 }, 
 663         { 0x000007c6, 0x0000 }, 
 664         { 0x000007c7, 0x0080 }, 
 665         { 0x000007c8, 0x0000 }, 
 666         { 0x000007c9, 0x0080 }, 
 667         { 0x000007ca, 0x0000 }, 
 668         { 0x000007cb, 0x0080 }, 
 669         { 0x000007cc, 0x0000 }, 
 670         { 0x000007cd, 0x0080 }, 
 671         { 0x000007ce, 0x0000 }, 
 672         { 0x000007cf, 0x0080 }, 
 673         { 0x000007d0, 0x0000 }, 
 674         { 0x000007d1, 0x0080 }, 
 675         { 0x000007d2, 0x0000 }, 
 676         { 0x000007d3, 0x0080 }, 
 677         { 0x000007d4, 0x0000 }, 
 678         { 0x000007d5, 0x0080 }, 
 679         { 0x000007d6, 0x0000 }, 
 680         { 0x000007d7, 0x0080 }, 
 681         { 0x000007d8, 0x0000 }, 
 682         { 0x000007d9, 0x0080 }, 
 683         { 0x000007da, 0x0000 }, 
 684         { 0x000007db, 0x0080 }, 
 685         { 0x000007dc, 0x0000 }, 
 686         { 0x000007dd, 0x0080 }, 
 687         { 0x000007de, 0x0000 }, 
 688         { 0x000007df, 0x0080 }, 
 689         { 0x000007e0, 0x0000 }, 
 690         { 0x000007e1, 0x0080 }, 
 691         { 0x000007e2, 0x0000 }, 
 692         { 0x000007e3, 0x0080 }, 
 693         { 0x000007e4, 0x0000 }, 
 694         { 0x000007e5, 0x0080 }, 
 695         { 0x000007e6, 0x0000 }, 
 696         { 0x000007e7, 0x0080 }, 
 697         { 0x000007e8, 0x0000 }, 
 698         { 0x000007e9, 0x0080 }, 
 699         { 0x000007ea, 0x0000 }, 
 700         { 0x000007eb, 0x0080 }, 
 701         { 0x000007ec, 0x0000 }, 
 702         { 0x000007ed, 0x0080 }, 
 703         { 0x000007ee, 0x0000 }, 
 704         { 0x000007ef, 0x0080 }, 
 705         { 0x000007f0, 0x0000 }, 
 706         { 0x000007f1, 0x0080 }, 
 707         { 0x000007f2, 0x0000 }, 
 708         { 0x000007f3, 0x0080 }, 
 709         { 0x000007f4, 0x0000 }, 
 710         { 0x000007f5, 0x0080 }, 
 711         { 0x000007f6, 0x0000 }, 
 712         { 0x000007f7, 0x0080 }, 
 713         { 0x000007f8, 0x0000 }, 
 714         { 0x000007f9, 0x0080 }, 
 715         { 0x000007fa, 0x0000 }, 
 716         { 0x000007fb, 0x0080 }, 
 717         { 0x000007fc, 0x0000 }, 
 718         { 0x000007fd, 0x0080 }, 
 719         { 0x000007fe, 0x0000 }, 
 720         { 0x000007ff, 0x0080 }, 
 721         { 0x00000800, 0x0000 }, 
 722         { 0x00000801, 0x0080 }, 
 723         { 0x00000808, 0x0000 }, 
 724         { 0x00000809, 0x0080 }, 
 725         { 0x00000880, 0x0000 }, 
 726         { 0x00000881, 0x0080 }, 
 727         { 0x00000882, 0x0000 }, 
 728         { 0x00000883, 0x0080 }, 
 729         { 0x00000884, 0x0000 }, 
 730         { 0x00000885, 0x0080 }, 
 731         { 0x00000886, 0x0000 }, 
 732         { 0x00000887, 0x0080 }, 
 733         { 0x00000888, 0x0000 }, 
 734         { 0x00000889, 0x0080 }, 
 735         { 0x0000088a, 0x0000 }, 
 736         { 0x0000088b, 0x0080 }, 
 737         { 0x0000088c, 0x0000 }, 
 738         { 0x0000088d, 0x0080 }, 
 739         { 0x0000088e, 0x0000 }, 
 740         { 0x0000088f, 0x0080 }, 
 741         { 0x00000890, 0x0000 }, 
 742         { 0x00000891, 0x0080 }, 
 743         { 0x00000892, 0x0000 }, 
 744         { 0x00000893, 0x0080 }, 
 745         { 0x00000894, 0x0000 }, 
 746         { 0x00000895, 0x0080 }, 
 747         { 0x00000896, 0x0000 }, 
 748         { 0x00000897, 0x0080 }, 
 749         { 0x00000898, 0x0000 }, 
 750         { 0x00000899, 0x0080 }, 
 751         { 0x0000089a, 0x0000 }, 
 752         { 0x0000089b, 0x0080 }, 
 753         { 0x0000089c, 0x0000 }, 
 754         { 0x0000089d, 0x0080 }, 
 755         { 0x0000089e, 0x0000 }, 
 756         { 0x0000089f, 0x0080 }, 
 757         { 0x000008c0, 0x0000 }, 
 758         { 0x000008c1, 0x0080 }, 
 759         { 0x000008c2, 0x0000 }, 
 760         { 0x000008c3, 0x0080 }, 
 761         { 0x000008c4, 0x0000 }, 
 762         { 0x000008c5, 0x0080 }, 
 763         { 0x000008c6, 0x0000 }, 
 764         { 0x000008c7, 0x0080 }, 
 765         { 0x000008c8, 0x0000 }, 
 766         { 0x000008c9, 0x0080 }, 
 767         { 0x000008ca, 0x0000 }, 
 768         { 0x000008cb, 0x0080 }, 
 769         { 0x000008cc, 0x0000 }, 
 770         { 0x000008cd, 0x0080 }, 
 771         { 0x000008ce, 0x0000 }, 
 772         { 0x000008cf, 0x0080 }, 
 773         { 0x000008d0, 0x0000 }, 
 774         { 0x000008d1, 0x0080 }, 
 775         { 0x000008d2, 0x0000 }, 
 776         { 0x000008d3, 0x0080 }, 
 777         { 0x000008d4, 0x0000 }, 
 778         { 0x000008d5, 0x0080 }, 
 779         { 0x000008d6, 0x0000 }, 
 780         { 0x000008d7, 0x0080 }, 
 781         { 0x000008d8, 0x0000 }, 
 782         { 0x000008d9, 0x0080 }, 
 783         { 0x000008da, 0x0000 }, 
 784         { 0x000008db, 0x0080 }, 
 785         { 0x000008dc, 0x0000 }, 
 786         { 0x000008dd, 0x0080 }, 
 787         { 0x000008de, 0x0000 }, 
 788         { 0x000008df, 0x0080 }, 
 789         { 0x00000900, 0x0000 }, 
 790         { 0x00000901, 0x0080 }, 
 791         { 0x00000902, 0x0000 }, 
 792         { 0x00000903, 0x0080 }, 
 793         { 0x00000904, 0x0000 }, 
 794         { 0x00000905, 0x0080 }, 
 795         { 0x00000906, 0x0000 }, 
 796         { 0x00000907, 0x0080 }, 
 797         { 0x00000908, 0x0000 }, 
 798         { 0x00000909, 0x0080 }, 
 799         { 0x0000090a, 0x0000 }, 
 800         { 0x0000090b, 0x0080 }, 
 801         { 0x0000090c, 0x0000 }, 
 802         { 0x0000090d, 0x0080 }, 
 803         { 0x0000090e, 0x0000 }, 
 804         { 0x0000090f, 0x0080 }, 
 805         { 0x00000910, 0x0000 }, 
 806         { 0x00000911, 0x0080 }, 
 807         { 0x00000912, 0x0000 }, 
 808         { 0x00000913, 0x0080 }, 
 809         { 0x00000914, 0x0000 }, 
 810         { 0x00000915, 0x0080 }, 
 811         { 0x00000916, 0x0000 }, 
 812         { 0x00000917, 0x0080 }, 
 813         { 0x00000918, 0x0000 }, 
 814         { 0x00000919, 0x0080 }, 
 815         { 0x0000091a, 0x0000 }, 
 816         { 0x0000091b, 0x0080 }, 
 817         { 0x0000091c, 0x0000 }, 
 818         { 0x0000091d, 0x0080 }, 
 819         { 0x0000091e, 0x0000 }, 
 820         { 0x0000091f, 0x0080 }, 
 821         { 0x00000940, 0x0000 }, 
 822         { 0x00000941, 0x0080 }, 
 823         { 0x00000942, 0x0000 }, 
 824         { 0x00000943, 0x0080 }, 
 825         { 0x00000944, 0x0000 }, 
 826         { 0x00000945, 0x0080 }, 
 827         { 0x00000946, 0x0000 }, 
 828         { 0x00000947, 0x0080 }, 
 829         { 0x00000948, 0x0000 }, 
 830         { 0x00000949, 0x0080 }, 
 831         { 0x0000094a, 0x0000 }, 
 832         { 0x0000094b, 0x0080 }, 
 833         { 0x0000094c, 0x0000 }, 
 834         { 0x0000094d, 0x0080 }, 
 835         { 0x0000094e, 0x0000 }, 
 836         { 0x0000094f, 0x0080 }, 
 837         { 0x00000950, 0x0000 }, 
 838         { 0x00000958, 0x0000 }, 
 839         { 0x00000960, 0x0000 }, 
 840         { 0x00000968, 0x0000 }, 
 841         { 0x00000970, 0x0000 }, 
 842         { 0x00000978, 0x0000 }, 
 843         { 0x00000a80, 0x0000 }, 
 844         { 0x00000a88, 0x0000 }, 
 845         { 0x00000a90, 0x0000 }, 
 846         { 0x00000a98, 0x0000 }, 
 847         { 0x00000b00, 0x0000 }, 
 848         { 0x00000b08, 0x0000 }, 
 849         { 0x00000b20, 0x0000 }, 
 850         { 0x00000b28, 0x0000 }, 
 851         { 0x00000b40, 0x0000 }, 
 852         { 0x00000b48, 0x0000 }, 
 853         { 0x00000b60, 0x0000 }, 
 854         { 0x00000b68, 0x0000 }, 
 855         { 0x00000dc0, 0x0000 }, 
 856         { 0x00000dc8, 0x0000 }, 
 857         { 0x00000dd0, 0x0000 }, 
 858         { 0x00000dd8, 0x0000 }, 
 859         { 0x00000de0, 0x0000 }, 
 860         { 0x00000de8, 0x0000 }, 
 861         { 0x00000df0, 0x0000 }, 
 862         { 0x00000df8, 0x0000 }, 
 863         { 0x00000e00, 0x0000 }, 
 864         { 0x00000e10, 0x6318 }, 
 865         { 0x00000e11, 0x6300 }, 
 866         { 0x00000e12, 0x0fc8 }, 
 867         { 0x00000e13, 0x03fe }, 
 868         { 0x00000e14, 0x00e0 }, 
 869         { 0x00000e15, 0x1ec4 }, 
 870         { 0x00000e16, 0xf136 }, 
 871         { 0x00000e17, 0x0409 }, 
 872         { 0x00000e18, 0x04cc }, 
 873         { 0x00000e19, 0x1c9b }, 
 874         { 0x00000e1a, 0xf337 }, 
 875         { 0x00000e1b, 0x040b }, 
 876         { 0x00000e1c, 0x0cbb }, 
 877         { 0x00000e1d, 0x16f8 }, 
 878         { 0x00000e1e, 0xf7d9 }, 
 879         { 0x00000e1f, 0x040a }, 
 880         { 0x00000e20, 0x1f14 }, 
 881         { 0x00000e21, 0x058c }, 
 882         { 0x00000e22, 0x0563 }, 
 883         { 0x00000e23, 0x4000 }, 
 884         { 0x00000e24, 0x0b75 }, 
 885         { 0x00000e26, 0x6318 }, 
 886         { 0x00000e27, 0x6300 }, 
 887         { 0x00000e28, 0x0fc8 }, 
 888         { 0x00000e29, 0x03fe }, 
 889         { 0x00000e2a, 0x00e0 }, 
 890         { 0x00000e2b, 0x1ec4 }, 
 891         { 0x00000e2c, 0xf136 }, 
 892         { 0x00000e2d, 0x0409 }, 
 893         { 0x00000e2e, 0x04cc }, 
 894         { 0x00000e2f, 0x1c9b }, 
 895         { 0x00000e30, 0xf337 }, 
 896         { 0x00000e31, 0x040b }, 
 897         { 0x00000e32, 0x0cbb }, 
 898         { 0x00000e33, 0x16f8 }, 
 899         { 0x00000e34, 0xf7d9 }, 
 900         { 0x00000e35, 0x040a }, 
 901         { 0x00000e36, 0x1f14 }, 
 902         { 0x00000e37, 0x058c }, 
 903         { 0x00000e38, 0x0563 }, 
 904         { 0x00000e39, 0x4000 }, 
 905         { 0x00000e3a, 0x0b75 }, 
 906         { 0x00000e3c, 0x6318 }, 
 907         { 0x00000e3d, 0x6300 }, 
 908         { 0x00000e3e, 0x0fc8 }, 
 909         { 0x00000e3f, 0x03fe }, 
 910         { 0x00000e40, 0x00e0 }, 
 911         { 0x00000e41, 0x1ec4 }, 
 912         { 0x00000e42, 0xf136 }, 
 913         { 0x00000e43, 0x0409 }, 
 914         { 0x00000e44, 0x04cc }, 
 915         { 0x00000e45, 0x1c9b }, 
 916         { 0x00000e46, 0xf337 }, 
 917         { 0x00000e47, 0x040b }, 
 918         { 0x00000e48, 0x0cbb }, 
 919         { 0x00000e49, 0x16f8 }, 
 920         { 0x00000e4a, 0xf7d9 }, 
 921         { 0x00000e4b, 0x040a }, 
 922         { 0x00000e4c, 0x1f14 }, 
 923         { 0x00000e4d, 0x058c }, 
 924         { 0x00000e4e, 0x0563 }, 
 925         { 0x00000e4f, 0x4000 }, 
 926         { 0x00000e50, 0x0b75 }, 
 927         { 0x00000e52, 0x6318 }, 
 928         { 0x00000e53, 0x6300 }, 
 929         { 0x00000e54, 0x0fc8 }, 
 930         { 0x00000e55, 0x03fe }, 
 931         { 0x00000e56, 0x00e0 }, 
 932         { 0x00000e57, 0x1ec4 }, 
 933         { 0x00000e58, 0xf136 }, 
 934         { 0x00000e59, 0x0409 }, 
 935         { 0x00000e5a, 0x04cc }, 
 936         { 0x00000e5b, 0x1c9b }, 
 937         { 0x00000e5c, 0xf337 }, 
 938         { 0x00000e5d, 0x040b }, 
 939         { 0x00000e5e, 0x0cbb }, 
 940         { 0x00000e5f, 0x16f8 }, 
 941         { 0x00000e60, 0xf7d9 }, 
 942         { 0x00000e61, 0x040a }, 
 943         { 0x00000e62, 0x1f14 }, 
 944         { 0x00000e63, 0x058c }, 
 945         { 0x00000e64, 0x0563 }, 
 946         { 0x00000e65, 0x4000 }, 
 947         { 0x00000e66, 0x0b75 }, 
 948         { 0x00000e80, 0x0018 }, 
 949         { 0x00000e81, 0x0933 }, 
 950         { 0x00000e82, 0x0018 }, 
 951         { 0x00000e83, 0x0000 }, 
 952         { 0x00000e84, 0x0000 }, 
 953         { 0x00000e88, 0x0018 }, 
 954         { 0x00000e89, 0x0933 }, 
 955         { 0x00000e8a, 0x0018 }, 
 956         { 0x00000e8b, 0x0000 }, 
 957         { 0x00000e8c, 0x0000 }, 
 958         { 0x00000ec0, 0x0000 }, 
 959         { 0x00000ec1, 0x0000 }, 
 960         { 0x00000ec4, 0x0000 }, 
 961         { 0x00000ec5, 0x0000 }, 
 962         { 0x00000ec8, 0x0000 }, 
 963         { 0x00000ec9, 0x0000 }, 
 964         { 0x00000ecc, 0x0000 }, 
 965         { 0x00000ecd, 0x0000 }, 
 966         { 0x00000ee0, 0x0000 }, 
 967         { 0x00000ee2, 0x0000 }, 
 968         { 0x00000ee3, 0x4000 }, 
 969         { 0x00000ef0, 0x0000 }, 
 970         { 0x00000ef1, 0x0001 }, 
 971         { 0x00000ef2, 0x0000 }, 
 972         { 0x00000ef3, 0x0000 }, 
 973         { 0x00000ef4, 0x0001 }, 
 974         { 0x00000ef5, 0x0000 }, 
 975         { 0x000010c0, 0x0008 }, 
 976         { 0x000010c1, 0x4000 }, 
 977         { 0x00001480, 0x0000 }, 
 978         { 0x00001482, 0x1f00 }, 
 979         { 0x00001484, 0x1f00 }, 
 980         { 0x00001486, 0x0000 }, 
 981         { 0x00001488, 0x1f00 }, 
 982         { 0x0000148a, 0x1f00 }, 
 983         { 0x0000148c, 0x0000 }, 
 984         { 0x0000148e, 0x1f00 }, 
 985         { 0x00001490, 0x1f00 }, 
 986         { 0x00001492, 0x0000 }, 
 987         { 0x00001494, 0x1f00 }, 
 988         { 0x00001496, 0x1f00 }, 
 989         { 0x00001498, 0x0000 }, 
 990         { 0x0000149a, 0x1f00 }, 
 991         { 0x0000149c, 0x1f00 }, 
 992         { 0x0000149e, 0x0000 }, 
 993         { 0x000014a0, 0x1f00 }, 
 994         { 0x000014a2, 0x1f00 }, 
 995         { 0x000014a4, 0x0000 }, 
 996         { 0x000014a6, 0x1f00 }, 
 997         { 0x000014a8, 0x1f00 }, 
 998         { 0x000014aa, 0x0000 }, 
 999         { 0x000014ac, 0x1f00 }, 
1000         { 0x000014ae, 0x1f00 }, 
1001         { 0x00001700, 0x2001 }, 
1002         { 0x00001701, 0xf000 }, 
1003         { 0x00001702, 0x2001 }, 
1004         { 0x00001703, 0xf000 }, 
1005         { 0x00001704, 0x2001 }, 
1006         { 0x00001705, 0xf000 }, 
1007         { 0x00001706, 0x2001 }, 
1008         { 0x00001707, 0xf000 }, 
1009         { 0x00001708, 0x2001 }, 
1010         { 0x00001709, 0xf000 }, 
1011         { 0x0000170a, 0x2001 }, 
1012         { 0x0000170b, 0xf000 }, 
1013         { 0x0000170c, 0x2001 }, 
1014         { 0x0000170d, 0xf000 }, 
1015         { 0x0000170e, 0x2001 }, 
1016         { 0x0000170f, 0xf000 }, 
1017         { 0x00001710, 0x2001 }, 
1018         { 0x00001711, 0xf000 }, 
1019         { 0x00001712, 0x2001 }, 
1020         { 0x00001713, 0xf000 }, 
1021         { 0x00001714, 0x2001 }, 
1022         { 0x00001715, 0xf000 }, 
1023         { 0x00001716, 0x2001 }, 
1024         { 0x00001717, 0xf000 }, 
1025         { 0x00001718, 0x2001 }, 
1026         { 0x00001719, 0xf000 }, 
1027         { 0x0000171a, 0x2001 }, 
1028         { 0x0000171b, 0xf000 }, 
1029         { 0x0000171c, 0x2001 }, 
1030         { 0x0000171d, 0xf000 }, 
1031         { 0x0000171e, 0x2001 }, 
1032         { 0x0000171f, 0xf000 }, 
1033         { 0x00001840, 0x1200 }, 
1034         { 0x00001841, 0x77e0 }, 
1035         { 0x00001842, 0xffff }, 
1036         { 0x00001843, 0xffff }, 
1037         { 0x00001844, 0xffff }, 
1038         { 0x00001845, 0x0301 }, 
1039         { 0x00001846, 0x0f3f }, 
1040         { 0x00001847, 0xffff }, 
1041         { 0x00001848, 0x031f }, 
1042         { 0x00001849, 0x031f }, 
1043         { 0x0000184a, 0xffff }, 
1044         { 0x0000184b, 0x033f }, 
1045         { 0x0000184c, 0x003f }, 
1046         { 0x0000184d, 0x003f }, 
1047         { 0x0000184e, 0x1000 }, 
1048         { 0x0000184f, 0xffff }, 
1049         { 0x00001850, 0xffff }, 
1050         { 0x00001851, 0xffff }, 
1051         { 0x00001852, 0xffff }, 
1052         { 0x00001853, 0xffff }, 
1053         { 0x00001854, 0x0001 }, 
1054         { 0x00001855, 0x0001 }, 
1055         { 0x00001856, 0x0001 }, 
1056         { 0x00001857, 0x0001 }, 
1057         { 0x00001858, 0x0001 }, 
1058         { 0x00001859, 0xffff }, 
1059         { 0x0000185a, 0x0001 }, 
1060         { 0x0000185b, 0x0001 }, 
1061         { 0x0000185c, 0xffff }, 
1062         { 0x0000185d, 0x0001 }, 
1063         { 0x0000185e, 0xffff }, 
1064         { 0x0000185f, 0xffff }, 
1065         { 0x00001860, 0x0001 }, 
1066         { 0x00001a06, 0x0000 }, 
1067         { 0x00001a80, 0x4400 }, 
1068 };
1069 
1070 static bool cs47l92_is_adsp_memory(unsigned int reg)
1071 {
1072         switch (reg) {
1073         case 0x080000 ... 0x082ffe:
1074         case 0x0a0000 ... 0x0a1ffe:
1075         case 0x0c0000 ... 0x0c1ffe:
1076         case 0x0e0000 ... 0x0e1ffe:
1077                 return true;
1078         default:
1079                 return false;
1080         }
1081 }
1082 
1083 static bool cs47l92_16bit_readable_register(struct device *dev,
1084                                             unsigned int reg)
1085 {
1086         switch (reg) {
1087         case MADERA_SOFTWARE_RESET:
1088         case MADERA_HARDWARE_REVISION:
1089         case MADERA_WRITE_SEQUENCER_CTRL_0 ... MADERA_WRITE_SEQUENCER_CTRL_2:
1090         case MADERA_TONE_GENERATOR_1 ... MADERA_TONE_GENERATOR_5:
1091         case MADERA_PWM_DRIVE_1 ... MADERA_PWM_DRIVE_3:
1092         case MADERA_SAMPLE_RATE_SEQUENCE_SELECT_1:
1093         case MADERA_SAMPLE_RATE_SEQUENCE_SELECT_2:
1094         case MADERA_SAMPLE_RATE_SEQUENCE_SELECT_3:
1095         case MADERA_SAMPLE_RATE_SEQUENCE_SELECT_4:
1096         case MADERA_HAPTICS_CONTROL_1 ... MADERA_HAPTICS_CONTROL_2:
1097         case MADERA_HAPTICS_PHASE_1_INTENSITY:
1098         case MADERA_HAPTICS_PHASE_1_DURATION:
1099         case MADERA_HAPTICS_PHASE_2_INTENSITY:
1100         case MADERA_HAPTICS_PHASE_2_DURATION:
1101         case MADERA_HAPTICS_PHASE_3_INTENSITY:
1102         case MADERA_HAPTICS_PHASE_3_DURATION:
1103         case MADERA_HAPTICS_STATUS:
1104         case MADERA_COMFORT_NOISE_GENERATOR:
1105         case MADERA_CLOCK_32K_1:
1106         case MADERA_SYSTEM_CLOCK_1:
1107         case MADERA_SAMPLE_RATE_1 ... MADERA_SAMPLE_RATE_3:
1108         case MADERA_SAMPLE_RATE_1_STATUS:
1109         case MADERA_SAMPLE_RATE_2_STATUS:
1110         case MADERA_SAMPLE_RATE_3_STATUS:
1111         case MADERA_ASYNC_CLOCK_1:
1112         case MADERA_ASYNC_SAMPLE_RATE_1:
1113         case MADERA_ASYNC_SAMPLE_RATE_1_STATUS:
1114         case MADERA_ASYNC_SAMPLE_RATE_2:
1115         case MADERA_ASYNC_SAMPLE_RATE_2_STATUS:
1116         case MADERA_DSP_CLOCK_1:
1117         case MADERA_DSP_CLOCK_2:
1118         case MADERA_OUTPUT_SYSTEM_CLOCK:
1119         case MADERA_OUTPUT_ASYNC_CLOCK:
1120         case MADERA_RATE_ESTIMATOR_1 ...  MADERA_RATE_ESTIMATOR_5:
1121         case MADERA_FLL1_CONTROL_1 ... MADERA_FLL1_CONTROL_6:
1122         case CS47L92_FLL1_CONTROL_7 ...  CS47L92_FLL1_CONTROL_10:
1123         case MADERA_FLL1_CONTROL_11:
1124         case MADERA_FLL1_DIGITAL_TEST_1:
1125         case MADERA_FLL1_SYNCHRONISER_1 ... MADERA_FLL1_SYNCHRONISER_6:
1126         case CS47L92_FLL1_GPIO_CLOCK:
1127         case MADERA_FLL2_CONTROL_1 ... MADERA_FLL2_CONTROL_6:
1128         case CS47L92_FLL2_CONTROL_7 ... CS47L92_FLL2_CONTROL_10:
1129         case MADERA_FLL2_CONTROL_11:
1130         case MADERA_FLL2_DIGITAL_TEST_1:
1131         case MADERA_FLL2_SYNCHRONISER_1 ... MADERA_FLL2_SYNCHRONISER_6:
1132         case CS47L92_FLL2_GPIO_CLOCK:
1133         case MADERA_MIC_CHARGE_PUMP_1:
1134         case MADERA_LDO2_CONTROL_1:
1135         case MADERA_MIC_BIAS_CTRL_1:
1136         case MADERA_MIC_BIAS_CTRL_2:
1137         case MADERA_MIC_BIAS_CTRL_5:
1138         case MADERA_MIC_BIAS_CTRL_6:
1139         case MADERA_HP_CTRL_1L:
1140         case MADERA_HP_CTRL_1R:
1141         case MADERA_HP_CTRL_2L:
1142         case MADERA_HP_CTRL_2R:
1143         case MADERA_HP_CTRL_3L:
1144         case MADERA_HP_CTRL_3R:
1145         case MADERA_ACCESSORY_DETECT_MODE_1:
1146         case MADERA_HEADPHONE_DETECT_0:
1147         case MADERA_HEADPHONE_DETECT_1:
1148         case MADERA_HEADPHONE_DETECT_2:
1149         case MADERA_HEADPHONE_DETECT_3:
1150         case MADERA_HEADPHONE_DETECT_5:
1151         case MADERA_MICD_CLAMP_CONTROL:
1152         case MADERA_MIC_DETECT_1_CONTROL_0:
1153         case MADERA_MIC_DETECT_1_CONTROL_1:
1154         case MADERA_MIC_DETECT_1_CONTROL_2:
1155         case MADERA_MIC_DETECT_1_CONTROL_3:
1156         case MADERA_MIC_DETECT_1_CONTROL_4:
1157         case MADERA_MIC_DETECT_1_LEVEL_1 ... MADERA_MIC_DETECT_1_LEVEL_4:
1158         case MADERA_MIC_DETECT_2_CONTROL_0:
1159         case MADERA_MIC_DETECT_2_CONTROL_1:
1160         case MADERA_MIC_DETECT_2_CONTROL_2:
1161         case MADERA_MIC_DETECT_2_CONTROL_3:
1162         case MADERA_MIC_DETECT_2_CONTROL_4:
1163         case MADERA_MIC_DETECT_2_LEVEL_1 ... MADERA_MIC_DETECT_2_LEVEL_4:
1164         case MADERA_GP_SWITCH_1:
1165         case MADERA_JACK_DETECT_ANALOGUE:
1166         case MADERA_INPUT_ENABLES:
1167         case MADERA_INPUT_ENABLES_STATUS:
1168         case MADERA_INPUT_RATE:
1169         case MADERA_INPUT_VOLUME_RAMP:
1170         case MADERA_HPF_CONTROL:
1171         case MADERA_IN1L_CONTROL:
1172         case MADERA_ADC_DIGITAL_VOLUME_1L:
1173         case MADERA_DMIC1L_CONTROL:
1174         case MADERA_IN1L_RATE_CONTROL:
1175         case MADERA_IN1R_CONTROL:
1176         case MADERA_ADC_DIGITAL_VOLUME_1R:
1177         case MADERA_DMIC1R_CONTROL:
1178         case MADERA_IN1R_RATE_CONTROL:
1179         case MADERA_IN2L_CONTROL:
1180         case MADERA_ADC_DIGITAL_VOLUME_2L:
1181         case MADERA_DMIC2L_CONTROL:
1182         case MADERA_IN2L_RATE_CONTROL:
1183         case MADERA_IN2R_CONTROL:
1184         case MADERA_ADC_DIGITAL_VOLUME_2R:
1185         case MADERA_DMIC2R_CONTROL:
1186         case MADERA_IN2R_RATE_CONTROL:
1187         case MADERA_IN3L_CONTROL:
1188         case MADERA_ADC_DIGITAL_VOLUME_3L:
1189         case MADERA_DMIC3L_CONTROL:
1190         case MADERA_IN3L_RATE_CONTROL:
1191         case MADERA_IN3R_CONTROL:
1192         case MADERA_ADC_DIGITAL_VOLUME_3R:
1193         case MADERA_DMIC3R_CONTROL:
1194         case MADERA_IN3R_RATE_CONTROL:
1195         case MADERA_IN4L_CONTROL:
1196         case MADERA_ADC_DIGITAL_VOLUME_4L:
1197         case MADERA_DMIC4L_CONTROL:
1198         case MADERA_IN4L_RATE_CONTROL:
1199         case MADERA_IN4R_CONTROL:
1200         case MADERA_ADC_DIGITAL_VOLUME_4R:
1201         case MADERA_DMIC4R_CONTROL:
1202         case MADERA_IN4R_RATE_CONTROL:
1203         case MADERA_OUTPUT_ENABLES_1:
1204         case MADERA_OUTPUT_STATUS_1:
1205         case MADERA_RAW_OUTPUT_STATUS_1:
1206         case MADERA_OUTPUT_RATE_1:
1207         case MADERA_OUTPUT_VOLUME_RAMP:
1208         case MADERA_OUTPUT_PATH_CONFIG_1L:
1209         case MADERA_DAC_DIGITAL_VOLUME_1L:
1210         case MADERA_OUTPUT_PATH_CONFIG_1:
1211         case MADERA_NOISE_GATE_SELECT_1L:
1212         case MADERA_OUTPUT_PATH_CONFIG_1R:
1213         case MADERA_DAC_DIGITAL_VOLUME_1R:
1214         case MADERA_NOISE_GATE_SELECT_1R:
1215         case MADERA_OUTPUT_PATH_CONFIG_2L:
1216         case MADERA_DAC_DIGITAL_VOLUME_2L:
1217         case MADERA_OUTPUT_PATH_CONFIG_2:
1218         case MADERA_NOISE_GATE_SELECT_2L:
1219         case MADERA_OUTPUT_PATH_CONFIG_2R:
1220         case MADERA_DAC_DIGITAL_VOLUME_2R:
1221         case MADERA_NOISE_GATE_SELECT_2R:
1222         case MADERA_OUTPUT_PATH_CONFIG_3L:
1223         case MADERA_DAC_DIGITAL_VOLUME_3L:
1224         case MADERA_OUTPUT_PATH_CONFIG_3:
1225         case MADERA_NOISE_GATE_SELECT_3L:
1226         case MADERA_OUTPUT_PATH_CONFIG_3R:
1227         case MADERA_DAC_DIGITAL_VOLUME_3R:
1228         case MADERA_NOISE_GATE_SELECT_3R:
1229         case MADERA_OUTPUT_PATH_CONFIG_5L:
1230         case MADERA_DAC_DIGITAL_VOLUME_5L:
1231         case MADERA_NOISE_GATE_SELECT_5L:
1232         case MADERA_OUTPUT_PATH_CONFIG_5R:
1233         case MADERA_DAC_DIGITAL_VOLUME_5R:
1234         case MADERA_NOISE_GATE_SELECT_5R:
1235         case MADERA_DAC_AEC_CONTROL_1 ...  MADERA_DAC_AEC_CONTROL_2:
1236         case MADERA_NOISE_GATE_CONTROL:
1237         case MADERA_PDM_SPK1_CTRL_1 ... MADERA_PDM_SPK1_CTRL_2:
1238         case MADERA_HP1_SHORT_CIRCUIT_CTRL:
1239         case MADERA_HP2_SHORT_CIRCUIT_CTRL:
1240         case MADERA_HP3_SHORT_CIRCUIT_CTRL:
1241         case MADERA_AIF1_BCLK_CTRL:
1242         case MADERA_AIF1_TX_PIN_CTRL:
1243         case MADERA_AIF1_RX_PIN_CTRL:
1244         case MADERA_AIF1_RATE_CTRL:
1245         case MADERA_AIF1_FORMAT:
1246         case MADERA_AIF1_RX_BCLK_RATE:
1247         case MADERA_AIF1_FRAME_CTRL_1 ... MADERA_AIF1_FRAME_CTRL_18:
1248         case MADERA_AIF1_TX_ENABLES:
1249         case MADERA_AIF1_RX_ENABLES:
1250         case MADERA_AIF2_BCLK_CTRL:
1251         case MADERA_AIF2_TX_PIN_CTRL:
1252         case MADERA_AIF2_RX_PIN_CTRL:
1253         case MADERA_AIF2_RATE_CTRL:
1254         case MADERA_AIF2_FORMAT:
1255         case MADERA_AIF2_RX_BCLK_RATE:
1256         case MADERA_AIF2_FRAME_CTRL_1 ... MADERA_AIF2_FRAME_CTRL_18:
1257         case MADERA_AIF2_TX_ENABLES:
1258         case MADERA_AIF2_RX_ENABLES:
1259         case MADERA_AIF3_BCLK_CTRL:
1260         case MADERA_AIF3_TX_PIN_CTRL:
1261         case MADERA_AIF3_RX_PIN_CTRL:
1262         case MADERA_AIF3_RATE_CTRL:
1263         case MADERA_AIF3_FORMAT:
1264         case MADERA_AIF3_RX_BCLK_RATE:
1265         case MADERA_AIF3_FRAME_CTRL_1 ... MADERA_AIF3_FRAME_CTRL_18:
1266         case MADERA_AIF3_TX_ENABLES:
1267         case MADERA_AIF3_RX_ENABLES:
1268         case MADERA_SPD1_TX_CONTROL:
1269         case MADERA_SPD1_TX_CHANNEL_STATUS_1:
1270         case MADERA_SPD1_TX_CHANNEL_STATUS_2:
1271         case MADERA_SPD1_TX_CHANNEL_STATUS_3:
1272         case MADERA_SLIMBUS_FRAMER_REF_GEAR:
1273         case MADERA_SLIMBUS_RATES_1 ... MADERA_SLIMBUS_RATES_8:
1274         case MADERA_SLIMBUS_RX_CHANNEL_ENABLE:
1275         case MADERA_SLIMBUS_TX_CHANNEL_ENABLE:
1276         case MADERA_SLIMBUS_RX_PORT_STATUS:
1277         case MADERA_SLIMBUS_TX_PORT_STATUS:
1278         case MADERA_PWM1MIX_INPUT_1_SOURCE:
1279         case MADERA_PWM1MIX_INPUT_1_VOLUME:
1280         case MADERA_PWM1MIX_INPUT_2_SOURCE:
1281         case MADERA_PWM1MIX_INPUT_2_VOLUME:
1282         case MADERA_PWM1MIX_INPUT_3_SOURCE:
1283         case MADERA_PWM1MIX_INPUT_3_VOLUME:
1284         case MADERA_PWM1MIX_INPUT_4_SOURCE:
1285         case MADERA_PWM1MIX_INPUT_4_VOLUME:
1286         case MADERA_PWM2MIX_INPUT_1_SOURCE:
1287         case MADERA_PWM2MIX_INPUT_1_VOLUME:
1288         case MADERA_PWM2MIX_INPUT_2_SOURCE:
1289         case MADERA_PWM2MIX_INPUT_2_VOLUME:
1290         case MADERA_PWM2MIX_INPUT_3_SOURCE:
1291         case MADERA_PWM2MIX_INPUT_3_VOLUME:
1292         case MADERA_PWM2MIX_INPUT_4_SOURCE:
1293         case MADERA_PWM2MIX_INPUT_4_VOLUME:
1294         case MADERA_OUT1LMIX_INPUT_1_SOURCE:
1295         case MADERA_OUT1LMIX_INPUT_1_VOLUME:
1296         case MADERA_OUT1LMIX_INPUT_2_SOURCE:
1297         case MADERA_OUT1LMIX_INPUT_2_VOLUME:
1298         case MADERA_OUT1LMIX_INPUT_3_SOURCE:
1299         case MADERA_OUT1LMIX_INPUT_3_VOLUME:
1300         case MADERA_OUT1LMIX_INPUT_4_SOURCE:
1301         case MADERA_OUT1LMIX_INPUT_4_VOLUME:
1302         case MADERA_OUT1RMIX_INPUT_1_SOURCE:
1303         case MADERA_OUT1RMIX_INPUT_1_VOLUME:
1304         case MADERA_OUT1RMIX_INPUT_2_SOURCE:
1305         case MADERA_OUT1RMIX_INPUT_2_VOLUME:
1306         case MADERA_OUT1RMIX_INPUT_3_SOURCE:
1307         case MADERA_OUT1RMIX_INPUT_3_VOLUME:
1308         case MADERA_OUT1RMIX_INPUT_4_SOURCE:
1309         case MADERA_OUT1RMIX_INPUT_4_VOLUME:
1310         case MADERA_OUT2LMIX_INPUT_1_SOURCE:
1311         case MADERA_OUT2LMIX_INPUT_1_VOLUME:
1312         case MADERA_OUT2LMIX_INPUT_2_SOURCE:
1313         case MADERA_OUT2LMIX_INPUT_2_VOLUME:
1314         case MADERA_OUT2LMIX_INPUT_3_SOURCE:
1315         case MADERA_OUT2LMIX_INPUT_3_VOLUME:
1316         case MADERA_OUT2LMIX_INPUT_4_SOURCE:
1317         case MADERA_OUT2LMIX_INPUT_4_VOLUME:
1318         case MADERA_OUT2RMIX_INPUT_1_SOURCE:
1319         case MADERA_OUT2RMIX_INPUT_1_VOLUME:
1320         case MADERA_OUT2RMIX_INPUT_2_SOURCE:
1321         case MADERA_OUT2RMIX_INPUT_2_VOLUME:
1322         case MADERA_OUT2RMIX_INPUT_3_SOURCE:
1323         case MADERA_OUT2RMIX_INPUT_3_VOLUME:
1324         case MADERA_OUT2RMIX_INPUT_4_SOURCE:
1325         case MADERA_OUT2RMIX_INPUT_4_VOLUME:
1326         case MADERA_OUT3LMIX_INPUT_1_SOURCE:
1327         case MADERA_OUT3LMIX_INPUT_1_VOLUME:
1328         case MADERA_OUT3LMIX_INPUT_2_SOURCE:
1329         case MADERA_OUT3LMIX_INPUT_2_VOLUME:
1330         case MADERA_OUT3LMIX_INPUT_3_SOURCE:
1331         case MADERA_OUT3LMIX_INPUT_3_VOLUME:
1332         case MADERA_OUT3LMIX_INPUT_4_SOURCE:
1333         case MADERA_OUT3LMIX_INPUT_4_VOLUME:
1334         case MADERA_OUT3RMIX_INPUT_1_SOURCE:
1335         case MADERA_OUT3RMIX_INPUT_1_VOLUME:
1336         case MADERA_OUT3RMIX_INPUT_2_SOURCE:
1337         case MADERA_OUT3RMIX_INPUT_2_VOLUME:
1338         case MADERA_OUT3RMIX_INPUT_3_SOURCE:
1339         case MADERA_OUT3RMIX_INPUT_3_VOLUME:
1340         case MADERA_OUT3RMIX_INPUT_4_SOURCE:
1341         case MADERA_OUT3RMIX_INPUT_4_VOLUME:
1342         case MADERA_OUT5LMIX_INPUT_1_SOURCE:
1343         case MADERA_OUT5LMIX_INPUT_1_VOLUME:
1344         case MADERA_OUT5LMIX_INPUT_2_SOURCE:
1345         case MADERA_OUT5LMIX_INPUT_2_VOLUME:
1346         case MADERA_OUT5LMIX_INPUT_3_SOURCE:
1347         case MADERA_OUT5LMIX_INPUT_3_VOLUME:
1348         case MADERA_OUT5LMIX_INPUT_4_SOURCE:
1349         case MADERA_OUT5LMIX_INPUT_4_VOLUME:
1350         case MADERA_OUT5RMIX_INPUT_1_SOURCE:
1351         case MADERA_OUT5RMIX_INPUT_1_VOLUME:
1352         case MADERA_OUT5RMIX_INPUT_2_SOURCE:
1353         case MADERA_OUT5RMIX_INPUT_2_VOLUME:
1354         case MADERA_OUT5RMIX_INPUT_3_SOURCE:
1355         case MADERA_OUT5RMIX_INPUT_3_VOLUME:
1356         case MADERA_OUT5RMIX_INPUT_4_SOURCE:
1357         case MADERA_OUT5RMIX_INPUT_4_VOLUME:
1358         case MADERA_AIF1TX1MIX_INPUT_1_SOURCE:
1359         case MADERA_AIF1TX1MIX_INPUT_1_VOLUME:
1360         case MADERA_AIF1TX1MIX_INPUT_2_SOURCE:
1361         case MADERA_AIF1TX1MIX_INPUT_2_VOLUME:
1362         case MADERA_AIF1TX1MIX_INPUT_3_SOURCE:
1363         case MADERA_AIF1TX1MIX_INPUT_3_VOLUME:
1364         case MADERA_AIF1TX1MIX_INPUT_4_SOURCE:
1365         case MADERA_AIF1TX1MIX_INPUT_4_VOLUME:
1366         case MADERA_AIF1TX2MIX_INPUT_1_SOURCE:
1367         case MADERA_AIF1TX2MIX_INPUT_1_VOLUME:
1368         case MADERA_AIF1TX2MIX_INPUT_2_SOURCE:
1369         case MADERA_AIF1TX2MIX_INPUT_2_VOLUME:
1370         case MADERA_AIF1TX2MIX_INPUT_3_SOURCE:
1371         case MADERA_AIF1TX2MIX_INPUT_3_VOLUME:
1372         case MADERA_AIF1TX2MIX_INPUT_4_SOURCE:
1373         case MADERA_AIF1TX2MIX_INPUT_4_VOLUME:
1374         case MADERA_AIF1TX3MIX_INPUT_1_SOURCE:
1375         case MADERA_AIF1TX3MIX_INPUT_1_VOLUME:
1376         case MADERA_AIF1TX3MIX_INPUT_2_SOURCE:
1377         case MADERA_AIF1TX3MIX_INPUT_2_VOLUME:
1378         case MADERA_AIF1TX3MIX_INPUT_3_SOURCE:
1379         case MADERA_AIF1TX3MIX_INPUT_3_VOLUME:
1380         case MADERA_AIF1TX3MIX_INPUT_4_SOURCE:
1381         case MADERA_AIF1TX3MIX_INPUT_4_VOLUME:
1382         case MADERA_AIF1TX4MIX_INPUT_1_SOURCE:
1383         case MADERA_AIF1TX4MIX_INPUT_1_VOLUME:
1384         case MADERA_AIF1TX4MIX_INPUT_2_SOURCE:
1385         case MADERA_AIF1TX4MIX_INPUT_2_VOLUME:
1386         case MADERA_AIF1TX4MIX_INPUT_3_SOURCE:
1387         case MADERA_AIF1TX4MIX_INPUT_3_VOLUME:
1388         case MADERA_AIF1TX4MIX_INPUT_4_SOURCE:
1389         case MADERA_AIF1TX4MIX_INPUT_4_VOLUME:
1390         case MADERA_AIF1TX5MIX_INPUT_1_SOURCE:
1391         case MADERA_AIF1TX5MIX_INPUT_1_VOLUME:
1392         case MADERA_AIF1TX5MIX_INPUT_2_SOURCE:
1393         case MADERA_AIF1TX5MIX_INPUT_2_VOLUME:
1394         case MADERA_AIF1TX5MIX_INPUT_3_SOURCE:
1395         case MADERA_AIF1TX5MIX_INPUT_3_VOLUME:
1396         case MADERA_AIF1TX5MIX_INPUT_4_SOURCE:
1397         case MADERA_AIF1TX5MIX_INPUT_4_VOLUME:
1398         case MADERA_AIF1TX6MIX_INPUT_1_SOURCE:
1399         case MADERA_AIF1TX6MIX_INPUT_1_VOLUME:
1400         case MADERA_AIF1TX6MIX_INPUT_2_SOURCE:
1401         case MADERA_AIF1TX6MIX_INPUT_2_VOLUME:
1402         case MADERA_AIF1TX6MIX_INPUT_3_SOURCE:
1403         case MADERA_AIF1TX6MIX_INPUT_3_VOLUME:
1404         case MADERA_AIF1TX6MIX_INPUT_4_SOURCE:
1405         case MADERA_AIF1TX6MIX_INPUT_4_VOLUME:
1406         case MADERA_AIF1TX7MIX_INPUT_1_SOURCE:
1407         case MADERA_AIF1TX7MIX_INPUT_1_VOLUME:
1408         case MADERA_AIF1TX7MIX_INPUT_2_SOURCE:
1409         case MADERA_AIF1TX7MIX_INPUT_2_VOLUME:
1410         case MADERA_AIF1TX7MIX_INPUT_3_SOURCE:
1411         case MADERA_AIF1TX7MIX_INPUT_3_VOLUME:
1412         case MADERA_AIF1TX7MIX_INPUT_4_SOURCE:
1413         case MADERA_AIF1TX7MIX_INPUT_4_VOLUME:
1414         case MADERA_AIF1TX8MIX_INPUT_1_SOURCE:
1415         case MADERA_AIF1TX8MIX_INPUT_1_VOLUME:
1416         case MADERA_AIF1TX8MIX_INPUT_2_SOURCE:
1417         case MADERA_AIF1TX8MIX_INPUT_2_VOLUME:
1418         case MADERA_AIF1TX8MIX_INPUT_3_SOURCE:
1419         case MADERA_AIF1TX8MIX_INPUT_3_VOLUME:
1420         case MADERA_AIF1TX8MIX_INPUT_4_SOURCE:
1421         case MADERA_AIF1TX8MIX_INPUT_4_VOLUME:
1422         case MADERA_AIF2TX1MIX_INPUT_1_SOURCE:
1423         case MADERA_AIF2TX1MIX_INPUT_1_VOLUME:
1424         case MADERA_AIF2TX1MIX_INPUT_2_SOURCE:
1425         case MADERA_AIF2TX1MIX_INPUT_2_VOLUME:
1426         case MADERA_AIF2TX1MIX_INPUT_3_SOURCE:
1427         case MADERA_AIF2TX1MIX_INPUT_3_VOLUME:
1428         case MADERA_AIF2TX1MIX_INPUT_4_SOURCE:
1429         case MADERA_AIF2TX1MIX_INPUT_4_VOLUME:
1430         case MADERA_AIF2TX2MIX_INPUT_1_SOURCE:
1431         case MADERA_AIF2TX2MIX_INPUT_1_VOLUME:
1432         case MADERA_AIF2TX2MIX_INPUT_2_SOURCE:
1433         case MADERA_AIF2TX2MIX_INPUT_2_VOLUME:
1434         case MADERA_AIF2TX2MIX_INPUT_3_SOURCE:
1435         case MADERA_AIF2TX2MIX_INPUT_3_VOLUME:
1436         case MADERA_AIF2TX2MIX_INPUT_4_SOURCE:
1437         case MADERA_AIF2TX2MIX_INPUT_4_VOLUME:
1438         case MADERA_AIF2TX3MIX_INPUT_1_SOURCE:
1439         case MADERA_AIF2TX3MIX_INPUT_1_VOLUME:
1440         case MADERA_AIF2TX3MIX_INPUT_2_SOURCE:
1441         case MADERA_AIF2TX3MIX_INPUT_2_VOLUME:
1442         case MADERA_AIF2TX3MIX_INPUT_3_SOURCE:
1443         case MADERA_AIF2TX3MIX_INPUT_3_VOLUME:
1444         case MADERA_AIF2TX3MIX_INPUT_4_SOURCE:
1445         case MADERA_AIF2TX3MIX_INPUT_4_VOLUME:
1446         case MADERA_AIF2TX4MIX_INPUT_1_SOURCE:
1447         case MADERA_AIF2TX4MIX_INPUT_1_VOLUME:
1448         case MADERA_AIF2TX4MIX_INPUT_2_SOURCE:
1449         case MADERA_AIF2TX4MIX_INPUT_2_VOLUME:
1450         case MADERA_AIF2TX4MIX_INPUT_3_SOURCE:
1451         case MADERA_AIF2TX4MIX_INPUT_3_VOLUME:
1452         case MADERA_AIF2TX4MIX_INPUT_4_SOURCE:
1453         case MADERA_AIF2TX4MIX_INPUT_4_VOLUME:
1454         case MADERA_AIF2TX5MIX_INPUT_1_SOURCE:
1455         case MADERA_AIF2TX5MIX_INPUT_1_VOLUME:
1456         case MADERA_AIF2TX5MIX_INPUT_2_SOURCE:
1457         case MADERA_AIF2TX5MIX_INPUT_2_VOLUME:
1458         case MADERA_AIF2TX5MIX_INPUT_3_SOURCE:
1459         case MADERA_AIF2TX5MIX_INPUT_3_VOLUME:
1460         case MADERA_AIF2TX5MIX_INPUT_4_SOURCE:
1461         case MADERA_AIF2TX5MIX_INPUT_4_VOLUME:
1462         case MADERA_AIF2TX6MIX_INPUT_1_SOURCE:
1463         case MADERA_AIF2TX6MIX_INPUT_1_VOLUME:
1464         case MADERA_AIF2TX6MIX_INPUT_2_SOURCE:
1465         case MADERA_AIF2TX6MIX_INPUT_2_VOLUME:
1466         case MADERA_AIF2TX6MIX_INPUT_3_SOURCE:
1467         case MADERA_AIF2TX6MIX_INPUT_3_VOLUME:
1468         case MADERA_AIF2TX6MIX_INPUT_4_SOURCE:
1469         case MADERA_AIF2TX6MIX_INPUT_4_VOLUME:
1470         case MADERA_AIF2TX7MIX_INPUT_1_SOURCE:
1471         case MADERA_AIF2TX7MIX_INPUT_1_VOLUME:
1472         case MADERA_AIF2TX7MIX_INPUT_2_SOURCE:
1473         case MADERA_AIF2TX7MIX_INPUT_2_VOLUME:
1474         case MADERA_AIF2TX7MIX_INPUT_3_SOURCE:
1475         case MADERA_AIF2TX7MIX_INPUT_3_VOLUME:
1476         case MADERA_AIF2TX7MIX_INPUT_4_SOURCE:
1477         case MADERA_AIF2TX7MIX_INPUT_4_VOLUME:
1478         case MADERA_AIF2TX8MIX_INPUT_1_SOURCE:
1479         case MADERA_AIF2TX8MIX_INPUT_1_VOLUME:
1480         case MADERA_AIF2TX8MIX_INPUT_2_SOURCE:
1481         case MADERA_AIF2TX8MIX_INPUT_2_VOLUME:
1482         case MADERA_AIF2TX8MIX_INPUT_3_SOURCE:
1483         case MADERA_AIF2TX8MIX_INPUT_3_VOLUME:
1484         case MADERA_AIF2TX8MIX_INPUT_4_SOURCE:
1485         case MADERA_AIF2TX8MIX_INPUT_4_VOLUME:
1486         case MADERA_AIF3TX1MIX_INPUT_1_SOURCE:
1487         case MADERA_AIF3TX1MIX_INPUT_1_VOLUME:
1488         case MADERA_AIF3TX1MIX_INPUT_2_SOURCE:
1489         case MADERA_AIF3TX1MIX_INPUT_2_VOLUME:
1490         case MADERA_AIF3TX1MIX_INPUT_3_SOURCE:
1491         case MADERA_AIF3TX1MIX_INPUT_3_VOLUME:
1492         case MADERA_AIF3TX1MIX_INPUT_4_SOURCE:
1493         case MADERA_AIF3TX1MIX_INPUT_4_VOLUME:
1494         case MADERA_AIF3TX2MIX_INPUT_1_SOURCE:
1495         case MADERA_AIF3TX2MIX_INPUT_1_VOLUME:
1496         case MADERA_AIF3TX2MIX_INPUT_2_SOURCE:
1497         case MADERA_AIF3TX2MIX_INPUT_2_VOLUME:
1498         case MADERA_AIF3TX2MIX_INPUT_3_SOURCE:
1499         case MADERA_AIF3TX2MIX_INPUT_3_VOLUME:
1500         case MADERA_AIF3TX2MIX_INPUT_4_SOURCE:
1501         case MADERA_AIF3TX2MIX_INPUT_4_VOLUME:
1502         case MADERA_AIF3TX3MIX_INPUT_1_SOURCE:
1503         case MADERA_AIF3TX3MIX_INPUT_1_VOLUME:
1504         case MADERA_AIF3TX3MIX_INPUT_2_SOURCE:
1505         case MADERA_AIF3TX3MIX_INPUT_2_VOLUME:
1506         case MADERA_AIF3TX3MIX_INPUT_3_SOURCE:
1507         case MADERA_AIF3TX3MIX_INPUT_3_VOLUME:
1508         case MADERA_AIF3TX3MIX_INPUT_4_SOURCE:
1509         case MADERA_AIF3TX3MIX_INPUT_4_VOLUME:
1510         case MADERA_AIF3TX4MIX_INPUT_1_SOURCE:
1511         case MADERA_AIF3TX4MIX_INPUT_1_VOLUME:
1512         case MADERA_AIF3TX4MIX_INPUT_2_SOURCE:
1513         case MADERA_AIF3TX4MIX_INPUT_2_VOLUME:
1514         case MADERA_AIF3TX4MIX_INPUT_3_SOURCE:
1515         case MADERA_AIF3TX4MIX_INPUT_3_VOLUME:
1516         case MADERA_AIF3TX4MIX_INPUT_4_SOURCE:
1517         case MADERA_AIF3TX4MIX_INPUT_4_VOLUME:
1518         case CS47L92_AIF3TX5MIX_INPUT_1_SOURCE:
1519         case CS47L92_AIF3TX5MIX_INPUT_1_VOLUME:
1520         case CS47L92_AIF3TX5MIX_INPUT_2_SOURCE:
1521         case CS47L92_AIF3TX5MIX_INPUT_2_VOLUME:
1522         case CS47L92_AIF3TX5MIX_INPUT_3_SOURCE:
1523         case CS47L92_AIF3TX5MIX_INPUT_3_VOLUME:
1524         case CS47L92_AIF3TX5MIX_INPUT_4_SOURCE:
1525         case CS47L92_AIF3TX5MIX_INPUT_4_VOLUME:
1526         case CS47L92_AIF3TX6MIX_INPUT_1_SOURCE:
1527         case CS47L92_AIF3TX6MIX_INPUT_1_VOLUME:
1528         case CS47L92_AIF3TX6MIX_INPUT_2_SOURCE:
1529         case CS47L92_AIF3TX6MIX_INPUT_2_VOLUME:
1530         case CS47L92_AIF3TX6MIX_INPUT_3_SOURCE:
1531         case CS47L92_AIF3TX6MIX_INPUT_3_VOLUME:
1532         case CS47L92_AIF3TX6MIX_INPUT_4_SOURCE:
1533         case CS47L92_AIF3TX6MIX_INPUT_4_VOLUME:
1534         case CS47L92_AIF3TX7MIX_INPUT_1_SOURCE:
1535         case CS47L92_AIF3TX7MIX_INPUT_1_VOLUME:
1536         case CS47L92_AIF3TX7MIX_INPUT_2_SOURCE:
1537         case CS47L92_AIF3TX7MIX_INPUT_2_VOLUME:
1538         case CS47L92_AIF3TX7MIX_INPUT_3_SOURCE:
1539         case CS47L92_AIF3TX7MIX_INPUT_3_VOLUME:
1540         case CS47L92_AIF3TX7MIX_INPUT_4_SOURCE:
1541         case CS47L92_AIF3TX7MIX_INPUT_4_VOLUME:
1542         case CS47L92_AIF3TX8MIX_INPUT_1_SOURCE:
1543         case CS47L92_AIF3TX8MIX_INPUT_1_VOLUME:
1544         case CS47L92_AIF3TX8MIX_INPUT_2_SOURCE:
1545         case CS47L92_AIF3TX8MIX_INPUT_2_VOLUME:
1546         case CS47L92_AIF3TX8MIX_INPUT_3_SOURCE:
1547         case CS47L92_AIF3TX8MIX_INPUT_3_VOLUME:
1548         case CS47L92_AIF3TX8MIX_INPUT_4_SOURCE:
1549         case CS47L92_AIF3TX8MIX_INPUT_4_VOLUME:
1550         case MADERA_SLIMTX1MIX_INPUT_1_SOURCE:
1551         case MADERA_SLIMTX1MIX_INPUT_1_VOLUME:
1552         case MADERA_SLIMTX1MIX_INPUT_2_SOURCE:
1553         case MADERA_SLIMTX1MIX_INPUT_2_VOLUME:
1554         case MADERA_SLIMTX1MIX_INPUT_3_SOURCE:
1555         case MADERA_SLIMTX1MIX_INPUT_3_VOLUME:
1556         case MADERA_SLIMTX1MIX_INPUT_4_SOURCE:
1557         case MADERA_SLIMTX1MIX_INPUT_4_VOLUME:
1558         case MADERA_SLIMTX2MIX_INPUT_1_SOURCE:
1559         case MADERA_SLIMTX2MIX_INPUT_1_VOLUME:
1560         case MADERA_SLIMTX2MIX_INPUT_2_SOURCE:
1561         case MADERA_SLIMTX2MIX_INPUT_2_VOLUME:
1562         case MADERA_SLIMTX2MIX_INPUT_3_SOURCE:
1563         case MADERA_SLIMTX2MIX_INPUT_3_VOLUME:
1564         case MADERA_SLIMTX2MIX_INPUT_4_SOURCE:
1565         case MADERA_SLIMTX2MIX_INPUT_4_VOLUME:
1566         case MADERA_SLIMTX3MIX_INPUT_1_SOURCE:
1567         case MADERA_SLIMTX3MIX_INPUT_1_VOLUME:
1568         case MADERA_SLIMTX3MIX_INPUT_2_SOURCE:
1569         case MADERA_SLIMTX3MIX_INPUT_2_VOLUME:
1570         case MADERA_SLIMTX3MIX_INPUT_3_SOURCE:
1571         case MADERA_SLIMTX3MIX_INPUT_3_VOLUME:
1572         case MADERA_SLIMTX3MIX_INPUT_4_SOURCE:
1573         case MADERA_SLIMTX3MIX_INPUT_4_VOLUME:
1574         case MADERA_SLIMTX4MIX_INPUT_1_SOURCE:
1575         case MADERA_SLIMTX4MIX_INPUT_1_VOLUME:
1576         case MADERA_SLIMTX4MIX_INPUT_2_SOURCE:
1577         case MADERA_SLIMTX4MIX_INPUT_2_VOLUME:
1578         case MADERA_SLIMTX4MIX_INPUT_3_SOURCE:
1579         case MADERA_SLIMTX4MIX_INPUT_3_VOLUME:
1580         case MADERA_SLIMTX4MIX_INPUT_4_SOURCE:
1581         case MADERA_SLIMTX4MIX_INPUT_4_VOLUME:
1582         case MADERA_SLIMTX5MIX_INPUT_1_SOURCE:
1583         case MADERA_SLIMTX5MIX_INPUT_1_VOLUME:
1584         case MADERA_SLIMTX5MIX_INPUT_2_SOURCE:
1585         case MADERA_SLIMTX5MIX_INPUT_2_VOLUME:
1586         case MADERA_SLIMTX5MIX_INPUT_3_SOURCE:
1587         case MADERA_SLIMTX5MIX_INPUT_3_VOLUME:
1588         case MADERA_SLIMTX5MIX_INPUT_4_SOURCE:
1589         case MADERA_SLIMTX5MIX_INPUT_4_VOLUME:
1590         case MADERA_SLIMTX6MIX_INPUT_1_SOURCE:
1591         case MADERA_SLIMTX6MIX_INPUT_1_VOLUME:
1592         case MADERA_SLIMTX6MIX_INPUT_2_SOURCE:
1593         case MADERA_SLIMTX6MIX_INPUT_2_VOLUME:
1594         case MADERA_SLIMTX6MIX_INPUT_3_SOURCE:
1595         case MADERA_SLIMTX6MIX_INPUT_3_VOLUME:
1596         case MADERA_SLIMTX6MIX_INPUT_4_SOURCE:
1597         case MADERA_SLIMTX6MIX_INPUT_4_VOLUME:
1598         case MADERA_SLIMTX7MIX_INPUT_1_SOURCE:
1599         case MADERA_SLIMTX7MIX_INPUT_1_VOLUME:
1600         case MADERA_SLIMTX7MIX_INPUT_2_SOURCE:
1601         case MADERA_SLIMTX7MIX_INPUT_2_VOLUME:
1602         case MADERA_SLIMTX7MIX_INPUT_3_SOURCE:
1603         case MADERA_SLIMTX7MIX_INPUT_3_VOLUME:
1604         case MADERA_SLIMTX7MIX_INPUT_4_SOURCE:
1605         case MADERA_SLIMTX7MIX_INPUT_4_VOLUME:
1606         case MADERA_SLIMTX8MIX_INPUT_1_SOURCE:
1607         case MADERA_SLIMTX8MIX_INPUT_1_VOLUME:
1608         case MADERA_SLIMTX8MIX_INPUT_2_SOURCE:
1609         case MADERA_SLIMTX8MIX_INPUT_2_VOLUME:
1610         case MADERA_SLIMTX8MIX_INPUT_3_SOURCE:
1611         case MADERA_SLIMTX8MIX_INPUT_3_VOLUME:
1612         case MADERA_SLIMTX8MIX_INPUT_4_SOURCE:
1613         case MADERA_SLIMTX8MIX_INPUT_4_VOLUME:
1614         case MADERA_SPDIF1TX1MIX_INPUT_1_SOURCE:
1615         case MADERA_SPDIF1TX1MIX_INPUT_1_VOLUME:
1616         case MADERA_SPDIF1TX2MIX_INPUT_1_SOURCE:
1617         case MADERA_SPDIF1TX2MIX_INPUT_1_VOLUME:
1618         case MADERA_EQ1MIX_INPUT_1_SOURCE:
1619         case MADERA_EQ1MIX_INPUT_1_VOLUME:
1620         case MADERA_EQ1MIX_INPUT_2_SOURCE:
1621         case MADERA_EQ1MIX_INPUT_2_VOLUME:
1622         case MADERA_EQ1MIX_INPUT_3_SOURCE:
1623         case MADERA_EQ1MIX_INPUT_3_VOLUME:
1624         case MADERA_EQ1MIX_INPUT_4_SOURCE:
1625         case MADERA_EQ1MIX_INPUT_4_VOLUME:
1626         case MADERA_EQ2MIX_INPUT_1_SOURCE:
1627         case MADERA_EQ2MIX_INPUT_1_VOLUME:
1628         case MADERA_EQ2MIX_INPUT_2_SOURCE:
1629         case MADERA_EQ2MIX_INPUT_2_VOLUME:
1630         case MADERA_EQ2MIX_INPUT_3_SOURCE:
1631         case MADERA_EQ2MIX_INPUT_3_VOLUME:
1632         case MADERA_EQ2MIX_INPUT_4_SOURCE:
1633         case MADERA_EQ2MIX_INPUT_4_VOLUME:
1634         case MADERA_EQ3MIX_INPUT_1_SOURCE:
1635         case MADERA_EQ3MIX_INPUT_1_VOLUME:
1636         case MADERA_EQ3MIX_INPUT_2_SOURCE:
1637         case MADERA_EQ3MIX_INPUT_2_VOLUME:
1638         case MADERA_EQ3MIX_INPUT_3_SOURCE:
1639         case MADERA_EQ3MIX_INPUT_3_VOLUME:
1640         case MADERA_EQ3MIX_INPUT_4_SOURCE:
1641         case MADERA_EQ3MIX_INPUT_4_VOLUME:
1642         case MADERA_EQ4MIX_INPUT_1_SOURCE:
1643         case MADERA_EQ4MIX_INPUT_1_VOLUME:
1644         case MADERA_EQ4MIX_INPUT_2_SOURCE:
1645         case MADERA_EQ4MIX_INPUT_2_VOLUME:
1646         case MADERA_EQ4MIX_INPUT_3_SOURCE:
1647         case MADERA_EQ4MIX_INPUT_3_VOLUME:
1648         case MADERA_EQ4MIX_INPUT_4_SOURCE:
1649         case MADERA_EQ4MIX_INPUT_4_VOLUME:
1650         case MADERA_DRC1LMIX_INPUT_1_SOURCE:
1651         case MADERA_DRC1LMIX_INPUT_1_VOLUME:
1652         case MADERA_DRC1LMIX_INPUT_2_SOURCE:
1653         case MADERA_DRC1LMIX_INPUT_2_VOLUME:
1654         case MADERA_DRC1LMIX_INPUT_3_SOURCE:
1655         case MADERA_DRC1LMIX_INPUT_3_VOLUME:
1656         case MADERA_DRC1LMIX_INPUT_4_SOURCE:
1657         case MADERA_DRC1LMIX_INPUT_4_VOLUME:
1658         case MADERA_DRC1RMIX_INPUT_1_SOURCE:
1659         case MADERA_DRC1RMIX_INPUT_1_VOLUME:
1660         case MADERA_DRC1RMIX_INPUT_2_SOURCE:
1661         case MADERA_DRC1RMIX_INPUT_2_VOLUME:
1662         case MADERA_DRC1RMIX_INPUT_3_SOURCE:
1663         case MADERA_DRC1RMIX_INPUT_3_VOLUME:
1664         case MADERA_DRC1RMIX_INPUT_4_SOURCE:
1665         case MADERA_DRC1RMIX_INPUT_4_VOLUME:
1666         case MADERA_DRC2LMIX_INPUT_1_SOURCE:
1667         case MADERA_DRC2LMIX_INPUT_1_VOLUME:
1668         case MADERA_DRC2LMIX_INPUT_2_SOURCE:
1669         case MADERA_DRC2LMIX_INPUT_2_VOLUME:
1670         case MADERA_DRC2LMIX_INPUT_3_SOURCE:
1671         case MADERA_DRC2LMIX_INPUT_3_VOLUME:
1672         case MADERA_DRC2LMIX_INPUT_4_SOURCE:
1673         case MADERA_DRC2LMIX_INPUT_4_VOLUME:
1674         case MADERA_DRC2RMIX_INPUT_1_SOURCE:
1675         case MADERA_DRC2RMIX_INPUT_1_VOLUME:
1676         case MADERA_DRC2RMIX_INPUT_2_SOURCE:
1677         case MADERA_DRC2RMIX_INPUT_2_VOLUME:
1678         case MADERA_DRC2RMIX_INPUT_3_SOURCE:
1679         case MADERA_DRC2RMIX_INPUT_3_VOLUME:
1680         case MADERA_DRC2RMIX_INPUT_4_SOURCE:
1681         case MADERA_DRC2RMIX_INPUT_4_VOLUME:
1682         case MADERA_HPLP1MIX_INPUT_1_SOURCE:
1683         case MADERA_HPLP1MIX_INPUT_1_VOLUME:
1684         case MADERA_HPLP1MIX_INPUT_2_SOURCE:
1685         case MADERA_HPLP1MIX_INPUT_2_VOLUME:
1686         case MADERA_HPLP1MIX_INPUT_3_SOURCE:
1687         case MADERA_HPLP1MIX_INPUT_3_VOLUME:
1688         case MADERA_HPLP1MIX_INPUT_4_SOURCE:
1689         case MADERA_HPLP1MIX_INPUT_4_VOLUME:
1690         case MADERA_HPLP2MIX_INPUT_1_SOURCE:
1691         case MADERA_HPLP2MIX_INPUT_1_VOLUME:
1692         case MADERA_HPLP2MIX_INPUT_2_SOURCE:
1693         case MADERA_HPLP2MIX_INPUT_2_VOLUME:
1694         case MADERA_HPLP2MIX_INPUT_3_SOURCE:
1695         case MADERA_HPLP2MIX_INPUT_3_VOLUME:
1696         case MADERA_HPLP2MIX_INPUT_4_SOURCE:
1697         case MADERA_HPLP2MIX_INPUT_4_VOLUME:
1698         case MADERA_HPLP3MIX_INPUT_1_SOURCE:
1699         case MADERA_HPLP3MIX_INPUT_1_VOLUME:
1700         case MADERA_HPLP3MIX_INPUT_2_SOURCE:
1701         case MADERA_HPLP3MIX_INPUT_2_VOLUME:
1702         case MADERA_HPLP3MIX_INPUT_3_SOURCE:
1703         case MADERA_HPLP3MIX_INPUT_3_VOLUME:
1704         case MADERA_HPLP3MIX_INPUT_4_SOURCE:
1705         case MADERA_HPLP3MIX_INPUT_4_VOLUME:
1706         case MADERA_HPLP4MIX_INPUT_1_SOURCE:
1707         case MADERA_HPLP4MIX_INPUT_1_VOLUME:
1708         case MADERA_HPLP4MIX_INPUT_2_SOURCE:
1709         case MADERA_HPLP4MIX_INPUT_2_VOLUME:
1710         case MADERA_HPLP4MIX_INPUT_3_SOURCE:
1711         case MADERA_HPLP4MIX_INPUT_3_VOLUME:
1712         case MADERA_HPLP4MIX_INPUT_4_SOURCE:
1713         case MADERA_HPLP4MIX_INPUT_4_VOLUME:
1714         case MADERA_DSP1LMIX_INPUT_1_SOURCE:
1715         case MADERA_DSP1LMIX_INPUT_1_VOLUME:
1716         case MADERA_DSP1LMIX_INPUT_2_SOURCE:
1717         case MADERA_DSP1LMIX_INPUT_2_VOLUME:
1718         case MADERA_DSP1LMIX_INPUT_3_SOURCE:
1719         case MADERA_DSP1LMIX_INPUT_3_VOLUME:
1720         case MADERA_DSP1LMIX_INPUT_4_SOURCE:
1721         case MADERA_DSP1LMIX_INPUT_4_VOLUME:
1722         case MADERA_DSP1RMIX_INPUT_1_SOURCE:
1723         case MADERA_DSP1RMIX_INPUT_1_VOLUME:
1724         case MADERA_DSP1RMIX_INPUT_2_SOURCE:
1725         case MADERA_DSP1RMIX_INPUT_2_VOLUME:
1726         case MADERA_DSP1RMIX_INPUT_3_SOURCE:
1727         case MADERA_DSP1RMIX_INPUT_3_VOLUME:
1728         case MADERA_DSP1RMIX_INPUT_4_SOURCE:
1729         case MADERA_DSP1RMIX_INPUT_4_VOLUME:
1730         case MADERA_DSP1AUX1MIX_INPUT_1_SOURCE:
1731         case MADERA_DSP1AUX2MIX_INPUT_1_SOURCE:
1732         case MADERA_DSP1AUX3MIX_INPUT_1_SOURCE:
1733         case MADERA_DSP1AUX4MIX_INPUT_1_SOURCE:
1734         case MADERA_DSP1AUX5MIX_INPUT_1_SOURCE:
1735         case MADERA_DSP1AUX6MIX_INPUT_1_SOURCE:
1736         case MADERA_ASRC1_1LMIX_INPUT_1_SOURCE:
1737         case MADERA_ASRC1_1RMIX_INPUT_1_SOURCE:
1738         case MADERA_ASRC1_2LMIX_INPUT_1_SOURCE:
1739         case MADERA_ASRC1_2RMIX_INPUT_1_SOURCE:
1740         case MADERA_ISRC1DEC1MIX_INPUT_1_SOURCE:
1741         case MADERA_ISRC1DEC2MIX_INPUT_1_SOURCE:
1742         case MADERA_ISRC1INT1MIX_INPUT_1_SOURCE:
1743         case MADERA_ISRC1INT2MIX_INPUT_1_SOURCE:
1744         case MADERA_ISRC2DEC1MIX_INPUT_1_SOURCE:
1745         case MADERA_ISRC2DEC2MIX_INPUT_1_SOURCE:
1746         case MADERA_ISRC2INT1MIX_INPUT_1_SOURCE:
1747         case MADERA_ISRC2INT2MIX_INPUT_1_SOURCE:
1748         case MADERA_DFC1MIX_INPUT_1_SOURCE:
1749         case MADERA_DFC2MIX_INPUT_1_SOURCE:
1750         case MADERA_DFC3MIX_INPUT_1_SOURCE:
1751         case MADERA_DFC4MIX_INPUT_1_SOURCE:
1752         case MADERA_DFC5MIX_INPUT_1_SOURCE:
1753         case MADERA_DFC6MIX_INPUT_1_SOURCE:
1754         case MADERA_DFC7MIX_INPUT_1_SOURCE:
1755         case MADERA_DFC8MIX_INPUT_1_SOURCE:
1756         case MADERA_FX_CTRL1 ... MADERA_FX_CTRL2:
1757         case MADERA_EQ1_1 ... MADERA_EQ1_21:
1758         case MADERA_EQ2_1 ... MADERA_EQ2_21:
1759         case MADERA_EQ3_1 ... MADERA_EQ3_21:
1760         case MADERA_EQ4_1 ... MADERA_EQ4_21:
1761         case MADERA_DRC1_CTRL1 ... MADERA_DRC1_CTRL5:
1762         case MADERA_DRC2_CTRL1 ... MADERA_DRC2_CTRL5:
1763         case MADERA_HPLPF1_1 ... MADERA_HPLPF1_2:
1764         case MADERA_HPLPF2_1 ... MADERA_HPLPF2_2:
1765         case MADERA_HPLPF3_1 ... MADERA_HPLPF3_2:
1766         case MADERA_HPLPF4_1 ... MADERA_HPLPF4_2:
1767         case MADERA_ASRC1_ENABLE:
1768         case MADERA_ASRC1_STATUS:
1769         case MADERA_ASRC1_RATE1 ... MADERA_ASRC1_RATE2:
1770         case MADERA_ISRC_1_CTRL_1 ... MADERA_ISRC_1_CTRL_3:
1771         case MADERA_ISRC_2_CTRL_1 ... MADERA_ISRC_2_CTRL_3:
1772         case MADERA_AUXPDM1_CTRL_0 ... MADERA_AUXPDM1_CTRL_1:
1773         case MADERA_DFC1_CTRL:
1774         case MADERA_DFC1_RX:
1775         case MADERA_DFC1_TX:
1776         case MADERA_DFC2_CTRL:
1777         case MADERA_DFC2_RX:
1778         case MADERA_DFC2_TX:
1779         case MADERA_DFC3_CTRL:
1780         case MADERA_DFC3_RX:
1781         case MADERA_DFC3_TX:
1782         case MADERA_DFC4_CTRL:
1783         case MADERA_DFC4_RX:
1784         case MADERA_DFC4_TX:
1785         case MADERA_DFC5_CTRL:
1786         case MADERA_DFC5_RX:
1787         case MADERA_DFC5_TX:
1788         case MADERA_DFC6_CTRL:
1789         case MADERA_DFC6_RX:
1790         case MADERA_DFC6_TX:
1791         case MADERA_DFC7_CTRL:
1792         case MADERA_DFC7_RX:
1793         case MADERA_DFC7_TX:
1794         case MADERA_DFC8_CTRL:
1795         case MADERA_DFC8_RX:
1796         case MADERA_DFC8_TX:
1797         case MADERA_DFC_STATUS:
1798         case MADERA_GPIO1_CTRL_1 ... MADERA_GPIO16_CTRL_2:
1799         case MADERA_IRQ1_STATUS_1 ... MADERA_IRQ1_STATUS_33:
1800         case MADERA_IRQ1_MASK_1 ... MADERA_IRQ1_MASK_33:
1801         case MADERA_IRQ1_RAW_STATUS_1 ... MADERA_IRQ1_RAW_STATUS_33:
1802         case MADERA_INTERRUPT_DEBOUNCE_7:
1803         case MADERA_IRQ1_CTRL:
1804                 return true;
1805         default:
1806                 return false;
1807         }
1808 }
1809 
1810 static bool cs47l92_16bit_volatile_register(struct device *dev,
1811                                             unsigned int reg)
1812 {
1813         switch (reg) {
1814         case MADERA_SOFTWARE_RESET:
1815         case MADERA_HARDWARE_REVISION:
1816         case MADERA_WRITE_SEQUENCER_CTRL_0 ... MADERA_WRITE_SEQUENCER_CTRL_2:
1817         case MADERA_HAPTICS_STATUS:
1818         case MADERA_SAMPLE_RATE_1_STATUS:
1819         case MADERA_SAMPLE_RATE_2_STATUS:
1820         case MADERA_SAMPLE_RATE_3_STATUS:
1821         case MADERA_ASYNC_SAMPLE_RATE_1_STATUS:
1822         case MADERA_ASYNC_SAMPLE_RATE_2_STATUS:
1823         case MADERA_HP_CTRL_1L:
1824         case MADERA_HP_CTRL_1R:
1825         case MADERA_HP_CTRL_2L:
1826         case MADERA_HP_CTRL_2R:
1827         case MADERA_HP_CTRL_3L:
1828         case MADERA_HP_CTRL_3R:
1829         case MADERA_MIC_DETECT_1_CONTROL_3:
1830         case MADERA_MIC_DETECT_1_CONTROL_4:
1831         case MADERA_MIC_DETECT_2_CONTROL_3:
1832         case MADERA_MIC_DETECT_2_CONTROL_4:
1833         case MADERA_HEADPHONE_DETECT_2:
1834         case MADERA_HEADPHONE_DETECT_3:
1835         case MADERA_HEADPHONE_DETECT_5:
1836         case MADERA_INPUT_ENABLES_STATUS:
1837         case MADERA_OUTPUT_STATUS_1:
1838         case MADERA_RAW_OUTPUT_STATUS_1:
1839         case MADERA_SPD1_TX_CHANNEL_STATUS_1:
1840         case MADERA_SPD1_TX_CHANNEL_STATUS_2:
1841         case MADERA_SPD1_TX_CHANNEL_STATUS_3:
1842         case MADERA_SLIMBUS_RX_PORT_STATUS:
1843         case MADERA_SLIMBUS_TX_PORT_STATUS:
1844         case MADERA_FX_CTRL2:
1845         case MADERA_ASRC1_STATUS:
1846         case MADERA_DFC_STATUS:
1847         case MADERA_IRQ1_STATUS_1 ... MADERA_IRQ1_STATUS_33:
1848         case MADERA_IRQ1_RAW_STATUS_1 ... MADERA_IRQ1_RAW_STATUS_33:
1849                 return true;
1850         default:
1851                 return false;
1852         }
1853 }
1854 
1855 static bool cs47l92_32bit_readable_register(struct device *dev,
1856                                             unsigned int reg)
1857 {
1858         switch (reg) {
1859         case MADERA_WSEQ_SEQUENCE_1 ... MADERA_WSEQ_SEQUENCE_508:
1860         case MADERA_OTP_HPDET_CAL_1 ... MADERA_OTP_HPDET_CAL_2:
1861         case MADERA_DSP1_CONFIG_1 ... MADERA_DSP1_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
1862                 return true;
1863         default:
1864                 return cs47l92_is_adsp_memory(reg);
1865         }
1866 }
1867 
1868 static bool cs47l92_32bit_volatile_register(struct device *dev,
1869                                             unsigned int reg)
1870 {
1871         switch (reg) {
1872         case MADERA_WSEQ_SEQUENCE_1 ... MADERA_WSEQ_SEQUENCE_508:
1873         case MADERA_OTP_HPDET_CAL_1 ... MADERA_OTP_HPDET_CAL_2:
1874         case MADERA_DSP1_CONFIG_1 ... MADERA_DSP1_PMEM_ERR_ADDR___XMEM_ERR_ADDR:
1875                 return true;
1876         default:
1877                 return cs47l92_is_adsp_memory(reg);
1878         }
1879 }
1880 
1881 const struct regmap_config cs47l92_16bit_spi_regmap = {
1882         .name = "cs47l92_16bit",
1883         .reg_bits = 32,
1884         .pad_bits = 16,
1885         .val_bits = 16,
1886         .reg_format_endian = REGMAP_ENDIAN_BIG,
1887         .val_format_endian = REGMAP_ENDIAN_BIG,
1888 
1889         .max_register = MADERA_INTERRUPT_RAW_STATUS_1,
1890         .readable_reg = &cs47l92_16bit_readable_register,
1891         .volatile_reg = &cs47l92_16bit_volatile_register,
1892 
1893         .cache_type = REGCACHE_RBTREE,
1894         .reg_defaults = cs47l92_reg_default,
1895         .num_reg_defaults = ARRAY_SIZE(cs47l92_reg_default),
1896 };
1897 EXPORT_SYMBOL_GPL(cs47l92_16bit_spi_regmap);
1898 
1899 const struct regmap_config cs47l92_16bit_i2c_regmap = {
1900         .name = "cs47l92_16bit",
1901         .reg_bits = 32,
1902         .val_bits = 16,
1903         .reg_format_endian = REGMAP_ENDIAN_BIG,
1904         .val_format_endian = REGMAP_ENDIAN_BIG,
1905 
1906         .max_register = MADERA_INTERRUPT_RAW_STATUS_1,
1907         .readable_reg = &cs47l92_16bit_readable_register,
1908         .volatile_reg = &cs47l92_16bit_volatile_register,
1909 
1910         .cache_type = REGCACHE_RBTREE,
1911         .reg_defaults = cs47l92_reg_default,
1912         .num_reg_defaults = ARRAY_SIZE(cs47l92_reg_default),
1913 };
1914 EXPORT_SYMBOL_GPL(cs47l92_16bit_i2c_regmap);
1915 
1916 const struct regmap_config cs47l92_32bit_spi_regmap = {
1917         .name = "cs47l92_32bit",
1918         .reg_bits = 32,
1919         .reg_stride = 2,
1920         .pad_bits = 16,
1921         .val_bits = 32,
1922         .reg_format_endian = REGMAP_ENDIAN_BIG,
1923         .val_format_endian = REGMAP_ENDIAN_BIG,
1924 
1925         .max_register = MADERA_DSP1_PMEM_ERR_ADDR___XMEM_ERR_ADDR,
1926         .readable_reg = &cs47l92_32bit_readable_register,
1927         .volatile_reg = &cs47l92_32bit_volatile_register,
1928 
1929         .cache_type = REGCACHE_RBTREE,
1930 };
1931 EXPORT_SYMBOL_GPL(cs47l92_32bit_spi_regmap);
1932 
1933 const struct regmap_config cs47l92_32bit_i2c_regmap = {
1934         .name = "cs47l92_32bit",
1935         .reg_bits = 32,
1936         .reg_stride = 2,
1937         .val_bits = 32,
1938         .reg_format_endian = REGMAP_ENDIAN_BIG,
1939         .val_format_endian = REGMAP_ENDIAN_BIG,
1940 
1941         .max_register = MADERA_DSP1_PMEM_ERR_ADDR___XMEM_ERR_ADDR,
1942         .readable_reg = &cs47l92_32bit_readable_register,
1943         .volatile_reg = &cs47l92_32bit_volatile_register,
1944 
1945         .cache_type = REGCACHE_RBTREE,
1946 };
1947 EXPORT_SYMBOL_GPL(cs47l92_32bit_i2c_regmap);