#include <linux/device.h>
#include <linux/module.h>
#include <linux/regmap.h>
#include <linux/mfd/madera/core.h>
#include <linux/mfd/madera/registers.h>
#include "madera.h"
static const struct reg_sequence cs47l85_reva_16_patch[] = {
{ 0x80, 0x0003 },
{ 0x213, 0x03E4 },
{ 0x177, 0x0281 },
{ 0x197, 0x0281 },
{ 0x1B7, 0x0281 },
{ 0x4B1, 0x010A },
{ 0x4CF, 0x0933 },
{ 0x36C, 0x011B },
{ 0x4B8, 0x1120 },
{ 0x4A0, 0x3280 },
{ 0x4A1, 0x3200 },
{ 0x4A2, 0x3200 },
{ 0x441, 0xC050 },
{ 0x4A4, 0x000B },
{ 0x4A5, 0x000B },
{ 0x4A6, 0x000B },
{ 0x4E2, 0x1E1D },
{ 0x4E3, 0x1E1D },
{ 0x4E4, 0x1E1D },
{ 0x293, 0x0080 },
{ 0x17D, 0x0303 },
{ 0x19D, 0x0303 },
{ 0x27E, 0x0000 },
{ 0x80, 0x0000 },
{ 0x80, 0x0000 },
{ 0x448, 0x003f },
};
static const struct reg_sequence cs47l85_revc_16_patch[] = {
{ 0x27E, 0x0000 },
{ 0x2C2, 0x0005 },
{ 0x448, 0x003f },
};
static const struct reg_sequence cs47l85_reva_32_patch[] = {
{ 0x3000, 0xC2253632 },
{ 0x3002, 0xC2300001 },
{ 0x3004, 0x8225100E },
{ 0x3006, 0x22251803 },
{ 0x3008, 0x82310B00 },
{ 0x300A, 0xE231023B },
{ 0x300C, 0x02313B01 },
{ 0x300E, 0x62300000 },
{ 0x3010, 0xE2314288 },
{ 0x3012, 0x02310B00 },
{ 0x3014, 0x02310B00 },
{ 0x3016, 0x04050100 },
{ 0x3018, 0x42310C02 },
{ 0x301A, 0xE2310227 },
{ 0x301C, 0x02313B01 },
{ 0x301E, 0xE2314266 },
{ 0x3020, 0xE2315294 },
{ 0x3022, 0x02310B00 },
{ 0x3024, 0x02310B00 },
{ 0x3026, 0x02251100 },
{ 0x3028, 0x02251401 },
{ 0x302A, 0x02250200 },
{ 0x302C, 0x02251001 },
{ 0x302E, 0x02250200 },
{ 0x3030, 0xE2310266 },
{ 0x3032, 0x82314B15 },
{ 0x3034, 0x82310B15 },
{ 0x3036, 0xE2315294 },
{ 0x3038, 0x02310B00 },
{ 0x303A, 0x8225160D },
{ 0x303C, 0x0225F501 },
{ 0x303E, 0x8225061C },
{ 0x3040, 0x02251000 },
{ 0x3042, 0x04051101 },
{ 0x3044, 0x02251800 },
{ 0x3046, 0x42251203 },
{ 0x3048, 0x02251101 },
{ 0x304A, 0xC2251300 },
{ 0x304C, 0x2225FB02 },
{ 0x3050, 0xC2263632 },
{ 0x3052, 0xC2300001 },
{ 0x3054, 0x8226100E },
{ 0x3056, 0x22261803 },
{ 0x3058, 0x82310B02 },
{ 0x305A, 0xE231023B },
{ 0x305C, 0x02313B01 },
{ 0x305E, 0x62300000 },
{ 0x3060, 0xE2314288 },
{ 0x3062, 0x02310B00 },
{ 0x3064, 0x02310B00 },
{ 0x3066, 0x04050000 },
{ 0x3068, 0x42310C03 },
{ 0x306A, 0xE2310227 },
{ 0x306C, 0x02313B01 },
{ 0x306E, 0xE2314266 },
{ 0x3070, 0xE2315294 },
{ 0x3072, 0x02310B00 },
{ 0x3074, 0x02310B00 },
{ 0x3076, 0x02261100 },
{ 0x3078, 0x02261401 },
{ 0x307A, 0x02260200 },
{ 0x307C, 0x02261001 },
{ 0x307E, 0x02260200 },
{ 0x3080, 0xE2310266 },
{ 0x3082, 0x82314B17 },
{ 0x3084, 0x82310B17 },
{ 0x3086, 0xE2315294 },
{ 0x3088, 0x02310B00 },
{ 0x308A, 0x8226160D },
{ 0x308C, 0x0226F501 },
{ 0x308E, 0x8226061C },
{ 0x3090, 0x02261000 },
{ 0x3092, 0x04051101 },
{ 0x3094, 0x02261800 },
{ 0x3096, 0x42261203 },
{ 0x3098, 0x02261101 },
{ 0x309A, 0xC2261300 },
{ 0x309C, 0x2226FB02 },
{ 0x309E, 0x0000F000 },
{ 0x30A0, 0xC2273632 },
{ 0x30A2, 0xC2400001 },
{ 0x30A4, 0x8227100E },
{ 0x30A6, 0x22271803 },
{ 0x30A8, 0x82410B00 },
{ 0x30AA, 0xE241023B },
{ 0x30AC, 0x02413B01 },
{ 0x30AE, 0x62400000 },
{ 0x30B0, 0xE2414288 },
{ 0x30B2, 0x02410B00 },
{ 0x30B4, 0x02410B00 },
{ 0x30B6, 0x04050300 },
{ 0x30B8, 0x42410C02 },
{ 0x30BA, 0xE2410227 },
{ 0x30BC, 0x02413B01 },
{ 0x30BE, 0xE2414266 },
{ 0x30C0, 0xE2415294 },
{ 0x30C2, 0x02410B00 },
{ 0x30C4, 0x02410B00 },
{ 0x30C6, 0x02271100 },
{ 0x30C8, 0x02271401 },
{ 0x30CA, 0x02270200 },
{ 0x30CC, 0x02271001 },
{ 0x30CE, 0x02270200 },
{ 0x30D0, 0xE2410266 },
{ 0x30D2, 0x82414B15 },
{ 0x30D4, 0x82410B15 },
{ 0x30D6, 0xE2415294 },
{ 0x30D8, 0x02410B00 },
{ 0x30DA, 0x8227160D },
{ 0x30DC, 0x0227F501 },
{ 0x30DE, 0x8227061C },
{ 0x30E0, 0x02271000 },
{ 0x30E2, 0x04051101 },
{ 0x30E4, 0x02271800 },
{ 0x30E6, 0x42271203 },
{ 0x30E8, 0x02271101 },
{ 0x30EA, 0xC2271300 },
{ 0x30EC, 0x2227FB02 },
{ 0x30F0, 0xC2283632 },
{ 0x30F2, 0xC2400001 },
{ 0x30F4, 0x8228100E },
{ 0x30F6, 0x22281803 },
{ 0x30F8, 0x82410B02 },
{ 0x30FA, 0xE241023B },
{ 0x30FC, 0x02413B01 },
{ 0x30FE, 0x62400000 },
{ 0x3100, 0xE2414288 },
{ 0x3102, 0x02410B00 },
{ 0x3104, 0x02410B00 },
{ 0x3106, 0x04050200 },
{ 0x3108, 0x42410C03 },
{ 0x310A, 0xE2410227 },
{ 0x310C, 0x02413B01 },
{ 0x310E, 0xE2414266 },
{ 0x3110, 0xE2415294 },
{ 0x3112, 0x02410B00 },
{ 0x3114, 0x02410B00 },
{ 0x3116, 0x02281100 },
{ 0x3118, 0x02281401 },
{ 0x311A, 0x02280200 },
{ 0x311C, 0x02281001 },
{ 0x311E, 0x02280200 },
{ 0x3120, 0xE2410266 },
{ 0x3122, 0x82414B17 },
{ 0x3124, 0x82410B17 },
{ 0x3126, 0xE2415294 },
{ 0x3128, 0x02410B00 },
{ 0x312A, 0x8228160D },
{ 0x312C, 0x0228F501 },
{ 0x312E, 0x8228061C },
{ 0x3130, 0x02281000 },
{ 0x3132, 0x04051101 },
{ 0x3134, 0x02281800 },
{ 0x3136, 0x42281203 },
{ 0x3138, 0x02281101 },
{ 0x313A, 0xC2281300 },
{ 0x313C, 0x2228FB02 },
{ 0x3140, 0xC2293632 },
{ 0x3142, 0xC2500001 },
{ 0x3144, 0x8229100E },
{ 0x3146, 0x22291803 },
{ 0x3148, 0x82510B00 },
{ 0x314A, 0xE251023B },
{ 0x314C, 0x02513B01 },
{ 0x314E, 0x62500000 },
{ 0x3150, 0xE2514288 },
{ 0x3152, 0x02510B00 },
{ 0x3154, 0x02510B00 },
{ 0x3156, 0x04050500 },
{ 0x3158, 0x42510C02 },
{ 0x315A, 0xE2510227 },
{ 0x315C, 0x02513B01 },
{ 0x315E, 0xE2514266 },
{ 0x3160, 0xE2515294 },
{ 0x3162, 0x02510B00 },
{ 0x3164, 0x02510B00 },
{ 0x3166, 0x02291100 },
{ 0x3168, 0x02291401 },
{ 0x316A, 0x02290200 },
{ 0x316C, 0x02291001 },
{ 0x316E, 0x02290200 },
{ 0x3170, 0xE2510266 },
{ 0x3172, 0x82514B15 },
{ 0x3174, 0x82510B15 },
{ 0x3176, 0xE2515294 },
{ 0x3178, 0x02510B00 },
{ 0x317A, 0x8229160D },
{ 0x317C, 0x0229F501 },
{ 0x317E, 0x8229061C },
{ 0x3180, 0x02291000 },
{ 0x3182, 0x04051101 },
{ 0x3184, 0x02291800 },
{ 0x3186, 0x42291203 },
{ 0x3188, 0x02291101 },
{ 0x318A, 0xC2291300 },
{ 0x318C, 0x2229FB02 },
{ 0x3190, 0xC22A3632 },
{ 0x3192, 0xC2500001 },
{ 0x3194, 0x822A100E },
{ 0x3196, 0x222A1803 },
{ 0x3198, 0x82510B02 },
{ 0x319A, 0xE251023B },
{ 0x319C, 0x02513B01 },
{ 0x319E, 0x62500000 },
{ 0x31A0, 0xE2514288 },
{ 0x31A2, 0x02510B00 },
{ 0x31A4, 0x02510B00 },
{ 0x31A6, 0x04050400 },
{ 0x31A8, 0x42510C03 },
{ 0x31AA, 0xE2510227 },
{ 0x31AC, 0x02513B01 },
{ 0x31AE, 0xE2514266 },
{ 0x31B0, 0xE2515294 },
{ 0x31B2, 0x02510B00 },
{ 0x31B4, 0x02510B00 },
{ 0x31B6, 0x022A1100 },
{ 0x31B8, 0x022A1401 },
{ 0x31BA, 0x022A0200 },
{ 0x31BC, 0x022A1001 },
{ 0x31BE, 0x022A0200 },
{ 0x31C0, 0xE2510266 },
{ 0x31C2, 0x82514B17 },
{ 0x31C4, 0x82510B17 },
{ 0x31C6, 0xE2515294 },
{ 0x31C8, 0x02510B00 },
{ 0x31CA, 0x822A160D },
{ 0x31CC, 0x022AF501 },
{ 0x31CE, 0x822A061C },
{ 0x31D0, 0x022A1000 },
{ 0x31D2, 0x04051101 },
{ 0x31D4, 0x022A1800 },
{ 0x31D6, 0x422A1203 },
{ 0x31D8, 0x022A1101 },
{ 0x31DA, 0xC22A1300 },
{ 0x31DC, 0x222AFB02 },
};
static const struct reg_sequence cs47l85_revc_32_patch[] = {
{ 0x3380, 0xE4103066 },
{ 0x3382, 0xE4103070 },
{ 0x3384, 0xE4103078 },
{ 0x3386, 0xE4103080 },
{ 0x3388, 0xE410F080 },
{ 0x338A, 0xE4143066 },
{ 0x338C, 0xE4143070 },
{ 0x338E, 0xE4143078 },
{ 0x3390, 0xE4143080 },
{ 0x3392, 0xE414F080 },
{ 0x3394, 0xE4103078 },
{ 0x3396, 0xE4103070 },
{ 0x3398, 0xE4103066 },
{ 0x339A, 0xE410F056 },
{ 0x339C, 0xE4143078 },
{ 0x339E, 0xE4143070 },
{ 0x33A0, 0xE4143066 },
{ 0x33A2, 0xE414F056 },
};
int cs47l85_patch(struct madera *madera)
{
int ret = 0;
const struct reg_sequence *patch16;
const struct reg_sequence *patch32;
unsigned int num16, num32;
switch (madera->rev) {
case 0:
case 1:
patch16 = cs47l85_reva_16_patch;
num16 = ARRAY_SIZE(cs47l85_reva_16_patch);
patch32 = cs47l85_reva_32_patch;
num32 = ARRAY_SIZE(cs47l85_reva_32_patch);
break;
default:
patch16 = cs47l85_revc_16_patch;
num16 = ARRAY_SIZE(cs47l85_revc_16_patch);
patch32 = cs47l85_revc_32_patch;
num32 = ARRAY_SIZE(cs47l85_revc_32_patch);
break;
}
ret = regmap_register_patch(madera->regmap, patch16, num16);
if (ret < 0) {
dev_err(madera->dev,
"Error in applying 16-bit patch: %d\n", ret);
return ret;
}
ret = regmap_register_patch(madera->regmap_32bit, patch32, num32);
if (ret < 0) {
dev_err(madera->dev,
"Error in applying 32-bit patch: %d\n", ret);
return ret;
}
return 0;
}
EXPORT_SYMBOL_GPL(cs47l85_patch);
static const struct reg_default cs47l85_reg_default[] = {
{ 0x00000020, 0x0000 },
{ 0x00000021, 0x1000 },
{ 0x00000022, 0x0000 },
{ 0x00000023, 0x1000 },
{ 0x00000024, 0x0000 },
{ 0x00000030, 0x0000 },
{ 0x00000031, 0x0100 },
{ 0x00000032, 0x0100 },
{ 0x00000061, 0x01ff },
{ 0x00000062, 0x01ff },
{ 0x00000063, 0x01ff },
{ 0x00000064, 0x01ff },
{ 0x00000066, 0x01ff },
{ 0x00000067, 0x01ff },
{ 0x00000090, 0x0000 },
{ 0x00000091, 0x7fff },
{ 0x00000092, 0x0000 },
{ 0x00000093, 0x0000 },
{ 0x00000094, 0x0000 },
{ 0x00000095, 0x0000 },
{ 0x00000096, 0x0000 },
{ 0x00000097, 0x0000 },
{ 0x000000a0, 0x0000 },
{ 0x00000100, 0x0002 },
{ 0x00000101, 0x0404 },
{ 0x00000102, 0x0011 },
{ 0x00000103, 0x0011 },
{ 0x00000104, 0x0011 },
{ 0x00000112, 0x0305 },
{ 0x00000113, 0x0011 },
{ 0x00000114, 0x0011 },
{ 0x00000120, 0x0305 },
{ 0x00000122, 0x0000 },
{ 0x00000149, 0x0000 },
{ 0x0000014a, 0x0000 },
{ 0x00000152, 0x0000 },
{ 0x00000153, 0x0000 },
{ 0x00000154, 0x0000 },
{ 0x00000155, 0x0000 },
{ 0x00000156, 0x0000 },
{ 0x00000171, 0x0002 },
{ 0x00000172, 0x0008 },
{ 0x00000173, 0x0018 },
{ 0x00000174, 0x007d },
{ 0x00000175, 0x0000 },
{ 0x00000176, 0x0000 },
{ 0x00000179, 0x0000 },
{ 0x00000181, 0x0000 },
{ 0x00000182, 0x0000 },
{ 0x00000183, 0x0000 },
{ 0x00000184, 0x0000 },
{ 0x00000185, 0x0000 },
{ 0x00000186, 0x0000 },
{ 0x00000187, 0x0001 },
{ 0x00000189, 0x0000 },
{ 0x0000018a, 0x000c },
{ 0x00000191, 0x0002 },
{ 0x00000192, 0x0008 },
{ 0x00000193, 0x0018 },
{ 0x00000194, 0x007d },
{ 0x00000195, 0x0000 },
{ 0x00000196, 0x0000 },
{ 0x00000199, 0x0000 },
{ 0x000001a1, 0x0000 },
{ 0x000001a2, 0x0000 },
{ 0x000001a3, 0x0000 },
{ 0x000001a4, 0x0000 },
{ 0x000001a5, 0x0000 },
{ 0x000001a6, 0x0000 },
{ 0x000001a7, 0x0001 },
{ 0x000001a9, 0x0000 },
{ 0x000001aa, 0x000c },
{ 0x000001b1, 0x0002 },
{ 0x000001b2, 0x0008 },
{ 0x000001b3, 0x0018 },
{ 0x000001b4, 0x007d },
{ 0x000001b5, 0x0000 },
{ 0x000001b6, 0x0000 },
{ 0x000001b9, 0x0000 },
{ 0x000001c1, 0x0000 },
{ 0x000001c2, 0x0000 },
{ 0x000001c3, 0x0000 },
{ 0x000001c4, 0x0000 },
{ 0x000001c5, 0x0000 },
{ 0x000001c6, 0x0000 },
{ 0x000001c7, 0x0001 },
{ 0x000001c9, 0x0000 },
{ 0x000001ca, 0x000C },
{ 0x00000200, 0x0006 },
{ 0x0000020b, 0x0400 },
{ 0x00000210, 0x0184 },
{ 0x00000213, 0x03e4 },
{ 0x00000218, 0x00e6 },
{ 0x00000219, 0x00e6 },
{ 0x0000021a, 0x00e6 },
{ 0x0000021b, 0x00e6 },
{ 0x0000027e, 0x0000 },
{ 0x00000293, 0x0000 },
{ 0x0000029b, 0x0000 },
{ 0x000002a3, 0x1102 },
{ 0x000002a4, 0x009f },
{ 0x000002a6, 0x3737 },
{ 0x000002a7, 0x2c37 },
{ 0x000002a8, 0x1422 },
{ 0x000002a9, 0x030a },
{ 0x000002c6, 0x0010 },
{ 0x000002c8, 0x0000 },
{ 0x000002d3, 0x0000 },
{ 0x00000300, 0x0000 },
{ 0x00000308, 0x0000 },
{ 0x00000309, 0x0022 },
{ 0x0000030c, 0x0002 },
{ 0x00000310, 0x0080 },
{ 0x00000311, 0x0180 },
{ 0x00000312, 0x0500 },
{ 0x00000314, 0x0080 },
{ 0x00000315, 0x0180 },
{ 0x00000316, 0x0000 },
{ 0x00000318, 0x0080 },
{ 0x00000319, 0x0180 },
{ 0x0000031a, 0x0500 },
{ 0x0000031c, 0x0080 },
{ 0x0000031d, 0x0180 },
{ 0x0000031e, 0x0000 },
{ 0x00000320, 0x0080 },
{ 0x00000321, 0x0180 },
{ 0x00000322, 0x0500 },
{ 0x00000324, 0x0080 },
{ 0x00000325, 0x0180 },
{ 0x00000326, 0x0000 },
{ 0x00000328, 0x0000 },
{ 0x00000329, 0x0180 },
{ 0x0000032a, 0x0500 },
{ 0x0000032c, 0x0000 },
{ 0x0000032d, 0x0180 },
{ 0x0000032e, 0x0000 },
{ 0x00000330, 0x0000 },
{ 0x00000331, 0x0180 },
{ 0x00000332, 0x0500 },
{ 0x00000334, 0x0000 },
{ 0x00000335, 0x0180 },
{ 0x00000336, 0x0000 },
{ 0x00000338, 0x0000 },
{ 0x00000339, 0x0180 },
{ 0x0000033a, 0x0500 },
{ 0x0000033c, 0x0000 },
{ 0x0000033d, 0x0180 },
{ 0x0000033e, 0x0000 },
{ 0x00000400, 0x0000 },
{ 0x00000408, 0x0000 },
{ 0x00000409, 0x0022 },
{ 0x00000410, 0x0080 },
{ 0x00000411, 0x0180 },
{ 0x00000413, 0x0001 },
{ 0x00000414, 0x0080 },
{ 0x00000415, 0x0180 },
{ 0x00000417, 0x0002 },
{ 0x00000418, 0x0080 },
{ 0x00000419, 0x0180 },
{ 0x0000041b, 0x0004 },
{ 0x0000041c, 0x0080 },
{ 0x0000041d, 0x0180 },
{ 0x0000041f, 0x0008 },
{ 0x00000420, 0x0080 },
{ 0x00000421, 0x0180 },
{ 0x00000423, 0x0010 },
{ 0x00000424, 0x0080 },
{ 0x00000425, 0x0180 },
{ 0x00000427, 0x0020 },
{ 0x00000428, 0x0000 },
{ 0x00000429, 0x0180 },
{ 0x0000042b, 0x0040 },
{ 0x0000042c, 0x0000 },
{ 0x0000042d, 0x0180 },
{ 0x0000042f, 0x0080 },
{ 0x00000430, 0x0000 },
{ 0x00000431, 0x0180 },
{ 0x00000433, 0x0100 },
{ 0x00000434, 0x0000 },
{ 0x00000435, 0x0180 },
{ 0x00000437, 0x0200 },
{ 0x00000438, 0x0000 },
{ 0x00000439, 0x0180 },
{ 0x0000043b, 0x0400 },
{ 0x0000043c, 0x0000 },
{ 0x0000043d, 0x0180 },
{ 0x0000043f, 0x0800 },
{ 0x00000450, 0x0000 },
{ 0x00000451, 0x0000 },
{ 0x00000458, 0x0000 },
{ 0x00000490, 0x0069 },
{ 0x00000491, 0x0000 },
{ 0x00000492, 0x0069 },
{ 0x00000493, 0x0000 },
{ 0x000004a0, 0x3280 },
{ 0x000004a1, 0x3200 },
{ 0x000004a2, 0x3200 },
{ 0x000004a8, 0x7020 },
{ 0x000004a9, 0x7020 },
{ 0x00000500, 0x000c },
{ 0x00000501, 0x0000 },
{ 0x00000502, 0x0000 },
{ 0x00000503, 0x0000 },
{ 0x00000504, 0x0000 },
{ 0x00000506, 0x0040 },
{ 0x00000507, 0x1818 },
{ 0x00000508, 0x1818 },
{ 0x00000509, 0x0000 },
{ 0x0000050a, 0x0001 },
{ 0x0000050b, 0x0002 },
{ 0x0000050c, 0x0003 },
{ 0x0000050d, 0x0004 },
{ 0x0000050e, 0x0005 },
{ 0x0000050f, 0x0006 },
{ 0x00000510, 0x0007 },
{ 0x00000511, 0x0000 },
{ 0x00000512, 0x0001 },
{ 0x00000513, 0x0002 },
{ 0x00000514, 0x0003 },
{ 0x00000515, 0x0004 },
{ 0x00000516, 0x0005 },
{ 0x00000517, 0x0006 },
{ 0x00000518, 0x0007 },
{ 0x00000519, 0x0000 },
{ 0x0000051a, 0x0000 },
{ 0x00000540, 0x000c },
{ 0x00000541, 0x0000 },
{ 0x00000542, 0x0000 },
{ 0x00000543, 0x0000 },
{ 0x00000544, 0x0000 },
{ 0x00000546, 0x0040 },
{ 0x00000547, 0x1818 },
{ 0x00000548, 0x1818 },
{ 0x00000549, 0x0000 },
{ 0x0000054a, 0x0001 },
{ 0x0000054b, 0x0002 },
{ 0x0000054c, 0x0003 },
{ 0x0000054d, 0x0004 },
{ 0x0000054e, 0x0005 },
{ 0x0000054f, 0x0006 },
{ 0x00000550, 0x0007 },
{ 0x00000551, 0x0000 },
{ 0x00000552, 0x0001 },
{ 0x00000553, 0x0002 },
{ 0x00000554, 0x0003 },
{ 0x00000555, 0x0004 },
{ 0x00000556, 0x0005 },
{ 0x00000557, 0x0006 },
{ 0x00000558, 0x0007 },
{ 0x00000559, 0x0000 },
{ 0x0000055a, 0x0000 },
{ 0x00000580, 0x000c },
{ 0x00000581, 0x0000 },
{ 0x00000582, 0x0000 },
{ 0x00000583, 0x0000 },
{ 0x00000584, 0x0000 },
{ 0x00000586, 0x0040 },
{ 0x00000587, 0x1818 },
{ 0x00000588, 0x1818 },
{ 0x00000589, 0x0000 },
{ 0x0000058a, 0x0001 },
{ 0x00000591, 0x0000 },
{ 0x00000592, 0x0001 },
{ 0x00000599, 0x0000 },
{ 0x0000059a, 0x0000 },
{ 0x000005a0, 0x000c },
{ 0x000005a1, 0x0000 },
{ 0x000005a2, 0x0000 },
{ 0x000005a3, 0x0000 },
{ 0x000005a4, 0x0000 },
{ 0x000005a6, 0x0040 },
{ 0x000005a7, 0x1818 },
{ 0x000005a8, 0x1818 },
{ 0x000005a9, 0x0000 },
{ 0x000005aa, 0x0001 },
{ 0x000005b1, 0x0000 },
{ 0x000005b2, 0x0001 },
{ 0x000005b9, 0x0000 },
{ 0x000005ba, 0x0000 },
{ 0x000005c2, 0x0000 },
{ 0x000005e3, 0x0000 },
{ 0x000005e5, 0x0000 },
{ 0x000005e6, 0x0000 },
{ 0x000005e7, 0x0000 },
{ 0x000005e8, 0x0000 },
{ 0x000005e9, 0x0000 },
{ 0x000005ea, 0x0000 },
{ 0x000005eb, 0x0000 },
{ 0x000005ec, 0x0000 },
{ 0x000005f5, 0x0000 },
{ 0x000005f6, 0x0000 },
{ 0x00000640, 0x0000 },
{ 0x00000641, 0x0080 },
{ 0x00000642, 0x0000 },
{ 0x00000643, 0x0080 },
{ 0x00000644, 0x0000 },
{ 0x00000645, 0x0080 },
{ 0x00000646, 0x0000 },
{ 0x00000647, 0x0080 },
{ 0x00000648, 0x0000 },
{ 0x00000649, 0x0080 },
{ 0x0000064a, 0x0000 },
{ 0x0000064b, 0x0080 },
{ 0x0000064c, 0x0000 },
{ 0x0000064d, 0x0080 },
{ 0x0000064e, 0x0000 },
{ 0x0000064f, 0x0080 },
{ 0x00000680, 0x0000 },
{ 0x00000681, 0x0080 },
{ 0x00000682, 0x0000 },
{ 0x00000683, 0x0080 },
{ 0x00000684, 0x0000 },
{ 0x00000685, 0x0080 },
{ 0x00000686, 0x0000 },
{ 0x00000687, 0x0080 },
{ 0x00000688, 0x0000 },
{ 0x00000689, 0x0080 },
{ 0x0000068a, 0x0000 },
{ 0x0000068b, 0x0080 },
{ 0x0000068c, 0x0000 },
{ 0x0000068d, 0x0080 },
{ 0x0000068e, 0x0000 },
{ 0x0000068f, 0x0080 },
{ 0x00000690, 0x0000 },
{ 0x00000691, 0x0080 },
{ 0x00000692, 0x0000 },
{ 0x00000693, 0x0080 },
{ 0x00000694, 0x0000 },
{ 0x00000695, 0x0080 },
{ 0x00000696, 0x0000 },
{ 0x00000697, 0x0080 },
{ 0x00000698, 0x0000 },
{ 0x00000699, 0x0080 },
{ 0x0000069a, 0x0000 },
{ 0x0000069b, 0x0080 },
{ 0x0000069c, 0x0000 },
{ 0x0000069d, 0x0080 },
{ 0x0000069e, 0x0000 },
{ 0x0000069f, 0x0080 },
{ 0x000006a0, 0x0000 },
{ 0x000006a1, 0x0080 },
{ 0x000006a2, 0x0000 },
{ 0x000006a3, 0x0080 },
{ 0x000006a4, 0x0000 },
{ 0x000006a5, 0x0080 },
{ 0x000006a6, 0x0000 },
{ 0x000006a7, 0x0080 },
{ 0x000006a8, 0x0000 },
{ 0x000006a9, 0x0080 },
{ 0x000006aa, 0x0000 },
{ 0x000006ab, 0x0080 },
{ 0x000006ac, 0x0000 },
{ 0x000006ad, 0x0080 },
{ 0x000006ae, 0x0000 },
{ 0x000006af, 0x0080 },
{ 0x000006b0, 0x0000 },
{ 0x000006b1, 0x0080 },
{ 0x000006b2, 0x0000 },
{ 0x000006b3, 0x0080 },
{ 0x000006b4, 0x0000 },
{ 0x000006b5, 0x0080 },
{ 0x000006b6, 0x0000 },
{ 0x000006b7, 0x0080 },
{ 0x000006b8, 0x0000 },
{ 0x000006b9, 0x0080 },
{ 0x000006ba, 0x0000 },
{ 0x000006bb, 0x0080 },
{ 0x000006bc, 0x0000 },
{ 0x000006bd, 0x0080 },
{ 0x000006be, 0x0000 },
{ 0x000006bf, 0x0080 },
{ 0x000006c0, 0x0000 },
{ 0x000006c1, 0x0080 },
{ 0x000006c2, 0x0000 },
{ 0x000006c3, 0x0080 },
{ 0x000006c4, 0x0000 },
{ 0x000006c5, 0x0080 },
{ 0x000006c6, 0x0000 },
{ 0x000006c7, 0x0080 },
{ 0x000006c8, 0x0000 },
{ 0x000006c9, 0x0080 },
{ 0x000006ca, 0x0000 },
{ 0x000006cb, 0x0080 },
{ 0x000006cc, 0x0000 },
{ 0x000006cd, 0x0080 },
{ 0x000006ce, 0x0000 },
{ 0x000006cf, 0x0080 },
{ 0x000006d0, 0x0000 },
{ 0x000006d1, 0x0080 },
{ 0x000006d2, 0x0000 },
{ 0x000006d3, 0x0080 },
{ 0x000006d4, 0x0000 },
{ 0x000006d5, 0x0080 },
{ 0x000006d6, 0x0000 },
{ 0x000006d7, 0x0080 },
{ 0x000006d8, 0x0000 },
{ 0x000006d9, 0x0080 },
{ 0x000006da, 0x0000 },
{ 0x000006db, 0x0080 },
{ 0x000006dc, 0x0000 },
{ 0x000006dd, 0x0080 },
{ 0x000006de, 0x0000 },
{ 0x000006df, 0x0080 },
{ 0x00000700, 0x0000 },
{ 0x00000701, 0x0080 },
{ 0x00000702, 0x0000 },
{ 0x00000703, 0x0080 },
{ 0x00000704, 0x0000 },
{ 0x00000705, 0x0080 },
{ 0x00000706, 0x0000 },
{ 0x00000707, 0x0080 },
{ 0x00000708, 0x0000 },
{ 0x00000709, 0x0080 },
{ 0x0000070a, 0x0000 },
{ 0x0000070b, 0x0080 },
{ 0x0000070c, 0x0000 },
{ 0x0000070d, 0x0080 },
{ 0x0000070e, 0x0000 },
{ 0x0000070f, 0x0080 },
{ 0x00000710, 0x0000 },
{ 0x00000711, 0x0080 },
{ 0x00000712, 0x0000 },
{ 0x00000713, 0x0080 },
{ 0x00000714, 0x0000 },
{ 0x00000715, 0x0080 },
{ 0x00000716, 0x0000 },
{ 0x00000717, 0x0080 },
{ 0x00000718, 0x0000 },
{ 0x00000719, 0x0080 },
{ 0x0000071a, 0x0000 },
{ 0x0000071b, 0x0080 },
{ 0x0000071c, 0x0000 },
{ 0x0000071d, 0x0080 },
{ 0x0000071e, 0x0000 },
{ 0x0000071f, 0x0080 },
{ 0x00000720, 0x0000 },
{ 0x00000721, 0x0080 },
{ 0x00000722, 0x0000 },
{ 0x00000723, 0x0080 },
{ 0x00000724, 0x0000 },
{ 0x00000725, 0x0080 },
{ 0x00000726, 0x0000 },
{ 0x00000727, 0x0080 },
{ 0x00000728, 0x0000 },
{ 0x00000729, 0x0080 },
{ 0x0000072a, 0x0000 },
{ 0x0000072b, 0x0080 },
{ 0x0000072c, 0x0000 },
{ 0x0000072d, 0x0080 },
{ 0x0000072e, 0x0000 },
{ 0x0000072f, 0x0080 },
{ 0x00000730, 0x0000 },
{ 0x00000731, 0x0080 },
{ 0x00000732, 0x0000 },
{ 0x00000733, 0x0080 },
{ 0x00000734, 0x0000 },
{ 0x00000735, 0x0080 },
{ 0x00000736, 0x0000 },
{ 0x00000737, 0x0080 },
{ 0x00000738, 0x0000 },
{ 0x00000739, 0x0080 },
{ 0x0000073a, 0x0000 },
{ 0x0000073b, 0x0080 },
{ 0x0000073c, 0x0000 },
{ 0x0000073d, 0x0080 },
{ 0x0000073e, 0x0000 },
{ 0x0000073f, 0x0080 },
{ 0x00000740, 0x0000 },
{ 0x00000741, 0x0080 },
{ 0x00000742, 0x0000 },
{ 0x00000743, 0x0080 },
{ 0x00000744, 0x0000 },
{ 0x00000745, 0x0080 },
{ 0x00000746, 0x0000 },
{ 0x00000747, 0x0080 },
{ 0x00000748, 0x0000 },
{ 0x00000749, 0x0080 },
{ 0x0000074a, 0x0000 },
{ 0x0000074b, 0x0080 },
{ 0x0000074c, 0x0000 },
{ 0x0000074d, 0x0080 },
{ 0x0000074e, 0x0000 },
{ 0x0000074f, 0x0080 },
{ 0x00000750, 0x0000 },
{ 0x00000751, 0x0080 },
{ 0x00000752, 0x0000 },
{ 0x00000753, 0x0080 },
{ 0x00000754, 0x0000 },
{ 0x00000755, 0x0080 },
{ 0x00000756, 0x0000 },
{ 0x00000757, 0x0080 },
{ 0x00000758, 0x0000 },
{ 0x00000759, 0x0080 },
{ 0x0000075a, 0x0000 },
{ 0x0000075b, 0x0080 },
{ 0x0000075c, 0x0000 },
{ 0x0000075d, 0x0080 },
{ 0x0000075e, 0x0000 },
{ 0x0000075f, 0x0080 },
{ 0x00000760, 0x0000 },
{ 0x00000761, 0x0080 },
{ 0x00000762, 0x0000 },
{ 0x00000763, 0x0080 },
{ 0x00000764, 0x0000 },
{ 0x00000765, 0x0080 },
{ 0x00000766, 0x0000 },
{ 0x00000767, 0x0080 },
{ 0x00000768, 0x0000 },
{ 0x00000769, 0x0080 },
{ 0x0000076a, 0x0000 },
{ 0x0000076b, 0x0080 },
{ 0x0000076c, 0x0000 },
{ 0x0000076d, 0x0080 },
{ 0x0000076e, 0x0000 },
{ 0x0000076f, 0x0080 },
{ 0x00000770, 0x0000 },
{ 0x00000771, 0x0080 },
{ 0x00000772, 0x0000 },
{ 0x00000773, 0x0080 },
{ 0x00000774, 0x0000 },
{ 0x00000775, 0x0080 },
{ 0x00000776, 0x0000 },
{ 0x00000777, 0x0080 },
{ 0x00000778, 0x0000 },
{ 0x00000779, 0x0080 },
{ 0x0000077a, 0x0000 },
{ 0x0000077b, 0x0080 },
{ 0x0000077c, 0x0000 },
{ 0x0000077d, 0x0080 },
{ 0x0000077e, 0x0000 },
{ 0x0000077f, 0x0080 },
{ 0x00000780, 0x0000 },
{ 0x00000781, 0x0080 },
{ 0x00000782, 0x0000 },
{ 0x00000783, 0x0080 },
{ 0x00000784, 0x0000 },
{ 0x00000785, 0x0080 },
{ 0x00000786, 0x0000 },
{ 0x00000787, 0x0080 },
{ 0x00000788, 0x0000 },
{ 0x00000789, 0x0080 },
{ 0x0000078a, 0x0000 },
{ 0x0000078b, 0x0080 },
{ 0x0000078c, 0x0000 },
{ 0x0000078d, 0x0080 },
{ 0x0000078e, 0x0000 },
{ 0x0000078f, 0x0080 },
{ 0x000007a0, 0x0000 },
{ 0x000007a1, 0x0080 },
{ 0x000007a2, 0x0000 },
{ 0x000007a3, 0x0080 },
{ 0x000007a4, 0x0000 },
{ 0x000007a5, 0x0080 },
{ 0x000007a6, 0x0000 },
{ 0x000007a7, 0x0080 },
{ 0x000007a8, 0x0000 },
{ 0x000007a9, 0x0080 },
{ 0x000007aa, 0x0000 },
{ 0x000007ab, 0x0080 },
{ 0x000007ac, 0x0000 },
{ 0x000007ad, 0x0080 },
{ 0x000007ae, 0x0000 },
{ 0x000007af, 0x0080 },
{ 0x000007c0, 0x0000 },
{ 0x000007c1, 0x0080 },
{ 0x000007c2, 0x0000 },
{ 0x000007c3, 0x0080 },
{ 0x000007c4, 0x0000 },
{ 0x000007c5, 0x0080 },
{ 0x000007c6, 0x0000 },
{ 0x000007c7, 0x0080 },
{ 0x000007c8, 0x0000 },
{ 0x000007c9, 0x0080 },
{ 0x000007ca, 0x0000 },
{ 0x000007cb, 0x0080 },
{ 0x000007cc, 0x0000 },
{ 0x000007cd, 0x0080 },
{ 0x000007ce, 0x0000 },
{ 0x000007cf, 0x0080 },
{ 0x000007d0, 0x0000 },
{ 0x000007d1, 0x0080 },
{ 0x000007d2, 0x0000 },
{ 0x000007d3, 0x0080 },
{ 0x000007d4, 0x0000 },
{ 0x000007d5, 0x0080 },
{ 0x000007d6, 0x0000 },
{ 0x000007d7, 0x0080 },
{ 0x000007d8, 0x0000 },
{ 0x000007d9, 0x0080 },
{ 0x000007da, 0x0000 },
{ 0x000007db, 0x0080 },
{ 0x000007dc, 0x0000 },
{ 0x000007dd, 0x0080 },
{ 0x000007de, 0x0000 },
{ 0x000007df, 0x0080 },
{ 0x000007e0, 0x0000 },
{ 0x000007e1, 0x0080 },
{ 0x000007e2, 0x0000 },
{ 0x000007e3, 0x0080 },
{ 0x000007e4, 0x0000 },
{ 0x000007e5, 0x0080 },
{ 0x000007e6, 0x0000 },
{ 0x000007e7, 0x0080 },
{ 0x000007e8, 0x0000 },
{ 0x000007e9, 0x0080 },
{ 0x000007ea, 0x0000 },
{ 0x000007eb, 0x0080 },
{ 0x000007ec, 0x0000 },
{ 0x000007ed, 0x0080 },
{ 0x000007ee, 0x0000 },
{ 0x000007ef, 0x0080 },
{ 0x000007f0, 0x0000 },
{ 0x000007f1, 0x0080 },
{ 0x000007f2, 0x0000 },
{ 0x000007f3, 0x0080 },
{ 0x000007f4, 0x0000 },
{ 0x000007f5, 0x0080 },
{ 0x000007f6, 0x0000 },
{ 0x000007f7, 0x0080 },
{ 0x000007f8, 0x0000 },
{ 0x000007f9, 0x0080 },
{ 0x000007fa, 0x0000 },
{ 0x000007fb, 0x0080 },
{ 0x000007fc, 0x0000 },
{ 0x000007fd, 0x0080 },
{ 0x000007fe, 0x0000 },
{ 0x000007ff, 0x0080 },
{ 0x00000800, 0x0000 },
{ 0x00000801, 0x0080 },
{ 0x00000808, 0x0000 },
{ 0x00000809, 0x0080 },
{ 0x00000880, 0x0000 },
{ 0x00000881, 0x0080 },
{ 0x00000882, 0x0000 },
{ 0x00000883, 0x0080 },
{ 0x00000884, 0x0000 },
{ 0x00000885, 0x0080 },
{ 0x00000886, 0x0000 },
{ 0x00000887, 0x0080 },
{ 0x00000888, 0x0000 },
{ 0x00000889, 0x0080 },
{ 0x0000088a, 0x0000 },
{ 0x0000088b, 0x0080 },
{ 0x0000088c, 0x0000 },
{ 0x0000088d, 0x0080 },
{ 0x0000088e, 0x0000 },
{ 0x0000088f, 0x0080 },
{ 0x00000890, 0x0000 },
{ 0x00000891, 0x0080 },
{ 0x00000892, 0x0000 },
{ 0x00000893, 0x0080 },
{ 0x00000894, 0x0000 },
{ 0x00000895, 0x0080 },
{ 0x00000896, 0x0000 },
{ 0x00000897, 0x0080 },
{ 0x00000898, 0x0000 },
{ 0x00000899, 0x0080 },
{ 0x0000089a, 0x0000 },
{ 0x0000089b, 0x0080 },
{ 0x0000089c, 0x0000 },
{ 0x0000089d, 0x0080 },
{ 0x0000089e, 0x0000 },
{ 0x0000089f, 0x0080 },
{ 0x000008c0, 0x0000 },
{ 0x000008c1, 0x0080 },
{ 0x000008c2, 0x0000 },
{ 0x000008c3, 0x0080 },
{ 0x000008c4, 0x0000 },
{ 0x000008c5, 0x0080 },
{ 0x000008c6, 0x0000 },
{ 0x000008c7, 0x0080 },
{ 0x000008c8, 0x0000 },
{ 0x000008c9, 0x0080 },
{ 0x000008ca, 0x0000 },
{ 0x000008cb, 0x0080 },
{ 0x000008cc, 0x0000 },
{ 0x000008cd, 0x0080 },
{ 0x000008ce, 0x0000 },
{ 0x000008cf, 0x0080 },
{ 0x000008d0, 0x0000 },
{ 0x000008d1, 0x0080 },
{ 0x000008d2, 0x0000 },
{ 0x000008d3, 0x0080 },
{ 0x000008d4, 0x0000 },
{ 0x000008d5, 0x0080 },
{ 0x000008d6, 0x0000 },
{ 0x000008d7, 0x0080 },
{ 0x000008d8, 0x0000 },
{ 0x000008d9, 0x0080 },
{ 0x000008da, 0x0000 },
{ 0x000008db, 0x0080 },
{ 0x000008dc, 0x0000 },
{ 0x000008dd, 0x0080 },
{ 0x000008de, 0x0000 },
{ 0x000008df, 0x0080 },
{ 0x00000900, 0x0000 },
{ 0x00000901, 0x0080 },
{ 0x00000902, 0x0000 },
{ 0x00000903, 0x0080 },
{ 0x00000904, 0x0000 },
{ 0x00000905, 0x0080 },
{ 0x00000906, 0x0000 },
{ 0x00000907, 0x0080 },
{ 0x00000908, 0x0000 },
{ 0x00000909, 0x0080 },
{ 0x0000090a, 0x0000 },
{ 0x0000090b, 0x0080 },
{ 0x0000090c, 0x0000 },
{ 0x0000090d, 0x0080 },
{ 0x0000090e, 0x0000 },
{ 0x0000090f, 0x0080 },
{ 0x00000910, 0x0000 },
{ 0x00000911, 0x0080 },
{ 0x00000912, 0x0000 },
{ 0x00000913, 0x0080 },
{ 0x00000914, 0x0000 },
{ 0x00000915, 0x0080 },
{ 0x00000916, 0x0000 },
{ 0x00000917, 0x0080 },
{ 0x00000918, 0x0000 },
{ 0x00000919, 0x0080 },
{ 0x0000091a, 0x0000 },
{ 0x0000091b, 0x0080 },
{ 0x0000091c, 0x0000 },
{ 0x0000091d, 0x0080 },
{ 0x0000091e, 0x0000 },
{ 0x0000091f, 0x0080 },
{ 0x00000940, 0x0000 },
{ 0x00000941, 0x0080 },
{ 0x00000942, 0x0000 },
{ 0x00000943, 0x0080 },
{ 0x00000944, 0x0000 },
{ 0x00000945, 0x0080 },
{ 0x00000946, 0x0000 },
{ 0x00000947, 0x0080 },
{ 0x00000948, 0x0000 },
{ 0x00000949, 0x0080 },
{ 0x0000094a, 0x0000 },
{ 0x0000094b, 0x0080 },
{ 0x0000094c, 0x0000 },
{ 0x0000094d, 0x0080 },
{ 0x0000094e, 0x0000 },
{ 0x0000094f, 0x0080 },
{ 0x00000950, 0x0000 },
{ 0x00000958, 0x0000 },
{ 0x00000960, 0x0000 },
{ 0x00000968, 0x0000 },
{ 0x00000970, 0x0000 },
{ 0x00000978, 0x0000 },
{ 0x00000980, 0x0000 },
{ 0x00000981, 0x0080 },
{ 0x00000982, 0x0000 },
{ 0x00000983, 0x0080 },
{ 0x00000984, 0x0000 },
{ 0x00000985, 0x0080 },
{ 0x00000986, 0x0000 },
{ 0x00000987, 0x0080 },
{ 0x00000988, 0x0000 },
{ 0x00000989, 0x0080 },
{ 0x0000098a, 0x0000 },
{ 0x0000098b, 0x0080 },
{ 0x0000098c, 0x0000 },
{ 0x0000098d, 0x0080 },
{ 0x0000098e, 0x0000 },
{ 0x0000098f, 0x0080 },
{ 0x00000990, 0x0000 },
{ 0x00000998, 0x0000 },
{ 0x000009a0, 0x0000 },
{ 0x000009a8, 0x0000 },
{ 0x000009b0, 0x0000 },
{ 0x000009b8, 0x0000 },
{ 0x000009c0, 0x0000 },
{ 0x000009c1, 0x0080 },
{ 0x000009c2, 0x0000 },
{ 0x000009c3, 0x0080 },
{ 0x000009c4, 0x0000 },
{ 0x000009c5, 0x0080 },
{ 0x000009c6, 0x0000 },
{ 0x000009c7, 0x0080 },
{ 0x000009c8, 0x0000 },
{ 0x000009c9, 0x0080 },
{ 0x000009ca, 0x0000 },
{ 0x000009cb, 0x0080 },
{ 0x000009cc, 0x0000 },
{ 0x000009cd, 0x0080 },
{ 0x000009ce, 0x0000 },
{ 0x000009cf, 0x0080 },
{ 0x000009d0, 0x0000 },
{ 0x000009d8, 0x0000 },
{ 0x000009e0, 0x0000 },
{ 0x000009e8, 0x0000 },
{ 0x000009f0, 0x0000 },
{ 0x000009f8, 0x0000 },
{ 0x00000a00, 0x0000 },
{ 0x00000a01, 0x0080 },
{ 0x00000a02, 0x0000 },
{ 0x00000a03, 0x0080 },
{ 0x00000a04, 0x0000 },
{ 0x00000a05, 0x0080 },
{ 0x00000a06, 0x0000 },
{ 0x00000a07, 0x0080 },
{ 0x00000a08, 0x0000 },
{ 0x00000a09, 0x0080 },
{ 0x00000a0a, 0x0000 },
{ 0x00000a0b, 0x0080 },
{ 0x00000a0c, 0x0000 },
{ 0x00000a0d, 0x0080 },
{ 0x00000a0e, 0x0000 },
{ 0x00000a0f, 0x0080 },
{ 0x00000a10, 0x0000 },
{ 0x00000a18, 0x0000 },
{ 0x00000a20, 0x0000 },
{ 0x00000a28, 0x0000 },
{ 0x00000a30, 0x0000 },
{ 0x00000a38, 0x0000 },
{ 0x00000a40, 0x0000 },
{ 0x00000a41, 0x0080 },
{ 0x00000a42, 0x0000 },
{ 0x00000a43, 0x0080 },
{ 0x00000a44, 0x0000 },
{ 0x00000a45, 0x0080 },
{ 0x00000a46, 0x0000 },
{ 0x00000a47, 0x0080 },
{ 0x00000a48, 0x0000 },
{ 0x00000a49, 0x0080 },
{ 0x00000a4a, 0x0000 },
{ 0x00000a4b, 0x0080 },
{ 0x00000a4c, 0x0000 },
{ 0x00000a4d, 0x0080 },
{ 0x00000a4e, 0x0000 },
{ 0x00000a4f, 0x0080 },
{ 0x00000a50, 0x0000 },
{ 0x00000a58, 0x0000 },
{ 0x00000a60, 0x0000 },
{ 0x00000a68, 0x0000 },
{ 0x00000a70, 0x0000 },
{ 0x00000a78, 0x0000 },
{ 0x00000a80, 0x0000 },
{ 0x00000a88, 0x0000 },
{ 0x00000a90, 0x0000 },
{ 0x00000a98, 0x0000 },
{ 0x00000aa0, 0x0000 },
{ 0x00000aa8, 0x0000 },
{ 0x00000ab0, 0x0000 },
{ 0x00000ab8, 0x0000 },
{ 0x00000b00, 0x0000 },
{ 0x00000b08, 0x0000 },
{ 0x00000b10, 0x0000 },
{ 0x00000b18, 0x0000 },
{ 0x00000b20, 0x0000 },
{ 0x00000b28, 0x0000 },
{ 0x00000b30, 0x0000 },
{ 0x00000b38, 0x0000 },
{ 0x00000b40, 0x0000 },
{ 0x00000b48, 0x0000 },
{ 0x00000b50, 0x0000 },
{ 0x00000b58, 0x0000 },
{ 0x00000b60, 0x0000 },
{ 0x00000b68, 0x0000 },
{ 0x00000b70, 0x0000 },
{ 0x00000b78, 0x0000 },
{ 0x00000b80, 0x0000 },
{ 0x00000b88, 0x0000 },
{ 0x00000ba0, 0x0000 },
{ 0x00000ba8, 0x0000 },
{ 0x00000bc0, 0x0000 },
{ 0x00000bc8, 0x0000 },
{ 0x00000be0, 0x0000 },
{ 0x00000be8, 0x0000 },
{ 0x00000c00, 0x0000 },
{ 0x00000c01, 0x0080 },
{ 0x00000c02, 0x0000 },
{ 0x00000c03, 0x0080 },
{ 0x00000c04, 0x0000 },
{ 0x00000c05, 0x0080 },
{ 0x00000c06, 0x0000 },
{ 0x00000c07, 0x0080 },
{ 0x00000c08, 0x0000 },
{ 0x00000c09, 0x0080 },
{ 0x00000c0a, 0x0000 },
{ 0x00000c0b, 0x0080 },
{ 0x00000c0c, 0x0000 },
{ 0x00000c0d, 0x0080 },
{ 0x00000c0e, 0x0000 },
{ 0x00000c0f, 0x0080 },
{ 0x00000c10, 0x0000 },
{ 0x00000c18, 0x0000 },
{ 0x00000c20, 0x0000 },
{ 0x00000c28, 0x0000 },
{ 0x00000c30, 0x0000 },
{ 0x00000c38, 0x0000 },
{ 0x00000c40, 0x0000 },
{ 0x00000c41, 0x0080 },
{ 0x00000c42, 0x0000 },
{ 0x00000c43, 0x0080 },
{ 0x00000c44, 0x0000 },
{ 0x00000c45, 0x0080 },
{ 0x00000c46, 0x0000 },
{ 0x00000c47, 0x0080 },
{ 0x00000c48, 0x0000 },
{ 0x00000c49, 0x0080 },
{ 0x00000c4a, 0x0000 },
{ 0x00000c4b, 0x0080 },
{ 0x00000c4c, 0x0000 },
{ 0x00000c4d, 0x0080 },
{ 0x00000c4e, 0x0000 },
{ 0x00000c4f, 0x0080 },
{ 0x00000c50, 0x0000 },
{ 0x00000c58, 0x0000 },
{ 0x00000c60, 0x0000 },
{ 0x00000c68, 0x0000 },
{ 0x00000c70, 0x0000 },
{ 0x00000c78, 0x0000 },
{ 0x00000e00, 0x0000 },
{ 0x00000e10, 0x6318 },
{ 0x00000e11, 0x6300 },
{ 0x00000e12, 0x0fc8 },
{ 0x00000e13, 0x03fe },
{ 0x00000e14, 0x00e0 },
{ 0x00000e15, 0x1ec4 },
{ 0x00000e16, 0xf136 },
{ 0x00000e17, 0x0409 },
{ 0x00000e18, 0x04cc },
{ 0x00000e19, 0x1c9b },
{ 0x00000e1a, 0xf337 },
{ 0x00000e1b, 0x040b },
{ 0x00000e1c, 0x0cbb },
{ 0x00000e1d, 0x16f8 },
{ 0x00000e1e, 0xf7d9 },
{ 0x00000e1f, 0x040a },
{ 0x00000e20, 0x1f14 },
{ 0x00000e21, 0x058c },
{ 0x00000e22, 0x0563 },
{ 0x00000e23, 0x4000 },
{ 0x00000e24, 0x0b75 },
{ 0x00000e26, 0x6318 },
{ 0x00000e27, 0x6300 },
{ 0x00000e28, 0x0fc8 },
{ 0x00000e29, 0x03fe },
{ 0x00000e2a, 0x00e0 },
{ 0x00000e2b, 0x1ec4 },
{ 0x00000e2c, 0xf136 },
{ 0x00000e2d, 0x0409 },
{ 0x00000e2e, 0x04cc },
{ 0x00000e2f, 0x1c9b },
{ 0x00000e30, 0xf337 },
{ 0x00000e31, 0x040b },
{ 0x00000e32, 0x0cbb },
{ 0x00000e33, 0x16f8 },
{ 0x00000e34, 0xf7d9 },
{ 0x00000e35, 0x040a },
{ 0x00000e36, 0x1f14 },
{ 0x00000e37, 0x058c },
{ 0x00000e38, 0x0563 },
{ 0x00000e39, 0x4000 },
{ 0x00000e3a, 0x0b75 },
{ 0x00000e3c, 0x6318 },
{ 0x00000e3d, 0x6300 },
{ 0x00000e3e, 0x0fc8 },
{ 0x00000e3f, 0x03fe },
{ 0x00000e40, 0x00e0 },
{ 0x00000e41, 0x1ec4 },
{ 0x00000e42, 0xf136 },
{ 0x00000e43, 0x0409 },
{ 0x00000e44, 0x04cc },
{ 0x00000e45, 0x1c9b },
{ 0x00000e46, 0xf337 },
{ 0x00000e47, 0x040b },
{ 0x00000e48, 0x0cbb },
{ 0x00000e49, 0x16f8 },
{ 0x00000e4a, 0xf7d9 },
{ 0x00000e4b, 0x040a },
{ 0x00000e4c, 0x1f14 },
{ 0x00000e4d, 0x058c },
{ 0x00000e4e, 0x0563 },
{ 0x00000e4f, 0x4000 },
{ 0x00000e50, 0x0b75 },
{ 0x00000e52, 0x6318 },
{ 0x00000e53, 0x6300 },
{ 0x00000e54, 0x0fc8 },
{ 0x00000e55, 0x03fe },
{ 0x00000e56, 0x00e0 },
{ 0x00000e57, 0x1ec4 },
{ 0x00000e58, 0xf136 },
{ 0x00000e59, 0x0409 },
{ 0x00000e5a, 0x04cc },
{ 0x00000e5b, 0x1c9b },
{ 0x00000e5c, 0xf337 },
{ 0x00000e5d, 0x040b },
{ 0x00000e5e, 0x0cbb },
{ 0x00000e5f, 0x16f8 },
{ 0x00000e60, 0xf7d9 },
{ 0x00000e61, 0x040a },
{ 0x00000e62, 0x1f14 },
{ 0x00000e63, 0x058c },
{ 0x00000e64, 0x0563 },
{ 0x00000e65, 0x4000 },
{ 0x00000e66, 0x0b75 },
{ 0x00000e80, 0x0018 },
{ 0x00000e81, 0x0933 },
{ 0x00000e82, 0x0018 },
{ 0x00000e83, 0x0000 },
{ 0x00000e84, 0x0000 },
{ 0x00000e88, 0x0018 },
{ 0x00000e89, 0x0933 },
{ 0x00000e8a, 0x0018 },
{ 0x00000e8b, 0x0000 },
{ 0x00000e8c, 0x0000 },
{ 0x00000ec0, 0x0000 },
{ 0x00000ec1, 0x0000 },
{ 0x00000ec4, 0x0000 },
{ 0x00000ec5, 0x0000 },
{ 0x00000ec8, 0x0000 },
{ 0x00000ec9, 0x0000 },
{ 0x00000ecc, 0x0000 },
{ 0x00000ecd, 0x0000 },
{ 0x00000ed0, 0x0000 },
{ 0x00000ed2, 0x0000 },
{ 0x00000ed3, 0x4000 },
{ 0x00000ee0, 0x0000 },
{ 0x00000ee2, 0x0000 },
{ 0x00000ee3, 0x4000 },
{ 0x00000ef0, 0x0000 },
{ 0x00000ef1, 0x0001 },
{ 0x00000ef2, 0x0000 },
{ 0x00000ef3, 0x0000 },
{ 0x00000ef4, 0x0001 },
{ 0x00000ef5, 0x0000 },
{ 0x00000ef6, 0x0000 },
{ 0x00000ef7, 0x0001 },
{ 0x00000ef8, 0x0000 },
{ 0x00000ef9, 0x0000 },
{ 0x00000efa, 0x0001 },
{ 0x00000efb, 0x0000 },
{ 0x00000f01, 0x0000 },
{ 0x00000f02, 0x0000 },
{ 0x00000f08, 0x001c },
{ 0x00000f09, 0x0000 },
{ 0x00000f0a, 0x0000 },
{ 0x00000f0b, 0x0000 },
{ 0x00000f0c, 0x0000 },
{ 0x00000f0d, 0x0000 },
{ 0x00000f0e, 0x0000 },
{ 0x00000f0f, 0x0000 },
{ 0x00000f10, 0x0000 },
{ 0x00000f11, 0x0000 },
{ 0x00000f12, 0x0000 },
{ 0x00000f15, 0x0000 },
{ 0x00000f17, 0x0004 },
{ 0x00000f18, 0x0004 },
{ 0x00000f19, 0x0002 },
{ 0x00000f1a, 0x0000 },
{ 0x00000f1b, 0x0010 },
{ 0x00000f1c, 0x0000 },
{ 0x00000f1d, 0x0000 },
{ 0x00000f1e, 0x0000 },
{ 0x00000f1f, 0x0000 },
{ 0x00000f20, 0x0000 },
{ 0x00000f21, 0x0000 },
{ 0x00000f22, 0x0000 },
{ 0x00000f23, 0x0000 },
{ 0x00000f24, 0x0000 },
{ 0x00000f25, 0x0000 },
{ 0x00000f26, 0x0000 },
{ 0x00000f27, 0x0000 },
{ 0x00000f28, 0x0000 },
{ 0x00000f29, 0x0000 },
{ 0x00000f2a, 0x0000 },
{ 0x00000f2b, 0x0000 },
{ 0x00000f2c, 0x0000 },
{ 0x00000f2d, 0x0000 },
{ 0x00000f2e, 0x0000 },
{ 0x00000f2f, 0x0000 },
{ 0x00000f30, 0x0000 },
{ 0x00000f31, 0x0000 },
{ 0x00000f32, 0x0000 },
{ 0x00000f33, 0x0000 },
{ 0x00000f34, 0x0000 },
{ 0x00000f35, 0x0000 },
{ 0x00000f36, 0x0000 },
{ 0x00000f37, 0x0000 },
{ 0x00000f38, 0x0000 },
{ 0x00000f39, 0x0000 },
{ 0x00000f3a, 0x0000 },
{ 0x00000f3b, 0x0000 },
{ 0x00000f3c, 0x0000 },
{ 0x00000f3d, 0x0000 },
{ 0x00000f3e, 0x0000 },
{ 0x00000f3f, 0x0000 },
{ 0x00000f40, 0x0000 },
{ 0x00000f41, 0x0000 },
{ 0x00000f42, 0x0000 },
{ 0x00000f43, 0x0000 },
{ 0x00000f44, 0x0000 },
{ 0x00000f45, 0x0000 },
{ 0x00000f46, 0x0000 },
{ 0x00000f47, 0x0000 },
{ 0x00000f48, 0x0000 },
{ 0x00000f49, 0x0000 },
{ 0x00000f4a, 0x0000 },
{ 0x00000f4b, 0x0000 },
{ 0x00000f4c, 0x0000 },
{ 0x00000f4d, 0x0000 },
{ 0x00000f4e, 0x0000 },
{ 0x00000f4f, 0x0000 },
{ 0x00000f50, 0x0000 },
{ 0x00000f51, 0x0000 },
{ 0x00000f52, 0x0000 },
{ 0x00000f53, 0x0000 },
{ 0x00000f54, 0x0000 },
{ 0x00000f55, 0x0000 },
{ 0x00000f56, 0x0000 },
{ 0x00000f57, 0x0000 },
{ 0x00000f58, 0x0000 },
{ 0x00000f59, 0x0000 },
{ 0x00000f5a, 0x0000 },
{ 0x00000f5b, 0x0000 },
{ 0x00000f5c, 0x0000 },
{ 0x00000f5d, 0x0000 },
{ 0x00000f5e, 0x0000 },
{ 0x00000f5f, 0x0000 },
{ 0x00000f60, 0x0000 },
{ 0x00000f61, 0x0000 },
{ 0x00000f62, 0x0000 },
{ 0x00000f63, 0x0000 },
{ 0x00000f64, 0x0000 },
{ 0x00000f65, 0x0000 },
{ 0x00000f66, 0x0000 },
{ 0x00000f67, 0x0000 },
{ 0x00000f68, 0x0000 },
{ 0x00000f69, 0x0000 },
{ 0x00000f71, 0x0000 },
{ 0x00000f73, 0x0004 },
{ 0x00000f74, 0x0004 },
{ 0x00000f75, 0x0002 },
{ 0x00000f76, 0x0000 },
{ 0x00000f77, 0x0010 },
{ 0x00000f78, 0x0000 },
{ 0x00000f79, 0x0000 },
{ 0x00000f7a, 0x0000 },
{ 0x00000f7b, 0x0000 },
{ 0x00000f7c, 0x0000 },
{ 0x00000f7d, 0x0000 },
{ 0x00000f7e, 0x0000 },
{ 0x00000f7f, 0x0000 },
{ 0x00000f80, 0x0000 },
{ 0x00000f81, 0x0000 },
{ 0x00000f82, 0x0000 },
{ 0x00000f83, 0x0000 },
{ 0x00000f84, 0x0000 },
{ 0x00000f85, 0x0000 },
{ 0x00000f86, 0x0000 },
{ 0x00000f87, 0x0000 },
{ 0x00000f88, 0x0000 },
{ 0x00000f89, 0x0000 },
{ 0x00000f8a, 0x0000 },
{ 0x00000f8b, 0x0000 },
{ 0x00000f8c, 0x0000 },
{ 0x00000f8d, 0x0000 },
{ 0x00000f8e, 0x0000 },
{ 0x00000f8f, 0x0000 },
{ 0x00000f90, 0x0000 },
{ 0x00000f91, 0x0000 },
{ 0x00000f92, 0x0000 },
{ 0x00000f93, 0x0000 },
{ 0x00000f94, 0x0000 },
{ 0x00000f95, 0x0000 },
{ 0x00000f96, 0x0000 },
{ 0x00000f97, 0x0000 },
{ 0x00000f98, 0x0000 },
{ 0x00000f99, 0x0000 },
{ 0x00000f9a, 0x0000 },
{ 0x00000f9b, 0x0000 },
{ 0x00000f9c, 0x0000 },
{ 0x00000f9d, 0x0000 },
{ 0x00000f9e, 0x0000 },
{ 0x00000f9f, 0x0000 },
{ 0x00000fa0, 0x0000 },
{ 0x00000fa1, 0x0000 },
{ 0x00000fa2, 0x0000 },
{ 0x00000fa3, 0x0000 },
{ 0x00000fa4, 0x0000 },
{ 0x00000fa5, 0x0000 },
{ 0x00000fa6, 0x0000 },
{ 0x00000fa7, 0x0000 },
{ 0x00000fa8, 0x0000 },
{ 0x00000fa9, 0x0000 },
{ 0x00000faa, 0x0000 },
{ 0x00000fab, 0x0000 },
{ 0x00000fac, 0x0000 },
{ 0x00000fad, 0x0000 },
{ 0x00000fae, 0x0000 },
{ 0x00000faf, 0x0000 },
{ 0x00000fb0, 0x0000 },
{ 0x00000fb1, 0x0000 },
{ 0x00000fb2, 0x0000 },
{ 0x00000fb3, 0x0000 },
{ 0x00000fb4, 0x0000 },
{ 0x00000fb5, 0x0000 },
{ 0x00000fb6, 0x0000 },
{ 0x00000fb7, 0x0000 },
{ 0x00000fb8, 0x0000 },
{ 0x00000fb9, 0x0000 },
{ 0x00000fba, 0x0000 },
{ 0x00000fbb, 0x0000 },
{ 0x00000fbc, 0x0000 },
{ 0x00000fbd, 0x0000 },
{ 0x00000fbe, 0x0000 },
{ 0x00000fbf, 0x0000 },
{ 0x00000fc0, 0x0000 },
{ 0x00000fc1, 0x0000 },
{ 0x00000fc2, 0x0000 },
{ 0x00000fc3, 0x0000 },
{ 0x00000fc4, 0x0000 },
{ 0x00000fc5, 0x0000 },
{ 0x00001700, 0x2001 },
{ 0x00001701, 0xe000 },
{ 0x00001702, 0x2001 },
{ 0x00001703, 0xe000 },
{ 0x00001704, 0x2001 },
{ 0x00001705, 0xe000 },
{ 0x00001706, 0x2001 },
{ 0x00001707, 0xe000 },
{ 0x00001708, 0x2001 },
{ 0x00001709, 0xe000 },
{ 0x0000170a, 0x2001 },
{ 0x0000170b, 0xe000 },
{ 0x0000170c, 0x2001 },
{ 0x0000170d, 0xe000 },
{ 0x0000170e, 0x2001 },
{ 0x0000170f, 0xe000 },
{ 0x00001710, 0x2001 },
{ 0x00001711, 0xe000 },
{ 0x00001712, 0x2001 },
{ 0x00001713, 0xe000 },
{ 0x00001714, 0x2001 },
{ 0x00001715, 0xe000 },
{ 0x00001716, 0x2001 },
{ 0x00001717, 0xe000 },
{ 0x00001718, 0x2001 },
{ 0x00001719, 0xE000 },
{ 0x0000171a, 0x2001 },
{ 0x0000171b, 0xE000 },
{ 0x0000171c, 0x2001 },
{ 0x0000171d, 0xE000 },
{ 0x0000171e, 0x2001 },
{ 0x0000171f, 0xE000 },
{ 0x00001720, 0x2001 },
{ 0x00001721, 0xe000 },
{ 0x00001722, 0x2001 },
{ 0x00001723, 0xe000 },
{ 0x00001724, 0x2001 },
{ 0x00001725, 0xe000 },
{ 0x00001726, 0x2001 },
{ 0x00001727, 0xe000 },
{ 0x00001728, 0x2001 },
{ 0x00001729, 0xe000 },
{ 0x0000172a, 0x2001 },
{ 0x0000172b, 0xe000 },
{ 0x0000172c, 0x2001 },
{ 0x0000172d, 0xe000 },
{ 0x0000172e, 0x2001 },
{ 0x0000172f, 0xe000 },
{ 0x00001730, 0x2001 },
{ 0x00001731, 0xe000 },
{ 0x00001732, 0x2001 },
{ 0x00001733, 0xe000 },
{ 0x00001734, 0x2001 },
{ 0x00001735, 0xe000 },
{ 0x00001736, 0x2001 },
{ 0x00001737, 0xe000 },
{ 0x00001738, 0x2001 },
{ 0x00001739, 0xe000 },
{ 0x0000173a, 0x2001 },
{ 0x0000173b, 0xe000 },
{ 0x0000173c, 0x2001 },
{ 0x0000173d, 0xe000 },
{ 0x0000173e, 0x2001 },
{ 0x0000173f, 0xe000 },
{ 0x00001740, 0x2001 },
{ 0x00001741, 0xe000 },
{ 0x00001742, 0x2001 },
{ 0x00001743, 0xe000 },
{ 0x00001744, 0x2001 },
{ 0x00001745, 0xe000 },
{ 0x00001746, 0x2001 },
{ 0x00001747, 0xe000 },
{ 0x00001748, 0x2001 },
{ 0x00001749, 0xe000 },
{ 0x0000174a, 0x2001 },
{ 0x0000174b, 0xe000 },
{ 0x0000174c, 0x2001 },
{ 0x0000174d, 0xe000 },
{ 0x0000174e, 0x2001 },
{ 0x0000174f, 0xe000 },
{ 0x00001840, 0xffff },
{ 0x00001841, 0xffff },
{ 0x00001842, 0xffff },
{ 0x00001843, 0xffff },
{ 0x00001844, 0xffff },
{ 0x00001845, 0xffff },
{ 0x00001846, 0xffff },
{ 0x00001847, 0xffff },
{ 0x00001848, 0xffff },
{ 0x00001849, 0xffff },
{ 0x0000184a, 0xffff },
{ 0x0000184b, 0xffff },
{ 0x0000184c, 0xffff },
{ 0x0000184d, 0xffff },
{ 0x0000184e, 0xffff },
{ 0x0000184f, 0xffff },
{ 0x00001850, 0xffff },
{ 0x00001851, 0xffff },
{ 0x00001852, 0xffff },
{ 0x00001853, 0xffff },
{ 0x00001854, 0xffff },
{ 0x00001855, 0xffff },
{ 0x00001856, 0xffff },
{ 0x00001857, 0xffff },
{ 0x00001858, 0xffff },
{ 0x00001859, 0xffff },
{ 0x0000185a, 0xffff },
{ 0x0000185b, 0xffff },
{ 0x0000185c, 0xffff },
{ 0x0000185d, 0xffff },
{ 0x0000185e, 0xffff },
{ 0x0000185f, 0xffff },
{ 0x00001860, 0xffff },
{ 0x00001a06, 0x0000 },
{ 0x00001a80, 0x4400 },
};
static bool cs47l85_is_adsp_memory(unsigned int reg)
{
switch (reg) {
case 0x080000 ... 0x085ffe:
case 0x0a0000 ... 0x0a7ffe:
case 0x0c0000 ... 0x0c1ffe:
case 0x0e0000 ... 0x0e1ffe:
case 0x100000 ... 0x10effe:
case 0x120000 ... 0x12bffe:
case 0x136000 ... 0x137ffe:
case 0x140000 ... 0x14bffe:
case 0x160000 ... 0x161ffe:
case 0x180000 ... 0x18effe:
case 0x1a0000 ... 0x1b1ffe:
case 0x1b6000 ... 0x1b7ffe:
case 0x1c0000 ... 0x1cbffe:
case 0x1e0000 ... 0x1e1ffe:
case 0x200000 ... 0x208ffe:
case 0x220000 ... 0x231ffe:
case 0x240000 ... 0x24bffe:
case 0x260000 ... 0x261ffe:
case 0x280000 ... 0x288ffe:
case 0x2a0000 ... 0x2a9ffe:
case 0x2c0000 ... 0x2c3ffe:
case 0x2e0000 ... 0x2e1ffe:
case 0x300000 ... 0x305ffe:
case 0x320000 ... 0x333ffe:
case 0x340000 ... 0x34bffe:
case 0x360000 ... 0x361ffe:
case 0x380000 ... 0x388ffe:
case 0x3a0000 ... 0x3a7ffe:
case 0x3c0000 ... 0x3c1ffe:
case 0x3e0000 ... 0x3e1ffe:
return true;
default:
return false;
}
}
static bool cs47l85_16bit_readable_register(struct device *dev,
unsigned int reg)
{
switch (reg) {
case MADERA_SOFTWARE_RESET:
case MADERA_HARDWARE_REVISION:
case MADERA_WRITE_SEQUENCER_CTRL_0:
case MADERA_WRITE_SEQUENCER_CTRL_1:
case MADERA_WRITE_SEQUENCER_CTRL_2:
case MADERA_TONE_GENERATOR_1:
case MADERA_TONE_GENERATOR_2:
case MADERA_TONE_GENERATOR_3:
case MADERA_TONE_GENERATOR_4:
case MADERA_TONE_GENERATOR_5:
case MADERA_PWM_DRIVE_1:
case MADERA_PWM_DRIVE_2:
case MADERA_PWM_DRIVE_3:
case MADERA_SAMPLE_RATE_SEQUENCE_SELECT_1:
case MADERA_SAMPLE_RATE_SEQUENCE_SELECT_2:
case MADERA_SAMPLE_RATE_SEQUENCE_SELECT_3:
case MADERA_SAMPLE_RATE_SEQUENCE_SELECT_4:
case MADERA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_1:
case MADERA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_2:
case MADERA_HAPTICS_CONTROL_1:
case MADERA_HAPTICS_CONTROL_2:
case MADERA_HAPTICS_PHASE_1_INTENSITY:
case MADERA_HAPTICS_PHASE_1_DURATION:
case MADERA_HAPTICS_PHASE_2_INTENSITY:
case MADERA_HAPTICS_PHASE_2_DURATION:
case MADERA_HAPTICS_PHASE_3_INTENSITY:
case MADERA_HAPTICS_PHASE_3_DURATION:
case MADERA_HAPTICS_STATUS:
case MADERA_COMFORT_NOISE_GENERATOR:
case MADERA_CLOCK_32K_1:
case MADERA_SYSTEM_CLOCK_1:
case MADERA_SAMPLE_RATE_1:
case MADERA_SAMPLE_RATE_2:
case MADERA_SAMPLE_RATE_3:
case MADERA_SAMPLE_RATE_1_STATUS:
case MADERA_SAMPLE_RATE_2_STATUS:
case MADERA_SAMPLE_RATE_3_STATUS:
case MADERA_ASYNC_CLOCK_1:
case MADERA_ASYNC_SAMPLE_RATE_1:
case MADERA_ASYNC_SAMPLE_RATE_1_STATUS:
case MADERA_ASYNC_SAMPLE_RATE_2:
case MADERA_ASYNC_SAMPLE_RATE_2_STATUS:
case MADERA_DSP_CLOCK_1:
case MADERA_DSP_CLOCK_2:
case MADERA_OUTPUT_SYSTEM_CLOCK:
case MADERA_OUTPUT_ASYNC_CLOCK:
case MADERA_RATE_ESTIMATOR_1:
case MADERA_RATE_ESTIMATOR_2:
case MADERA_RATE_ESTIMATOR_3:
case MADERA_RATE_ESTIMATOR_4:
case MADERA_RATE_ESTIMATOR_5:
case MADERA_FLL1_CONTROL_1:
case MADERA_FLL1_CONTROL_2:
case MADERA_FLL1_CONTROL_3:
case MADERA_FLL1_CONTROL_4:
case MADERA_FLL1_CONTROL_5:
case MADERA_FLL1_CONTROL_6:
case MADERA_FLL1_CONTROL_7:
case MADERA_FLL1_SYNCHRONISER_1:
case MADERA_FLL1_SYNCHRONISER_2:
case MADERA_FLL1_SYNCHRONISER_3:
case MADERA_FLL1_SYNCHRONISER_4:
case MADERA_FLL1_SYNCHRONISER_5:
case MADERA_FLL1_SYNCHRONISER_6:
case MADERA_FLL1_SYNCHRONISER_7:
case MADERA_FLL1_SPREAD_SPECTRUM:
case MADERA_FLL1_GPIO_CLOCK:
case MADERA_FLL2_CONTROL_1:
case MADERA_FLL2_CONTROL_2:
case MADERA_FLL2_CONTROL_3:
case MADERA_FLL2_CONTROL_4:
case MADERA_FLL2_CONTROL_5:
case MADERA_FLL2_CONTROL_6:
case MADERA_FLL2_CONTROL_7:
case MADERA_FLL2_SYNCHRONISER_1:
case MADERA_FLL2_SYNCHRONISER_2:
case MADERA_FLL2_SYNCHRONISER_3:
case MADERA_FLL2_SYNCHRONISER_4:
case MADERA_FLL2_SYNCHRONISER_5:
case MADERA_FLL2_SYNCHRONISER_6:
case MADERA_FLL2_SYNCHRONISER_7:
case MADERA_FLL2_SPREAD_SPECTRUM:
case MADERA_FLL2_GPIO_CLOCK:
case MADERA_FLL3_CONTROL_1:
case MADERA_FLL3_CONTROL_2:
case MADERA_FLL3_CONTROL_3:
case MADERA_FLL3_CONTROL_4:
case MADERA_FLL3_CONTROL_5:
case MADERA_FLL3_CONTROL_6:
case MADERA_FLL3_CONTROL_7:
case MADERA_FLL3_SYNCHRONISER_1:
case MADERA_FLL3_SYNCHRONISER_2:
case MADERA_FLL3_SYNCHRONISER_3:
case MADERA_FLL3_SYNCHRONISER_4:
case MADERA_FLL3_SYNCHRONISER_5:
case MADERA_FLL3_SYNCHRONISER_6:
case MADERA_FLL3_SYNCHRONISER_7:
case MADERA_FLL3_SPREAD_SPECTRUM:
case MADERA_FLL3_GPIO_CLOCK:
case MADERA_MIC_CHARGE_PUMP_1:
case MADERA_HP_CHARGE_PUMP_8:
case MADERA_LDO1_CONTROL_1:
case MADERA_LDO2_CONTROL_1:
case MADERA_MIC_BIAS_CTRL_1:
case MADERA_MIC_BIAS_CTRL_2:
case MADERA_MIC_BIAS_CTRL_3:
case MADERA_MIC_BIAS_CTRL_4:
case MADERA_HP_CTRL_1L:
case MADERA_HP_CTRL_1R:
case MADERA_HP_CTRL_2L:
case MADERA_HP_CTRL_2R:
case MADERA_HP_CTRL_3L:
case MADERA_HP_CTRL_3R:
case MADERA_DCS_HP1L_CONTROL:
case MADERA_DCS_HP1R_CONTROL:
case MADERA_EDRE_HP_STEREO_CONTROL:
case MADERA_ACCESSORY_DETECT_MODE_1:
case MADERA_HEADPHONE_DETECT_1:
case MADERA_HEADPHONE_DETECT_2:
case MADERA_HEADPHONE_DETECT_3:
case MADERA_HEADPHONE_DETECT_5:
case MADERA_MICD_CLAMP_CONTROL:
case MADERA_MIC_DETECT_1_CONTROL_1:
case MADERA_MIC_DETECT_1_CONTROL_2:
case MADERA_MIC_DETECT_1_CONTROL_3:
case MADERA_MIC_DETECT_1_LEVEL_1:
case MADERA_MIC_DETECT_1_LEVEL_2:
case MADERA_MIC_DETECT_1_LEVEL_3:
case MADERA_MIC_DETECT_1_LEVEL_4:
case MADERA_MIC_DETECT_1_CONTROL_4:
case MADERA_GP_SWITCH_1:
case MADERA_JACK_DETECT_ANALOGUE:
case MADERA_INPUT_ENABLES:
case MADERA_INPUT_ENABLES_STATUS:
case MADERA_INPUT_RATE:
case MADERA_INPUT_VOLUME_RAMP:
case MADERA_HPF_CONTROL:
case MADERA_IN1L_CONTROL:
case MADERA_ADC_DIGITAL_VOLUME_1L:
case MADERA_DMIC1L_CONTROL:
case MADERA_IN1R_CONTROL:
case MADERA_ADC_DIGITAL_VOLUME_1R:
case MADERA_DMIC1R_CONTROL:
case MADERA_IN2L_CONTROL:
case MADERA_ADC_DIGITAL_VOLUME_2L:
case MADERA_DMIC2L_CONTROL:
case MADERA_IN2R_CONTROL:
case MADERA_ADC_DIGITAL_VOLUME_2R:
case MADERA_DMIC2R_CONTROL:
case MADERA_IN3L_CONTROL:
case MADERA_ADC_DIGITAL_VOLUME_3L:
case MADERA_DMIC3L_CONTROL:
case MADERA_IN3R_CONTROL:
case MADERA_ADC_DIGITAL_VOLUME_3R:
case MADERA_DMIC3R_CONTROL:
case MADERA_IN4L_CONTROL:
case MADERA_ADC_DIGITAL_VOLUME_4L:
case MADERA_DMIC4L_CONTROL:
case MADERA_IN4R_CONTROL:
case MADERA_ADC_DIGITAL_VOLUME_4R:
case MADERA_DMIC4R_CONTROL:
case MADERA_IN5L_CONTROL:
case MADERA_ADC_DIGITAL_VOLUME_5L:
case MADERA_DMIC5L_CONTROL:
case MADERA_IN5R_CONTROL:
case MADERA_ADC_DIGITAL_VOLUME_5R:
case MADERA_DMIC5R_CONTROL:
case MADERA_IN6L_CONTROL:
case MADERA_ADC_DIGITAL_VOLUME_6L:
case MADERA_DMIC6L_CONTROL:
case MADERA_IN6R_CONTROL:
case MADERA_ADC_DIGITAL_VOLUME_6R:
case MADERA_DMIC6R_CONTROL:
case MADERA_OUTPUT_ENABLES_1:
case MADERA_OUTPUT_STATUS_1:
case MADERA_RAW_OUTPUT_STATUS_1:
case MADERA_OUTPUT_RATE_1:
case MADERA_OUTPUT_VOLUME_RAMP:
case MADERA_OUTPUT_PATH_CONFIG_1L:
case MADERA_DAC_DIGITAL_VOLUME_1L:
case MADERA_NOISE_GATE_SELECT_1L:
case MADERA_OUTPUT_PATH_CONFIG_1R:
case MADERA_DAC_DIGITAL_VOLUME_1R:
case MADERA_NOISE_GATE_SELECT_1R:
case MADERA_OUTPUT_PATH_CONFIG_2L:
case MADERA_DAC_DIGITAL_VOLUME_2L:
case MADERA_NOISE_GATE_SELECT_2L:
case MADERA_OUTPUT_PATH_CONFIG_2R:
case MADERA_DAC_DIGITAL_VOLUME_2R:
case MADERA_NOISE_GATE_SELECT_2R:
case MADERA_OUTPUT_PATH_CONFIG_3L:
case MADERA_DAC_DIGITAL_VOLUME_3L:
case MADERA_NOISE_GATE_SELECT_3L:
case MADERA_OUTPUT_PATH_CONFIG_3R:
case MADERA_DAC_DIGITAL_VOLUME_3R:
case MADERA_NOISE_GATE_SELECT_3R:
case MADERA_OUTPUT_PATH_CONFIG_4L:
case MADERA_DAC_DIGITAL_VOLUME_4L:
case MADERA_NOISE_GATE_SELECT_4L:
case MADERA_OUTPUT_PATH_CONFIG_4R:
case MADERA_DAC_DIGITAL_VOLUME_4R:
case MADERA_NOISE_GATE_SELECT_4R:
case MADERA_OUTPUT_PATH_CONFIG_5L:
case MADERA_DAC_DIGITAL_VOLUME_5L:
case MADERA_NOISE_GATE_SELECT_5L:
case MADERA_OUTPUT_PATH_CONFIG_5R:
case MADERA_DAC_DIGITAL_VOLUME_5R:
case MADERA_NOISE_GATE_SELECT_5R:
case MADERA_OUTPUT_PATH_CONFIG_6L:
case MADERA_DAC_DIGITAL_VOLUME_6L:
case MADERA_NOISE_GATE_SELECT_6L:
case MADERA_OUTPUT_PATH_CONFIG_6R:
case MADERA_DAC_DIGITAL_VOLUME_6R:
case MADERA_NOISE_GATE_SELECT_6R:
case MADERA_DAC_AEC_CONTROL_1:
case MADERA_DAC_AEC_CONTROL_2:
case MADERA_NOISE_GATE_CONTROL:
case MADERA_PDM_SPK1_CTRL_1:
case MADERA_PDM_SPK1_CTRL_2:
case MADERA_PDM_SPK2_CTRL_1:
case MADERA_PDM_SPK2_CTRL_2:
case MADERA_HP1_SHORT_CIRCUIT_CTRL:
case MADERA_HP2_SHORT_CIRCUIT_CTRL:
case MADERA_HP3_SHORT_CIRCUIT_CTRL:
case MADERA_HP_TEST_CTRL_5:
case MADERA_HP_TEST_CTRL_6:
case MADERA_AIF1_BCLK_CTRL:
case MADERA_AIF1_TX_PIN_CTRL:
case MADERA_AIF1_RX_PIN_CTRL:
case MADERA_AIF1_RATE_CTRL:
case MADERA_AIF1_FORMAT:
case MADERA_AIF1_RX_BCLK_RATE:
case MADERA_AIF1_FRAME_CTRL_1:
case MADERA_AIF1_FRAME_CTRL_2:
case MADERA_AIF1_FRAME_CTRL_3:
case MADERA_AIF1_FRAME_CTRL_4:
case MADERA_AIF1_FRAME_CTRL_5:
case MADERA_AIF1_FRAME_CTRL_6:
case MADERA_AIF1_FRAME_CTRL_7:
case MADERA_AIF1_FRAME_CTRL_8:
case MADERA_AIF1_FRAME_CTRL_9:
case MADERA_AIF1_FRAME_CTRL_10:
case MADERA_AIF1_FRAME_CTRL_11:
case MADERA_AIF1_FRAME_CTRL_12:
case MADERA_AIF1_FRAME_CTRL_13:
case MADERA_AIF1_FRAME_CTRL_14:
case MADERA_AIF1_FRAME_CTRL_15:
case MADERA_AIF1_FRAME_CTRL_16:
case MADERA_AIF1_FRAME_CTRL_17:
case MADERA_AIF1_FRAME_CTRL_18:
case MADERA_AIF1_TX_ENABLES:
case MADERA_AIF1_RX_ENABLES:
case MADERA_AIF2_BCLK_CTRL:
case MADERA_AIF2_TX_PIN_CTRL:
case MADERA_AIF2_RX_PIN_CTRL:
case MADERA_AIF2_RATE_CTRL:
case MADERA_AIF2_FORMAT:
case MADERA_AIF2_RX_BCLK_RATE:
case MADERA_AIF2_FRAME_CTRL_1:
case MADERA_AIF2_FRAME_CTRL_2:
case MADERA_AIF2_FRAME_CTRL_3:
case MADERA_AIF2_FRAME_CTRL_4:
case MADERA_AIF2_FRAME_CTRL_5:
case MADERA_AIF2_FRAME_CTRL_6:
case MADERA_AIF2_FRAME_CTRL_7:
case MADERA_AIF2_FRAME_CTRL_8:
case MADERA_AIF2_FRAME_CTRL_9:
case MADERA_AIF2_FRAME_CTRL_10:
case MADERA_AIF2_FRAME_CTRL_11:
case MADERA_AIF2_FRAME_CTRL_12:
case MADERA_AIF2_FRAME_CTRL_13:
case MADERA_AIF2_FRAME_CTRL_14:
case MADERA_AIF2_FRAME_CTRL_15:
case MADERA_AIF2_FRAME_CTRL_16:
case MADERA_AIF2_FRAME_CTRL_17:
case MADERA_AIF2_FRAME_CTRL_18:
case MADERA_AIF2_TX_ENABLES:
case MADERA_AIF2_RX_ENABLES:
case MADERA_AIF3_BCLK_CTRL:
case MADERA_AIF3_TX_PIN_CTRL:
case MADERA_AIF3_RX_PIN_CTRL:
case MADERA_AIF3_RATE_CTRL:
case MADERA_AIF3_FORMAT:
case MADERA_AIF3_RX_BCLK_RATE:
case MADERA_AIF3_FRAME_CTRL_1:
case MADERA_AIF3_FRAME_CTRL_2:
case MADERA_AIF3_FRAME_CTRL_3:
case MADERA_AIF3_FRAME_CTRL_4:
case MADERA_AIF3_FRAME_CTRL_11:
case MADERA_AIF3_FRAME_CTRL_12:
case MADERA_AIF3_TX_ENABLES:
case MADERA_AIF3_RX_ENABLES:
case MADERA_AIF4_BCLK_CTRL:
case MADERA_AIF4_TX_PIN_CTRL:
case MADERA_AIF4_RX_PIN_CTRL:
case MADERA_AIF4_RATE_CTRL:
case MADERA_AIF4_FORMAT:
case MADERA_AIF4_RX_BCLK_RATE:
case MADERA_AIF4_FRAME_CTRL_1:
case MADERA_AIF4_FRAME_CTRL_2:
case MADERA_AIF4_FRAME_CTRL_3:
case MADERA_AIF4_FRAME_CTRL_4:
case MADERA_AIF4_FRAME_CTRL_11:
case MADERA_AIF4_FRAME_CTRL_12:
case MADERA_AIF4_TX_ENABLES:
case MADERA_AIF4_RX_ENABLES:
case MADERA_SPD1_TX_CONTROL:
case MADERA_SPD1_TX_CHANNEL_STATUS_1:
case MADERA_SPD1_TX_CHANNEL_STATUS_2:
case MADERA_SPD1_TX_CHANNEL_STATUS_3:
case MADERA_SLIMBUS_FRAMER_REF_GEAR:
case MADERA_SLIMBUS_RATES_1:
case MADERA_SLIMBUS_RATES_2:
case MADERA_SLIMBUS_RATES_3:
case MADERA_SLIMBUS_RATES_4:
case MADERA_SLIMBUS_RATES_5:
case MADERA_SLIMBUS_RATES_6:
case MADERA_SLIMBUS_RATES_7:
case MADERA_SLIMBUS_RATES_8:
case MADERA_SLIMBUS_RX_CHANNEL_ENABLE:
case MADERA_SLIMBUS_TX_CHANNEL_ENABLE:
case MADERA_SLIMBUS_RX_PORT_STATUS:
case MADERA_SLIMBUS_TX_PORT_STATUS:
case MADERA_PWM1MIX_INPUT_1_SOURCE:
case MADERA_PWM1MIX_INPUT_1_VOLUME:
case MADERA_PWM1MIX_INPUT_2_SOURCE:
case MADERA_PWM1MIX_INPUT_2_VOLUME:
case MADERA_PWM1MIX_INPUT_3_SOURCE:
case MADERA_PWM1MIX_INPUT_3_VOLUME:
case MADERA_PWM1MIX_INPUT_4_SOURCE:
case MADERA_PWM1MIX_INPUT_4_VOLUME:
case MADERA_PWM2MIX_INPUT_1_SOURCE:
case MADERA_PWM2MIX_INPUT_1_VOLUME:
case MADERA_PWM2MIX_INPUT_2_SOURCE:
case MADERA_PWM2MIX_INPUT_2_VOLUME:
case MADERA_PWM2MIX_INPUT_3_SOURCE:
case MADERA_PWM2MIX_INPUT_3_VOLUME:
case MADERA_PWM2MIX_INPUT_4_SOURCE:
case MADERA_PWM2MIX_INPUT_4_VOLUME:
case MADERA_OUT1LMIX_INPUT_1_SOURCE:
case MADERA_OUT1LMIX_INPUT_1_VOLUME:
case MADERA_OUT1LMIX_INPUT_2_SOURCE:
case MADERA_OUT1LMIX_INPUT_2_VOLUME:
case MADERA_OUT1LMIX_INPUT_3_SOURCE:
case MADERA_OUT1LMIX_INPUT_3_VOLUME:
case MADERA_OUT1LMIX_INPUT_4_SOURCE:
case MADERA_OUT1LMIX_INPUT_4_VOLUME:
case MADERA_OUT1RMIX_INPUT_1_SOURCE:
case MADERA_OUT1RMIX_INPUT_1_VOLUME:
case MADERA_OUT1RMIX_INPUT_2_SOURCE:
case MADERA_OUT1RMIX_INPUT_2_VOLUME:
case MADERA_OUT1RMIX_INPUT_3_SOURCE:
case MADERA_OUT1RMIX_INPUT_3_VOLUME:
case MADERA_OUT1RMIX_INPUT_4_SOURCE:
case MADERA_OUT1RMIX_INPUT_4_VOLUME:
case MADERA_OUT2LMIX_INPUT_1_SOURCE:
case MADERA_OUT2LMIX_INPUT_1_VOLUME:
case MADERA_OUT2LMIX_INPUT_2_SOURCE:
case MADERA_OUT2LMIX_INPUT_2_VOLUME:
case MADERA_OUT2LMIX_INPUT_3_SOURCE:
case MADERA_OUT2LMIX_INPUT_3_VOLUME:
case MADERA_OUT2LMIX_INPUT_4_SOURCE:
case MADERA_OUT2LMIX_INPUT_4_VOLUME:
case MADERA_OUT2RMIX_INPUT_1_SOURCE:
case MADERA_OUT2RMIX_INPUT_1_VOLUME:
case MADERA_OUT2RMIX_INPUT_2_SOURCE:
case MADERA_OUT2RMIX_INPUT_2_VOLUME:
case MADERA_OUT2RMIX_INPUT_3_SOURCE:
case MADERA_OUT2RMIX_INPUT_3_VOLUME:
case MADERA_OUT2RMIX_INPUT_4_SOURCE:
case MADERA_OUT2RMIX_INPUT_4_VOLUME:
case MADERA_OUT3LMIX_INPUT_1_SOURCE:
case MADERA_OUT3LMIX_INPUT_1_VOLUME:
case MADERA_OUT3LMIX_INPUT_2_SOURCE:
case MADERA_OUT3LMIX_INPUT_2_VOLUME:
case MADERA_OUT3LMIX_INPUT_3_SOURCE:
case MADERA_OUT3LMIX_INPUT_3_VOLUME:
case MADERA_OUT3LMIX_INPUT_4_SOURCE:
case MADERA_OUT3LMIX_INPUT_4_VOLUME:
case MADERA_OUT3RMIX_INPUT_1_SOURCE:
case MADERA_OUT3RMIX_INPUT_1_VOLUME:
case MADERA_OUT3RMIX_INPUT_2_SOURCE:
case MADERA_OUT3RMIX_INPUT_2_VOLUME:
case MADERA_OUT3RMIX_INPUT_3_SOURCE:
case MADERA_OUT3RMIX_INPUT_3_VOLUME:
case MADERA_OUT3RMIX_INPUT_4_SOURCE:
case MADERA_OUT3RMIX_INPUT_4_VOLUME:
case MADERA_OUT4LMIX_INPUT_1_SOURCE:
case MADERA_OUT4LMIX_INPUT_1_VOLUME:
case MADERA_OUT4LMIX_INPUT_2_SOURCE:
case MADERA_OUT4LMIX_INPUT_2_VOLUME:
case MADERA_OUT4LMIX_INPUT_3_SOURCE:
case MADERA_OUT4LMIX_INPUT_3_VOLUME:
case MADERA_OUT4LMIX_INPUT_4_SOURCE:
case MADERA_OUT4LMIX_INPUT_4_VOLUME:
case MADERA_OUT4RMIX_INPUT_1_SOURCE:
case MADERA_OUT4RMIX_INPUT_1_VOLUME:
case MADERA_OUT4RMIX_INPUT_2_SOURCE:
case MADERA_OUT4RMIX_INPUT_2_VOLUME:
case MADERA_OUT4RMIX_INPUT_3_SOURCE:
case MADERA_OUT4RMIX_INPUT_3_VOLUME:
case MADERA_OUT4RMIX_INPUT_4_SOURCE:
case MADERA_OUT4RMIX_INPUT_4_VOLUME:
case MADERA_OUT5LMIX_INPUT_1_SOURCE:
case MADERA_OUT5LMIX_INPUT_1_VOLUME:
case MADERA_OUT5LMIX_INPUT_2_SOURCE:
case MADERA_OUT5LMIX_INPUT_2_VOLUME:
case MADERA_OUT5LMIX_INPUT_3_SOURCE:
case MADERA_OUT5LMIX_INPUT_3_VOLUME:
case MADERA_OUT5LMIX_INPUT_4_SOURCE:
case MADERA_OUT5LMIX_INPUT_4_VOLUME:
case MADERA_OUT5RMIX_INPUT_1_SOURCE:
case MADERA_OUT5RMIX_INPUT_1_VOLUME:
case MADERA_OUT5RMIX_INPUT_2_SOURCE:
case MADERA_OUT5RMIX_INPUT_2_VOLUME:
case MADERA_OUT5RMIX_INPUT_3_SOURCE:
case MADERA_OUT5RMIX_INPUT_3_VOLUME:
case MADERA_OUT5RMIX_INPUT_4_SOURCE:
case MADERA_OUT5RMIX_INPUT_4_VOLUME:
case MADERA_OUT6LMIX_INPUT_1_SOURCE:
case MADERA_OUT6LMIX_INPUT_1_VOLUME:
case MADERA_OUT6LMIX_INPUT_2_SOURCE:
case MADERA_OUT6LMIX_INPUT_2_VOLUME:
case MADERA_OUT6LMIX_INPUT_3_SOURCE:
case MADERA_OUT6LMIX_INPUT_3_VOLUME:
case MADERA_OUT6LMIX_INPUT_4_SOURCE:
case MADERA_OUT6LMIX_INPUT_4_VOLUME:
case MADERA_OUT6RMIX_INPUT_1_SOURCE:
case MADERA_OUT6RMIX_INPUT_1_VOLUME:
case MADERA_OUT6RMIX_INPUT_2_SOURCE:
case MADERA_OUT6RMIX_INPUT_2_VOLUME:
case MADERA_OUT6RMIX_INPUT_3_SOURCE:
case MADERA_OUT6RMIX_INPUT_3_VOLUME:
case MADERA_OUT6RMIX_INPUT_4_SOURCE:
case MADERA_OUT6RMIX_INPUT_4_VOLUME:
case MADERA_AIF1TX1MIX_INPUT_1_SOURCE:
case MADERA_AIF1TX1MIX_INPUT_1_VOLUME:
case MADERA_AIF1TX1MIX_INPUT_2_SOURCE:
case MADERA_AIF1TX1MIX_INPUT_2_VOLUME:
case MADERA_AIF1TX1MIX_INPUT_3_SOURCE:
case MADERA_AIF1TX1MIX_INPUT_3_VOLUME:
case MADERA_AIF1TX1MIX_INPUT_4_SOURCE:
case MADERA_AIF1TX1MIX_INPUT_4_VOLUME:
case MADERA_AIF1TX2MIX_INPUT_1_SOURCE:
case MADERA_AIF1TX2MIX_INPUT_1_VOLUME:
case MADERA_AIF1TX2MIX_INPUT_2_SOURCE:
case MADERA_AIF1TX2MIX_INPUT_2_VOLUME:
case MADERA_AIF1TX2MIX_INPUT_3_SOURCE:
case MADERA_AIF1TX2MIX_INPUT_3_VOLUME:
case MADERA_AIF1TX2MIX_INPUT_4_SOURCE:
case MADERA_AIF1TX2MIX_INPUT_4_VOLUME:
case MADERA_AIF1TX3MIX_INPUT_1_SOURCE:
case MADERA_AIF1TX3MIX_INPUT_1_VOLUME:
case MADERA_AIF1TX3MIX_INPUT_2_SOURCE:
case MADERA_AIF1TX3MIX_INPUT_2_VOLUME:
case MADERA_AIF1TX3MIX_INPUT_3_SOURCE:
case MADERA_AIF1TX3MIX_INPUT_3_VOLUME:
case MADERA_AIF1TX3MIX_INPUT_4_SOURCE:
case MADERA_AIF1TX3MIX_INPUT_4_VOLUME:
case MADERA_AIF1TX4MIX_INPUT_1_SOURCE:
case MADERA_AIF1TX4MIX_INPUT_1_VOLUME:
case MADERA_AIF1TX4MIX_INPUT_2_SOURCE:
case MADERA_AIF1TX4MIX_INPUT_2_VOLUME:
case MADERA_AIF1TX4MIX_INPUT_3_SOURCE:
case MADERA_AIF1TX4MIX_INPUT_3_VOLUME:
case MADERA_AIF1TX4MIX_INPUT_4_SOURCE:
case MADERA_AIF1TX4MIX_INPUT_4_VOLUME:
case MADERA_AIF1TX5MIX_INPUT_1_SOURCE:
case MADERA_AIF1TX5MIX_INPUT_1_VOLUME:
case MADERA_AIF1TX5MIX_INPUT_2_SOURCE:
case MADERA_AIF1TX5MIX_INPUT_2_VOLUME:
case MADERA_AIF1TX5MIX_INPUT_3_SOURCE:
case MADERA_AIF1TX5MIX_INPUT_3_VOLUME:
case MADERA_AIF1TX5MIX_INPUT_4_SOURCE:
case MADERA_AIF1TX5MIX_INPUT_4_VOLUME:
case MADERA_AIF1TX6MIX_INPUT_1_SOURCE:
case MADERA_AIF1TX6MIX_INPUT_1_VOLUME:
case MADERA_AIF1TX6MIX_INPUT_2_SOURCE:
case MADERA_AIF1TX6MIX_INPUT_2_VOLUME:
case MADERA_AIF1TX6MIX_INPUT_3_SOURCE:
case MADERA_AIF1TX6MIX_INPUT_3_VOLUME:
case MADERA_AIF1TX6MIX_INPUT_4_SOURCE:
case MADERA_AIF1TX6MIX_INPUT_4_VOLUME:
case MADERA_AIF1TX7MIX_INPUT_1_SOURCE:
case MADERA_AIF1TX7MIX_INPUT_1_VOLUME:
case MADERA_AIF1TX7MIX_INPUT_2_SOURCE:
case MADERA_AIF1TX7MIX_INPUT_2_VOLUME:
case MADERA_AIF1TX7MIX_INPUT_3_SOURCE:
case MADERA_AIF1TX7MIX_INPUT_3_VOLUME:
case MADERA_AIF1TX7MIX_INPUT_4_SOURCE:
case MADERA_AIF1TX7MIX_INPUT_4_VOLUME:
case MADERA_AIF1TX8MIX_INPUT_1_SOURCE:
case MADERA_AIF1TX8MIX_INPUT_1_VOLUME:
case MADERA_AIF1TX8MIX_INPUT_2_SOURCE:
case MADERA_AIF1TX8MIX_INPUT_2_VOLUME:
case MADERA_AIF1TX8MIX_INPUT_3_SOURCE:
case MADERA_AIF1TX8MIX_INPUT_3_VOLUME:
case MADERA_AIF1TX8MIX_INPUT_4_SOURCE:
case MADERA_AIF1TX8MIX_INPUT_4_VOLUME:
case MADERA_AIF2TX1MIX_INPUT_1_SOURCE:
case MADERA_AIF2TX1MIX_INPUT_1_VOLUME:
case MADERA_AIF2TX1MIX_INPUT_2_SOURCE:
case MADERA_AIF2TX1MIX_INPUT_2_VOLUME:
case MADERA_AIF2TX1MIX_INPUT_3_SOURCE:
case MADERA_AIF2TX1MIX_INPUT_3_VOLUME:
case MADERA_AIF2TX1MIX_INPUT_4_SOURCE:
case MADERA_AIF2TX1MIX_INPUT_4_VOLUME:
case MADERA_AIF2TX2MIX_INPUT_1_SOURCE:
case MADERA_AIF2TX2MIX_INPUT_1_VOLUME:
case MADERA_AIF2TX2MIX_INPUT_2_SOURCE:
case MADERA_AIF2TX2MIX_INPUT_2_VOLUME:
case MADERA_AIF2TX2MIX_INPUT_3_SOURCE:
case MADERA_AIF2TX2MIX_INPUT_3_VOLUME:
case MADERA_AIF2TX2MIX_INPUT_4_SOURCE:
case MADERA_AIF2TX2MIX_INPUT_4_VOLUME:
case MADERA_AIF2TX3MIX_INPUT_1_SOURCE:
case MADERA_AIF2TX3MIX_INPUT_1_VOLUME:
case MADERA_AIF2TX3MIX_INPUT_2_SOURCE:
case MADERA_AIF2TX3MIX_INPUT_2_VOLUME:
case MADERA_AIF2TX3MIX_INPUT_3_SOURCE:
case MADERA_AIF2TX3MIX_INPUT_3_VOLUME:
case MADERA_AIF2TX3MIX_INPUT_4_SOURCE:
case MADERA_AIF2TX3MIX_INPUT_4_VOLUME:
case MADERA_AIF2TX4MIX_INPUT_1_SOURCE:
case MADERA_AIF2TX4MIX_INPUT_1_VOLUME:
case MADERA_AIF2TX4MIX_INPUT_2_SOURCE:
case MADERA_AIF2TX4MIX_INPUT_2_VOLUME:
case MADERA_AIF2TX4MIX_INPUT_3_SOURCE:
case MADERA_AIF2TX4MIX_INPUT_3_VOLUME:
case MADERA_AIF2TX4MIX_INPUT_4_SOURCE:
case MADERA_AIF2TX4MIX_INPUT_4_VOLUME:
case MADERA_AIF2TX5MIX_INPUT_1_SOURCE:
case MADERA_AIF2TX5MIX_INPUT_1_VOLUME:
case MADERA_AIF2TX5MIX_INPUT_2_SOURCE:
case MADERA_AIF2TX5MIX_INPUT_2_VOLUME:
case MADERA_AIF2TX5MIX_INPUT_3_SOURCE:
case MADERA_AIF2TX5MIX_INPUT_3_VOLUME:
case MADERA_AIF2TX5MIX_INPUT_4_SOURCE:
case MADERA_AIF2TX5MIX_INPUT_4_VOLUME:
case MADERA_AIF2TX6MIX_INPUT_1_SOURCE:
case MADERA_AIF2TX6MIX_INPUT_1_VOLUME:
case MADERA_AIF2TX6MIX_INPUT_2_SOURCE:
case MADERA_AIF2TX6MIX_INPUT_2_VOLUME:
case MADERA_AIF2TX6MIX_INPUT_3_SOURCE:
case MADERA_AIF2TX6MIX_INPUT_3_VOLUME:
case MADERA_AIF2TX6MIX_INPUT_4_SOURCE:
case MADERA_AIF2TX6MIX_INPUT_4_VOLUME:
case MADERA_AIF2TX7MIX_INPUT_1_SOURCE:
case MADERA_AIF2TX7MIX_INPUT_1_VOLUME:
case MADERA_AIF2TX7MIX_INPUT_2_SOURCE:
case MADERA_AIF2TX7MIX_INPUT_2_VOLUME:
case MADERA_AIF2TX7MIX_INPUT_3_SOURCE:
case MADERA_AIF2TX7MIX_INPUT_3_VOLUME:
case MADERA_AIF2TX7MIX_INPUT_4_SOURCE:
case MADERA_AIF2TX7MIX_INPUT_4_VOLUME:
case MADERA_AIF2TX8MIX_INPUT_1_SOURCE:
case MADERA_AIF2TX8MIX_INPUT_1_VOLUME:
case MADERA_AIF2TX8MIX_INPUT_2_SOURCE:
case MADERA_AIF2TX8MIX_INPUT_2_VOLUME:
case MADERA_AIF2TX8MIX_INPUT_3_SOURCE:
case MADERA_AIF2TX8MIX_INPUT_3_VOLUME:
case MADERA_AIF2TX8MIX_INPUT_4_SOURCE:
case MADERA_AIF2TX8MIX_INPUT_4_VOLUME:
case MADERA_AIF3TX1MIX_INPUT_1_SOURCE:
case MADERA_AIF3TX1MIX_INPUT_1_VOLUME:
case MADERA_AIF3TX1MIX_INPUT_2_SOURCE:
case MADERA_AIF3TX1MIX_INPUT_2_VOLUME:
case MADERA_AIF3TX1MIX_INPUT_3_SOURCE:
case MADERA_AIF3TX1MIX_INPUT_3_VOLUME:
case MADERA_AIF3TX1MIX_INPUT_4_SOURCE:
case MADERA_AIF3TX1MIX_INPUT_4_VOLUME:
case MADERA_AIF3TX2MIX_INPUT_1_SOURCE:
case MADERA_AIF3TX2MIX_INPUT_1_VOLUME:
case MADERA_AIF3TX2MIX_INPUT_2_SOURCE:
case MADERA_AIF3TX2MIX_INPUT_2_VOLUME:
case MADERA_AIF3TX2MIX_INPUT_3_SOURCE:
case MADERA_AIF3TX2MIX_INPUT_3_VOLUME:
case MADERA_AIF3TX2MIX_INPUT_4_SOURCE:
case MADERA_AIF3TX2MIX_INPUT_4_VOLUME:
case MADERA_AIF4TX1MIX_INPUT_1_SOURCE:
case MADERA_AIF4TX1MIX_INPUT_1_VOLUME:
case MADERA_AIF4TX1MIX_INPUT_2_SOURCE:
case MADERA_AIF4TX1MIX_INPUT_2_VOLUME:
case MADERA_AIF4TX1MIX_INPUT_3_SOURCE:
case MADERA_AIF4TX1MIX_INPUT_3_VOLUME:
case MADERA_AIF4TX1MIX_INPUT_4_SOURCE:
case MADERA_AIF4TX1MIX_INPUT_4_VOLUME:
case MADERA_AIF4TX2MIX_INPUT_1_SOURCE:
case MADERA_AIF4TX2MIX_INPUT_1_VOLUME:
case MADERA_AIF4TX2MIX_INPUT_2_SOURCE:
case MADERA_AIF4TX2MIX_INPUT_2_VOLUME:
case MADERA_AIF4TX2MIX_INPUT_3_SOURCE:
case MADERA_AIF4TX2MIX_INPUT_3_VOLUME:
case MADERA_AIF4TX2MIX_INPUT_4_SOURCE:
case MADERA_AIF4TX2MIX_INPUT_4_VOLUME:
case MADERA_SLIMTX1MIX_INPUT_1_SOURCE:
case MADERA_SLIMTX1MIX_INPUT_1_VOLUME:
case MADERA_SLIMTX1MIX_INPUT_2_SOURCE:
case MADERA_SLIMTX1MIX_INPUT_2_VOLUME:
case MADERA_SLIMTX1MIX_INPUT_3_SOURCE:
case MADERA_SLIMTX1MIX_INPUT_3_VOLUME:
case MADERA_SLIMTX1MIX_INPUT_4_SOURCE:
case MADERA_SLIMTX1MIX_INPUT_4_VOLUME:
case MADERA_SLIMTX2MIX_INPUT_1_SOURCE:
case MADERA_SLIMTX2MIX_INPUT_1_VOLUME:
case MADERA_SLIMTX2MIX_INPUT_2_SOURCE:
case MADERA_SLIMTX2MIX_INPUT_2_VOLUME:
case MADERA_SLIMTX2MIX_INPUT_3_SOURCE:
case MADERA_SLIMTX2MIX_INPUT_3_VOLUME:
case MADERA_SLIMTX2MIX_INPUT_4_SOURCE:
case MADERA_SLIMTX2MIX_INPUT_4_VOLUME:
case MADERA_SLIMTX3MIX_INPUT_1_SOURCE:
case MADERA_SLIMTX3MIX_INPUT_1_VOLUME:
case MADERA_SLIMTX3MIX_INPUT_2_SOURCE:
case MADERA_SLIMTX3MIX_INPUT_2_VOLUME:
case MADERA_SLIMTX3MIX_INPUT_3_SOURCE:
case MADERA_SLIMTX3MIX_INPUT_3_VOLUME:
case MADERA_SLIMTX3MIX_INPUT_4_SOURCE:
case MADERA_SLIMTX3MIX_INPUT_4_VOLUME:
case MADERA_SLIMTX4MIX_INPUT_1_SOURCE:
case MADERA_SLIMTX4MIX_INPUT_1_VOLUME:
case MADERA_SLIMTX4MIX_INPUT_2_SOURCE:
case MADERA_SLIMTX4MIX_INPUT_2_VOLUME:
case MADERA_SLIMTX4MIX_INPUT_3_SOURCE:
case MADERA_SLIMTX4MIX_INPUT_3_VOLUME:
case MADERA_SLIMTX4MIX_INPUT_4_SOURCE:
case MADERA_SLIMTX4MIX_INPUT_4_VOLUME:
case MADERA_SLIMTX5MIX_INPUT_1_SOURCE:
case MADERA_SLIMTX5MIX_INPUT_1_VOLUME:
case MADERA_SLIMTX5MIX_INPUT_2_SOURCE:
case MADERA_SLIMTX5MIX_INPUT_2_VOLUME:
case MADERA_SLIMTX5MIX_INPUT_3_SOURCE:
case MADERA_SLIMTX5MIX_INPUT_3_VOLUME:
case MADERA_SLIMTX5MIX_INPUT_4_SOURCE:
case MADERA_SLIMTX5MIX_INPUT_4_VOLUME:
case MADERA_SLIMTX6MIX_INPUT_1_SOURCE:
case MADERA_SLIMTX6MIX_INPUT_1_VOLUME:
case MADERA_SLIMTX6MIX_INPUT_2_SOURCE:
case MADERA_SLIMTX6MIX_INPUT_2_VOLUME:
case MADERA_SLIMTX6MIX_INPUT_3_SOURCE:
case MADERA_SLIMTX6MIX_INPUT_3_VOLUME:
case MADERA_SLIMTX6MIX_INPUT_4_SOURCE:
case MADERA_SLIMTX6MIX_INPUT_4_VOLUME:
case MADERA_SLIMTX7MIX_INPUT_1_SOURCE:
case MADERA_SLIMTX7MIX_INPUT_1_VOLUME:
case MADERA_SLIMTX7MIX_INPUT_2_SOURCE:
case MADERA_SLIMTX7MIX_INPUT_2_VOLUME:
case MADERA_SLIMTX7MIX_INPUT_3_SOURCE:
case MADERA_SLIMTX7MIX_INPUT_3_VOLUME:
case MADERA_SLIMTX7MIX_INPUT_4_SOURCE:
case MADERA_SLIMTX7MIX_INPUT_4_VOLUME:
case MADERA_SLIMTX8MIX_INPUT_1_SOURCE:
case MADERA_SLIMTX8MIX_INPUT_1_VOLUME:
case MADERA_SLIMTX8MIX_INPUT_2_SOURCE:
case MADERA_SLIMTX8MIX_INPUT_2_VOLUME:
case MADERA_SLIMTX8MIX_INPUT_3_SOURCE:
case MADERA_SLIMTX8MIX_INPUT_3_VOLUME:
case MADERA_SLIMTX8MIX_INPUT_4_SOURCE:
case MADERA_SLIMTX8MIX_INPUT_4_VOLUME:
case MADERA_SPDIF1TX1MIX_INPUT_1_SOURCE:
case MADERA_SPDIF1TX1MIX_INPUT_1_VOLUME:
case MADERA_SPDIF1TX2MIX_INPUT_1_SOURCE:
case MADERA_SPDIF1TX2MIX_INPUT_1_VOLUME:
case MADERA_EQ1MIX_INPUT_1_SOURCE:
case MADERA_EQ1MIX_INPUT_1_VOLUME:
case MADERA_EQ1MIX_INPUT_2_SOURCE:
case MADERA_EQ1MIX_INPUT_2_VOLUME:
case MADERA_EQ1MIX_INPUT_3_SOURCE:
case MADERA_EQ1MIX_INPUT_3_VOLUME:
case MADERA_EQ1MIX_INPUT_4_SOURCE:
case MADERA_EQ1MIX_INPUT_4_VOLUME:
case MADERA_EQ2MIX_INPUT_1_SOURCE:
case MADERA_EQ2MIX_INPUT_1_VOLUME:
case MADERA_EQ2MIX_INPUT_2_SOURCE:
case MADERA_EQ2MIX_INPUT_2_VOLUME:
case MADERA_EQ2MIX_INPUT_3_SOURCE:
case MADERA_EQ2MIX_INPUT_3_VOLUME:
case MADERA_EQ2MIX_INPUT_4_SOURCE:
case MADERA_EQ2MIX_INPUT_4_VOLUME:
case MADERA_EQ3MIX_INPUT_1_SOURCE:
case MADERA_EQ3MIX_INPUT_1_VOLUME:
case MADERA_EQ3MIX_INPUT_2_SOURCE:
case MADERA_EQ3MIX_INPUT_2_VOLUME:
case MADERA_EQ3MIX_INPUT_3_SOURCE:
case MADERA_EQ3MIX_INPUT_3_VOLUME:
case MADERA_EQ3MIX_INPUT_4_SOURCE:
case MADERA_EQ3MIX_INPUT_4_VOLUME:
case MADERA_EQ4MIX_INPUT_1_SOURCE:
case MADERA_EQ4MIX_INPUT_1_VOLUME:
case MADERA_EQ4MIX_INPUT_2_SOURCE:
case MADERA_EQ4MIX_INPUT_2_VOLUME:
case MADERA_EQ4MIX_INPUT_3_SOURCE:
case MADERA_EQ4MIX_INPUT_3_VOLUME:
case MADERA_EQ4MIX_INPUT_4_SOURCE:
case MADERA_EQ4MIX_INPUT_4_VOLUME:
case MADERA_DRC1LMIX_INPUT_1_SOURCE:
case MADERA_DRC1LMIX_INPUT_1_VOLUME:
case MADERA_DRC1LMIX_INPUT_2_SOURCE:
case MADERA_DRC1LMIX_INPUT_2_VOLUME:
case MADERA_DRC1LMIX_INPUT_3_SOURCE:
case MADERA_DRC1LMIX_INPUT_3_VOLUME:
case MADERA_DRC1LMIX_INPUT_4_SOURCE:
case MADERA_DRC1LMIX_INPUT_4_VOLUME:
case MADERA_DRC1RMIX_INPUT_1_SOURCE:
case MADERA_DRC1RMIX_INPUT_1_VOLUME:
case MADERA_DRC1RMIX_INPUT_2_SOURCE:
case MADERA_DRC1RMIX_INPUT_2_VOLUME:
case MADERA_DRC1RMIX_INPUT_3_SOURCE:
case MADERA_DRC1RMIX_INPUT_3_VOLUME:
case MADERA_DRC1RMIX_INPUT_4_SOURCE:
case MADERA_DRC1RMIX_INPUT_4_VOLUME:
case MADERA_DRC2LMIX_INPUT_1_SOURCE:
case MADERA_DRC2LMIX_INPUT_1_VOLUME:
case MADERA_DRC2LMIX_INPUT_2_SOURCE:
case MADERA_DRC2LMIX_INPUT_2_VOLUME:
case MADERA_DRC2LMIX_INPUT_3_SOURCE:
case MADERA_DRC2LMIX_INPUT_3_VOLUME:
case MADERA_DRC2LMIX_INPUT_4_SOURCE:
case MADERA_DRC2LMIX_INPUT_4_VOLUME:
case MADERA_DRC2RMIX_INPUT_1_SOURCE:
case MADERA_DRC2RMIX_INPUT_1_VOLUME:
case MADERA_DRC2RMIX_INPUT_2_SOURCE:
case MADERA_DRC2RMIX_INPUT_2_VOLUME:
case MADERA_DRC2RMIX_INPUT_3_SOURCE:
case MADERA_DRC2RMIX_INPUT_3_VOLUME:
case MADERA_DRC2RMIX_INPUT_4_SOURCE:
case MADERA_DRC2RMIX_INPUT_4_VOLUME:
case MADERA_HPLP1MIX_INPUT_1_SOURCE:
case MADERA_HPLP1MIX_INPUT_1_VOLUME:
case MADERA_HPLP1MIX_INPUT_2_SOURCE:
case MADERA_HPLP1MIX_INPUT_2_VOLUME:
case MADERA_HPLP1MIX_INPUT_3_SOURCE:
case MADERA_HPLP1MIX_INPUT_3_VOLUME:
case MADERA_HPLP1MIX_INPUT_4_SOURCE:
case MADERA_HPLP1MIX_INPUT_4_VOLUME:
case MADERA_HPLP2MIX_INPUT_1_SOURCE:
case MADERA_HPLP2MIX_INPUT_1_VOLUME:
case MADERA_HPLP2MIX_INPUT_2_SOURCE:
case MADERA_HPLP2MIX_INPUT_2_VOLUME:
case MADERA_HPLP2MIX_INPUT_3_SOURCE:
case MADERA_HPLP2MIX_INPUT_3_VOLUME:
case MADERA_HPLP2MIX_INPUT_4_SOURCE:
case MADERA_HPLP2MIX_INPUT_4_VOLUME:
case MADERA_HPLP3MIX_INPUT_1_SOURCE:
case MADERA_HPLP3MIX_INPUT_1_VOLUME:
case MADERA_HPLP3MIX_INPUT_2_SOURCE:
case MADERA_HPLP3MIX_INPUT_2_VOLUME:
case MADERA_HPLP3MIX_INPUT_3_SOURCE:
case MADERA_HPLP3MIX_INPUT_3_VOLUME:
case MADERA_HPLP3MIX_INPUT_4_SOURCE:
case MADERA_HPLP3MIX_INPUT_4_VOLUME:
case MADERA_HPLP4MIX_INPUT_1_SOURCE:
case MADERA_HPLP4MIX_INPUT_1_VOLUME:
case MADERA_HPLP4MIX_INPUT_2_SOURCE:
case MADERA_HPLP4MIX_INPUT_2_VOLUME:
case MADERA_HPLP4MIX_INPUT_3_SOURCE:
case MADERA_HPLP4MIX_INPUT_3_VOLUME:
case MADERA_HPLP4MIX_INPUT_4_SOURCE:
case MADERA_HPLP4MIX_INPUT_4_VOLUME:
case MADERA_DSP1LMIX_INPUT_1_SOURCE:
case MADERA_DSP1LMIX_INPUT_1_VOLUME:
case MADERA_DSP1LMIX_INPUT_2_SOURCE:
case MADERA_DSP1LMIX_INPUT_2_VOLUME:
case MADERA_DSP1LMIX_INPUT_3_SOURCE:
case MADERA_DSP1LMIX_INPUT_3_VOLUME:
case MADERA_DSP1LMIX_INPUT_4_SOURCE:
case MADERA_DSP1LMIX_INPUT_4_VOLUME:
case MADERA_DSP1RMIX_INPUT_1_SOURCE:
case MADERA_DSP1RMIX_INPUT_1_VOLUME:
case MADERA_DSP1RMIX_INPUT_2_SOURCE:
case MADERA_DSP1RMIX_INPUT_2_VOLUME:
case MADERA_DSP1RMIX_INPUT_3_SOURCE:
case MADERA_DSP1RMIX_INPUT_3_VOLUME:
case MADERA_DSP1RMIX_INPUT_4_SOURCE:
case MADERA_DSP1RMIX_INPUT_4_VOLUME:
case MADERA_DSP1AUX1MIX_INPUT_1_SOURCE:
case MADERA_DSP1AUX2MIX_INPUT_1_SOURCE:
case MADERA_DSP1AUX3MIX_INPUT_1_SOURCE:
case MADERA_DSP1AUX4MIX_INPUT_1_SOURCE:
case MADERA_DSP1AUX5MIX_INPUT_1_SOURCE:
case MADERA_DSP1AUX6MIX_INPUT_1_SOURCE:
case MADERA_DSP2LMIX_INPUT_1_SOURCE:
case MADERA_DSP2LMIX_INPUT_1_VOLUME:
case MADERA_DSP2LMIX_INPUT_2_SOURCE:
case MADERA_DSP2LMIX_INPUT_2_VOLUME:
case MADERA_DSP2LMIX_INPUT_3_SOURCE:
case MADERA_DSP2LMIX_INPUT_3_VOLUME:
case MADERA_DSP2LMIX_INPUT_4_SOURCE:
case MADERA_DSP2LMIX_INPUT_4_VOLUME:
case MADERA_DSP2RMIX_INPUT_1_SOURCE:
case MADERA_DSP2RMIX_INPUT_1_VOLUME:
case MADERA_DSP2RMIX_INPUT_2_SOURCE:
case MADERA_DSP2RMIX_INPUT_2_VOLUME:
case MADERA_DSP2RMIX_INPUT_3_SOURCE:
case MADERA_DSP2RMIX_INPUT_3_VOLUME:
case MADERA_DSP2RMIX_INPUT_4_SOURCE:
case MADERA_DSP2RMIX_INPUT_4_VOLUME:
case MADERA_DSP2AUX1MIX_INPUT_1_SOURCE:
case MADERA_DSP2AUX2MIX_INPUT_1_SOURCE:
case MADERA_DSP2AUX3MIX_INPUT_1_SOURCE:
case MADERA_DSP2AUX4MIX_INPUT_1_SOURCE:
case MADERA_DSP2AUX5MIX_INPUT_1_SOURCE:
case MADERA_DSP2AUX6MIX_INPUT_1_SOURCE:
case MADERA_DSP3LMIX_INPUT_1_SOURCE:
case MADERA_DSP3LMIX_INPUT_1_VOLUME:
case MADERA_DSP3LMIX_INPUT_2_SOURCE:
case MADERA_DSP3LMIX_INPUT_2_VOLUME:
case MADERA_DSP3LMIX_INPUT_3_SOURCE:
case MADERA_DSP3LMIX_INPUT_3_VOLUME:
case MADERA_DSP3LMIX_INPUT_4_SOURCE:
case MADERA_DSP3LMIX_INPUT_4_VOLUME:
case MADERA_DSP3RMIX_INPUT_1_SOURCE:
case MADERA_DSP3RMIX_INPUT_1_VOLUME:
case MADERA_DSP3RMIX_INPUT_2_SOURCE:
case MADERA_DSP3RMIX_INPUT_2_VOLUME:
case MADERA_DSP3RMIX_INPUT_3_SOURCE:
case MADERA_DSP3RMIX_INPUT_3_VOLUME:
case MADERA_DSP3RMIX_INPUT_4_SOURCE:
case MADERA_DSP3RMIX_INPUT_4_VOLUME:
case MADERA_DSP3AUX1MIX_INPUT_1_SOURCE:
case MADERA_DSP3AUX2MIX_INPUT_1_SOURCE:
case MADERA_DSP3AUX3MIX_INPUT_1_SOURCE:
case MADERA_DSP3AUX4MIX_INPUT_1_SOURCE:
case MADERA_DSP3AUX5MIX_INPUT_1_SOURCE:
case MADERA_DSP3AUX6MIX_INPUT_1_SOURCE:
case MADERA_DSP4LMIX_INPUT_1_SOURCE:
case MADERA_DSP4LMIX_INPUT_1_VOLUME:
case MADERA_DSP4LMIX_INPUT_2_SOURCE:
case MADERA_DSP4LMIX_INPUT_2_VOLUME:
case MADERA_DSP4LMIX_INPUT_3_SOURCE:
case MADERA_DSP4LMIX_INPUT_3_VOLUME:
case MADERA_DSP4LMIX_INPUT_4_SOURCE:
case MADERA_DSP4LMIX_INPUT_4_VOLUME:
case MADERA_DSP4RMIX_INPUT_1_SOURCE:
case MADERA_DSP4RMIX_INPUT_1_VOLUME:
case MADERA_DSP4RMIX_INPUT_2_SOURCE:
case MADERA_DSP4RMIX_INPUT_2_VOLUME:
case MADERA_DSP4RMIX_INPUT_3_SOURCE:
case MADERA_DSP4RMIX_INPUT_3_VOLUME:
case MADERA_DSP4RMIX_INPUT_4_SOURCE:
case MADERA_DSP4RMIX_INPUT_4_VOLUME:
case MADERA_DSP4AUX1MIX_INPUT_1_SOURCE:
case MADERA_DSP4AUX2MIX_INPUT_1_SOURCE:
case MADERA_DSP4AUX3MIX_INPUT_1_SOURCE:
case MADERA_DSP4AUX4MIX_INPUT_1_SOURCE:
case MADERA_DSP4AUX5MIX_INPUT_1_SOURCE:
case MADERA_DSP4AUX6MIX_INPUT_1_SOURCE:
case MADERA_DSP5LMIX_INPUT_1_SOURCE:
case MADERA_DSP5LMIX_INPUT_1_VOLUME:
case MADERA_DSP5LMIX_INPUT_2_SOURCE:
case MADERA_DSP5LMIX_INPUT_2_VOLUME:
case MADERA_DSP5LMIX_INPUT_3_SOURCE:
case MADERA_DSP5LMIX_INPUT_3_VOLUME:
case MADERA_DSP5LMIX_INPUT_4_SOURCE:
case MADERA_DSP5LMIX_INPUT_4_VOLUME:
case MADERA_DSP5RMIX_INPUT_1_SOURCE:
case MADERA_DSP5RMIX_INPUT_1_VOLUME:
case MADERA_DSP5RMIX_INPUT_2_SOURCE:
case MADERA_DSP5RMIX_INPUT_2_VOLUME:
case MADERA_DSP5RMIX_INPUT_3_SOURCE:
case MADERA_DSP5RMIX_INPUT_3_VOLUME:
case MADERA_DSP5RMIX_INPUT_4_SOURCE:
case MADERA_DSP5RMIX_INPUT_4_VOLUME:
case MADERA_DSP5AUX1MIX_INPUT_1_SOURCE:
case MADERA_DSP5AUX2MIX_INPUT_1_SOURCE:
case MADERA_DSP5AUX3MIX_INPUT_1_SOURCE:
case MADERA_DSP5AUX4MIX_INPUT_1_SOURCE:
case MADERA_DSP5AUX5MIX_INPUT_1_SOURCE:
case MADERA_DSP5AUX6MIX_INPUT_1_SOURCE:
case MADERA_ASRC1_1LMIX_INPUT_1_SOURCE:
case MADERA_ASRC1_1RMIX_INPUT_1_SOURCE:
case MADERA_ASRC1_2LMIX_INPUT_1_SOURCE:
case MADERA_ASRC1_2RMIX_INPUT_1_SOURCE:
case MADERA_ASRC2_1LMIX_INPUT_1_SOURCE:
case MADERA_ASRC2_1RMIX_INPUT_1_SOURCE:
case MADERA_ASRC2_2LMIX_INPUT_1_SOURCE:
case MADERA_ASRC2_2RMIX_INPUT_1_SOURCE:
case MADERA_ISRC1DEC1MIX_INPUT_1_SOURCE:
case MADERA_ISRC1DEC2MIX_INPUT_1_SOURCE:
case MADERA_ISRC1DEC3MIX_INPUT_1_SOURCE:
case MADERA_ISRC1DEC4MIX_INPUT_1_SOURCE:
case MADERA_ISRC1INT1MIX_INPUT_1_SOURCE:
case MADERA_ISRC1INT2MIX_INPUT_1_SOURCE:
case MADERA_ISRC1INT3MIX_INPUT_1_SOURCE:
case MADERA_ISRC1INT4MIX_INPUT_1_SOURCE:
case MADERA_ISRC2DEC1MIX_INPUT_1_SOURCE:
case MADERA_ISRC2DEC2MIX_INPUT_1_SOURCE:
case MADERA_ISRC2DEC3MIX_INPUT_1_SOURCE:
case MADERA_ISRC2DEC4MIX_INPUT_1_SOURCE:
case MADERA_ISRC2INT1MIX_INPUT_1_SOURCE:
case MADERA_ISRC2INT2MIX_INPUT_1_SOURCE:
case MADERA_ISRC2INT3MIX_INPUT_1_SOURCE:
case MADERA_ISRC2INT4MIX_INPUT_1_SOURCE:
case MADERA_ISRC3DEC1MIX_INPUT_1_SOURCE:
case MADERA_ISRC3DEC2MIX_INPUT_1_SOURCE:
case MADERA_ISRC3INT1MIX_INPUT_1_SOURCE:
case MADERA_ISRC3INT2MIX_INPUT_1_SOURCE:
case MADERA_ISRC4DEC1MIX_INPUT_1_SOURCE:
case MADERA_ISRC4DEC2MIX_INPUT_1_SOURCE:
case MADERA_ISRC4INT1MIX_INPUT_1_SOURCE:
case MADERA_ISRC4INT2MIX_INPUT_1_SOURCE:
case MADERA_DSP6LMIX_INPUT_1_SOURCE:
case MADERA_DSP6LMIX_INPUT_1_VOLUME:
case MADERA_DSP6LMIX_INPUT_2_SOURCE:
case MADERA_DSP6LMIX_INPUT_2_VOLUME:
case MADERA_DSP6LMIX_INPUT_3_SOURCE:
case MADERA_DSP6LMIX_INPUT_3_VOLUME:
case MADERA_DSP6LMIX_INPUT_4_SOURCE:
case MADERA_DSP6LMIX_INPUT_4_VOLUME:
case MADERA_DSP6RMIX_INPUT_1_SOURCE:
case MADERA_DSP6RMIX_INPUT_1_VOLUME:
case MADERA_DSP6RMIX_INPUT_2_SOURCE:
case MADERA_DSP6RMIX_INPUT_2_VOLUME:
case MADERA_DSP6RMIX_INPUT_3_SOURCE:
case MADERA_DSP6RMIX_INPUT_3_VOLUME:
case MADERA_DSP6RMIX_INPUT_4_SOURCE:
case MADERA_DSP6RMIX_INPUT_4_VOLUME:
case MADERA_DSP6AUX1MIX_INPUT_1_SOURCE:
case MADERA_DSP6AUX2MIX_INPUT_1_SOURCE:
case MADERA_DSP6AUX3MIX_INPUT_1_SOURCE:
case MADERA_DSP6AUX4MIX_INPUT_1_SOURCE:
case MADERA_DSP6AUX5MIX_INPUT_1_SOURCE:
case MADERA_DSP6AUX6MIX_INPUT_1_SOURCE:
case MADERA_DSP7LMIX_INPUT_1_SOURCE:
case MADERA_DSP7LMIX_INPUT_1_VOLUME:
case MADERA_DSP7LMIX_INPUT_2_SOURCE:
case MADERA_DSP7LMIX_INPUT_2_VOLUME:
case MADERA_DSP7LMIX_INPUT_3_SOURCE:
case MADERA_DSP7LMIX_INPUT_3_VOLUME:
case MADERA_DSP7LMIX_INPUT_4_SOURCE:
case MADERA_DSP7LMIX_INPUT_4_VOLUME:
case MADERA_DSP7RMIX_INPUT_1_SOURCE:
case MADERA_DSP7RMIX_INPUT_1_VOLUME:
case MADERA_DSP7RMIX_INPUT_2_SOURCE:
case MADERA_DSP7RMIX_INPUT_2_VOLUME:
case MADERA_DSP7RMIX_INPUT_3_SOURCE:
case MADERA_DSP7RMIX_INPUT_3_VOLUME:
case MADERA_DSP7RMIX_INPUT_4_SOURCE:
case MADERA_DSP7RMIX_INPUT_4_VOLUME:
case MADERA_DSP7AUX1MIX_INPUT_1_SOURCE:
case MADERA_DSP7AUX2MIX_INPUT_1_SOURCE:
case MADERA_DSP7AUX3MIX_INPUT_1_SOURCE:
case MADERA_DSP7AUX4MIX_INPUT_1_SOURCE:
case MADERA_DSP7AUX5MIX_INPUT_1_SOURCE:
case MADERA_DSP7AUX6MIX_INPUT_1_SOURCE:
case MADERA_FX_CTRL1:
case MADERA_FX_CTRL2:
case MADERA_EQ1_1 ... MADERA_EQ1_21:
case MADERA_EQ2_1 ... MADERA_EQ2_21:
case MADERA_EQ3_1 ... MADERA_EQ3_21:
case MADERA_EQ4_1 ... MADERA_EQ4_21:
case MADERA_DRC1_CTRL1:
case MADERA_DRC1_CTRL2:
case MADERA_DRC1_CTRL3:
case MADERA_DRC1_CTRL4:
case MADERA_DRC1_CTRL5:
case MADERA_DRC2_CTRL1:
case MADERA_DRC2_CTRL2:
case MADERA_DRC2_CTRL3:
case MADERA_DRC2_CTRL4:
case MADERA_DRC2_CTRL5:
case MADERA_HPLPF1_1:
case MADERA_HPLPF1_2:
case MADERA_HPLPF2_1:
case MADERA_HPLPF2_2:
case MADERA_HPLPF3_1:
case MADERA_HPLPF3_2:
case MADERA_HPLPF4_1:
case MADERA_HPLPF4_2:
case MADERA_ASRC1_ENABLE:
case MADERA_ASRC1_STATUS:
case MADERA_ASRC1_RATE1:
case MADERA_ASRC1_RATE2:
case MADERA_ASRC2_ENABLE:
case MADERA_ASRC2_STATUS:
case MADERA_ASRC2_RATE1:
case MADERA_ASRC2_RATE2:
case MADERA_ISRC_1_CTRL_1:
case MADERA_ISRC_1_CTRL_2:
case MADERA_ISRC_1_CTRL_3:
case MADERA_ISRC_2_CTRL_1:
case MADERA_ISRC_2_CTRL_2:
case MADERA_ISRC_2_CTRL_3:
case MADERA_ISRC_3_CTRL_1:
case MADERA_ISRC_3_CTRL_2:
case MADERA_ISRC_3_CTRL_3:
case MADERA_ISRC_4_CTRL_1:
case MADERA_ISRC_4_CTRL_2:
case MADERA_ISRC_4_CTRL_3:
case MADERA_CLOCK_CONTROL:
case MADERA_ANC_SRC:
case MADERA_DSP_STATUS:
case MADERA_ANC_COEFF_START ... MADERA_ANC_COEFF_END:
case MADERA_FCL_FILTER_CONTROL:
case MADERA_FCL_ADC_REFORMATTER_CONTROL:
case MADERA_FCL_COEFF_START ... MADERA_FCL_COEFF_END:
case MADERA_FCR_FILTER_CONTROL:
case MADERA_FCR_ADC_REFORMATTER_CONTROL:
case MADERA_FCR_COEFF_START ... MADERA_FCR_COEFF_END:
case MADERA_GPIO1_CTRL_1 ... MADERA_GPIO40_CTRL_2:
case MADERA_IRQ1_STATUS_1 ... MADERA_IRQ1_STATUS_33:
case MADERA_IRQ1_MASK_1 ... MADERA_IRQ1_MASK_33:
case MADERA_IRQ1_RAW_STATUS_1 ... MADERA_IRQ1_RAW_STATUS_33:
case MADERA_INTERRUPT_DEBOUNCE_7:
case MADERA_IRQ1_CTRL:
return true;
default:
return false;
}
}
static bool cs47l85_16bit_volatile_register(struct device *dev,
unsigned int reg)
{
switch (reg) {
case MADERA_SOFTWARE_RESET:
case MADERA_HARDWARE_REVISION:
case MADERA_WRITE_SEQUENCER_CTRL_0:
case MADERA_WRITE_SEQUENCER_CTRL_1:
case MADERA_WRITE_SEQUENCER_CTRL_2:
case MADERA_HAPTICS_STATUS:
case MADERA_SAMPLE_RATE_1_STATUS:
case MADERA_SAMPLE_RATE_2_STATUS:
case MADERA_SAMPLE_RATE_3_STATUS:
case MADERA_ASYNC_SAMPLE_RATE_1_STATUS:
case MADERA_ASYNC_SAMPLE_RATE_2_STATUS:
case MADERA_HP_CTRL_1L:
case MADERA_HP_CTRL_1R:
case MADERA_HP_CTRL_2L:
case MADERA_HP_CTRL_2R:
case MADERA_HP_CTRL_3L:
case MADERA_HP_CTRL_3R:
case MADERA_DCS_HP1L_CONTROL:
case MADERA_DCS_HP1R_CONTROL:
case MADERA_MIC_DETECT_1_CONTROL_3:
case MADERA_MIC_DETECT_1_CONTROL_4:
case MADERA_HEADPHONE_DETECT_2:
case MADERA_HEADPHONE_DETECT_3:
case MADERA_HEADPHONE_DETECT_5:
case MADERA_INPUT_ENABLES_STATUS:
case MADERA_OUTPUT_STATUS_1:
case MADERA_RAW_OUTPUT_STATUS_1:
case MADERA_SPD1_TX_CHANNEL_STATUS_1:
case MADERA_SPD1_TX_CHANNEL_STATUS_2:
case MADERA_SPD1_TX_CHANNEL_STATUS_3:
case MADERA_SLIMBUS_RX_PORT_STATUS:
case MADERA_SLIMBUS_TX_PORT_STATUS:
case MADERA_FX_CTRL2:
case MADERA_ASRC2_STATUS:
case MADERA_ASRC1_STATUS:
case MADERA_CLOCK_CONTROL:
case MADERA_IRQ1_STATUS_1 ...MADERA_IRQ1_STATUS_33:
case MADERA_IRQ1_RAW_STATUS_1 ... MADERA_IRQ1_RAW_STATUS_33:
return true;
default:
return false;
}
}
static bool cs47l85_32bit_readable_register(struct device *dev,
unsigned int reg)
{
switch (reg) {
case MADERA_WSEQ_SEQUENCE_1 ... MADERA_WSEQ_SEQUENCE_508:
case CS47L85_OTP_HPDET_CAL_1 ... CS47L85_OTP_HPDET_CAL_2:
case MADERA_DSP1_CONFIG_1 ... MADERA_DSP1_SCRATCH_2:
case MADERA_DSP2_CONFIG_1 ... MADERA_DSP2_SCRATCH_2:
case MADERA_DSP3_CONFIG_1 ... MADERA_DSP3_SCRATCH_2:
case MADERA_DSP4_CONFIG_1 ... MADERA_DSP4_SCRATCH_2:
case MADERA_DSP5_CONFIG_1 ... MADERA_DSP5_SCRATCH_2:
case MADERA_DSP6_CONFIG_1 ... MADERA_DSP6_SCRATCH_2:
case MADERA_DSP7_CONFIG_1 ... MADERA_DSP7_SCRATCH_2:
return true;
default:
return cs47l85_is_adsp_memory(reg);
}
}
static bool cs47l85_32bit_volatile_register(struct device *dev,
unsigned int reg)
{
switch (reg) {
case MADERA_WSEQ_SEQUENCE_1 ... MADERA_WSEQ_SEQUENCE_508:
case CS47L85_OTP_HPDET_CAL_1 ... CS47L85_OTP_HPDET_CAL_2:
case MADERA_DSP1_CONFIG_1 ... MADERA_DSP1_SCRATCH_2:
case MADERA_DSP2_CONFIG_1 ... MADERA_DSP2_SCRATCH_2:
case MADERA_DSP3_CONFIG_1 ... MADERA_DSP3_SCRATCH_2:
case MADERA_DSP4_CONFIG_1 ... MADERA_DSP4_SCRATCH_2:
case MADERA_DSP5_CONFIG_1 ... MADERA_DSP5_SCRATCH_2:
case MADERA_DSP6_CONFIG_1 ... MADERA_DSP6_SCRATCH_2:
case MADERA_DSP7_CONFIG_1 ... MADERA_DSP7_SCRATCH_2:
return true;
default:
return cs47l85_is_adsp_memory(reg);
}
}
const struct regmap_config cs47l85_16bit_spi_regmap = {
.name = "cs47l85_16bit",
.reg_bits = 32,
.pad_bits = 16,
.val_bits = 16,
.reg_format_endian = REGMAP_ENDIAN_BIG,
.val_format_endian = REGMAP_ENDIAN_BIG,
.max_register = 0x2fff,
.readable_reg = cs47l85_16bit_readable_register,
.volatile_reg = cs47l85_16bit_volatile_register,
.cache_type = REGCACHE_MAPLE,
.reg_defaults = cs47l85_reg_default,
.num_reg_defaults = ARRAY_SIZE(cs47l85_reg_default),
};
EXPORT_SYMBOL_GPL(cs47l85_16bit_spi_regmap);
const struct regmap_config cs47l85_16bit_i2c_regmap = {
.name = "cs47l85_16bit",
.reg_bits = 32,
.val_bits = 16,
.reg_format_endian = REGMAP_ENDIAN_BIG,
.val_format_endian = REGMAP_ENDIAN_BIG,
.max_register = 0x2fff,
.readable_reg = cs47l85_16bit_readable_register,
.volatile_reg = cs47l85_16bit_volatile_register,
.cache_type = REGCACHE_MAPLE,
.reg_defaults = cs47l85_reg_default,
.num_reg_defaults = ARRAY_SIZE(cs47l85_reg_default),
};
EXPORT_SYMBOL_GPL(cs47l85_16bit_i2c_regmap);
const struct regmap_config cs47l85_32bit_spi_regmap = {
.name = "cs47l85_32bit",
.reg_bits = 32,
.reg_stride = 2,
.pad_bits = 16,
.val_bits = 32,
.reg_format_endian = REGMAP_ENDIAN_BIG,
.val_format_endian = REGMAP_ENDIAN_BIG,
.max_register = MADERA_DSP7_SCRATCH_2,
.readable_reg = cs47l85_32bit_readable_register,
.volatile_reg = cs47l85_32bit_volatile_register,
.cache_type = REGCACHE_MAPLE,
};
EXPORT_SYMBOL_GPL(cs47l85_32bit_spi_regmap);
const struct regmap_config cs47l85_32bit_i2c_regmap = {
.name = "cs47l85_32bit",
.reg_bits = 32,
.reg_stride = 2,
.val_bits = 32,
.reg_format_endian = REGMAP_ENDIAN_BIG,
.val_format_endian = REGMAP_ENDIAN_BIG,
.max_register = MADERA_DSP7_SCRATCH_2,
.readable_reg = cs47l85_32bit_readable_register,
.volatile_reg = cs47l85_32bit_volatile_register,
.cache_type = REGCACHE_MAPLE,
};
EXPORT_SYMBOL_GPL