0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #include <linux/device.h>
0011 #include <linux/module.h>
0012
0013 #include <linux/mfd/arizona/core.h>
0014 #include <linux/mfd/arizona/registers.h>
0015
0016 #include "arizona.h"
0017
0018 #define WM5102_NUM_AOD_ISR 2
0019 #define WM5102_NUM_ISR 5
0020
0021 static const struct reg_sequence wm5102_reva_patch[] = {
0022 { 0x80, 0x0003 },
0023 { 0x221, 0x0090 },
0024 { 0x211, 0x0014 },
0025 { 0x212, 0x0000 },
0026 { 0x214, 0x000C },
0027 { 0x171, 0x0002 },
0028 { 0x171, 0x0000 },
0029 { 0x461, 0x8000 },
0030 { 0x463, 0x50F0 },
0031 { 0x465, 0x4820 },
0032 { 0x467, 0x4040 },
0033 { 0x469, 0x3940 },
0034 { 0x46B, 0x3310 },
0035 { 0x46D, 0x2D80 },
0036 { 0x46F, 0x2890 },
0037 { 0x471, 0x1990 },
0038 { 0x473, 0x1450 },
0039 { 0x475, 0x1020 },
0040 { 0x477, 0x0CD0 },
0041 { 0x479, 0x0A30 },
0042 { 0x47B, 0x0810 },
0043 { 0x47D, 0x0510 },
0044 { 0x4D1, 0x017F },
0045 { 0x500, 0x000D },
0046 { 0x507, 0x1820 },
0047 { 0x508, 0x1820 },
0048 { 0x540, 0x000D },
0049 { 0x547, 0x1820 },
0050 { 0x548, 0x1820 },
0051 { 0x580, 0x000D },
0052 { 0x587, 0x1820 },
0053 { 0x588, 0x1820 },
0054 { 0x80, 0x0000 },
0055 };
0056
0057 static const struct reg_sequence wm5102_revb_patch[] = {
0058 { 0x19, 0x0001 },
0059 { 0x80, 0x0003 },
0060 { 0x081, 0xE022 },
0061 { 0x410, 0x6080 },
0062 { 0x418, 0xa080 },
0063 { 0x420, 0xa080 },
0064 { 0x428, 0xe000 },
0065 { 0x442, 0x3F0A },
0066 { 0x443, 0xDC1F },
0067 { 0x4B0, 0x0066 },
0068 { 0x458, 0x000b },
0069 { 0x212, 0x0000 },
0070 { 0x171, 0x0000 },
0071 { 0x35E, 0x000C },
0072 { 0x2D4, 0x0000 },
0073 { 0x4DC, 0x0900 },
0074 { 0x80, 0x0000 },
0075 };
0076
0077
0078 int wm5102_patch(struct arizona *arizona)
0079 {
0080 const struct reg_sequence *wm5102_patch;
0081 int patch_size;
0082
0083 switch (arizona->rev) {
0084 case 0:
0085 wm5102_patch = wm5102_reva_patch;
0086 patch_size = ARRAY_SIZE(wm5102_reva_patch);
0087 break;
0088 default:
0089 wm5102_patch = wm5102_revb_patch;
0090 patch_size = ARRAY_SIZE(wm5102_revb_patch);
0091 }
0092
0093 return regmap_multi_reg_write_bypassed(arizona->regmap,
0094 wm5102_patch,
0095 patch_size);
0096 }
0097
0098 static const struct regmap_irq wm5102_aod_irqs[ARIZONA_NUM_IRQ] = {
0099 [ARIZONA_IRQ_MICD_CLAMP_FALL] = {
0100 .mask = ARIZONA_MICD_CLAMP_FALL_EINT1
0101 },
0102 [ARIZONA_IRQ_MICD_CLAMP_RISE] = {
0103 .mask = ARIZONA_MICD_CLAMP_RISE_EINT1
0104 },
0105 [ARIZONA_IRQ_GP5_FALL] = { .mask = ARIZONA_GP5_FALL_EINT1 },
0106 [ARIZONA_IRQ_GP5_RISE] = { .mask = ARIZONA_GP5_RISE_EINT1 },
0107 [ARIZONA_IRQ_JD_FALL] = { .mask = ARIZONA_JD1_FALL_EINT1 },
0108 [ARIZONA_IRQ_JD_RISE] = { .mask = ARIZONA_JD1_RISE_EINT1 },
0109 };
0110
0111 const struct regmap_irq_chip wm5102_aod = {
0112 .name = "wm5102 AOD",
0113 .status_base = ARIZONA_AOD_IRQ1,
0114 .mask_base = ARIZONA_AOD_IRQ_MASK_IRQ1,
0115 .ack_base = ARIZONA_AOD_IRQ1,
0116 .wake_base = ARIZONA_WAKE_CONTROL,
0117 .wake_invert = 1,
0118 .num_regs = 1,
0119 .irqs = wm5102_aod_irqs,
0120 .num_irqs = ARRAY_SIZE(wm5102_aod_irqs),
0121 };
0122
0123 static const struct regmap_irq wm5102_irqs[ARIZONA_NUM_IRQ] = {
0124 [ARIZONA_IRQ_GP4] = { .reg_offset = 0, .mask = ARIZONA_GP4_EINT1 },
0125 [ARIZONA_IRQ_GP3] = { .reg_offset = 0, .mask = ARIZONA_GP3_EINT1 },
0126 [ARIZONA_IRQ_GP2] = { .reg_offset = 0, .mask = ARIZONA_GP2_EINT1 },
0127 [ARIZONA_IRQ_GP1] = { .reg_offset = 0, .mask = ARIZONA_GP1_EINT1 },
0128
0129 [ARIZONA_IRQ_DSP1_RAM_RDY] = {
0130 .reg_offset = 1, .mask = ARIZONA_DSP1_RAM_RDY_EINT1
0131 },
0132 [ARIZONA_IRQ_DSP_IRQ2] = {
0133 .reg_offset = 1, .mask = ARIZONA_DSP_IRQ2_EINT1
0134 },
0135 [ARIZONA_IRQ_DSP_IRQ1] = {
0136 .reg_offset = 1, .mask = ARIZONA_DSP_IRQ1_EINT1
0137 },
0138
0139 [ARIZONA_IRQ_SPK_OVERHEAT_WARN] = {
0140 .reg_offset = 2, .mask = ARIZONA_SPK_OVERHEAT_WARN_EINT1
0141 },
0142 [ARIZONA_IRQ_SPK_OVERHEAT] = {
0143 .reg_offset = 2, .mask = ARIZONA_SPK_OVERHEAT_EINT1
0144 },
0145 [ARIZONA_IRQ_HPDET] = {
0146 .reg_offset = 2, .mask = ARIZONA_HPDET_EINT1
0147 },
0148 [ARIZONA_IRQ_MICDET] = {
0149 .reg_offset = 2, .mask = ARIZONA_MICDET_EINT1
0150 },
0151 [ARIZONA_IRQ_WSEQ_DONE] = {
0152 .reg_offset = 2, .mask = ARIZONA_WSEQ_DONE_EINT1
0153 },
0154 [ARIZONA_IRQ_DRC2_SIG_DET] = {
0155 .reg_offset = 2, .mask = ARIZONA_DRC2_SIG_DET_EINT1
0156 },
0157 [ARIZONA_IRQ_DRC1_SIG_DET] = {
0158 .reg_offset = 2, .mask = ARIZONA_DRC1_SIG_DET_EINT1
0159 },
0160 [ARIZONA_IRQ_ASRC2_LOCK] = {
0161 .reg_offset = 2, .mask = ARIZONA_ASRC2_LOCK_EINT1
0162 },
0163 [ARIZONA_IRQ_ASRC1_LOCK] = {
0164 .reg_offset = 2, .mask = ARIZONA_ASRC1_LOCK_EINT1
0165 },
0166 [ARIZONA_IRQ_UNDERCLOCKED] = {
0167 .reg_offset = 2, .mask = ARIZONA_UNDERCLOCKED_EINT1
0168 },
0169 [ARIZONA_IRQ_OVERCLOCKED] = {
0170 .reg_offset = 2, .mask = ARIZONA_OVERCLOCKED_EINT1
0171 },
0172 [ARIZONA_IRQ_FLL2_LOCK] = {
0173 .reg_offset = 2, .mask = ARIZONA_FLL2_LOCK_EINT1
0174 },
0175 [ARIZONA_IRQ_FLL1_LOCK] = {
0176 .reg_offset = 2, .mask = ARIZONA_FLL1_LOCK_EINT1
0177 },
0178 [ARIZONA_IRQ_CLKGEN_ERR] = {
0179 .reg_offset = 2, .mask = ARIZONA_CLKGEN_ERR_EINT1
0180 },
0181 [ARIZONA_IRQ_CLKGEN_ERR_ASYNC] = {
0182 .reg_offset = 2, .mask = ARIZONA_CLKGEN_ERR_ASYNC_EINT1
0183 },
0184
0185 [ARIZONA_IRQ_ASRC_CFG_ERR] = {
0186 .reg_offset = 3, .mask = ARIZONA_ASRC_CFG_ERR_EINT1
0187 },
0188 [ARIZONA_IRQ_AIF3_ERR] = {
0189 .reg_offset = 3, .mask = ARIZONA_AIF3_ERR_EINT1
0190 },
0191 [ARIZONA_IRQ_AIF2_ERR] = {
0192 .reg_offset = 3, .mask = ARIZONA_AIF2_ERR_EINT1
0193 },
0194 [ARIZONA_IRQ_AIF1_ERR] = {
0195 .reg_offset = 3, .mask = ARIZONA_AIF1_ERR_EINT1
0196 },
0197 [ARIZONA_IRQ_CTRLIF_ERR] = {
0198 .reg_offset = 3, .mask = ARIZONA_CTRLIF_ERR_EINT1
0199 },
0200 [ARIZONA_IRQ_MIXER_DROPPED_SAMPLES] = {
0201 .reg_offset = 3, .mask = ARIZONA_MIXER_DROPPED_SAMPLE_EINT1
0202 },
0203 [ARIZONA_IRQ_ASYNC_CLK_ENA_LOW] = {
0204 .reg_offset = 3, .mask = ARIZONA_ASYNC_CLK_ENA_LOW_EINT1
0205 },
0206 [ARIZONA_IRQ_SYSCLK_ENA_LOW] = {
0207 .reg_offset = 3, .mask = ARIZONA_SYSCLK_ENA_LOW_EINT1
0208 },
0209 [ARIZONA_IRQ_ISRC1_CFG_ERR] = {
0210 .reg_offset = 3, .mask = ARIZONA_ISRC1_CFG_ERR_EINT1
0211 },
0212 [ARIZONA_IRQ_ISRC2_CFG_ERR] = {
0213 .reg_offset = 3, .mask = ARIZONA_ISRC2_CFG_ERR_EINT1
0214 },
0215
0216 [ARIZONA_IRQ_BOOT_DONE] = {
0217 .reg_offset = 4, .mask = ARIZONA_BOOT_DONE_EINT1
0218 },
0219 [ARIZONA_IRQ_DCS_DAC_DONE] = {
0220 .reg_offset = 4, .mask = ARIZONA_DCS_DAC_DONE_EINT1
0221 },
0222 [ARIZONA_IRQ_DCS_HP_DONE] = {
0223 .reg_offset = 4, .mask = ARIZONA_DCS_HP_DONE_EINT1
0224 },
0225 [ARIZONA_IRQ_FLL2_CLOCK_OK] = {
0226 .reg_offset = 4, .mask = ARIZONA_FLL2_CLOCK_OK_EINT1
0227 },
0228 [ARIZONA_IRQ_FLL1_CLOCK_OK] = {
0229 .reg_offset = 4, .mask = ARIZONA_FLL1_CLOCK_OK_EINT1
0230 },
0231 };
0232
0233 const struct regmap_irq_chip wm5102_irq = {
0234 .name = "wm5102 IRQ",
0235 .status_base = ARIZONA_INTERRUPT_STATUS_1,
0236 .mask_base = ARIZONA_INTERRUPT_STATUS_1_MASK,
0237 .ack_base = ARIZONA_INTERRUPT_STATUS_1,
0238 .num_regs = 5,
0239 .irqs = wm5102_irqs,
0240 .num_irqs = ARRAY_SIZE(wm5102_irqs),
0241 };
0242
0243 static const struct reg_default wm5102_reg_default[] = {
0244 { 0x00000008, 0x0019 },
0245 { 0x00000009, 0x0001 },
0246 { 0x00000020, 0x0000 },
0247 { 0x00000021, 0x1000 },
0248 { 0x00000022, 0x0000 },
0249 { 0x00000023, 0x1000 },
0250 { 0x00000024, 0x0000 },
0251 { 0x00000030, 0x0000 },
0252 { 0x00000031, 0x0100 },
0253 { 0x00000032, 0x0100 },
0254 { 0x00000040, 0x0000 },
0255 { 0x00000041, 0x0000 },
0256 { 0x00000061, 0x01FF },
0257 { 0x00000062, 0x01FF },
0258 { 0x00000063, 0x01FF },
0259 { 0x00000064, 0x01FF },
0260 { 0x00000066, 0x01FF },
0261 { 0x00000067, 0x01FF },
0262 { 0x00000068, 0x01FF },
0263 { 0x00000069, 0x01FF },
0264 { 0x0000006A, 0x01FF },
0265 { 0x0000006B, 0x01FF },
0266 { 0x00000070, 0x0000 },
0267 { 0x00000090, 0x0000 },
0268 { 0x00000091, 0x7FFF },
0269 { 0x00000092, 0x0000 },
0270 { 0x00000093, 0x0000 },
0271 { 0x00000094, 0x0000 },
0272 { 0x00000095, 0x0000 },
0273 { 0x00000096, 0x0000 },
0274 { 0x00000097, 0x0000 },
0275 { 0x00000100, 0x0002 },
0276 { 0x00000101, 0x0304 },
0277 { 0x00000102, 0x0011 },
0278 { 0x00000103, 0x0011 },
0279 { 0x00000104, 0x0011 },
0280 { 0x00000112, 0x0305 },
0281 { 0x00000113, 0x0011 },
0282 { 0x00000114, 0x0011 },
0283 { 0x00000149, 0x0000 },
0284 { 0x0000014A, 0x0000 },
0285 { 0x00000152, 0x0000 },
0286 { 0x00000153, 0x0000 },
0287 { 0x00000154, 0x0000 },
0288 { 0x00000155, 0x0000 },
0289 { 0x00000156, 0x0000 },
0290 { 0x00000161, 0x0000 },
0291 { 0x00000171, 0x0000 },
0292 { 0x00000172, 0x0008 },
0293 { 0x00000173, 0x0018 },
0294 { 0x00000174, 0x007D },
0295 { 0x00000175, 0x0004 },
0296 { 0x00000176, 0x0000 },
0297 { 0x00000179, 0x0000 },
0298 { 0x00000181, 0x0000 },
0299 { 0x00000182, 0x0000 },
0300 { 0x00000183, 0x0000 },
0301 { 0x00000184, 0x0000 },
0302 { 0x00000185, 0x0000 },
0303 { 0x00000186, 0x0000 },
0304 { 0x00000187, 0x0001 },
0305 { 0x00000189, 0x0000 },
0306 { 0x0000018A, 0x0004 },
0307 { 0x00000191, 0x0000 },
0308 { 0x00000192, 0x0008 },
0309 { 0x00000193, 0x0018 },
0310 { 0x00000194, 0x007D },
0311 { 0x00000195, 0x0004 },
0312 { 0x00000196, 0x0000 },
0313 { 0x00000199, 0x0000 },
0314 { 0x000001A1, 0x0000 },
0315 { 0x000001A2, 0x0000 },
0316 { 0x000001A3, 0x0000 },
0317 { 0x000001A4, 0x0000 },
0318 { 0x000001A5, 0x0000 },
0319 { 0x000001A6, 0x0000 },
0320 { 0x000001A7, 0x0001 },
0321 { 0x000001A9, 0x0000 },
0322 { 0x000001AA, 0x0004 },
0323 { 0x00000200, 0x0006 },
0324 { 0x00000210, 0x00D4 },
0325 { 0x00000212, 0x0000 },
0326 { 0x00000213, 0x0344 },
0327 { 0x00000218, 0x01A6 },
0328 { 0x00000219, 0x01A6 },
0329 { 0x0000021A, 0x01A6 },
0330 { 0x00000293, 0x0000 },
0331 { 0x0000029B, 0x0020 },
0332 { 0x000002A2, 0x0000 },
0333 { 0x000002A3, 0x1102 },
0334 { 0x000002A4, 0x009F },
0335 { 0x000002A6, 0x3737 },
0336 { 0x000002A7, 0x2C37 },
0337 { 0x000002A8, 0x1422 },
0338 { 0x000002A9, 0x030A },
0339 { 0x000002C3, 0x0000 },
0340 { 0x000002CB, 0x0000 },
0341 { 0x000002D3, 0x0000 },
0342 { 0x00000300, 0x0000 },
0343 { 0x00000308, 0x0000 },
0344 { 0x00000309, 0x0022 },
0345 { 0x00000310, 0x2080 },
0346 { 0x00000311, 0x0180 },
0347 { 0x00000312, 0x0000 },
0348 { 0x00000314, 0x0080 },
0349 { 0x00000315, 0x0180 },
0350 { 0x00000316, 0x0000 },
0351 { 0x00000318, 0x2080 },
0352 { 0x00000319, 0x0180 },
0353 { 0x0000031A, 0x0000 },
0354 { 0x0000031C, 0x0080 },
0355 { 0x0000031D, 0x0180 },
0356 { 0x0000031E, 0x0000 },
0357 { 0x00000320, 0x2080 },
0358 { 0x00000321, 0x0180 },
0359 { 0x00000322, 0x0000 },
0360 { 0x00000324, 0x0080 },
0361 { 0x00000325, 0x0180 },
0362 { 0x00000326, 0x0000 },
0363 { 0x00000400, 0x0000 },
0364 { 0x00000408, 0x0000 },
0365 { 0x00000409, 0x0022 },
0366 { 0x00000410, 0x6080 },
0367 { 0x00000411, 0x0180 },
0368 { 0x00000412, 0x0081 },
0369 { 0x00000413, 0x0001 },
0370 { 0x00000414, 0x0080 },
0371 { 0x00000415, 0x0180 },
0372 { 0x00000416, 0x0081 },
0373 { 0x00000417, 0x0002 },
0374 { 0x00000418, 0xA080 },
0375 { 0x00000419, 0x0180 },
0376 { 0x0000041A, 0x0081 },
0377 { 0x0000041B, 0x0004 },
0378 { 0x0000041C, 0x0080 },
0379 { 0x0000041D, 0x0180 },
0380 { 0x0000041E, 0x0081 },
0381 { 0x0000041F, 0x0008 },
0382 { 0x00000420, 0xA080 },
0383 { 0x00000421, 0x0180 },
0384 { 0x00000422, 0x0081 },
0385 { 0x00000423, 0x0010 },
0386 { 0x00000428, 0xE000 },
0387 { 0x00000429, 0x0180 },
0388 { 0x0000042A, 0x0081 },
0389 { 0x0000042B, 0x0040 },
0390 { 0x0000042D, 0x0180 },
0391 { 0x0000042E, 0x0081 },
0392 { 0x0000042F, 0x0080 },
0393 { 0x00000430, 0x0000 },
0394 { 0x00000431, 0x0180 },
0395 { 0x00000432, 0x0081 },
0396 { 0x00000433, 0x0100 },
0397 { 0x00000435, 0x0180 },
0398 { 0x00000436, 0x0081 },
0399 { 0x00000437, 0x0200 },
0400 { 0x00000440, 0x0FFF },
0401 { 0x00000442, 0x3F0A },
0402 { 0x00000443, 0xDC1F },
0403 { 0x00000450, 0x0000 },
0404 { 0x00000458, 0x000B },
0405 { 0x00000490, 0x0069 },
0406 { 0x00000491, 0x0000 },
0407 { 0x00000500, 0x000C },
0408 { 0x00000501, 0x0008 },
0409 { 0x00000502, 0x0000 },
0410 { 0x00000503, 0x0000 },
0411 { 0x00000504, 0x0000 },
0412 { 0x00000505, 0x0040 },
0413 { 0x00000506, 0x0040 },
0414 { 0x00000507, 0x1818 },
0415 { 0x00000508, 0x1818 },
0416 { 0x00000509, 0x0000 },
0417 { 0x0000050A, 0x0001 },
0418 { 0x0000050B, 0x0002 },
0419 { 0x0000050C, 0x0003 },
0420 { 0x0000050D, 0x0004 },
0421 { 0x0000050E, 0x0005 },
0422 { 0x0000050F, 0x0006 },
0423 { 0x00000510, 0x0007 },
0424 { 0x00000511, 0x0000 },
0425 { 0x00000512, 0x0001 },
0426 { 0x00000513, 0x0002 },
0427 { 0x00000514, 0x0003 },
0428 { 0x00000515, 0x0004 },
0429 { 0x00000516, 0x0005 },
0430 { 0x00000517, 0x0006 },
0431 { 0x00000518, 0x0007 },
0432 { 0x00000519, 0x0000 },
0433 { 0x0000051A, 0x0000 },
0434 { 0x00000540, 0x000C },
0435 { 0x00000541, 0x0008 },
0436 { 0x00000542, 0x0000 },
0437 { 0x00000543, 0x0000 },
0438 { 0x00000544, 0x0000 },
0439 { 0x00000545, 0x0040 },
0440 { 0x00000546, 0x0040 },
0441 { 0x00000547, 0x1818 },
0442 { 0x00000548, 0x1818 },
0443 { 0x00000549, 0x0000 },
0444 { 0x0000054A, 0x0001 },
0445 { 0x00000551, 0x0000 },
0446 { 0x00000552, 0x0001 },
0447 { 0x00000559, 0x0000 },
0448 { 0x0000055A, 0x0000 },
0449 { 0x00000580, 0x000C },
0450 { 0x00000581, 0x0008 },
0451 { 0x00000582, 0x0000 },
0452 { 0x00000583, 0x0000 },
0453 { 0x00000584, 0x0000 },
0454 { 0x00000585, 0x0040 },
0455 { 0x00000586, 0x0040 },
0456 { 0x00000587, 0x1818 },
0457 { 0x00000588, 0x1818 },
0458 { 0x00000589, 0x0000 },
0459 { 0x0000058A, 0x0001 },
0460 { 0x00000591, 0x0000 },
0461 { 0x00000592, 0x0001 },
0462 { 0x00000599, 0x0000 },
0463 { 0x0000059A, 0x0000 },
0464 { 0x000005E3, 0x0004 },
0465 { 0x000005E5, 0x0000 },
0466 { 0x000005E6, 0x0000 },
0467 { 0x000005E7, 0x0000 },
0468 { 0x000005E8, 0x0000 },
0469 { 0x000005E9, 0x0000 },
0470 { 0x000005EA, 0x0000 },
0471 { 0x000005EB, 0x0000 },
0472 { 0x000005EC, 0x0000 },
0473 { 0x000005F5, 0x0000 },
0474 { 0x000005F6, 0x0000 },
0475 { 0x00000640, 0x0000 },
0476 { 0x00000641, 0x0080 },
0477 { 0x00000642, 0x0000 },
0478 { 0x00000643, 0x0080 },
0479 { 0x00000644, 0x0000 },
0480 { 0x00000645, 0x0080 },
0481 { 0x00000646, 0x0000 },
0482 { 0x00000647, 0x0080 },
0483 { 0x00000648, 0x0000 },
0484 { 0x00000649, 0x0080 },
0485 { 0x0000064A, 0x0000 },
0486 { 0x0000064B, 0x0080 },
0487 { 0x0000064C, 0x0000 },
0488 { 0x0000064D, 0x0080 },
0489 { 0x0000064E, 0x0000 },
0490 { 0x0000064F, 0x0080 },
0491 { 0x00000660, 0x0000 },
0492 { 0x00000661, 0x0080 },
0493 { 0x00000662, 0x0000 },
0494 { 0x00000663, 0x0080 },
0495 { 0x00000664, 0x0000 },
0496 { 0x00000665, 0x0080 },
0497 { 0x00000666, 0x0000 },
0498 { 0x00000667, 0x0080 },
0499 { 0x00000668, 0x0000 },
0500 { 0x00000669, 0x0080 },
0501 { 0x0000066A, 0x0000 },
0502 { 0x0000066B, 0x0080 },
0503 { 0x0000066C, 0x0000 },
0504 { 0x0000066D, 0x0080 },
0505 { 0x0000066E, 0x0000 },
0506 { 0x0000066F, 0x0080 },
0507 { 0x00000680, 0x0000 },
0508 { 0x00000681, 0x0080 },
0509 { 0x00000682, 0x0000 },
0510 { 0x00000683, 0x0080 },
0511 { 0x00000684, 0x0000 },
0512 { 0x00000685, 0x0080 },
0513 { 0x00000686, 0x0000 },
0514 { 0x00000687, 0x0080 },
0515 { 0x00000688, 0x0000 },
0516 { 0x00000689, 0x0080 },
0517 { 0x0000068A, 0x0000 },
0518 { 0x0000068B, 0x0080 },
0519 { 0x0000068C, 0x0000 },
0520 { 0x0000068D, 0x0080 },
0521 { 0x0000068E, 0x0000 },
0522 { 0x0000068F, 0x0080 },
0523 { 0x00000690, 0x0000 },
0524 { 0x00000691, 0x0080 },
0525 { 0x00000692, 0x0000 },
0526 { 0x00000693, 0x0080 },
0527 { 0x00000694, 0x0000 },
0528 { 0x00000695, 0x0080 },
0529 { 0x00000696, 0x0000 },
0530 { 0x00000697, 0x0080 },
0531 { 0x00000698, 0x0000 },
0532 { 0x00000699, 0x0080 },
0533 { 0x0000069A, 0x0000 },
0534 { 0x0000069B, 0x0080 },
0535 { 0x0000069C, 0x0000 },
0536 { 0x0000069D, 0x0080 },
0537 { 0x0000069E, 0x0000 },
0538 { 0x0000069F, 0x0080 },
0539 { 0x000006A0, 0x0000 },
0540 { 0x000006A1, 0x0080 },
0541 { 0x000006A2, 0x0000 },
0542 { 0x000006A3, 0x0080 },
0543 { 0x000006A4, 0x0000 },
0544 { 0x000006A5, 0x0080 },
0545 { 0x000006A6, 0x0000 },
0546 { 0x000006A7, 0x0080 },
0547 { 0x000006B0, 0x0000 },
0548 { 0x000006B1, 0x0080 },
0549 { 0x000006B2, 0x0000 },
0550 { 0x000006B3, 0x0080 },
0551 { 0x000006B4, 0x0000 },
0552 { 0x000006B5, 0x0080 },
0553 { 0x000006B6, 0x0000 },
0554 { 0x000006B7, 0x0080 },
0555 { 0x000006B8, 0x0000 },
0556 { 0x000006B9, 0x0080 },
0557 { 0x000006BA, 0x0000 },
0558 { 0x000006BB, 0x0080 },
0559 { 0x000006BC, 0x0000 },
0560 { 0x000006BD, 0x0080 },
0561 { 0x000006BE, 0x0000 },
0562 { 0x000006BF, 0x0080 },
0563 { 0x000006C0, 0x0000 },
0564 { 0x000006C1, 0x0080 },
0565 { 0x000006C2, 0x0000 },
0566 { 0x000006C3, 0x0080 },
0567 { 0x000006C4, 0x0000 },
0568 { 0x000006C5, 0x0080 },
0569 { 0x000006C6, 0x0000 },
0570 { 0x000006C7, 0x0080 },
0571 { 0x000006C8, 0x0000 },
0572 { 0x000006C9, 0x0080 },
0573 { 0x000006CA, 0x0000 },
0574 { 0x000006CB, 0x0080 },
0575 { 0x000006CC, 0x0000 },
0576 { 0x000006CD, 0x0080 },
0577 { 0x000006CE, 0x0000 },
0578 { 0x000006CF, 0x0080 },
0579 { 0x00000700, 0x0000 },
0580 { 0x00000701, 0x0080 },
0581 { 0x00000702, 0x0000 },
0582 { 0x00000703, 0x0080 },
0583 { 0x00000704, 0x0000 },
0584 { 0x00000705, 0x0080 },
0585 { 0x00000706, 0x0000 },
0586 { 0x00000707, 0x0080 },
0587 { 0x00000708, 0x0000 },
0588 { 0x00000709, 0x0080 },
0589 { 0x0000070A, 0x0000 },
0590 { 0x0000070B, 0x0080 },
0591 { 0x0000070C, 0x0000 },
0592 { 0x0000070D, 0x0080 },
0593 { 0x0000070E, 0x0000 },
0594 { 0x0000070F, 0x0080 },
0595 { 0x00000710, 0x0000 },
0596 { 0x00000711, 0x0080 },
0597 { 0x00000712, 0x0000 },
0598 { 0x00000713, 0x0080 },
0599 { 0x00000714, 0x0000 },
0600 { 0x00000715, 0x0080 },
0601 { 0x00000716, 0x0000 },
0602 { 0x00000717, 0x0080 },
0603 { 0x00000718, 0x0000 },
0604 { 0x00000719, 0x0080 },
0605 { 0x0000071A, 0x0000 },
0606 { 0x0000071B, 0x0080 },
0607 { 0x0000071C, 0x0000 },
0608 { 0x0000071D, 0x0080 },
0609 { 0x0000071E, 0x0000 },
0610 { 0x0000071F, 0x0080 },
0611 { 0x00000720, 0x0000 },
0612 { 0x00000721, 0x0080 },
0613 { 0x00000722, 0x0000 },
0614 { 0x00000723, 0x0080 },
0615 { 0x00000724, 0x0000 },
0616 { 0x00000725, 0x0080 },
0617 { 0x00000726, 0x0000 },
0618 { 0x00000727, 0x0080 },
0619 { 0x00000728, 0x0000 },
0620 { 0x00000729, 0x0080 },
0621 { 0x0000072A, 0x0000 },
0622 { 0x0000072B, 0x0080 },
0623 { 0x0000072C, 0x0000 },
0624 { 0x0000072D, 0x0080 },
0625 { 0x0000072E, 0x0000 },
0626 { 0x0000072F, 0x0080 },
0627 { 0x00000730, 0x0000 },
0628 { 0x00000731, 0x0080 },
0629 { 0x00000732, 0x0000 },
0630 { 0x00000733, 0x0080 },
0631 { 0x00000734, 0x0000 },
0632 { 0x00000735, 0x0080 },
0633 { 0x00000736, 0x0000 },
0634 { 0x00000737, 0x0080 },
0635 { 0x00000738, 0x0000 },
0636 { 0x00000739, 0x0080 },
0637 { 0x0000073A, 0x0000 },
0638 { 0x0000073B, 0x0080 },
0639 { 0x0000073C, 0x0000 },
0640 { 0x0000073D, 0x0080 },
0641 { 0x0000073E, 0x0000 },
0642 { 0x0000073F, 0x0080 },
0643 { 0x00000740, 0x0000 },
0644 { 0x00000741, 0x0080 },
0645 { 0x00000742, 0x0000 },
0646 { 0x00000743, 0x0080 },
0647 { 0x00000744, 0x0000 },
0648 { 0x00000745, 0x0080 },
0649 { 0x00000746, 0x0000 },
0650 { 0x00000747, 0x0080 },
0651 { 0x00000748, 0x0000 },
0652 { 0x00000749, 0x0080 },
0653 { 0x0000074A, 0x0000 },
0654 { 0x0000074B, 0x0080 },
0655 { 0x0000074C, 0x0000 },
0656 { 0x0000074D, 0x0080 },
0657 { 0x0000074E, 0x0000 },
0658 { 0x0000074F, 0x0080 },
0659 { 0x00000780, 0x0000 },
0660 { 0x00000781, 0x0080 },
0661 { 0x00000782, 0x0000 },
0662 { 0x00000783, 0x0080 },
0663 { 0x00000784, 0x0000 },
0664 { 0x00000785, 0x0080 },
0665 { 0x00000786, 0x0000 },
0666 { 0x00000787, 0x0080 },
0667 { 0x00000788, 0x0000 },
0668 { 0x00000789, 0x0080 },
0669 { 0x0000078A, 0x0000 },
0670 { 0x0000078B, 0x0080 },
0671 { 0x0000078C, 0x0000 },
0672 { 0x0000078D, 0x0080 },
0673 { 0x0000078E, 0x0000 },
0674 { 0x0000078F, 0x0080 },
0675 { 0x000007C0, 0x0000 },
0676 { 0x000007C1, 0x0080 },
0677 { 0x000007C2, 0x0000 },
0678 { 0x000007C3, 0x0080 },
0679 { 0x000007C4, 0x0000 },
0680 { 0x000007C5, 0x0080 },
0681 { 0x000007C6, 0x0000 },
0682 { 0x000007C7, 0x0080 },
0683 { 0x000007C8, 0x0000 },
0684 { 0x000007C9, 0x0080 },
0685 { 0x000007CA, 0x0000 },
0686 { 0x000007CB, 0x0080 },
0687 { 0x000007CC, 0x0000 },
0688 { 0x000007CD, 0x0080 },
0689 { 0x000007CE, 0x0000 },
0690 { 0x000007CF, 0x0080 },
0691 { 0x000007D0, 0x0000 },
0692 { 0x000007D1, 0x0080 },
0693 { 0x000007D2, 0x0000 },
0694 { 0x000007D3, 0x0080 },
0695 { 0x000007D4, 0x0000 },
0696 { 0x000007D5, 0x0080 },
0697 { 0x000007D6, 0x0000 },
0698 { 0x000007D7, 0x0080 },
0699 { 0x000007D8, 0x0000 },
0700 { 0x000007D9, 0x0080 },
0701 { 0x000007DA, 0x0000 },
0702 { 0x000007DB, 0x0080 },
0703 { 0x000007DC, 0x0000 },
0704 { 0x000007DD, 0x0080 },
0705 { 0x000007DE, 0x0000 },
0706 { 0x000007DF, 0x0080 },
0707 { 0x000007E0, 0x0000 },
0708 { 0x000007E1, 0x0080 },
0709 { 0x000007E2, 0x0000 },
0710 { 0x000007E3, 0x0080 },
0711 { 0x000007E4, 0x0000 },
0712 { 0x000007E5, 0x0080 },
0713 { 0x000007E6, 0x0000 },
0714 { 0x000007E7, 0x0080 },
0715 { 0x000007E8, 0x0000 },
0716 { 0x000007E9, 0x0080 },
0717 { 0x000007EA, 0x0000 },
0718 { 0x000007EB, 0x0080 },
0719 { 0x000007EC, 0x0000 },
0720 { 0x000007ED, 0x0080 },
0721 { 0x000007EE, 0x0000 },
0722 { 0x000007EF, 0x0080 },
0723 { 0x000007F0, 0x0000 },
0724 { 0x000007F1, 0x0080 },
0725 { 0x000007F2, 0x0000 },
0726 { 0x000007F3, 0x0080 },
0727 { 0x000007F4, 0x0000 },
0728 { 0x000007F5, 0x0080 },
0729 { 0x000007F6, 0x0000 },
0730 { 0x000007F7, 0x0080 },
0731 { 0x000007F8, 0x0000 },
0732 { 0x000007F9, 0x0080 },
0733 { 0x000007FA, 0x0000 },
0734 { 0x000007FB, 0x0080 },
0735 { 0x000007FC, 0x0000 },
0736 { 0x000007FD, 0x0080 },
0737 { 0x000007FE, 0x0000 },
0738 { 0x000007FF, 0x0080 },
0739 { 0x00000880, 0x0000 },
0740 { 0x00000881, 0x0080 },
0741 { 0x00000882, 0x0000 },
0742 { 0x00000883, 0x0080 },
0743 { 0x00000884, 0x0000 },
0744 { 0x00000885, 0x0080 },
0745 { 0x00000886, 0x0000 },
0746 { 0x00000887, 0x0080 },
0747 { 0x00000888, 0x0000 },
0748 { 0x00000889, 0x0080 },
0749 { 0x0000088A, 0x0000 },
0750 { 0x0000088B, 0x0080 },
0751 { 0x0000088C, 0x0000 },
0752 { 0x0000088D, 0x0080 },
0753 { 0x0000088E, 0x0000 },
0754 { 0x0000088F, 0x0080 },
0755 { 0x00000890, 0x0000 },
0756 { 0x00000891, 0x0080 },
0757 { 0x00000892, 0x0000 },
0758 { 0x00000893, 0x0080 },
0759 { 0x00000894, 0x0000 },
0760 { 0x00000895, 0x0080 },
0761 { 0x00000896, 0x0000 },
0762 { 0x00000897, 0x0080 },
0763 { 0x00000898, 0x0000 },
0764 { 0x00000899, 0x0080 },
0765 { 0x0000089A, 0x0000 },
0766 { 0x0000089B, 0x0080 },
0767 { 0x0000089C, 0x0000 },
0768 { 0x0000089D, 0x0080 },
0769 { 0x0000089E, 0x0000 },
0770 { 0x0000089F, 0x0080 },
0771 { 0x000008C0, 0x0000 },
0772 { 0x000008C1, 0x0080 },
0773 { 0x000008C2, 0x0000 },
0774 { 0x000008C3, 0x0080 },
0775 { 0x000008C4, 0x0000 },
0776 { 0x000008C5, 0x0080 },
0777 { 0x000008C6, 0x0000 },
0778 { 0x000008C7, 0x0080 },
0779 { 0x000008C8, 0x0000 },
0780 { 0x000008C9, 0x0080 },
0781 { 0x000008CA, 0x0000 },
0782 { 0x000008CB, 0x0080 },
0783 { 0x000008CC, 0x0000 },
0784 { 0x000008CD, 0x0080 },
0785 { 0x000008CE, 0x0000 },
0786 { 0x000008CF, 0x0080 },
0787 { 0x00000900, 0x0000 },
0788 { 0x00000901, 0x0080 },
0789 { 0x00000902, 0x0000 },
0790 { 0x00000903, 0x0080 },
0791 { 0x00000904, 0x0000 },
0792 { 0x00000905, 0x0080 },
0793 { 0x00000906, 0x0000 },
0794 { 0x00000907, 0x0080 },
0795 { 0x00000908, 0x0000 },
0796 { 0x00000909, 0x0080 },
0797 { 0x0000090A, 0x0000 },
0798 { 0x0000090B, 0x0080 },
0799 { 0x0000090C, 0x0000 },
0800 { 0x0000090D, 0x0080 },
0801 { 0x0000090E, 0x0000 },
0802 { 0x0000090F, 0x0080 },
0803 { 0x00000910, 0x0000 },
0804 { 0x00000911, 0x0080 },
0805 { 0x00000912, 0x0000 },
0806 { 0x00000913, 0x0080 },
0807 { 0x00000914, 0x0000 },
0808 { 0x00000915, 0x0080 },
0809 { 0x00000916, 0x0000 },
0810 { 0x00000917, 0x0080 },
0811 { 0x00000918, 0x0000 },
0812 { 0x00000919, 0x0080 },
0813 { 0x0000091A, 0x0000 },
0814 { 0x0000091B, 0x0080 },
0815 { 0x0000091C, 0x0000 },
0816 { 0x0000091D, 0x0080 },
0817 { 0x0000091E, 0x0000 },
0818 { 0x0000091F, 0x0080 },
0819 { 0x00000940, 0x0000 },
0820 { 0x00000941, 0x0080 },
0821 { 0x00000942, 0x0000 },
0822 { 0x00000943, 0x0080 },
0823 { 0x00000944, 0x0000 },
0824 { 0x00000945, 0x0080 },
0825 { 0x00000946, 0x0000 },
0826 { 0x00000947, 0x0080 },
0827 { 0x00000948, 0x0000 },
0828 { 0x00000949, 0x0080 },
0829 { 0x0000094A, 0x0000 },
0830 { 0x0000094B, 0x0080 },
0831 { 0x0000094C, 0x0000 },
0832 { 0x0000094D, 0x0080 },
0833 { 0x0000094E, 0x0000 },
0834 { 0x0000094F, 0x0080 },
0835 { 0x00000950, 0x0000 },
0836 { 0x00000958, 0x0000 },
0837 { 0x00000960, 0x0000 },
0838 { 0x00000968, 0x0000 },
0839 { 0x00000970, 0x0000 },
0840 { 0x00000978, 0x0000 },
0841 { 0x00000A80, 0x0000 },
0842 { 0x00000A88, 0x0000 },
0843 { 0x00000A90, 0x0000 },
0844 { 0x00000A98, 0x0000 },
0845 { 0x00000B00, 0x0000 },
0846 { 0x00000B08, 0x0000 },
0847 { 0x00000B20, 0x0000 },
0848 { 0x00000B28, 0x0000 },
0849 { 0x00000B40, 0x0000 },
0850 { 0x00000B48, 0x0000 },
0851 { 0x00000B60, 0x0000 },
0852 { 0x00000B68, 0x0000 },
0853 { 0x00000C00, 0xA101 },
0854 { 0x00000C01, 0xA101 },
0855 { 0x00000C02, 0xA101 },
0856 { 0x00000C03, 0xA101 },
0857 { 0x00000C04, 0xA101 },
0858 { 0x00000C0F, 0x0400 },
0859 { 0x00000C10, 0x1000 },
0860 { 0x00000C20, 0x8002 },
0861 { 0x00000C21, 0x0001 },
0862 { 0x00000C22, 0x0000 },
0863 { 0x00000C23, 0x0000 },
0864 { 0x00000C24, 0x0000 },
0865 { 0x00000C25, 0x0000 },
0866 { 0x00000D08, 0xFFFF },
0867 { 0x00000D09, 0xFFFF },
0868 { 0x00000D0A, 0xFFFF },
0869 { 0x00000D0B, 0xFFFF },
0870 { 0x00000D0C, 0xFEFF },
0871 { 0x00000D0F, 0x0000 },
0872 { 0x00000D18, 0xFFFF },
0873 { 0x00000D19, 0xFFFF },
0874 { 0x00000D1A, 0xFFFF },
0875 { 0x00000D1B, 0xFFFF },
0876 { 0x00000D1C, 0xFFFF },
0877 { 0x00000D1F, 0x0000 },
0878 { 0x00000D41, 0x0000 },
0879 { 0x00000D53, 0xFFFF },
0880 { 0x00000D54, 0xFFFF },
0881 { 0x00000D56, 0x0000 },
0882 { 0x00000E00, 0x0000 },
0883 { 0x00000E10, 0x6318 },
0884 { 0x00000E11, 0x6300 },
0885 { 0x00000E12, 0x0FC8 },
0886 { 0x00000E13, 0x03FE },
0887 { 0x00000E14, 0x00E0 },
0888 { 0x00000E15, 0x1EC4 },
0889 { 0x00000E16, 0xF136 },
0890 { 0x00000E17, 0x0409 },
0891 { 0x00000E18, 0x04CC },
0892 { 0x00000E19, 0x1C9B },
0893 { 0x00000E1A, 0xF337 },
0894 { 0x00000E1B, 0x040B },
0895 { 0x00000E1C, 0x0CBB },
0896 { 0x00000E1D, 0x16F8 },
0897 { 0x00000E1E, 0xF7D9 },
0898 { 0x00000E1F, 0x040A },
0899 { 0x00000E20, 0x1F14 },
0900 { 0x00000E21, 0x058C },
0901 { 0x00000E22, 0x0563 },
0902 { 0x00000E23, 0x4000 },
0903 { 0x00000E24, 0x0B75 },
0904 { 0x00000E26, 0x6318 },
0905 { 0x00000E27, 0x6300 },
0906 { 0x00000E28, 0x0FC8 },
0907 { 0x00000E29, 0x03FE },
0908 { 0x00000E2A, 0x00E0 },
0909 { 0x00000E2B, 0x1EC4 },
0910 { 0x00000E2C, 0xF136 },
0911 { 0x00000E2D, 0x0409 },
0912 { 0x00000E2E, 0x04CC },
0913 { 0x00000E2F, 0x1C9B },
0914 { 0x00000E30, 0xF337 },
0915 { 0x00000E31, 0x040B },
0916 { 0x00000E32, 0x0CBB },
0917 { 0x00000E33, 0x16F8 },
0918 { 0x00000E34, 0xF7D9 },
0919 { 0x00000E35, 0x040A },
0920 { 0x00000E36, 0x1F14 },
0921 { 0x00000E37, 0x058C },
0922 { 0x00000E38, 0x0563 },
0923 { 0x00000E39, 0x4000 },
0924 { 0x00000E3A, 0x0B75 },
0925 { 0x00000E3C, 0x6318 },
0926 { 0x00000E3D, 0x6300 },
0927 { 0x00000E3E, 0x0FC8 },
0928 { 0x00000E3F, 0x03FE },
0929 { 0x00000E40, 0x00E0 },
0930 { 0x00000E41, 0x1EC4 },
0931 { 0x00000E42, 0xF136 },
0932 { 0x00000E43, 0x0409 },
0933 { 0x00000E44, 0x04CC },
0934 { 0x00000E45, 0x1C9B },
0935 { 0x00000E46, 0xF337 },
0936 { 0x00000E47, 0x040B },
0937 { 0x00000E48, 0x0CBB },
0938 { 0x00000E49, 0x16F8 },
0939 { 0x00000E4A, 0xF7D9 },
0940 { 0x00000E4B, 0x040A },
0941 { 0x00000E4C, 0x1F14 },
0942 { 0x00000E4D, 0x058C },
0943 { 0x00000E4E, 0x0563 },
0944 { 0x00000E4F, 0x4000 },
0945 { 0x00000E50, 0x0B75 },
0946 { 0x00000E52, 0x6318 },
0947 { 0x00000E53, 0x6300 },
0948 { 0x00000E54, 0x0FC8 },
0949 { 0x00000E55, 0x03FE },
0950 { 0x00000E56, 0x00E0 },
0951 { 0x00000E57, 0x1EC4 },
0952 { 0x00000E58, 0xF136 },
0953 { 0x00000E59, 0x0409 },
0954 { 0x00000E5A, 0x04CC },
0955 { 0x00000E5B, 0x1C9B },
0956 { 0x00000E5C, 0xF337 },
0957 { 0x00000E5D, 0x040B },
0958 { 0x00000E5E, 0x0CBB },
0959 { 0x00000E5F, 0x16F8 },
0960 { 0x00000E60, 0xF7D9 },
0961 { 0x00000E61, 0x040A },
0962 { 0x00000E62, 0x1F14 },
0963 { 0x00000E63, 0x058C },
0964 { 0x00000E64, 0x0563 },
0965 { 0x00000E65, 0x4000 },
0966 { 0x00000E66, 0x0B75 },
0967 { 0x00000E80, 0x0018 },
0968 { 0x00000E81, 0x0933 },
0969 { 0x00000E82, 0x0018 },
0970 { 0x00000E83, 0x0000 },
0971 { 0x00000E84, 0x0000 },
0972 { 0x00000EC0, 0x0000 },
0973 { 0x00000EC1, 0x0000 },
0974 { 0x00000EC4, 0x0000 },
0975 { 0x00000EC5, 0x0000 },
0976 { 0x00000EC8, 0x0000 },
0977 { 0x00000EC9, 0x0000 },
0978 { 0x00000ECC, 0x0000 },
0979 { 0x00000ECD, 0x0000 },
0980 { 0x00000EE0, 0x0000 },
0981 { 0x00000EE2, 0x0000 },
0982 { 0x00000EE3, 0x4000 },
0983 { 0x00000EF0, 0x0000 },
0984 { 0x00000EF1, 0x0000 },
0985 { 0x00000EF2, 0x0000 },
0986 { 0x00000EF3, 0x0000 },
0987 { 0x00000EF4, 0x0000 },
0988 { 0x00000EF5, 0x0000 },
0989 { 0x00001100, 0x0010 },
0990 };
0991
0992 static bool wm5102_readable_register(struct device *dev, unsigned int reg)
0993 {
0994 switch (reg) {
0995 case ARIZONA_SOFTWARE_RESET:
0996 case ARIZONA_DEVICE_REVISION:
0997 case ARIZONA_CTRL_IF_SPI_CFG_1:
0998 case ARIZONA_CTRL_IF_I2C1_CFG_1:
0999 case ARIZONA_WRITE_SEQUENCER_CTRL_0:
1000 case ARIZONA_WRITE_SEQUENCER_CTRL_1:
1001 case ARIZONA_WRITE_SEQUENCER_CTRL_2:
1002 case ARIZONA_WRITE_SEQUENCER_CTRL_3:
1003 case ARIZONA_TONE_GENERATOR_1:
1004 case ARIZONA_TONE_GENERATOR_2:
1005 case ARIZONA_TONE_GENERATOR_3:
1006 case ARIZONA_TONE_GENERATOR_4:
1007 case ARIZONA_TONE_GENERATOR_5:
1008 case ARIZONA_PWM_DRIVE_1:
1009 case ARIZONA_PWM_DRIVE_2:
1010 case ARIZONA_PWM_DRIVE_3:
1011 case ARIZONA_WAKE_CONTROL:
1012 case ARIZONA_SEQUENCE_CONTROL:
1013 case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_1:
1014 case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_2:
1015 case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_3:
1016 case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_4:
1017 case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_1:
1018 case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_2:
1019 case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_3:
1020 case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_4:
1021 case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_5:
1022 case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_6:
1023 case ARIZONA_COMFORT_NOISE_GENERATOR:
1024 case ARIZONA_HAPTICS_CONTROL_1:
1025 case ARIZONA_HAPTICS_CONTROL_2:
1026 case ARIZONA_HAPTICS_PHASE_1_INTENSITY:
1027 case ARIZONA_HAPTICS_PHASE_1_DURATION:
1028 case ARIZONA_HAPTICS_PHASE_2_INTENSITY:
1029 case ARIZONA_HAPTICS_PHASE_2_DURATION:
1030 case ARIZONA_HAPTICS_PHASE_3_INTENSITY:
1031 case ARIZONA_HAPTICS_PHASE_3_DURATION:
1032 case ARIZONA_HAPTICS_STATUS:
1033 case ARIZONA_CLOCK_32K_1:
1034 case ARIZONA_SYSTEM_CLOCK_1:
1035 case ARIZONA_SAMPLE_RATE_1:
1036 case ARIZONA_SAMPLE_RATE_2:
1037 case ARIZONA_SAMPLE_RATE_3:
1038 case ARIZONA_SAMPLE_RATE_1_STATUS:
1039 case ARIZONA_SAMPLE_RATE_2_STATUS:
1040 case ARIZONA_SAMPLE_RATE_3_STATUS:
1041 case ARIZONA_ASYNC_CLOCK_1:
1042 case ARIZONA_ASYNC_SAMPLE_RATE_1:
1043 case ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS:
1044 case ARIZONA_ASYNC_SAMPLE_RATE_2:
1045 case ARIZONA_ASYNC_SAMPLE_RATE_2_STATUS:
1046 case ARIZONA_OUTPUT_SYSTEM_CLOCK:
1047 case ARIZONA_OUTPUT_ASYNC_CLOCK:
1048 case ARIZONA_RATE_ESTIMATOR_1:
1049 case ARIZONA_RATE_ESTIMATOR_2:
1050 case ARIZONA_RATE_ESTIMATOR_3:
1051 case ARIZONA_RATE_ESTIMATOR_4:
1052 case ARIZONA_RATE_ESTIMATOR_5:
1053 case ARIZONA_DYNAMIC_FREQUENCY_SCALING_1:
1054 case ARIZONA_FLL1_CONTROL_1:
1055 case ARIZONA_FLL1_CONTROL_2:
1056 case ARIZONA_FLL1_CONTROL_3:
1057 case ARIZONA_FLL1_CONTROL_4:
1058 case ARIZONA_FLL1_CONTROL_5:
1059 case ARIZONA_FLL1_CONTROL_6:
1060 case ARIZONA_FLL1_CONTROL_7:
1061 case ARIZONA_FLL1_SYNCHRONISER_1:
1062 case ARIZONA_FLL1_SYNCHRONISER_2:
1063 case ARIZONA_FLL1_SYNCHRONISER_3:
1064 case ARIZONA_FLL1_SYNCHRONISER_4:
1065 case ARIZONA_FLL1_SYNCHRONISER_5:
1066 case ARIZONA_FLL1_SYNCHRONISER_6:
1067 case ARIZONA_FLL1_SYNCHRONISER_7:
1068 case ARIZONA_FLL1_SPREAD_SPECTRUM:
1069 case ARIZONA_FLL1_GPIO_CLOCK:
1070 case ARIZONA_FLL2_CONTROL_1:
1071 case ARIZONA_FLL2_CONTROL_2:
1072 case ARIZONA_FLL2_CONTROL_3:
1073 case ARIZONA_FLL2_CONTROL_4:
1074 case ARIZONA_FLL2_CONTROL_5:
1075 case ARIZONA_FLL2_CONTROL_6:
1076 case ARIZONA_FLL2_CONTROL_7:
1077 case ARIZONA_FLL2_SYNCHRONISER_1:
1078 case ARIZONA_FLL2_SYNCHRONISER_2:
1079 case ARIZONA_FLL2_SYNCHRONISER_3:
1080 case ARIZONA_FLL2_SYNCHRONISER_4:
1081 case ARIZONA_FLL2_SYNCHRONISER_5:
1082 case ARIZONA_FLL2_SYNCHRONISER_6:
1083 case ARIZONA_FLL2_SYNCHRONISER_7:
1084 case ARIZONA_FLL2_SPREAD_SPECTRUM:
1085 case ARIZONA_FLL2_GPIO_CLOCK:
1086 case ARIZONA_MIC_CHARGE_PUMP_1:
1087 case ARIZONA_LDO1_CONTROL_1:
1088 case ARIZONA_LDO1_CONTROL_2:
1089 case ARIZONA_LDO2_CONTROL_1:
1090 case ARIZONA_MIC_BIAS_CTRL_1:
1091 case ARIZONA_MIC_BIAS_CTRL_2:
1092 case ARIZONA_MIC_BIAS_CTRL_3:
1093 case ARIZONA_HP_CTRL_1L:
1094 case ARIZONA_HP_CTRL_1R:
1095 case ARIZONA_ACCESSORY_DETECT_MODE_1:
1096 case ARIZONA_HEADPHONE_DETECT_1:
1097 case ARIZONA_HEADPHONE_DETECT_2:
1098 case ARIZONA_HP_DACVAL:
1099 case ARIZONA_MICD_CLAMP_CONTROL:
1100 case ARIZONA_MIC_DETECT_1:
1101 case ARIZONA_MIC_DETECT_2:
1102 case ARIZONA_MIC_DETECT_3:
1103 case ARIZONA_MIC_DETECT_LEVEL_1:
1104 case ARIZONA_MIC_DETECT_LEVEL_2:
1105 case ARIZONA_MIC_DETECT_LEVEL_3:
1106 case ARIZONA_MIC_DETECT_LEVEL_4:
1107 case ARIZONA_MIC_NOISE_MIX_CONTROL_1:
1108 case ARIZONA_ISOLATION_CONTROL:
1109 case ARIZONA_JACK_DETECT_ANALOGUE:
1110 case ARIZONA_INPUT_ENABLES:
1111 case ARIZONA_INPUT_RATE:
1112 case ARIZONA_INPUT_VOLUME_RAMP:
1113 case ARIZONA_IN1L_CONTROL:
1114 case ARIZONA_ADC_DIGITAL_VOLUME_1L:
1115 case ARIZONA_DMIC1L_CONTROL:
1116 case ARIZONA_IN1R_CONTROL:
1117 case ARIZONA_ADC_DIGITAL_VOLUME_1R:
1118 case ARIZONA_DMIC1R_CONTROL:
1119 case ARIZONA_IN2L_CONTROL:
1120 case ARIZONA_ADC_DIGITAL_VOLUME_2L:
1121 case ARIZONA_DMIC2L_CONTROL:
1122 case ARIZONA_IN2R_CONTROL:
1123 case ARIZONA_ADC_DIGITAL_VOLUME_2R:
1124 case ARIZONA_DMIC2R_CONTROL:
1125 case ARIZONA_IN3L_CONTROL:
1126 case ARIZONA_ADC_DIGITAL_VOLUME_3L:
1127 case ARIZONA_DMIC3L_CONTROL:
1128 case ARIZONA_IN3R_CONTROL:
1129 case ARIZONA_ADC_DIGITAL_VOLUME_3R:
1130 case ARIZONA_DMIC3R_CONTROL:
1131 case ARIZONA_OUTPUT_ENABLES_1:
1132 case ARIZONA_OUTPUT_STATUS_1:
1133 case ARIZONA_OUTPUT_RATE_1:
1134 case ARIZONA_OUTPUT_VOLUME_RAMP:
1135 case ARIZONA_OUTPUT_PATH_CONFIG_1L:
1136 case ARIZONA_DAC_DIGITAL_VOLUME_1L:
1137 case ARIZONA_DAC_VOLUME_LIMIT_1L:
1138 case ARIZONA_NOISE_GATE_SELECT_1L:
1139 case ARIZONA_OUTPUT_PATH_CONFIG_1R:
1140 case ARIZONA_DAC_DIGITAL_VOLUME_1R:
1141 case ARIZONA_DAC_VOLUME_LIMIT_1R:
1142 case ARIZONA_NOISE_GATE_SELECT_1R:
1143 case ARIZONA_OUTPUT_PATH_CONFIG_2L:
1144 case ARIZONA_DAC_DIGITAL_VOLUME_2L:
1145 case ARIZONA_DAC_VOLUME_LIMIT_2L:
1146 case ARIZONA_NOISE_GATE_SELECT_2L:
1147 case ARIZONA_OUTPUT_PATH_CONFIG_2R:
1148 case ARIZONA_DAC_DIGITAL_VOLUME_2R:
1149 case ARIZONA_DAC_VOLUME_LIMIT_2R:
1150 case ARIZONA_NOISE_GATE_SELECT_2R:
1151 case ARIZONA_OUTPUT_PATH_CONFIG_3L:
1152 case ARIZONA_DAC_DIGITAL_VOLUME_3L:
1153 case ARIZONA_DAC_VOLUME_LIMIT_3L:
1154 case ARIZONA_NOISE_GATE_SELECT_3L:
1155 case ARIZONA_OUTPUT_PATH_CONFIG_4L:
1156 case ARIZONA_DAC_DIGITAL_VOLUME_4L:
1157 case ARIZONA_OUT_VOLUME_4L:
1158 case ARIZONA_NOISE_GATE_SELECT_4L:
1159 case ARIZONA_DAC_DIGITAL_VOLUME_4R:
1160 case ARIZONA_OUT_VOLUME_4R:
1161 case ARIZONA_NOISE_GATE_SELECT_4R:
1162 case ARIZONA_OUTPUT_PATH_CONFIG_5L:
1163 case ARIZONA_DAC_DIGITAL_VOLUME_5L:
1164 case ARIZONA_DAC_VOLUME_LIMIT_5L:
1165 case ARIZONA_NOISE_GATE_SELECT_5L:
1166 case ARIZONA_DAC_DIGITAL_VOLUME_5R:
1167 case ARIZONA_DAC_VOLUME_LIMIT_5R:
1168 case ARIZONA_NOISE_GATE_SELECT_5R:
1169 case ARIZONA_DRE_ENABLE:
1170 case ARIZONA_DRE_CONTROL_2:
1171 case ARIZONA_DRE_CONTROL_3:
1172 case ARIZONA_DAC_AEC_CONTROL_1:
1173 case ARIZONA_NOISE_GATE_CONTROL:
1174 case ARIZONA_PDM_SPK1_CTRL_1:
1175 case ARIZONA_PDM_SPK1_CTRL_2:
1176 case ARIZONA_DAC_COMP_1:
1177 case ARIZONA_DAC_COMP_2:
1178 case ARIZONA_DAC_COMP_3:
1179 case ARIZONA_DAC_COMP_4:
1180 case ARIZONA_AIF1_BCLK_CTRL:
1181 case ARIZONA_AIF1_TX_PIN_CTRL:
1182 case ARIZONA_AIF1_RX_PIN_CTRL:
1183 case ARIZONA_AIF1_RATE_CTRL:
1184 case ARIZONA_AIF1_FORMAT:
1185 case ARIZONA_AIF1_TX_BCLK_RATE:
1186 case ARIZONA_AIF1_RX_BCLK_RATE:
1187 case ARIZONA_AIF1_FRAME_CTRL_1:
1188 case ARIZONA_AIF1_FRAME_CTRL_2:
1189 case ARIZONA_AIF1_FRAME_CTRL_3:
1190 case ARIZONA_AIF1_FRAME_CTRL_4:
1191 case ARIZONA_AIF1_FRAME_CTRL_5:
1192 case ARIZONA_AIF1_FRAME_CTRL_6:
1193 case ARIZONA_AIF1_FRAME_CTRL_7:
1194 case ARIZONA_AIF1_FRAME_CTRL_8:
1195 case ARIZONA_AIF1_FRAME_CTRL_9:
1196 case ARIZONA_AIF1_FRAME_CTRL_10:
1197 case ARIZONA_AIF1_FRAME_CTRL_11:
1198 case ARIZONA_AIF1_FRAME_CTRL_12:
1199 case ARIZONA_AIF1_FRAME_CTRL_13:
1200 case ARIZONA_AIF1_FRAME_CTRL_14:
1201 case ARIZONA_AIF1_FRAME_CTRL_15:
1202 case ARIZONA_AIF1_FRAME_CTRL_16:
1203 case ARIZONA_AIF1_FRAME_CTRL_17:
1204 case ARIZONA_AIF1_FRAME_CTRL_18:
1205 case ARIZONA_AIF1_TX_ENABLES:
1206 case ARIZONA_AIF1_RX_ENABLES:
1207 case ARIZONA_AIF2_BCLK_CTRL:
1208 case ARIZONA_AIF2_TX_PIN_CTRL:
1209 case ARIZONA_AIF2_RX_PIN_CTRL:
1210 case ARIZONA_AIF2_RATE_CTRL:
1211 case ARIZONA_AIF2_FORMAT:
1212 case ARIZONA_AIF2_TX_BCLK_RATE:
1213 case ARIZONA_AIF2_RX_BCLK_RATE:
1214 case ARIZONA_AIF2_FRAME_CTRL_1:
1215 case ARIZONA_AIF2_FRAME_CTRL_2:
1216 case ARIZONA_AIF2_FRAME_CTRL_3:
1217 case ARIZONA_AIF2_FRAME_CTRL_4:
1218 case ARIZONA_AIF2_FRAME_CTRL_11:
1219 case ARIZONA_AIF2_FRAME_CTRL_12:
1220 case ARIZONA_AIF2_TX_ENABLES:
1221 case ARIZONA_AIF2_RX_ENABLES:
1222 case ARIZONA_AIF3_BCLK_CTRL:
1223 case ARIZONA_AIF3_TX_PIN_CTRL:
1224 case ARIZONA_AIF3_RX_PIN_CTRL:
1225 case ARIZONA_AIF3_RATE_CTRL:
1226 case ARIZONA_AIF3_FORMAT:
1227 case ARIZONA_AIF3_TX_BCLK_RATE:
1228 case ARIZONA_AIF3_RX_BCLK_RATE:
1229 case ARIZONA_AIF3_FRAME_CTRL_1:
1230 case ARIZONA_AIF3_FRAME_CTRL_2:
1231 case ARIZONA_AIF3_FRAME_CTRL_3:
1232 case ARIZONA_AIF3_FRAME_CTRL_4:
1233 case ARIZONA_AIF3_FRAME_CTRL_11:
1234 case ARIZONA_AIF3_FRAME_CTRL_12:
1235 case ARIZONA_AIF3_TX_ENABLES:
1236 case ARIZONA_AIF3_RX_ENABLES:
1237 case ARIZONA_SLIMBUS_FRAMER_REF_GEAR:
1238 case ARIZONA_SLIMBUS_RATES_1:
1239 case ARIZONA_SLIMBUS_RATES_2:
1240 case ARIZONA_SLIMBUS_RATES_3:
1241 case ARIZONA_SLIMBUS_RATES_4:
1242 case ARIZONA_SLIMBUS_RATES_5:
1243 case ARIZONA_SLIMBUS_RATES_6:
1244 case ARIZONA_SLIMBUS_RATES_7:
1245 case ARIZONA_SLIMBUS_RATES_8:
1246 case ARIZONA_SLIMBUS_RX_CHANNEL_ENABLE:
1247 case ARIZONA_SLIMBUS_TX_CHANNEL_ENABLE:
1248 case ARIZONA_SLIMBUS_RX_PORT_STATUS:
1249 case ARIZONA_SLIMBUS_TX_PORT_STATUS:
1250 case ARIZONA_PWM1MIX_INPUT_1_SOURCE:
1251 case ARIZONA_PWM1MIX_INPUT_1_VOLUME:
1252 case ARIZONA_PWM1MIX_INPUT_2_SOURCE:
1253 case ARIZONA_PWM1MIX_INPUT_2_VOLUME:
1254 case ARIZONA_PWM1MIX_INPUT_3_SOURCE:
1255 case ARIZONA_PWM1MIX_INPUT_3_VOLUME:
1256 case ARIZONA_PWM1MIX_INPUT_4_SOURCE:
1257 case ARIZONA_PWM1MIX_INPUT_4_VOLUME:
1258 case ARIZONA_PWM2MIX_INPUT_1_SOURCE:
1259 case ARIZONA_PWM2MIX_INPUT_1_VOLUME:
1260 case ARIZONA_PWM2MIX_INPUT_2_SOURCE:
1261 case ARIZONA_PWM2MIX_INPUT_2_VOLUME:
1262 case ARIZONA_PWM2MIX_INPUT_3_SOURCE:
1263 case ARIZONA_PWM2MIX_INPUT_3_VOLUME:
1264 case ARIZONA_PWM2MIX_INPUT_4_SOURCE:
1265 case ARIZONA_PWM2MIX_INPUT_4_VOLUME:
1266 case ARIZONA_MICMIX_INPUT_1_SOURCE:
1267 case ARIZONA_MICMIX_INPUT_1_VOLUME:
1268 case ARIZONA_MICMIX_INPUT_2_SOURCE:
1269 case ARIZONA_MICMIX_INPUT_2_VOLUME:
1270 case ARIZONA_MICMIX_INPUT_3_SOURCE:
1271 case ARIZONA_MICMIX_INPUT_3_VOLUME:
1272 case ARIZONA_MICMIX_INPUT_4_SOURCE:
1273 case ARIZONA_MICMIX_INPUT_4_VOLUME:
1274 case ARIZONA_NOISEMIX_INPUT_1_SOURCE:
1275 case ARIZONA_NOISEMIX_INPUT_1_VOLUME:
1276 case ARIZONA_NOISEMIX_INPUT_2_SOURCE:
1277 case ARIZONA_NOISEMIX_INPUT_2_VOLUME:
1278 case ARIZONA_NOISEMIX_INPUT_3_SOURCE:
1279 case ARIZONA_NOISEMIX_INPUT_3_VOLUME:
1280 case ARIZONA_NOISEMIX_INPUT_4_SOURCE:
1281 case ARIZONA_NOISEMIX_INPUT_4_VOLUME:
1282 case ARIZONA_OUT1LMIX_INPUT_1_SOURCE:
1283 case ARIZONA_OUT1LMIX_INPUT_1_VOLUME:
1284 case ARIZONA_OUT1LMIX_INPUT_2_SOURCE:
1285 case ARIZONA_OUT1LMIX_INPUT_2_VOLUME:
1286 case ARIZONA_OUT1LMIX_INPUT_3_SOURCE:
1287 case ARIZONA_OUT1LMIX_INPUT_3_VOLUME:
1288 case ARIZONA_OUT1LMIX_INPUT_4_SOURCE:
1289 case ARIZONA_OUT1LMIX_INPUT_4_VOLUME:
1290 case ARIZONA_OUT1RMIX_INPUT_1_SOURCE:
1291 case ARIZONA_OUT1RMIX_INPUT_1_VOLUME:
1292 case ARIZONA_OUT1RMIX_INPUT_2_SOURCE:
1293 case ARIZONA_OUT1RMIX_INPUT_2_VOLUME:
1294 case ARIZONA_OUT1RMIX_INPUT_3_SOURCE:
1295 case ARIZONA_OUT1RMIX_INPUT_3_VOLUME:
1296 case ARIZONA_OUT1RMIX_INPUT_4_SOURCE:
1297 case ARIZONA_OUT1RMIX_INPUT_4_VOLUME:
1298 case ARIZONA_OUT2LMIX_INPUT_1_SOURCE:
1299 case ARIZONA_OUT2LMIX_INPUT_1_VOLUME:
1300 case ARIZONA_OUT2LMIX_INPUT_2_SOURCE:
1301 case ARIZONA_OUT2LMIX_INPUT_2_VOLUME:
1302 case ARIZONA_OUT2LMIX_INPUT_3_SOURCE:
1303 case ARIZONA_OUT2LMIX_INPUT_3_VOLUME:
1304 case ARIZONA_OUT2LMIX_INPUT_4_SOURCE:
1305 case ARIZONA_OUT2LMIX_INPUT_4_VOLUME:
1306 case ARIZONA_OUT2RMIX_INPUT_1_SOURCE:
1307 case ARIZONA_OUT2RMIX_INPUT_1_VOLUME:
1308 case ARIZONA_OUT2RMIX_INPUT_2_SOURCE:
1309 case ARIZONA_OUT2RMIX_INPUT_2_VOLUME:
1310 case ARIZONA_OUT2RMIX_INPUT_3_SOURCE:
1311 case ARIZONA_OUT2RMIX_INPUT_3_VOLUME:
1312 case ARIZONA_OUT2RMIX_INPUT_4_SOURCE:
1313 case ARIZONA_OUT2RMIX_INPUT_4_VOLUME:
1314 case ARIZONA_OUT3LMIX_INPUT_1_SOURCE:
1315 case ARIZONA_OUT3LMIX_INPUT_1_VOLUME:
1316 case ARIZONA_OUT3LMIX_INPUT_2_SOURCE:
1317 case ARIZONA_OUT3LMIX_INPUT_2_VOLUME:
1318 case ARIZONA_OUT3LMIX_INPUT_3_SOURCE:
1319 case ARIZONA_OUT3LMIX_INPUT_3_VOLUME:
1320 case ARIZONA_OUT3LMIX_INPUT_4_SOURCE:
1321 case ARIZONA_OUT3LMIX_INPUT_4_VOLUME:
1322 case ARIZONA_OUT4LMIX_INPUT_1_SOURCE:
1323 case ARIZONA_OUT4LMIX_INPUT_1_VOLUME:
1324 case ARIZONA_OUT4LMIX_INPUT_2_SOURCE:
1325 case ARIZONA_OUT4LMIX_INPUT_2_VOLUME:
1326 case ARIZONA_OUT4LMIX_INPUT_3_SOURCE:
1327 case ARIZONA_OUT4LMIX_INPUT_3_VOLUME:
1328 case ARIZONA_OUT4LMIX_INPUT_4_SOURCE:
1329 case ARIZONA_OUT4LMIX_INPUT_4_VOLUME:
1330 case ARIZONA_OUT4RMIX_INPUT_1_SOURCE:
1331 case ARIZONA_OUT4RMIX_INPUT_1_VOLUME:
1332 case ARIZONA_OUT4RMIX_INPUT_2_SOURCE:
1333 case ARIZONA_OUT4RMIX_INPUT_2_VOLUME:
1334 case ARIZONA_OUT4RMIX_INPUT_3_SOURCE:
1335 case ARIZONA_OUT4RMIX_INPUT_3_VOLUME:
1336 case ARIZONA_OUT4RMIX_INPUT_4_SOURCE:
1337 case ARIZONA_OUT4RMIX_INPUT_4_VOLUME:
1338 case ARIZONA_OUT5LMIX_INPUT_1_SOURCE:
1339 case ARIZONA_OUT5LMIX_INPUT_1_VOLUME:
1340 case ARIZONA_OUT5LMIX_INPUT_2_SOURCE:
1341 case ARIZONA_OUT5LMIX_INPUT_2_VOLUME:
1342 case ARIZONA_OUT5LMIX_INPUT_3_SOURCE:
1343 case ARIZONA_OUT5LMIX_INPUT_3_VOLUME:
1344 case ARIZONA_OUT5LMIX_INPUT_4_SOURCE:
1345 case ARIZONA_OUT5LMIX_INPUT_4_VOLUME:
1346 case ARIZONA_OUT5RMIX_INPUT_1_SOURCE:
1347 case ARIZONA_OUT5RMIX_INPUT_1_VOLUME:
1348 case ARIZONA_OUT5RMIX_INPUT_2_SOURCE:
1349 case ARIZONA_OUT5RMIX_INPUT_2_VOLUME:
1350 case ARIZONA_OUT5RMIX_INPUT_3_SOURCE:
1351 case ARIZONA_OUT5RMIX_INPUT_3_VOLUME:
1352 case ARIZONA_OUT5RMIX_INPUT_4_SOURCE:
1353 case ARIZONA_OUT5RMIX_INPUT_4_VOLUME:
1354 case ARIZONA_AIF1TX1MIX_INPUT_1_SOURCE:
1355 case ARIZONA_AIF1TX1MIX_INPUT_1_VOLUME:
1356 case ARIZONA_AIF1TX1MIX_INPUT_2_SOURCE:
1357 case ARIZONA_AIF1TX1MIX_INPUT_2_VOLUME:
1358 case ARIZONA_AIF1TX1MIX_INPUT_3_SOURCE:
1359 case ARIZONA_AIF1TX1MIX_INPUT_3_VOLUME:
1360 case ARIZONA_AIF1TX1MIX_INPUT_4_SOURCE:
1361 case ARIZONA_AIF1TX1MIX_INPUT_4_VOLUME:
1362 case ARIZONA_AIF1TX2MIX_INPUT_1_SOURCE:
1363 case ARIZONA_AIF1TX2MIX_INPUT_1_VOLUME:
1364 case ARIZONA_AIF1TX2MIX_INPUT_2_SOURCE:
1365 case ARIZONA_AIF1TX2MIX_INPUT_2_VOLUME:
1366 case ARIZONA_AIF1TX2MIX_INPUT_3_SOURCE:
1367 case ARIZONA_AIF1TX2MIX_INPUT_3_VOLUME:
1368 case ARIZONA_AIF1TX2MIX_INPUT_4_SOURCE:
1369 case ARIZONA_AIF1TX2MIX_INPUT_4_VOLUME:
1370 case ARIZONA_AIF1TX3MIX_INPUT_1_SOURCE:
1371 case ARIZONA_AIF1TX3MIX_INPUT_1_VOLUME:
1372 case ARIZONA_AIF1TX3MIX_INPUT_2_SOURCE:
1373 case ARIZONA_AIF1TX3MIX_INPUT_2_VOLUME:
1374 case ARIZONA_AIF1TX3MIX_INPUT_3_SOURCE:
1375 case ARIZONA_AIF1TX3MIX_INPUT_3_VOLUME:
1376 case ARIZONA_AIF1TX3MIX_INPUT_4_SOURCE:
1377 case ARIZONA_AIF1TX3MIX_INPUT_4_VOLUME:
1378 case ARIZONA_AIF1TX4MIX_INPUT_1_SOURCE:
1379 case ARIZONA_AIF1TX4MIX_INPUT_1_VOLUME:
1380 case ARIZONA_AIF1TX4MIX_INPUT_2_SOURCE:
1381 case ARIZONA_AIF1TX4MIX_INPUT_2_VOLUME:
1382 case ARIZONA_AIF1TX4MIX_INPUT_3_SOURCE:
1383 case ARIZONA_AIF1TX4MIX_INPUT_3_VOLUME:
1384 case ARIZONA_AIF1TX4MIX_INPUT_4_SOURCE:
1385 case ARIZONA_AIF1TX4MIX_INPUT_4_VOLUME:
1386 case ARIZONA_AIF1TX5MIX_INPUT_1_SOURCE:
1387 case ARIZONA_AIF1TX5MIX_INPUT_1_VOLUME:
1388 case ARIZONA_AIF1TX5MIX_INPUT_2_SOURCE:
1389 case ARIZONA_AIF1TX5MIX_INPUT_2_VOLUME:
1390 case ARIZONA_AIF1TX5MIX_INPUT_3_SOURCE:
1391 case ARIZONA_AIF1TX5MIX_INPUT_3_VOLUME:
1392 case ARIZONA_AIF1TX5MIX_INPUT_4_SOURCE:
1393 case ARIZONA_AIF1TX5MIX_INPUT_4_VOLUME:
1394 case ARIZONA_AIF1TX6MIX_INPUT_1_SOURCE:
1395 case ARIZONA_AIF1TX6MIX_INPUT_1_VOLUME:
1396 case ARIZONA_AIF1TX6MIX_INPUT_2_SOURCE:
1397 case ARIZONA_AIF1TX6MIX_INPUT_2_VOLUME:
1398 case ARIZONA_AIF1TX6MIX_INPUT_3_SOURCE:
1399 case ARIZONA_AIF1TX6MIX_INPUT_3_VOLUME:
1400 case ARIZONA_AIF1TX6MIX_INPUT_4_SOURCE:
1401 case ARIZONA_AIF1TX6MIX_INPUT_4_VOLUME:
1402 case ARIZONA_AIF1TX7MIX_INPUT_1_SOURCE:
1403 case ARIZONA_AIF1TX7MIX_INPUT_1_VOLUME:
1404 case ARIZONA_AIF1TX7MIX_INPUT_2_SOURCE:
1405 case ARIZONA_AIF1TX7MIX_INPUT_2_VOLUME:
1406 case ARIZONA_AIF1TX7MIX_INPUT_3_SOURCE:
1407 case ARIZONA_AIF1TX7MIX_INPUT_3_VOLUME:
1408 case ARIZONA_AIF1TX7MIX_INPUT_4_SOURCE:
1409 case ARIZONA_AIF1TX7MIX_INPUT_4_VOLUME:
1410 case ARIZONA_AIF1TX8MIX_INPUT_1_SOURCE:
1411 case ARIZONA_AIF1TX8MIX_INPUT_1_VOLUME:
1412 case ARIZONA_AIF1TX8MIX_INPUT_2_SOURCE:
1413 case ARIZONA_AIF1TX8MIX_INPUT_2_VOLUME:
1414 case ARIZONA_AIF1TX8MIX_INPUT_3_SOURCE:
1415 case ARIZONA_AIF1TX8MIX_INPUT_3_VOLUME:
1416 case ARIZONA_AIF1TX8MIX_INPUT_4_SOURCE:
1417 case ARIZONA_AIF1TX8MIX_INPUT_4_VOLUME:
1418 case ARIZONA_AIF2TX1MIX_INPUT_1_SOURCE:
1419 case ARIZONA_AIF2TX1MIX_INPUT_1_VOLUME:
1420 case ARIZONA_AIF2TX1MIX_INPUT_2_SOURCE:
1421 case ARIZONA_AIF2TX1MIX_INPUT_2_VOLUME:
1422 case ARIZONA_AIF2TX1MIX_INPUT_3_SOURCE:
1423 case ARIZONA_AIF2TX1MIX_INPUT_3_VOLUME:
1424 case ARIZONA_AIF2TX1MIX_INPUT_4_SOURCE:
1425 case ARIZONA_AIF2TX1MIX_INPUT_4_VOLUME:
1426 case ARIZONA_AIF2TX2MIX_INPUT_1_SOURCE:
1427 case ARIZONA_AIF2TX2MIX_INPUT_1_VOLUME:
1428 case ARIZONA_AIF2TX2MIX_INPUT_2_SOURCE:
1429 case ARIZONA_AIF2TX2MIX_INPUT_2_VOLUME:
1430 case ARIZONA_AIF2TX2MIX_INPUT_3_SOURCE:
1431 case ARIZONA_AIF2TX2MIX_INPUT_3_VOLUME:
1432 case ARIZONA_AIF2TX2MIX_INPUT_4_SOURCE:
1433 case ARIZONA_AIF2TX2MIX_INPUT_4_VOLUME:
1434 case ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE:
1435 case ARIZONA_AIF3TX1MIX_INPUT_1_VOLUME:
1436 case ARIZONA_AIF3TX1MIX_INPUT_2_SOURCE:
1437 case ARIZONA_AIF3TX1MIX_INPUT_2_VOLUME:
1438 case ARIZONA_AIF3TX1MIX_INPUT_3_SOURCE:
1439 case ARIZONA_AIF3TX1MIX_INPUT_3_VOLUME:
1440 case ARIZONA_AIF3TX1MIX_INPUT_4_SOURCE:
1441 case ARIZONA_AIF3TX1MIX_INPUT_4_VOLUME:
1442 case ARIZONA_AIF3TX2MIX_INPUT_1_SOURCE:
1443 case ARIZONA_AIF3TX2MIX_INPUT_1_VOLUME:
1444 case ARIZONA_AIF3TX2MIX_INPUT_2_SOURCE:
1445 case ARIZONA_AIF3TX2MIX_INPUT_2_VOLUME:
1446 case ARIZONA_AIF3TX2MIX_INPUT_3_SOURCE:
1447 case ARIZONA_AIF3TX2MIX_INPUT_3_VOLUME:
1448 case ARIZONA_AIF3TX2MIX_INPUT_4_SOURCE:
1449 case ARIZONA_AIF3TX2MIX_INPUT_4_VOLUME:
1450 case ARIZONA_SLIMTX1MIX_INPUT_1_SOURCE:
1451 case ARIZONA_SLIMTX1MIX_INPUT_1_VOLUME:
1452 case ARIZONA_SLIMTX1MIX_INPUT_2_SOURCE:
1453 case ARIZONA_SLIMTX1MIX_INPUT_2_VOLUME:
1454 case ARIZONA_SLIMTX1MIX_INPUT_3_SOURCE:
1455 case ARIZONA_SLIMTX1MIX_INPUT_3_VOLUME:
1456 case ARIZONA_SLIMTX1MIX_INPUT_4_SOURCE:
1457 case ARIZONA_SLIMTX1MIX_INPUT_4_VOLUME:
1458 case ARIZONA_SLIMTX2MIX_INPUT_1_SOURCE:
1459 case ARIZONA_SLIMTX2MIX_INPUT_1_VOLUME:
1460 case ARIZONA_SLIMTX2MIX_INPUT_2_SOURCE:
1461 case ARIZONA_SLIMTX2MIX_INPUT_2_VOLUME:
1462 case ARIZONA_SLIMTX2MIX_INPUT_3_SOURCE:
1463 case ARIZONA_SLIMTX2MIX_INPUT_3_VOLUME:
1464 case ARIZONA_SLIMTX2MIX_INPUT_4_SOURCE:
1465 case ARIZONA_SLIMTX2MIX_INPUT_4_VOLUME:
1466 case ARIZONA_SLIMTX3MIX_INPUT_1_SOURCE:
1467 case ARIZONA_SLIMTX3MIX_INPUT_1_VOLUME:
1468 case ARIZONA_SLIMTX3MIX_INPUT_2_SOURCE:
1469 case ARIZONA_SLIMTX3MIX_INPUT_2_VOLUME:
1470 case ARIZONA_SLIMTX3MIX_INPUT_3_SOURCE:
1471 case ARIZONA_SLIMTX3MIX_INPUT_3_VOLUME:
1472 case ARIZONA_SLIMTX3MIX_INPUT_4_SOURCE:
1473 case ARIZONA_SLIMTX3MIX_INPUT_4_VOLUME:
1474 case ARIZONA_SLIMTX4MIX_INPUT_1_SOURCE:
1475 case ARIZONA_SLIMTX4MIX_INPUT_1_VOLUME:
1476 case ARIZONA_SLIMTX4MIX_INPUT_2_SOURCE:
1477 case ARIZONA_SLIMTX4MIX_INPUT_2_VOLUME:
1478 case ARIZONA_SLIMTX4MIX_INPUT_3_SOURCE:
1479 case ARIZONA_SLIMTX4MIX_INPUT_3_VOLUME:
1480 case ARIZONA_SLIMTX4MIX_INPUT_4_SOURCE:
1481 case ARIZONA_SLIMTX4MIX_INPUT_4_VOLUME:
1482 case ARIZONA_SLIMTX5MIX_INPUT_1_SOURCE:
1483 case ARIZONA_SLIMTX5MIX_INPUT_1_VOLUME:
1484 case ARIZONA_SLIMTX5MIX_INPUT_2_SOURCE:
1485 case ARIZONA_SLIMTX5MIX_INPUT_2_VOLUME:
1486 case ARIZONA_SLIMTX5MIX_INPUT_3_SOURCE:
1487 case ARIZONA_SLIMTX5MIX_INPUT_3_VOLUME:
1488 case ARIZONA_SLIMTX5MIX_INPUT_4_SOURCE:
1489 case ARIZONA_SLIMTX5MIX_INPUT_4_VOLUME:
1490 case ARIZONA_SLIMTX6MIX_INPUT_1_SOURCE:
1491 case ARIZONA_SLIMTX6MIX_INPUT_1_VOLUME:
1492 case ARIZONA_SLIMTX6MIX_INPUT_2_SOURCE:
1493 case ARIZONA_SLIMTX6MIX_INPUT_2_VOLUME:
1494 case ARIZONA_SLIMTX6MIX_INPUT_3_SOURCE:
1495 case ARIZONA_SLIMTX6MIX_INPUT_3_VOLUME:
1496 case ARIZONA_SLIMTX6MIX_INPUT_4_SOURCE:
1497 case ARIZONA_SLIMTX6MIX_INPUT_4_VOLUME:
1498 case ARIZONA_SLIMTX7MIX_INPUT_1_SOURCE:
1499 case ARIZONA_SLIMTX7MIX_INPUT_1_VOLUME:
1500 case ARIZONA_SLIMTX7MIX_INPUT_2_SOURCE:
1501 case ARIZONA_SLIMTX7MIX_INPUT_2_VOLUME:
1502 case ARIZONA_SLIMTX7MIX_INPUT_3_SOURCE:
1503 case ARIZONA_SLIMTX7MIX_INPUT_3_VOLUME:
1504 case ARIZONA_SLIMTX7MIX_INPUT_4_SOURCE:
1505 case ARIZONA_SLIMTX7MIX_INPUT_4_VOLUME:
1506 case ARIZONA_SLIMTX8MIX_INPUT_1_SOURCE:
1507 case ARIZONA_SLIMTX8MIX_INPUT_1_VOLUME:
1508 case ARIZONA_SLIMTX8MIX_INPUT_2_SOURCE:
1509 case ARIZONA_SLIMTX8MIX_INPUT_2_VOLUME:
1510 case ARIZONA_SLIMTX8MIX_INPUT_3_SOURCE:
1511 case ARIZONA_SLIMTX8MIX_INPUT_3_VOLUME:
1512 case ARIZONA_SLIMTX8MIX_INPUT_4_SOURCE:
1513 case ARIZONA_SLIMTX8MIX_INPUT_4_VOLUME:
1514 case ARIZONA_EQ1MIX_INPUT_1_SOURCE:
1515 case ARIZONA_EQ1MIX_INPUT_1_VOLUME:
1516 case ARIZONA_EQ1MIX_INPUT_2_SOURCE:
1517 case ARIZONA_EQ1MIX_INPUT_2_VOLUME:
1518 case ARIZONA_EQ1MIX_INPUT_3_SOURCE:
1519 case ARIZONA_EQ1MIX_INPUT_3_VOLUME:
1520 case ARIZONA_EQ1MIX_INPUT_4_SOURCE:
1521 case ARIZONA_EQ1MIX_INPUT_4_VOLUME:
1522 case ARIZONA_EQ2MIX_INPUT_1_SOURCE:
1523 case ARIZONA_EQ2MIX_INPUT_1_VOLUME:
1524 case ARIZONA_EQ2MIX_INPUT_2_SOURCE:
1525 case ARIZONA_EQ2MIX_INPUT_2_VOLUME:
1526 case ARIZONA_EQ2MIX_INPUT_3_SOURCE:
1527 case ARIZONA_EQ2MIX_INPUT_3_VOLUME:
1528 case ARIZONA_EQ2MIX_INPUT_4_SOURCE:
1529 case ARIZONA_EQ2MIX_INPUT_4_VOLUME:
1530 case ARIZONA_EQ3MIX_INPUT_1_SOURCE:
1531 case ARIZONA_EQ3MIX_INPUT_1_VOLUME:
1532 case ARIZONA_EQ3MIX_INPUT_2_SOURCE:
1533 case ARIZONA_EQ3MIX_INPUT_2_VOLUME:
1534 case ARIZONA_EQ3MIX_INPUT_3_SOURCE:
1535 case ARIZONA_EQ3MIX_INPUT_3_VOLUME:
1536 case ARIZONA_EQ3MIX_INPUT_4_SOURCE:
1537 case ARIZONA_EQ3MIX_INPUT_4_VOLUME:
1538 case ARIZONA_EQ4MIX_INPUT_1_SOURCE:
1539 case ARIZONA_EQ4MIX_INPUT_1_VOLUME:
1540 case ARIZONA_EQ4MIX_INPUT_2_SOURCE:
1541 case ARIZONA_EQ4MIX_INPUT_2_VOLUME:
1542 case ARIZONA_EQ4MIX_INPUT_3_SOURCE:
1543 case ARIZONA_EQ4MIX_INPUT_3_VOLUME:
1544 case ARIZONA_EQ4MIX_INPUT_4_SOURCE:
1545 case ARIZONA_EQ4MIX_INPUT_4_VOLUME:
1546 case ARIZONA_DRC1LMIX_INPUT_1_SOURCE:
1547 case ARIZONA_DRC1LMIX_INPUT_1_VOLUME:
1548 case ARIZONA_DRC1LMIX_INPUT_2_SOURCE:
1549 case ARIZONA_DRC1LMIX_INPUT_2_VOLUME:
1550 case ARIZONA_DRC1LMIX_INPUT_3_SOURCE:
1551 case ARIZONA_DRC1LMIX_INPUT_3_VOLUME:
1552 case ARIZONA_DRC1LMIX_INPUT_4_SOURCE:
1553 case ARIZONA_DRC1LMIX_INPUT_4_VOLUME:
1554 case ARIZONA_DRC1RMIX_INPUT_1_SOURCE:
1555 case ARIZONA_DRC1RMIX_INPUT_1_VOLUME:
1556 case ARIZONA_DRC1RMIX_INPUT_2_SOURCE:
1557 case ARIZONA_DRC1RMIX_INPUT_2_VOLUME:
1558 case ARIZONA_DRC1RMIX_INPUT_3_SOURCE:
1559 case ARIZONA_DRC1RMIX_INPUT_3_VOLUME:
1560 case ARIZONA_DRC1RMIX_INPUT_4_SOURCE:
1561 case ARIZONA_DRC1RMIX_INPUT_4_VOLUME:
1562 case ARIZONA_HPLP1MIX_INPUT_1_SOURCE:
1563 case ARIZONA_HPLP1MIX_INPUT_1_VOLUME:
1564 case ARIZONA_HPLP1MIX_INPUT_2_SOURCE:
1565 case ARIZONA_HPLP1MIX_INPUT_2_VOLUME:
1566 case ARIZONA_HPLP1MIX_INPUT_3_SOURCE:
1567 case ARIZONA_HPLP1MIX_INPUT_3_VOLUME:
1568 case ARIZONA_HPLP1MIX_INPUT_4_SOURCE:
1569 case ARIZONA_HPLP1MIX_INPUT_4_VOLUME:
1570 case ARIZONA_HPLP2MIX_INPUT_1_SOURCE:
1571 case ARIZONA_HPLP2MIX_INPUT_1_VOLUME:
1572 case ARIZONA_HPLP2MIX_INPUT_2_SOURCE:
1573 case ARIZONA_HPLP2MIX_INPUT_2_VOLUME:
1574 case ARIZONA_HPLP2MIX_INPUT_3_SOURCE:
1575 case ARIZONA_HPLP2MIX_INPUT_3_VOLUME:
1576 case ARIZONA_HPLP2MIX_INPUT_4_SOURCE:
1577 case ARIZONA_HPLP2MIX_INPUT_4_VOLUME:
1578 case ARIZONA_HPLP3MIX_INPUT_1_SOURCE:
1579 case ARIZONA_HPLP3MIX_INPUT_1_VOLUME:
1580 case ARIZONA_HPLP3MIX_INPUT_2_SOURCE:
1581 case ARIZONA_HPLP3MIX_INPUT_2_VOLUME:
1582 case ARIZONA_HPLP3MIX_INPUT_3_SOURCE:
1583 case ARIZONA_HPLP3MIX_INPUT_3_VOLUME:
1584 case ARIZONA_HPLP3MIX_INPUT_4_SOURCE:
1585 case ARIZONA_HPLP3MIX_INPUT_4_VOLUME:
1586 case ARIZONA_HPLP4MIX_INPUT_1_SOURCE:
1587 case ARIZONA_HPLP4MIX_INPUT_1_VOLUME:
1588 case ARIZONA_HPLP4MIX_INPUT_2_SOURCE:
1589 case ARIZONA_HPLP4MIX_INPUT_2_VOLUME:
1590 case ARIZONA_HPLP4MIX_INPUT_3_SOURCE:
1591 case ARIZONA_HPLP4MIX_INPUT_3_VOLUME:
1592 case ARIZONA_HPLP4MIX_INPUT_4_SOURCE:
1593 case ARIZONA_HPLP4MIX_INPUT_4_VOLUME:
1594 case ARIZONA_DSP1LMIX_INPUT_1_SOURCE:
1595 case ARIZONA_DSP1LMIX_INPUT_1_VOLUME:
1596 case ARIZONA_DSP1LMIX_INPUT_2_SOURCE:
1597 case ARIZONA_DSP1LMIX_INPUT_2_VOLUME:
1598 case ARIZONA_DSP1LMIX_INPUT_3_SOURCE:
1599 case ARIZONA_DSP1LMIX_INPUT_3_VOLUME:
1600 case ARIZONA_DSP1LMIX_INPUT_4_SOURCE:
1601 case ARIZONA_DSP1LMIX_INPUT_4_VOLUME:
1602 case ARIZONA_DSP1RMIX_INPUT_1_SOURCE:
1603 case ARIZONA_DSP1RMIX_INPUT_1_VOLUME:
1604 case ARIZONA_DSP1RMIX_INPUT_2_SOURCE:
1605 case ARIZONA_DSP1RMIX_INPUT_2_VOLUME:
1606 case ARIZONA_DSP1RMIX_INPUT_3_SOURCE:
1607 case ARIZONA_DSP1RMIX_INPUT_3_VOLUME:
1608 case ARIZONA_DSP1RMIX_INPUT_4_SOURCE:
1609 case ARIZONA_DSP1RMIX_INPUT_4_VOLUME:
1610 case ARIZONA_DSP1AUX1MIX_INPUT_1_SOURCE:
1611 case ARIZONA_DSP1AUX2MIX_INPUT_1_SOURCE:
1612 case ARIZONA_DSP1AUX3MIX_INPUT_1_SOURCE:
1613 case ARIZONA_DSP1AUX4MIX_INPUT_1_SOURCE:
1614 case ARIZONA_DSP1AUX5MIX_INPUT_1_SOURCE:
1615 case ARIZONA_DSP1AUX6MIX_INPUT_1_SOURCE:
1616 case ARIZONA_ASRC1LMIX_INPUT_1_SOURCE:
1617 case ARIZONA_ASRC1RMIX_INPUT_1_SOURCE:
1618 case ARIZONA_ASRC2LMIX_INPUT_1_SOURCE:
1619 case ARIZONA_ASRC2RMIX_INPUT_1_SOURCE:
1620 case ARIZONA_ISRC1DEC1MIX_INPUT_1_SOURCE:
1621 case ARIZONA_ISRC1DEC2MIX_INPUT_1_SOURCE:
1622 case ARIZONA_ISRC1INT1MIX_INPUT_1_SOURCE:
1623 case ARIZONA_ISRC1INT2MIX_INPUT_1_SOURCE:
1624 case ARIZONA_ISRC2DEC1MIX_INPUT_1_SOURCE:
1625 case ARIZONA_ISRC2DEC2MIX_INPUT_1_SOURCE:
1626 case ARIZONA_ISRC2INT1MIX_INPUT_1_SOURCE:
1627 case ARIZONA_ISRC2INT2MIX_INPUT_1_SOURCE:
1628 case ARIZONA_GPIO1_CTRL:
1629 case ARIZONA_GPIO2_CTRL:
1630 case ARIZONA_GPIO3_CTRL:
1631 case ARIZONA_GPIO4_CTRL:
1632 case ARIZONA_GPIO5_CTRL:
1633 case ARIZONA_IRQ_CTRL_1:
1634 case ARIZONA_GPIO_DEBOUNCE_CONFIG:
1635 case ARIZONA_MISC_PAD_CTRL_1:
1636 case ARIZONA_MISC_PAD_CTRL_2:
1637 case ARIZONA_MISC_PAD_CTRL_3:
1638 case ARIZONA_MISC_PAD_CTRL_4:
1639 case ARIZONA_MISC_PAD_CTRL_5:
1640 case ARIZONA_MISC_PAD_CTRL_6:
1641 case ARIZONA_INTERRUPT_STATUS_1:
1642 case ARIZONA_INTERRUPT_STATUS_2:
1643 case ARIZONA_INTERRUPT_STATUS_3:
1644 case ARIZONA_INTERRUPT_STATUS_4:
1645 case ARIZONA_INTERRUPT_STATUS_5:
1646 case ARIZONA_INTERRUPT_STATUS_1_MASK:
1647 case ARIZONA_INTERRUPT_STATUS_2_MASK:
1648 case ARIZONA_INTERRUPT_STATUS_3_MASK:
1649 case ARIZONA_INTERRUPT_STATUS_4_MASK:
1650 case ARIZONA_INTERRUPT_STATUS_5_MASK:
1651 case ARIZONA_INTERRUPT_CONTROL:
1652 case ARIZONA_IRQ2_STATUS_1:
1653 case ARIZONA_IRQ2_STATUS_2:
1654 case ARIZONA_IRQ2_STATUS_3:
1655 case ARIZONA_IRQ2_STATUS_4:
1656 case ARIZONA_IRQ2_STATUS_5:
1657 case ARIZONA_IRQ2_STATUS_1_MASK:
1658 case ARIZONA_IRQ2_STATUS_2_MASK:
1659 case ARIZONA_IRQ2_STATUS_3_MASK:
1660 case ARIZONA_IRQ2_STATUS_4_MASK:
1661 case ARIZONA_IRQ2_STATUS_5_MASK:
1662 case ARIZONA_IRQ2_CONTROL:
1663 case ARIZONA_INTERRUPT_RAW_STATUS_2:
1664 case ARIZONA_INTERRUPT_RAW_STATUS_3:
1665 case ARIZONA_INTERRUPT_RAW_STATUS_4:
1666 case ARIZONA_INTERRUPT_RAW_STATUS_5:
1667 case ARIZONA_INTERRUPT_RAW_STATUS_6:
1668 case ARIZONA_INTERRUPT_RAW_STATUS_7:
1669 case ARIZONA_INTERRUPT_RAW_STATUS_8:
1670 case ARIZONA_IRQ_PIN_STATUS:
1671 case ARIZONA_ADSP2_IRQ0:
1672 case ARIZONA_AOD_WKUP_AND_TRIG:
1673 case ARIZONA_AOD_IRQ1:
1674 case ARIZONA_AOD_IRQ2:
1675 case ARIZONA_AOD_IRQ_MASK_IRQ1:
1676 case ARIZONA_AOD_IRQ_MASK_IRQ2:
1677 case ARIZONA_AOD_IRQ_RAW_STATUS:
1678 case ARIZONA_JACK_DETECT_DEBOUNCE:
1679 case ARIZONA_FX_CTRL1:
1680 case ARIZONA_FX_CTRL2:
1681 case ARIZONA_EQ1_1:
1682 case ARIZONA_EQ1_2:
1683 case ARIZONA_EQ1_3:
1684 case ARIZONA_EQ1_4:
1685 case ARIZONA_EQ1_5:
1686 case ARIZONA_EQ1_6:
1687 case ARIZONA_EQ1_7:
1688 case ARIZONA_EQ1_8:
1689 case ARIZONA_EQ1_9:
1690 case ARIZONA_EQ1_10:
1691 case ARIZONA_EQ1_11:
1692 case ARIZONA_EQ1_12:
1693 case ARIZONA_EQ1_13:
1694 case ARIZONA_EQ1_14:
1695 case ARIZONA_EQ1_15:
1696 case ARIZONA_EQ1_16:
1697 case ARIZONA_EQ1_17:
1698 case ARIZONA_EQ1_18:
1699 case ARIZONA_EQ1_19:
1700 case ARIZONA_EQ1_20:
1701 case ARIZONA_EQ1_21:
1702 case ARIZONA_EQ2_1:
1703 case ARIZONA_EQ2_2:
1704 case ARIZONA_EQ2_3:
1705 case ARIZONA_EQ2_4:
1706 case ARIZONA_EQ2_5:
1707 case ARIZONA_EQ2_6:
1708 case ARIZONA_EQ2_7:
1709 case ARIZONA_EQ2_8:
1710 case ARIZONA_EQ2_9:
1711 case ARIZONA_EQ2_10:
1712 case ARIZONA_EQ2_11:
1713 case ARIZONA_EQ2_12:
1714 case ARIZONA_EQ2_13:
1715 case ARIZONA_EQ2_14:
1716 case ARIZONA_EQ2_15:
1717 case ARIZONA_EQ2_16:
1718 case ARIZONA_EQ2_17:
1719 case ARIZONA_EQ2_18:
1720 case ARIZONA_EQ2_19:
1721 case ARIZONA_EQ2_20:
1722 case ARIZONA_EQ2_21:
1723 case ARIZONA_EQ3_1:
1724 case ARIZONA_EQ3_2:
1725 case ARIZONA_EQ3_3:
1726 case ARIZONA_EQ3_4:
1727 case ARIZONA_EQ3_5:
1728 case ARIZONA_EQ3_6:
1729 case ARIZONA_EQ3_7:
1730 case ARIZONA_EQ3_8:
1731 case ARIZONA_EQ3_9:
1732 case ARIZONA_EQ3_10:
1733 case ARIZONA_EQ3_11:
1734 case ARIZONA_EQ3_12:
1735 case ARIZONA_EQ3_13:
1736 case ARIZONA_EQ3_14:
1737 case ARIZONA_EQ3_15:
1738 case ARIZONA_EQ3_16:
1739 case ARIZONA_EQ3_17:
1740 case ARIZONA_EQ3_18:
1741 case ARIZONA_EQ3_19:
1742 case ARIZONA_EQ3_20:
1743 case ARIZONA_EQ3_21:
1744 case ARIZONA_EQ4_1:
1745 case ARIZONA_EQ4_2:
1746 case ARIZONA_EQ4_3:
1747 case ARIZONA_EQ4_4:
1748 case ARIZONA_EQ4_5:
1749 case ARIZONA_EQ4_6:
1750 case ARIZONA_EQ4_7:
1751 case ARIZONA_EQ4_8:
1752 case ARIZONA_EQ4_9:
1753 case ARIZONA_EQ4_10:
1754 case ARIZONA_EQ4_11:
1755 case ARIZONA_EQ4_12:
1756 case ARIZONA_EQ4_13:
1757 case ARIZONA_EQ4_14:
1758 case ARIZONA_EQ4_15:
1759 case ARIZONA_EQ4_16:
1760 case ARIZONA_EQ4_17:
1761 case ARIZONA_EQ4_18:
1762 case ARIZONA_EQ4_19:
1763 case ARIZONA_EQ4_20:
1764 case ARIZONA_EQ4_21:
1765 case ARIZONA_DRC1_CTRL1:
1766 case ARIZONA_DRC1_CTRL2:
1767 case ARIZONA_DRC1_CTRL3:
1768 case ARIZONA_DRC1_CTRL4:
1769 case ARIZONA_DRC1_CTRL5:
1770 case ARIZONA_HPLPF1_1:
1771 case ARIZONA_HPLPF1_2:
1772 case ARIZONA_HPLPF2_1:
1773 case ARIZONA_HPLPF2_2:
1774 case ARIZONA_HPLPF3_1:
1775 case ARIZONA_HPLPF3_2:
1776 case ARIZONA_HPLPF4_1:
1777 case ARIZONA_HPLPF4_2:
1778 case ARIZONA_ASRC_ENABLE:
1779 case ARIZONA_ASRC_RATE1:
1780 case ARIZONA_ASRC_RATE2:
1781 case ARIZONA_ISRC_1_CTRL_1:
1782 case ARIZONA_ISRC_1_CTRL_2:
1783 case ARIZONA_ISRC_1_CTRL_3:
1784 case ARIZONA_ISRC_2_CTRL_1:
1785 case ARIZONA_ISRC_2_CTRL_2:
1786 case ARIZONA_ISRC_2_CTRL_3:
1787 case ARIZONA_DSP1_CONTROL_1:
1788 case ARIZONA_DSP1_CLOCKING_1:
1789 case ARIZONA_DSP1_STATUS_1:
1790 case ARIZONA_DSP1_STATUS_2:
1791 case ARIZONA_DSP1_STATUS_3:
1792 case ARIZONA_DSP1_WDMA_BUFFER_1:
1793 case ARIZONA_DSP1_WDMA_BUFFER_2:
1794 case ARIZONA_DSP1_WDMA_BUFFER_3:
1795 case ARIZONA_DSP1_WDMA_BUFFER_4:
1796 case ARIZONA_DSP1_WDMA_BUFFER_5:
1797 case ARIZONA_DSP1_WDMA_BUFFER_6:
1798 case ARIZONA_DSP1_WDMA_BUFFER_7:
1799 case ARIZONA_DSP1_WDMA_BUFFER_8:
1800 case ARIZONA_DSP1_RDMA_BUFFER_1:
1801 case ARIZONA_DSP1_RDMA_BUFFER_2:
1802 case ARIZONA_DSP1_RDMA_BUFFER_3:
1803 case ARIZONA_DSP1_RDMA_BUFFER_4:
1804 case ARIZONA_DSP1_RDMA_BUFFER_5:
1805 case ARIZONA_DSP1_RDMA_BUFFER_6:
1806 case ARIZONA_DSP1_WDMA_CONFIG_1:
1807 case ARIZONA_DSP1_WDMA_CONFIG_2:
1808 case ARIZONA_DSP1_RDMA_CONFIG_1:
1809 case ARIZONA_DSP1_SCRATCH_0:
1810 case ARIZONA_DSP1_SCRATCH_1:
1811 case ARIZONA_DSP1_SCRATCH_2:
1812 case ARIZONA_DSP1_SCRATCH_3:
1813 return true;
1814 default:
1815 if ((reg >= 0x100000 && reg < 0x106000) ||
1816 (reg >= 0x180000 && reg < 0x180800) ||
1817 (reg >= 0x190000 && reg < 0x194800) ||
1818 (reg >= 0x1a8000 && reg < 0x1a9800))
1819 return true;
1820 else
1821 return false;
1822 }
1823 }
1824
1825 static bool wm5102_volatile_register(struct device *dev, unsigned int reg)
1826 {
1827 switch (reg) {
1828 case ARIZONA_SOFTWARE_RESET:
1829 case ARIZONA_DEVICE_REVISION:
1830 case ARIZONA_WRITE_SEQUENCER_CTRL_0:
1831 case ARIZONA_WRITE_SEQUENCER_CTRL_1:
1832 case ARIZONA_WRITE_SEQUENCER_CTRL_2:
1833 case ARIZONA_WRITE_SEQUENCER_CTRL_3:
1834 case ARIZONA_OUTPUT_STATUS_1:
1835 case ARIZONA_SLIMBUS_RX_PORT_STATUS:
1836 case ARIZONA_SLIMBUS_TX_PORT_STATUS:
1837 case ARIZONA_SAMPLE_RATE_1_STATUS:
1838 case ARIZONA_SAMPLE_RATE_2_STATUS:
1839 case ARIZONA_SAMPLE_RATE_3_STATUS:
1840 case ARIZONA_HAPTICS_STATUS:
1841 case ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS:
1842 case ARIZONA_ASYNC_SAMPLE_RATE_2_STATUS:
1843 case ARIZONA_DAC_COMP_1:
1844 case ARIZONA_DAC_COMP_2:
1845 case ARIZONA_DAC_COMP_3:
1846 case ARIZONA_DAC_COMP_4:
1847 case ARIZONA_FX_CTRL2:
1848 case ARIZONA_INTERRUPT_STATUS_1:
1849 case ARIZONA_INTERRUPT_STATUS_2:
1850 case ARIZONA_INTERRUPT_STATUS_3:
1851 case ARIZONA_INTERRUPT_STATUS_4:
1852 case ARIZONA_INTERRUPT_STATUS_5:
1853 case ARIZONA_IRQ2_STATUS_1:
1854 case ARIZONA_IRQ2_STATUS_2:
1855 case ARIZONA_IRQ2_STATUS_3:
1856 case ARIZONA_IRQ2_STATUS_4:
1857 case ARIZONA_IRQ2_STATUS_5:
1858 case ARIZONA_INTERRUPT_RAW_STATUS_2:
1859 case ARIZONA_INTERRUPT_RAW_STATUS_3:
1860 case ARIZONA_INTERRUPT_RAW_STATUS_4:
1861 case ARIZONA_INTERRUPT_RAW_STATUS_5:
1862 case ARIZONA_INTERRUPT_RAW_STATUS_6:
1863 case ARIZONA_INTERRUPT_RAW_STATUS_7:
1864 case ARIZONA_INTERRUPT_RAW_STATUS_8:
1865 case ARIZONA_IRQ_PIN_STATUS:
1866 case ARIZONA_AOD_WKUP_AND_TRIG:
1867 case ARIZONA_AOD_IRQ1:
1868 case ARIZONA_AOD_IRQ2:
1869 case ARIZONA_AOD_IRQ_RAW_STATUS:
1870 case ARIZONA_DSP1_CLOCKING_1:
1871 case ARIZONA_DSP1_STATUS_1:
1872 case ARIZONA_DSP1_STATUS_2:
1873 case ARIZONA_DSP1_STATUS_3:
1874 case ARIZONA_DSP1_WDMA_BUFFER_1:
1875 case ARIZONA_DSP1_WDMA_BUFFER_2:
1876 case ARIZONA_DSP1_WDMA_BUFFER_3:
1877 case ARIZONA_DSP1_WDMA_BUFFER_4:
1878 case ARIZONA_DSP1_WDMA_BUFFER_5:
1879 case ARIZONA_DSP1_WDMA_BUFFER_6:
1880 case ARIZONA_DSP1_WDMA_BUFFER_7:
1881 case ARIZONA_DSP1_WDMA_BUFFER_8:
1882 case ARIZONA_DSP1_RDMA_BUFFER_1:
1883 case ARIZONA_DSP1_RDMA_BUFFER_2:
1884 case ARIZONA_DSP1_RDMA_BUFFER_3:
1885 case ARIZONA_DSP1_RDMA_BUFFER_4:
1886 case ARIZONA_DSP1_RDMA_BUFFER_5:
1887 case ARIZONA_DSP1_RDMA_BUFFER_6:
1888 case ARIZONA_DSP1_WDMA_CONFIG_1:
1889 case ARIZONA_DSP1_WDMA_CONFIG_2:
1890 case ARIZONA_DSP1_RDMA_CONFIG_1:
1891 case ARIZONA_DSP1_SCRATCH_0:
1892 case ARIZONA_DSP1_SCRATCH_1:
1893 case ARIZONA_DSP1_SCRATCH_2:
1894 case ARIZONA_DSP1_SCRATCH_3:
1895 case ARIZONA_HP_CTRL_1L:
1896 case ARIZONA_HP_CTRL_1R:
1897 case ARIZONA_HEADPHONE_DETECT_2:
1898 case ARIZONA_HP_DACVAL:
1899 case ARIZONA_MIC_DETECT_3:
1900 return true;
1901 default:
1902 if ((reg >= 0x100000 && reg < 0x106000) ||
1903 (reg >= 0x180000 && reg < 0x180800) ||
1904 (reg >= 0x190000 && reg < 0x194800) ||
1905 (reg >= 0x1a8000 && reg < 0x1a9800))
1906 return true;
1907 else
1908 return false;
1909 }
1910 }
1911
1912 #define WM5102_MAX_REGISTER 0x1a9800
1913
1914 const struct regmap_config wm5102_spi_regmap = {
1915 .reg_bits = 32,
1916 .pad_bits = 16,
1917 .val_bits = 16,
1918 .reg_format_endian = REGMAP_ENDIAN_BIG,
1919 .val_format_endian = REGMAP_ENDIAN_BIG,
1920
1921 .max_register = WM5102_MAX_REGISTER,
1922 .readable_reg = wm5102_readable_register,
1923 .volatile_reg = wm5102_volatile_register,
1924
1925 .cache_type = REGCACHE_RBTREE,
1926 .reg_defaults = wm5102_reg_default,
1927 .num_reg_defaults = ARRAY_SIZE(wm5102_reg_default),
1928 };
1929 EXPORT_SYMBOL_GPL(wm5102_spi_regmap);
1930
1931 const struct regmap_config wm5102_i2c_regmap = {
1932 .reg_bits = 32,
1933 .val_bits = 16,
1934 .reg_format_endian = REGMAP_ENDIAN_BIG,
1935 .val_format_endian = REGMAP_ENDIAN_BIG,
1936
1937 .max_register = WM5102_MAX_REGISTER,
1938 .readable_reg = wm5102_readable_register,
1939 .volatile_reg = wm5102_volatile_register,
1940
1941 .cache_type = REGCACHE_RBTREE,
1942 .reg_defaults = wm5102_reg_default,
1943 .num_reg_defaults = ARRAY_SIZE(wm5102_reg_default),
1944 };
1945 EXPORT_SYMBOL_GPL(wm5102_i2c_regmap);