wm8998-tables.c 68 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * wm8998-tables.c -- data tables for wm8998-class codecs
  4. *
  5. * Copyright 2014 Wolfson Microelectronics plc
  6. *
  7. * Author: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
  8. */
  9. #include <linux/module.h>
  10. #include <linux/mfd/arizona/core.h>
  11. #include <linux/mfd/arizona/registers.h>
  12. #include <linux/device.h>
  13. #include "arizona.h"
  14. #define WM8998_NUM_AOD_ISR 2
  15. #define WM8998_NUM_ISR 5
  16. static const struct reg_sequence wm8998_rev_a_patch[] = {
  17. { 0x0212, 0x0000 },
  18. { 0x0211, 0x0014 },
  19. { 0x04E4, 0x0E0D },
  20. { 0x04E5, 0x0E0D },
  21. { 0x04E6, 0x0E0D },
  22. { 0x04EB, 0x060E },
  23. { 0x0441, 0xC759 },
  24. { 0x0442, 0x2A08 },
  25. { 0x0443, 0x5CFA },
  26. { 0x026E, 0x0064 },
  27. { 0x026F, 0x00EA },
  28. { 0x0270, 0x1F16 },
  29. { 0x0410, 0x2080 },
  30. { 0x0418, 0x2080 },
  31. { 0x0420, 0x2080 },
  32. { 0x04B8, 0x1120 },
  33. { 0x047E, 0x080E },
  34. { 0x0448, 0x03EF },
  35. };
  36. /* We use a function so we can use ARRAY_SIZE() */
  37. int wm8998_patch(struct arizona *arizona)
  38. {
  39. return regmap_register_patch(arizona->regmap,
  40. wm8998_rev_a_patch,
  41. ARRAY_SIZE(wm8998_rev_a_patch));
  42. }
  43. static const struct regmap_irq wm8998_aod_irqs[ARIZONA_NUM_IRQ] = {
  44. [ARIZONA_IRQ_MICD_CLAMP_FALL] = {
  45. .mask = ARIZONA_MICD_CLAMP_FALL_EINT1
  46. },
  47. [ARIZONA_IRQ_MICD_CLAMP_RISE] = {
  48. .mask = ARIZONA_MICD_CLAMP_RISE_EINT1
  49. },
  50. [ARIZONA_IRQ_GP5_FALL] = { .mask = ARIZONA_GP5_FALL_EINT1 },
  51. [ARIZONA_IRQ_GP5_RISE] = { .mask = ARIZONA_GP5_RISE_EINT1 },
  52. [ARIZONA_IRQ_JD_FALL] = { .mask = ARIZONA_JD1_FALL_EINT1 },
  53. [ARIZONA_IRQ_JD_RISE] = { .mask = ARIZONA_JD1_RISE_EINT1 },
  54. };
  55. struct regmap_irq_chip wm8998_aod = {
  56. .name = "wm8998 AOD",
  57. .status_base = ARIZONA_AOD_IRQ1,
  58. .mask_base = ARIZONA_AOD_IRQ_MASK_IRQ1,
  59. .ack_base = ARIZONA_AOD_IRQ1,
  60. .wake_base = ARIZONA_WAKE_CONTROL,
  61. .wake_invert = 1,
  62. .num_regs = 1,
  63. .irqs = wm8998_aod_irqs,
  64. .num_irqs = ARRAY_SIZE(wm8998_aod_irqs),
  65. };
  66. static const struct regmap_irq wm8998_irqs[ARIZONA_NUM_IRQ] = {
  67. [ARIZONA_IRQ_GP4] = { .reg_offset = 0, .mask = ARIZONA_GP4_EINT1 },
  68. [ARIZONA_IRQ_GP3] = { .reg_offset = 0, .mask = ARIZONA_GP3_EINT1 },
  69. [ARIZONA_IRQ_GP2] = { .reg_offset = 0, .mask = ARIZONA_GP2_EINT1 },
  70. [ARIZONA_IRQ_GP1] = { .reg_offset = 0, .mask = ARIZONA_GP1_EINT1 },
  71. [ARIZONA_IRQ_SPK_OVERHEAT_WARN] = {
  72. .reg_offset = 2, .mask = ARIZONA_SPK_OVERHEAT_WARN_EINT1
  73. },
  74. [ARIZONA_IRQ_SPK_OVERHEAT] = {
  75. .reg_offset = 2, .mask = ARIZONA_SPK_OVERHEAT_EINT1
  76. },
  77. [ARIZONA_IRQ_HPDET] = {
  78. .reg_offset = 2, .mask = ARIZONA_HPDET_EINT1
  79. },
  80. [ARIZONA_IRQ_MICDET] = {
  81. .reg_offset = 2, .mask = ARIZONA_MICDET_EINT1
  82. },
  83. [ARIZONA_IRQ_WSEQ_DONE] = {
  84. .reg_offset = 2, .mask = ARIZONA_WSEQ_DONE_EINT1
  85. },
  86. [ARIZONA_IRQ_DRC1_SIG_DET] = {
  87. .reg_offset = 2, .mask = ARIZONA_DRC1_SIG_DET_EINT1
  88. },
  89. [ARIZONA_IRQ_ASRC2_LOCK] = {
  90. .reg_offset = 2, .mask = ARIZONA_ASRC2_LOCK_EINT1
  91. },
  92. [ARIZONA_IRQ_ASRC1_LOCK] = {
  93. .reg_offset = 2, .mask = ARIZONA_ASRC1_LOCK_EINT1
  94. },
  95. [ARIZONA_IRQ_UNDERCLOCKED] = {
  96. .reg_offset = 2, .mask = ARIZONA_UNDERCLOCKED_EINT1
  97. },
  98. [ARIZONA_IRQ_OVERCLOCKED] = {
  99. .reg_offset = 2, .mask = ARIZONA_OVERCLOCKED_EINT1
  100. },
  101. [ARIZONA_IRQ_FLL2_LOCK] = {
  102. .reg_offset = 2, .mask = ARIZONA_FLL2_LOCK_EINT1
  103. },
  104. [ARIZONA_IRQ_FLL1_LOCK] = {
  105. .reg_offset = 2, .mask = ARIZONA_FLL1_LOCK_EINT1
  106. },
  107. [ARIZONA_IRQ_CLKGEN_ERR] = {
  108. .reg_offset = 2, .mask = ARIZONA_CLKGEN_ERR_EINT1
  109. },
  110. [ARIZONA_IRQ_CLKGEN_ERR_ASYNC] = {
  111. .reg_offset = 2, .mask = ARIZONA_CLKGEN_ERR_ASYNC_EINT1
  112. },
  113. [ARIZONA_IRQ_ASRC_CFG_ERR] = {
  114. .reg_offset = 3, .mask = ARIZONA_ASRC_CFG_ERR_EINT1
  115. },
  116. [ARIZONA_IRQ_AIF3_ERR] = {
  117. .reg_offset = 3, .mask = ARIZONA_AIF3_ERR_EINT1
  118. },
  119. [ARIZONA_IRQ_AIF2_ERR] = {
  120. .reg_offset = 3, .mask = ARIZONA_AIF2_ERR_EINT1
  121. },
  122. [ARIZONA_IRQ_AIF1_ERR] = {
  123. .reg_offset = 3, .mask = ARIZONA_AIF1_ERR_EINT1
  124. },
  125. [ARIZONA_IRQ_CTRLIF_ERR] = {
  126. .reg_offset = 3, .mask = ARIZONA_CTRLIF_ERR_EINT1
  127. },
  128. [ARIZONA_IRQ_MIXER_DROPPED_SAMPLES] = {
  129. .reg_offset = 3, .mask = ARIZONA_MIXER_DROPPED_SAMPLE_EINT1
  130. },
  131. [ARIZONA_IRQ_ASYNC_CLK_ENA_LOW] = {
  132. .reg_offset = 3, .mask = ARIZONA_ASYNC_CLK_ENA_LOW_EINT1
  133. },
  134. [ARIZONA_IRQ_SYSCLK_ENA_LOW] = {
  135. .reg_offset = 3, .mask = ARIZONA_SYSCLK_ENA_LOW_EINT1
  136. },
  137. [ARIZONA_IRQ_ISRC1_CFG_ERR] = {
  138. .reg_offset = 3, .mask = ARIZONA_ISRC1_CFG_ERR_EINT1
  139. },
  140. [ARIZONA_IRQ_ISRC2_CFG_ERR] = {
  141. .reg_offset = 3, .mask = ARIZONA_ISRC2_CFG_ERR_EINT1
  142. },
  143. [ARIZONA_IRQ_BOOT_DONE] = {
  144. .reg_offset = 4, .mask = ARIZONA_BOOT_DONE_EINT1
  145. },
  146. [ARIZONA_IRQ_FLL2_CLOCK_OK] = {
  147. .reg_offset = 4, .mask = ARIZONA_FLL2_CLOCK_OK_EINT1
  148. },
  149. [ARIZONA_IRQ_FLL1_CLOCK_OK] = {
  150. .reg_offset = 4, .mask = ARIZONA_FLL1_CLOCK_OK_EINT1
  151. },
  152. };
  153. struct regmap_irq_chip wm8998_irq = {
  154. .name = "wm8998 IRQ",
  155. .status_base = ARIZONA_INTERRUPT_STATUS_1,
  156. .mask_base = ARIZONA_INTERRUPT_STATUS_1_MASK,
  157. .ack_base = ARIZONA_INTERRUPT_STATUS_1,
  158. .num_regs = 5,
  159. .irqs = wm8998_irqs,
  160. .num_irqs = ARRAY_SIZE(wm8998_irqs),
  161. };
  162. static const struct reg_default wm8998_reg_default[] = {
  163. { 0x00000009, 0x0001 }, /* R9 - Ctrl IF I2C1 CFG 1 */
  164. { 0x0000000B, 0x001A }, /* R11 - Ctrl IF I2C1 CFG 2 */
  165. { 0x00000020, 0x0000 }, /* R32 - Tone Generator 1 */
  166. { 0x00000021, 0x1000 }, /* R33 - Tone Generator 2 */
  167. { 0x00000022, 0x0000 }, /* R34 - Tone Generator 3 */
  168. { 0x00000023, 0x1000 }, /* R35 - Tone Generator 4 */
  169. { 0x00000024, 0x0000 }, /* R36 - Tone Generator 5 */
  170. { 0x00000030, 0x0000 }, /* R48 - PWM Drive 1 */
  171. { 0x00000031, 0x0100 }, /* R49 - PWM Drive 2 */
  172. { 0x00000032, 0x0100 }, /* R50 - PWM Drive 3 */
  173. { 0x00000040, 0x0000 }, /* R64 - Wake control */
  174. { 0x00000041, 0x0000 }, /* R65 - Sequence control */
  175. { 0x00000061, 0x01FF }, /* R97 - Sample Rate Sequence Select 1 */
  176. { 0x00000062, 0x01FF }, /* R98 - Sample Rate Sequence Select 2 */
  177. { 0x00000063, 0x01FF }, /* R99 - Sample Rate Sequence Select 3 */
  178. { 0x00000064, 0x01FF }, /* R100 - Sample Rate Sequence Select 4 */
  179. { 0x00000066, 0x01FF }, /* R102 - Always On Triggers Sequence Select 1 */
  180. { 0x00000067, 0x01FF }, /* R103 - Always On Triggers Sequence Select 2 */
  181. { 0x00000068, 0x01FF }, /* R104 - Always On Triggers Sequence Select 3 */
  182. { 0x00000069, 0x01FF }, /* R105 - Always On Triggers Sequence Select 4 */
  183. { 0x0000006A, 0x01FF }, /* R106 - Always On Triggers Sequence Select 5 */
  184. { 0x0000006B, 0x01FF }, /* R107 - Always On Triggers Sequence Select 6 */
  185. { 0x00000090, 0x0000 }, /* R144 - Haptics Control 1 */
  186. { 0x00000091, 0x7FFF }, /* R145 - Haptics Control 2 */
  187. { 0x00000092, 0x0000 }, /* R146 - Haptics phase 1 intensity */
  188. { 0x00000093, 0x0000 }, /* R147 - Haptics phase 1 duration */
  189. { 0x00000094, 0x0000 }, /* R148 - Haptics phase 2 intensity */
  190. { 0x00000095, 0x0000 }, /* R149 - Haptics phase 2 duration */
  191. { 0x00000096, 0x0000 }, /* R150 - Haptics phase 3 intensity */
  192. { 0x00000097, 0x0000 }, /* R151 - Haptics phase 3 duration */
  193. { 0x00000100, 0x0002 }, /* R256 - Clock 32k 1 */
  194. { 0x00000101, 0x0304 }, /* R257 - System Clock 1 */
  195. { 0x00000102, 0x0011 }, /* R258 - Sample rate 1 */
  196. { 0x00000103, 0x0011 }, /* R259 - Sample rate 2 */
  197. { 0x00000104, 0x0011 }, /* R260 - Sample rate 3 */
  198. { 0x00000112, 0x0305 }, /* R274 - Async clock 1 */
  199. { 0x00000113, 0x0011 }, /* R275 - Async sample rate 1 */
  200. { 0x00000114, 0x0011 }, /* R276 - Async sample rate 2 */
  201. { 0x00000149, 0x0000 }, /* R329 - Output system clock */
  202. { 0x0000014A, 0x0000 }, /* R330 - Output async clock */
  203. { 0x00000152, 0x0000 }, /* R338 - Rate Estimator 1 */
  204. { 0x00000153, 0x0000 }, /* R339 - Rate Estimator 2 */
  205. { 0x00000154, 0x0000 }, /* R340 - Rate Estimator 3 */
  206. { 0x00000155, 0x0000 }, /* R341 - Rate Estimator 4 */
  207. { 0x00000156, 0x0000 }, /* R342 - Rate Estimator 5 */
  208. { 0x00000161, 0x0000 }, /* R353 - Dynamic Frequency Scaling 1 */
  209. { 0x00000171, 0x0002 }, /* R369 - FLL1 Control 1 */
  210. { 0x00000172, 0x0008 }, /* R370 - FLL1 Control 2 */
  211. { 0x00000173, 0x0018 }, /* R371 - FLL1 Control 3 */
  212. { 0x00000174, 0x007D }, /* R372 - FLL1 Control 4 */
  213. { 0x00000175, 0x0004 }, /* R373 - FLL1 Control 5 */
  214. { 0x00000176, 0x0000 }, /* R374 - FLL1 Control 6 */
  215. { 0x00000179, 0x0000 }, /* R377 - FLL1 Control 7 */
  216. { 0x00000181, 0x0000 }, /* R385 - FLL1 Synchroniser 1 */
  217. { 0x00000182, 0x0000 }, /* R386 - FLL1 Synchroniser 2 */
  218. { 0x00000183, 0x0000 }, /* R387 - FLL1 Synchroniser 3 */
  219. { 0x00000184, 0x0000 }, /* R388 - FLL1 Synchroniser 4 */
  220. { 0x00000185, 0x0000 }, /* R389 - FLL1 Synchroniser 5 */
  221. { 0x00000186, 0x0000 }, /* R390 - FLL1 Synchroniser 6 */
  222. { 0x00000187, 0x0001 }, /* R391 - FLL1 Synchroniser 7 */
  223. { 0x00000189, 0x0000 }, /* R393 - FLL1 Spread Spectrum */
  224. { 0x0000018A, 0x0004 }, /* R394 - FLL1 GPIO Clock */
  225. { 0x00000191, 0x0000 }, /* R401 - FLL2 Control 1 */
  226. { 0x00000192, 0x0008 }, /* R402 - FLL2 Control 2 */
  227. { 0x00000193, 0x0018 }, /* R403 - FLL2 Control 3 */
  228. { 0x00000194, 0x007D }, /* R404 - FLL2 Control 4 */
  229. { 0x00000195, 0x0004 }, /* R405 - FLL2 Control 5 */
  230. { 0x00000196, 0x0000 }, /* R406 - FLL2 Control 6 */
  231. { 0x00000199, 0x0000 }, /* R409 - FLL2 Control 7 */
  232. { 0x000001A1, 0x0000 }, /* R417 - FLL2 Synchroniser 1 */
  233. { 0x000001A2, 0x0000 }, /* R418 - FLL2 Synchroniser 2 */
  234. { 0x000001A3, 0x0000 }, /* R419 - FLL2 Synchroniser 3 */
  235. { 0x000001A4, 0x0000 }, /* R420 - FLL2 Synchroniser 4 */
  236. { 0x000001A5, 0x0000 }, /* R421 - FLL2 Synchroniser 5 */
  237. { 0x000001A6, 0x0000 }, /* R422 - FLL2 Synchroniser 6 */
  238. { 0x000001A7, 0x0001 }, /* R423 - FLL2 Synchroniser 7 */
  239. { 0x000001A9, 0x0000 }, /* R425 - FLL2 Spread Spectrum */
  240. { 0x000001AA, 0x0004 }, /* R426 - FLL2 GPIO Clock */
  241. { 0x00000200, 0x0006 }, /* R512 - Mic Charge Pump 1 */
  242. { 0x00000210, 0x00D4 }, /* R528 - LDO1 Control 1 */
  243. { 0x00000212, 0x0000 }, /* R530 - LDO1 Control 2 */
  244. { 0x00000213, 0x0344 }, /* R531 - LDO2 Control 1 */
  245. { 0x00000218, 0x01A6 }, /* R536 - Mic Bias Ctrl 1 */
  246. { 0x00000219, 0x01A6 }, /* R537 - Mic Bias Ctrl 2 */
  247. { 0x0000021A, 0x01A6 }, /* R538 - Mic Bias Ctrl 3 */
  248. { 0x00000293, 0x0080 }, /* R659 - Accessory Detect Mode 1 */
  249. { 0x0000029B, 0x0000 }, /* R667 - Headphone Detect 1 */
  250. { 0x000002A2, 0x0000 }, /* R674 - Micd Clamp control */
  251. { 0x000002A3, 0x1102 }, /* R675 - Mic Detect 1 */
  252. { 0x000002A4, 0x009F }, /* R676 - Mic Detect 2 */
  253. { 0x000002A6, 0x3737 }, /* R678 - Mic Detect Level 1 */
  254. { 0x000002A7, 0x2C37 }, /* R679 - Mic Detect Level 2 */
  255. { 0x000002A8, 0x1422 }, /* R680 - Mic Detect Level 3 */
  256. { 0x000002A9, 0x030A }, /* R681 - Mic Detect Level 4 */
  257. { 0x000002CB, 0x0000 }, /* R715 - Isolation control */
  258. { 0x000002D3, 0x0000 }, /* R723 - Jack detect analogue */
  259. { 0x00000300, 0x0000 }, /* R768 - Input Enables */
  260. { 0x00000308, 0x0000 }, /* R776 - Input Rate */
  261. { 0x00000309, 0x0022 }, /* R777 - Input Volume Ramp */
  262. { 0x0000030C, 0x0002 }, /* R780 - HPF Control */
  263. { 0x00000310, 0x2080 }, /* R784 - IN1L Control */
  264. { 0x00000311, 0x0180 }, /* R785 - ADC Digital Volume 1L */
  265. { 0x00000312, 0x0000 }, /* R786 - DMIC1L Control */
  266. { 0x00000314, 0x0080 }, /* R788 - IN1R Control */
  267. { 0x00000315, 0x0180 }, /* R789 - ADC Digital Volume 1R */
  268. { 0x00000316, 0x0000 }, /* R790 - DMIC1R Control */
  269. { 0x00000318, 0x2080 }, /* R792 - IN2L Control */
  270. { 0x00000319, 0x0180 }, /* R793 - ADC Digital Volume 2L */
  271. { 0x0000031A, 0x0000 }, /* R794 - DMIC2L Control */
  272. { 0x00000400, 0x0000 }, /* R1024 - Output Enables 1 */
  273. { 0x00000408, 0x0000 }, /* R1032 - Output Rate 1 */
  274. { 0x00000409, 0x0022 }, /* R1033 - Output Volume Ramp */
  275. { 0x00000410, 0x2080 }, /* R1040 - Output Path Config 1L */
  276. { 0x00000411, 0x0180 }, /* R1041 - DAC Digital Volume 1L */
  277. { 0x00000413, 0x0001 }, /* R1043 - Noise Gate Select 1L */
  278. { 0x00000414, 0x0080 }, /* R1044 - Output Path Config 1R */
  279. { 0x00000415, 0x0180 }, /* R1045 - DAC Digital Volume 1R */
  280. { 0x00000417, 0x0002 }, /* R1047 - Noise Gate Select 1R */
  281. { 0x00000418, 0x2080 }, /* R1048 - Output Path Config 2L */
  282. { 0x00000419, 0x0180 }, /* R1049 - DAC Digital Volume 2L */
  283. { 0x0000041B, 0x0004 }, /* R1051 - Noise Gate Select 2L */
  284. { 0x0000041C, 0x0080 }, /* R1052 - Output Path Config 2R */
  285. { 0x0000041D, 0x0180 }, /* R1053 - DAC Digital Volume 2R */
  286. { 0x0000041F, 0x0008 }, /* R1055 - Noise Gate Select 2R */
  287. { 0x00000420, 0x2080 }, /* R1056 - Output Path Config 3L */
  288. { 0x00000421, 0x0180 }, /* R1057 - DAC Digital Volume 3L */
  289. { 0x00000423, 0x0010 }, /* R1059 - Noise Gate Select 3L */
  290. { 0x00000428, 0x0000 }, /* R1064 - Output Path Config 4L */
  291. { 0x00000429, 0x0180 }, /* R1065 - DAC Digital Volume 4L */
  292. { 0x0000042B, 0x0040 }, /* R1067 - Noise Gate Select 4L */
  293. { 0x0000042C, 0x0000 }, /* R1068 - Output Path Config 4R */
  294. { 0x0000042D, 0x0180 }, /* R1069 - DAC Digital Volume 4R */
  295. { 0x0000042F, 0x0080 }, /* R1071 - Noise Gate Select 4R */
  296. { 0x00000430, 0x0000 }, /* R1072 - Output Path Config 5L */
  297. { 0x00000431, 0x0180 }, /* R1073 - DAC Digital Volume 5L */
  298. { 0x00000433, 0x0100 }, /* R1075 - Noise Gate Select 5L */
  299. { 0x00000434, 0x0000 }, /* R1076 - Output Path Config 5R */
  300. { 0x00000435, 0x0180 }, /* R1077 - DAC Digital Volume 5R */
  301. { 0x00000437, 0x0200 }, /* R1079 - Noise Gate Select 5R */
  302. { 0x00000440, 0x002F }, /* R1088 - DRE Enable */
  303. { 0x00000441, 0xC759 }, /* R1089 - DRE Control 1 */
  304. { 0x00000442, 0x2A08 }, /* R1089 - DRE Control 2 */
  305. { 0x00000443, 0x5CFA }, /* R1089 - DRE Control 3 */
  306. { 0x00000448, 0x03EF }, /* R1096 - EDRE Enable */
  307. { 0x00000450, 0x0000 }, /* R1104 - DAC AEC Control 1 */
  308. { 0x00000451, 0x0000 }, /* R1105 - DAC AEC Control 2 */
  309. { 0x00000458, 0x0000 }, /* R1112 - Noise Gate Control */
  310. { 0x00000490, 0x0069 }, /* R1168 - PDM SPK1 CTRL 1 */
  311. { 0x00000491, 0x0000 }, /* R1169 - PDM SPK1 CTRL 2 */
  312. { 0x0000049A, 0x0000 }, /* R1178 - HP_TEST_CTRL_13 */
  313. { 0x00000500, 0x000C }, /* R1280 - AIF1 BCLK Ctrl */
  314. { 0x00000501, 0x0008 }, /* R1281 - AIF1 Tx Pin Ctrl */
  315. { 0x00000502, 0x0000 }, /* R1282 - AIF1 Rx Pin Ctrl */
  316. { 0x00000503, 0x0000 }, /* R1283 - AIF1 Rate Ctrl */
  317. { 0x00000504, 0x0000 }, /* R1284 - AIF1 Format */
  318. { 0x00000506, 0x0040 }, /* R1286 - AIF1 Rx BCLK Rate */
  319. { 0x00000507, 0x1818 }, /* R1287 - AIF1 Frame Ctrl 1 */
  320. { 0x00000508, 0x1818 }, /* R1288 - AIF1 Frame Ctrl 2 */
  321. { 0x00000509, 0x0000 }, /* R1289 - AIF1 Frame Ctrl 3 */
  322. { 0x0000050A, 0x0001 }, /* R1290 - AIF1 Frame Ctrl 4 */
  323. { 0x0000050B, 0x0002 }, /* R1291 - AIF1 Frame Ctrl 5 */
  324. { 0x0000050C, 0x0003 }, /* R1292 - AIF1 Frame Ctrl 6 */
  325. { 0x0000050D, 0x0004 }, /* R1293 - AIF1 Frame Ctrl 7 */
  326. { 0x0000050E, 0x0005 }, /* R1294 - AIF1 Frame Ctrl 8 */
  327. { 0x00000511, 0x0000 }, /* R1297 - AIF1 Frame Ctrl 11 */
  328. { 0x00000512, 0x0001 }, /* R1298 - AIF1 Frame Ctrl 12 */
  329. { 0x00000513, 0x0002 }, /* R1299 - AIF1 Frame Ctrl 13 */
  330. { 0x00000514, 0x0003 }, /* R1300 - AIF1 Frame Ctrl 14 */
  331. { 0x00000515, 0x0004 }, /* R1301 - AIF1 Frame Ctrl 15 */
  332. { 0x00000516, 0x0005 }, /* R1302 - AIF1 Frame Ctrl 16 */
  333. { 0x00000519, 0x0000 }, /* R1305 - AIF1 Tx Enables */
  334. { 0x0000051A, 0x0000 }, /* R1306 - AIF1 Rx Enables */
  335. { 0x00000540, 0x000C }, /* R1344 - AIF2 BCLK Ctrl */
  336. { 0x00000541, 0x0008 }, /* R1345 - AIF2 Tx Pin Ctrl */
  337. { 0x00000542, 0x0000 }, /* R1346 - AIF2 Rx Pin Ctrl */
  338. { 0x00000543, 0x0000 }, /* R1347 - AIF2 Rate Ctrl */
  339. { 0x00000544, 0x0000 }, /* R1348 - AIF2 Format */
  340. { 0x00000546, 0x0040 }, /* R1350 - AIF2 Rx BCLK Rate */
  341. { 0x00000547, 0x1818 }, /* R1351 - AIF2 Frame Ctrl 1 */
  342. { 0x00000548, 0x1818 }, /* R1352 - AIF2 Frame Ctrl 2 */
  343. { 0x00000549, 0x0000 }, /* R1353 - AIF2 Frame Ctrl 3 */
  344. { 0x0000054A, 0x0001 }, /* R1354 - AIF2 Frame Ctrl 4 */
  345. { 0x0000054B, 0x0002 }, /* R1355 - AIF2 Frame Ctrl 5 */
  346. { 0x0000054C, 0x0003 }, /* R1356 - AIF2 Frame Ctrl 6 */
  347. { 0x0000054D, 0x0004 }, /* R1357 - AIF2 Frame Ctrl 7 */
  348. { 0x0000054E, 0x0005 }, /* R1358 - AIF2 Frame Ctrl 8 */
  349. { 0x00000551, 0x0000 }, /* R1361 - AIF2 Frame Ctrl 11 */
  350. { 0x00000552, 0x0001 }, /* R1362 - AIF2 Frame Ctrl 12 */
  351. { 0x00000553, 0x0002 }, /* R1363 - AIF2 Frame Ctrl 13 */
  352. { 0x00000554, 0x0003 }, /* R1364 - AIF2 Frame Ctrl 14 */
  353. { 0x00000555, 0x0004 }, /* R1365 - AIF2 Frame Ctrl 15 */
  354. { 0x00000556, 0x0005 }, /* R1366 - AIF2 Frame Ctrl 16 */
  355. { 0x00000559, 0x0000 }, /* R1369 - AIF2 Tx Enables */
  356. { 0x0000055A, 0x0000 }, /* R1370 - AIF2 Rx Enables */
  357. { 0x00000580, 0x000C }, /* R1408 - AIF3 BCLK Ctrl */
  358. { 0x00000581, 0x0008 }, /* R1409 - AIF3 Tx Pin Ctrl */
  359. { 0x00000582, 0x0000 }, /* R1410 - AIF3 Rx Pin Ctrl */
  360. { 0x00000583, 0x0000 }, /* R1411 - AIF3 Rate Ctrl */
  361. { 0x00000584, 0x0000 }, /* R1412 - AIF3 Format */
  362. { 0x00000586, 0x0040 }, /* R1414 - AIF3 Rx BCLK Rate */
  363. { 0x00000587, 0x1818 }, /* R1415 - AIF3 Frame Ctrl 1 */
  364. { 0x00000588, 0x1818 }, /* R1416 - AIF3 Frame Ctrl 2 */
  365. { 0x00000589, 0x0000 }, /* R1417 - AIF3 Frame Ctrl 3 */
  366. { 0x0000058A, 0x0001 }, /* R1418 - AIF3 Frame Ctrl 4 */
  367. { 0x00000591, 0x0000 }, /* R1425 - AIF3 Frame Ctrl 11 */
  368. { 0x00000592, 0x0001 }, /* R1426 - AIF3 Frame Ctrl 12 */
  369. { 0x00000599, 0x0000 }, /* R1433 - AIF3 Tx Enables */
  370. { 0x0000059A, 0x0000 }, /* R1434 - AIF3 Rx Enables */
  371. { 0x000005C2, 0x0000 }, /* R1474 - SPD1 TX Control */
  372. { 0x000005C3, 0x0000 }, /* R1475 - SPD1 TX Channel Status 1 */
  373. { 0x000005C4, 0x0B01 }, /* R1476 - SPD1 TX Channel Status 2 */
  374. { 0x000005C5, 0x0000 }, /* R1477 - SPD1 TX Channel Status 3 */
  375. { 0x000005E3, 0x0004 }, /* R1507 - SLIMbus Framer Ref Gear */
  376. { 0x000005E5, 0x0000 }, /* R1509 - SLIMbus Rates 1 */
  377. { 0x000005E6, 0x0000 }, /* R1510 - SLIMbus Rates 2 */
  378. { 0x000005E9, 0x0000 }, /* R1513 - SLIMbus Rates 5 */
  379. { 0x000005EA, 0x0000 }, /* R1514 - SLIMbus Rates 6 */
  380. { 0x000005EB, 0x0000 }, /* R1515 - SLIMbus Rates 7 */
  381. { 0x000005F5, 0x0000 }, /* R1525 - SLIMbus RX Channel Enable */
  382. { 0x000005F6, 0x0000 }, /* R1526 - SLIMbus TX Channel Enable */
  383. { 0x00000640, 0x0000 }, /* R1600 - PWM1MIX Input 1 Source */
  384. { 0x00000641, 0x0080 }, /* R1601 - PWM1MIX Input 1 Volume */
  385. { 0x00000642, 0x0000 }, /* R1602 - PWM1MIX Input 2 Source */
  386. { 0x00000643, 0x0080 }, /* R1603 - PWM1MIX Input 2 Volume */
  387. { 0x00000644, 0x0000 }, /* R1604 - PWM1MIX Input 3 Source */
  388. { 0x00000645, 0x0080 }, /* R1605 - PWM1MIX Input 3 Volume */
  389. { 0x00000646, 0x0000 }, /* R1606 - PWM1MIX Input 4 Source */
  390. { 0x00000647, 0x0080 }, /* R1607 - PWM1MIX Input 4 Volume */
  391. { 0x00000648, 0x0000 }, /* R1608 - PWM2MIX Input 1 Source */
  392. { 0x00000649, 0x0080 }, /* R1609 - PWM2MIX Input 1 Volume */
  393. { 0x0000064A, 0x0000 }, /* R1610 - PWM2MIX Input 2 Source */
  394. { 0x0000064B, 0x0080 }, /* R1611 - PWM2MIX Input 2 Volume */
  395. { 0x0000064C, 0x0000 }, /* R1612 - PWM2MIX Input 3 Source */
  396. { 0x0000064D, 0x0080 }, /* R1613 - PWM2MIX Input 3 Volume */
  397. { 0x0000064E, 0x0000 }, /* R1614 - PWM2MIX Input 4 Source */
  398. { 0x0000064F, 0x0080 }, /* R1615 - PWM2MIX Input 4 Volume */
  399. { 0x00000680, 0x0000 }, /* R1664 - OUT1LMIX Input 1 Source */
  400. { 0x00000681, 0x0080 }, /* R1665 - OUT1LMIX Input 1 Volume */
  401. { 0x00000682, 0x0000 }, /* R1666 - OUT1LMIX Input 2 Source */
  402. { 0x00000683, 0x0080 }, /* R1667 - OUT1LMIX Input 2 Volume */
  403. { 0x00000684, 0x0000 }, /* R1668 - OUT1LMIX Input 3 Source */
  404. { 0x00000685, 0x0080 }, /* R1669 - OUT1LMIX Input 3 Volume */
  405. { 0x00000686, 0x0000 }, /* R1670 - OUT1LMIX Input 4 Source */
  406. { 0x00000687, 0x0080 }, /* R1671 - OUT1LMIX Input 4 Volume */
  407. { 0x00000688, 0x0000 }, /* R1672 - OUT1RMIX Input 1 Source */
  408. { 0x00000689, 0x0080 }, /* R1673 - OUT1RMIX Input 1 Volume */
  409. { 0x0000068A, 0x0000 }, /* R1674 - OUT1RMIX Input 2 Source */
  410. { 0x0000068B, 0x0080 }, /* R1675 - OUT1RMIX Input 2 Volume */
  411. { 0x0000068C, 0x0000 }, /* R1676 - OUT1RMIX Input 3 Source */
  412. { 0x0000068D, 0x0080 }, /* R1677 - OUT1RMIX Input 3 Volume */
  413. { 0x0000068E, 0x0000 }, /* R1678 - OUT1RMIX Input 4 Source */
  414. { 0x0000068F, 0x0080 }, /* R1679 - OUT1RMIX Input 4 Volume */
  415. { 0x00000690, 0x0000 }, /* R1680 - OUT2LMIX Input 1 Source */
  416. { 0x00000691, 0x0080 }, /* R1681 - OUT2LMIX Input 1 Volume */
  417. { 0x00000692, 0x0000 }, /* R1682 - OUT2LMIX Input 2 Source */
  418. { 0x00000693, 0x0080 }, /* R1683 - OUT2LMIX Input 2 Volume */
  419. { 0x00000694, 0x0000 }, /* R1684 - OUT2LMIX Input 3 Source */
  420. { 0x00000695, 0x0080 }, /* R1685 - OUT2LMIX Input 3 Volume */
  421. { 0x00000696, 0x0000 }, /* R1686 - OUT2LMIX Input 4 Source */
  422. { 0x00000697, 0x0080 }, /* R1687 - OUT2LMIX Input 4 Volume */
  423. { 0x00000698, 0x0000 }, /* R1688 - OUT2RMIX Input 1 Source */
  424. { 0x00000699, 0x0080 }, /* R1689 - OUT2RMIX Input 1 Volume */
  425. { 0x0000069A, 0x0000 }, /* R1690 - OUT2RMIX Input 2 Source */
  426. { 0x0000069B, 0x0080 }, /* R1691 - OUT2RMIX Input 2 Volume */
  427. { 0x0000069C, 0x0000 }, /* R1692 - OUT2RMIX Input 3 Source */
  428. { 0x0000069D, 0x0080 }, /* R1693 - OUT2RMIX Input 3 Volume */
  429. { 0x0000069E, 0x0000 }, /* R1694 - OUT2RMIX Input 4 Source */
  430. { 0x0000069F, 0x0080 }, /* R1695 - OUT2RMIX Input 4 Volume */
  431. { 0x000006A0, 0x0000 }, /* R1696 - OUT3LMIX Input 1 Source */
  432. { 0x000006A1, 0x0080 }, /* R1697 - OUT3LMIX Input 1 Volume */
  433. { 0x000006A2, 0x0000 }, /* R1698 - OUT3LMIX Input 2 Source */
  434. { 0x000006A3, 0x0080 }, /* R1699 - OUT3LMIX Input 2 Volume */
  435. { 0x000006A4, 0x0000 }, /* R1700 - OUT3LMIX Input 3 Source */
  436. { 0x000006A5, 0x0080 }, /* R1701 - OUT3LMIX Input 3 Volume */
  437. { 0x000006A6, 0x0000 }, /* R1702 - OUT3LMIX Input 4 Source */
  438. { 0x000006A7, 0x0080 }, /* R1703 - OUT3LMIX Input 4 Volume */
  439. { 0x000006B0, 0x0000 }, /* R1712 - OUT4LMIX Input 1 Source */
  440. { 0x000006B1, 0x0080 }, /* R1713 - OUT4LMIX Input 1 Volume */
  441. { 0x000006B2, 0x0000 }, /* R1714 - OUT4LMIX Input 2 Source */
  442. { 0x000006B3, 0x0080 }, /* R1715 - OUT4LMIX Input 2 Volume */
  443. { 0x000006B4, 0x0000 }, /* R1716 - OUT4LMIX Input 3 Source */
  444. { 0x000006B5, 0x0080 }, /* R1717 - OUT4LMIX Input 3 Volume */
  445. { 0x000006B6, 0x0000 }, /* R1718 - OUT4LMIX Input 4 Source */
  446. { 0x000006B7, 0x0080 }, /* R1719 - OUT4LMIX Input 4 Volume */
  447. { 0x000006B8, 0x0000 }, /* R1720 - OUT4RMIX Input 1 Source */
  448. { 0x000006B9, 0x0080 }, /* R1721 - OUT4RMIX Input 1 Volume */
  449. { 0x000006BA, 0x0000 }, /* R1722 - OUT4RMIX Input 2 Source */
  450. { 0x000006BB, 0x0080 }, /* R1723 - OUT4RMIX Input 2 Volume */
  451. { 0x000006BC, 0x0000 }, /* R1724 - OUT4RMIX Input 3 Source */
  452. { 0x000006BD, 0x0080 }, /* R1725 - OUT4RMIX Input 3 Volume */
  453. { 0x000006BE, 0x0000 }, /* R1726 - OUT4RMIX Input 4 Source */
  454. { 0x000006BF, 0x0080 }, /* R1727 - OUT4RMIX Input 4 Volume */
  455. { 0x000006C0, 0x0000 }, /* R1728 - OUT5LMIX Input 1 Source */
  456. { 0x000006C1, 0x0080 }, /* R1729 - OUT5LMIX Input 1 Volume */
  457. { 0x000006C2, 0x0000 }, /* R1730 - OUT5LMIX Input 2 Source */
  458. { 0x000006C3, 0x0080 }, /* R1731 - OUT5LMIX Input 2 Volume */
  459. { 0x000006C4, 0x0000 }, /* R1732 - OUT5LMIX Input 3 Source */
  460. { 0x000006C5, 0x0080 }, /* R1733 - OUT5LMIX Input 3 Volume */
  461. { 0x000006C6, 0x0000 }, /* R1734 - OUT5LMIX Input 4 Source */
  462. { 0x000006C7, 0x0080 }, /* R1735 - OUT5LMIX Input 4 Volume */
  463. { 0x000006C8, 0x0000 }, /* R1736 - OUT5RMIX Input 1 Source */
  464. { 0x000006C9, 0x0080 }, /* R1737 - OUT5RMIX Input 1 Volume */
  465. { 0x000006CA, 0x0000 }, /* R1738 - OUT5RMIX Input 2 Source */
  466. { 0x000006CB, 0x0080 }, /* R1739 - OUT5RMIX Input 2 Volume */
  467. { 0x000006CC, 0x0000 }, /* R1740 - OUT5RMIX Input 3 Source */
  468. { 0x000006CD, 0x0080 }, /* R1741 - OUT5RMIX Input 3 Volume */
  469. { 0x000006CE, 0x0000 }, /* R1742 - OUT5RMIX Input 4 Source */
  470. { 0x000006CF, 0x0080 }, /* R1743 - OUT5RMIX Input 4 Volume */
  471. { 0x00000700, 0x0000 }, /* R1792 - AIF1TX1MIX Input 1 Source */
  472. { 0x00000701, 0x0080 }, /* R1793 - AIF1TX1MIX Input 1 Volume */
  473. { 0x00000702, 0x0000 }, /* R1794 - AIF1TX1MIX Input 2 Source */
  474. { 0x00000703, 0x0080 }, /* R1795 - AIF1TX1MIX Input 2 Volume */
  475. { 0x00000704, 0x0000 }, /* R1796 - AIF1TX1MIX Input 3 Source */
  476. { 0x00000705, 0x0080 }, /* R1797 - AIF1TX1MIX Input 3 Volume */
  477. { 0x00000706, 0x0000 }, /* R1798 - AIF1TX1MIX Input 4 Source */
  478. { 0x00000707, 0x0080 }, /* R1799 - AIF1TX1MIX Input 4 Volume */
  479. { 0x00000708, 0x0000 }, /* R1800 - AIF1TX2MIX Input 1 Source */
  480. { 0x00000709, 0x0080 }, /* R1801 - AIF1TX2MIX Input 1 Volume */
  481. { 0x0000070A, 0x0000 }, /* R1802 - AIF1TX2MIX Input 2 Source */
  482. { 0x0000070B, 0x0080 }, /* R1803 - AIF1TX2MIX Input 2 Volume */
  483. { 0x0000070C, 0x0000 }, /* R1804 - AIF1TX2MIX Input 3 Source */
  484. { 0x0000070D, 0x0080 }, /* R1805 - AIF1TX2MIX Input 3 Volume */
  485. { 0x0000070E, 0x0000 }, /* R1806 - AIF1TX2MIX Input 4 Source */
  486. { 0x0000070F, 0x0080 }, /* R1807 - AIF1TX2MIX Input 4 Volume */
  487. { 0x00000710, 0x0000 }, /* R1808 - AIF1TX3MIX Input 1 Source */
  488. { 0x00000711, 0x0080 }, /* R1809 - AIF1TX3MIX Input 1 Volume */
  489. { 0x00000712, 0x0000 }, /* R1810 - AIF1TX3MIX Input 2 Source */
  490. { 0x00000713, 0x0080 }, /* R1811 - AIF1TX3MIX Input 2 Volume */
  491. { 0x00000714, 0x0000 }, /* R1812 - AIF1TX3MIX Input 3 Source */
  492. { 0x00000715, 0x0080 }, /* R1813 - AIF1TX3MIX Input 3 Volume */
  493. { 0x00000716, 0x0000 }, /* R1814 - AIF1TX3MIX Input 4 Source */
  494. { 0x00000717, 0x0080 }, /* R1815 - AIF1TX3MIX Input 4 Volume */
  495. { 0x00000718, 0x0000 }, /* R1816 - AIF1TX4MIX Input 1 Source */
  496. { 0x00000719, 0x0080 }, /* R1817 - AIF1TX4MIX Input 1 Volume */
  497. { 0x0000071A, 0x0000 }, /* R1818 - AIF1TX4MIX Input 2 Source */
  498. { 0x0000071B, 0x0080 }, /* R1819 - AIF1TX4MIX Input 2 Volume */
  499. { 0x0000071C, 0x0000 }, /* R1820 - AIF1TX4MIX Input 3 Source */
  500. { 0x0000071D, 0x0080 }, /* R1821 - AIF1TX4MIX Input 3 Volume */
  501. { 0x0000071E, 0x0000 }, /* R1822 - AIF1TX4MIX Input 4 Source */
  502. { 0x0000071F, 0x0080 }, /* R1823 - AIF1TX4MIX Input 4 Volume */
  503. { 0x00000720, 0x0000 }, /* R1824 - AIF1TX5MIX Input 1 Source */
  504. { 0x00000721, 0x0080 }, /* R1825 - AIF1TX5MIX Input 1 Volume */
  505. { 0x00000722, 0x0000 }, /* R1826 - AIF1TX5MIX Input 2 Source */
  506. { 0x00000723, 0x0080 }, /* R1827 - AIF1TX5MIX Input 2 Volume */
  507. { 0x00000724, 0x0000 }, /* R1828 - AIF1TX5MIX Input 3 Source */
  508. { 0x00000725, 0x0080 }, /* R1829 - AIF1TX5MIX Input 3 Volume */
  509. { 0x00000726, 0x0000 }, /* R1830 - AIF1TX5MIX Input 4 Source */
  510. { 0x00000727, 0x0080 }, /* R1831 - AIF1TX5MIX Input 4 Volume */
  511. { 0x00000728, 0x0000 }, /* R1832 - AIF1TX6MIX Input 1 Source */
  512. { 0x00000729, 0x0080 }, /* R1833 - AIF1TX6MIX Input 1 Volume */
  513. { 0x0000072A, 0x0000 }, /* R1834 - AIF1TX6MIX Input 2 Source */
  514. { 0x0000072B, 0x0080 }, /* R1835 - AIF1TX6MIX Input 2 Volume */
  515. { 0x0000072C, 0x0000 }, /* R1836 - AIF1TX6MIX Input 3 Source */
  516. { 0x0000072D, 0x0080 }, /* R1837 - AIF1TX6MIX Input 3 Volume */
  517. { 0x0000072E, 0x0000 }, /* R1838 - AIF1TX6MIX Input 4 Source */
  518. { 0x0000072F, 0x0080 }, /* R1839 - AIF1TX6MIX Input 4 Volume */
  519. { 0x00000740, 0x0000 }, /* R1856 - AIF2TX1MIX Input 1 Source */
  520. { 0x00000741, 0x0080 }, /* R1857 - AIF2TX1MIX Input 1 Volume */
  521. { 0x00000742, 0x0000 }, /* R1858 - AIF2TX1MIX Input 2 Source */
  522. { 0x00000743, 0x0080 }, /* R1859 - AIF2TX1MIX Input 2 Volume */
  523. { 0x00000744, 0x0000 }, /* R1860 - AIF2TX1MIX Input 3 Source */
  524. { 0x00000745, 0x0080 }, /* R1861 - AIF2TX1MIX Input 3 Volume */
  525. { 0x00000746, 0x0000 }, /* R1862 - AIF2TX1MIX Input 4 Source */
  526. { 0x00000747, 0x0080 }, /* R1863 - AIF2TX1MIX Input 4 Volume */
  527. { 0x00000748, 0x0000 }, /* R1864 - AIF2TX2MIX Input 1 Source */
  528. { 0x00000749, 0x0080 }, /* R1865 - AIF2TX2MIX Input 1 Volume */
  529. { 0x0000074A, 0x0000 }, /* R1866 - AIF2TX2MIX Input 2 Source */
  530. { 0x0000074B, 0x0080 }, /* R1867 - AIF2TX2MIX Input 2 Volume */
  531. { 0x0000074C, 0x0000 }, /* R1868 - AIF2TX2MIX Input 3 Source */
  532. { 0x0000074D, 0x0080 }, /* R1869 - AIF2TX2MIX Input 3 Volume */
  533. { 0x0000074E, 0x0000 }, /* R1870 - AIF2TX2MIX Input 4 Source */
  534. { 0x0000074F, 0x0080 }, /* R1871 - AIF2TX2MIX Input 4 Volume */
  535. { 0x00000750, 0x0000 }, /* R1872 - AIF2TX3MIX Input 1 Source */
  536. { 0x00000751, 0x0080 }, /* R1873 - AIF2TX3MIX Input 1 Volume */
  537. { 0x00000752, 0x0000 }, /* R1874 - AIF2TX3MIX Input 2 Source */
  538. { 0x00000753, 0x0080 }, /* R1875 - AIF2TX3MIX Input 2 Volume */
  539. { 0x00000754, 0x0000 }, /* R1876 - AIF2TX3MIX Input 3 Source */
  540. { 0x00000755, 0x0080 }, /* R1877 - AIF2TX3MIX Input 3 Volume */
  541. { 0x00000756, 0x0000 }, /* R1878 - AIF2TX3MIX Input 4 Source */
  542. { 0x00000757, 0x0080 }, /* R1879 - AIF2TX3MIX Input 4 Volume */
  543. { 0x00000758, 0x0000 }, /* R1880 - AIF2TX4MIX Input 1 Source */
  544. { 0x00000759, 0x0080 }, /* R1881 - AIF2TX4MIX Input 1 Volume */
  545. { 0x0000075A, 0x0000 }, /* R1882 - AIF2TX4MIX Input 2 Source */
  546. { 0x0000075B, 0x0080 }, /* R1883 - AIF2TX4MIX Input 2 Volume */
  547. { 0x0000075C, 0x0000 }, /* R1884 - AIF2TX4MIX Input 3 Source */
  548. { 0x0000075D, 0x0080 }, /* R1885 - AIF2TX4MIX Input 3 Volume */
  549. { 0x0000075E, 0x0000 }, /* R1886 - AIF2TX4MIX Input 4 Source */
  550. { 0x0000075F, 0x0080 }, /* R1887 - AIF2TX4MIX Input 4 Volume */
  551. { 0x00000760, 0x0000 }, /* R1888 - AIF2TX5MIX Input 1 Source */
  552. { 0x00000761, 0x0080 }, /* R1889 - AIF2TX5MIX Input 1 Volume */
  553. { 0x00000762, 0x0000 }, /* R1890 - AIF2TX5MIX Input 2 Source */
  554. { 0x00000763, 0x0080 }, /* R1891 - AIF2TX5MIX Input 2 Volume */
  555. { 0x00000764, 0x0000 }, /* R1892 - AIF2TX5MIX Input 3 Source */
  556. { 0x00000765, 0x0080 }, /* R1893 - AIF2TX5MIX Input 3 Volume */
  557. { 0x00000766, 0x0000 }, /* R1894 - AIF2TX5MIX Input 4 Source */
  558. { 0x00000767, 0x0080 }, /* R1895 - AIF2TX5MIX Input 4 Volume */
  559. { 0x00000768, 0x0000 }, /* R1896 - AIF2TX6MIX Input 1 Source */
  560. { 0x00000769, 0x0080 }, /* R1897 - AIF2TX6MIX Input 1 Volume */
  561. { 0x0000076A, 0x0000 }, /* R1898 - AIF2TX6MIX Input 2 Source */
  562. { 0x0000076B, 0x0080 }, /* R1899 - AIF2TX6MIX Input 2 Volume */
  563. { 0x0000076C, 0x0000 }, /* R1900 - AIF2TX6MIX Input 3 Source */
  564. { 0x0000076D, 0x0080 }, /* R1901 - AIF2TX6MIX Input 3 Volume */
  565. { 0x0000076E, 0x0000 }, /* R1902 - AIF2TX6MIX Input 4 Source */
  566. { 0x0000076F, 0x0080 }, /* R1903 - AIF2TX6MIX Input 4 Volume */
  567. { 0x00000780, 0x0000 }, /* R1920 - AIF3TX1MIX Input 1 Source */
  568. { 0x00000781, 0x0080 }, /* R1921 - AIF3TX1MIX Input 1 Volume */
  569. { 0x00000782, 0x0000 }, /* R1922 - AIF3TX1MIX Input 2 Source */
  570. { 0x00000783, 0x0080 }, /* R1923 - AIF3TX1MIX Input 2 Volume */
  571. { 0x00000784, 0x0000 }, /* R1924 - AIF3TX1MIX Input 3 Source */
  572. { 0x00000785, 0x0080 }, /* R1925 - AIF3TX1MIX Input 3 Volume */
  573. { 0x00000786, 0x0000 }, /* R1926 - AIF3TX1MIX Input 4 Source */
  574. { 0x00000787, 0x0080 }, /* R1927 - AIF3TX1MIX Input 4 Volume */
  575. { 0x00000788, 0x0000 }, /* R1928 - AIF3TX2MIX Input 1 Source */
  576. { 0x00000789, 0x0080 }, /* R1929 - AIF3TX2MIX Input 1 Volume */
  577. { 0x0000078A, 0x0000 }, /* R1930 - AIF3TX2MIX Input 2 Source */
  578. { 0x0000078B, 0x0080 }, /* R1931 - AIF3TX2MIX Input 2 Volume */
  579. { 0x0000078C, 0x0000 }, /* R1932 - AIF3TX2MIX Input 3 Source */
  580. { 0x0000078D, 0x0080 }, /* R1933 - AIF3TX2MIX Input 3 Volume */
  581. { 0x0000078E, 0x0000 }, /* R1934 - AIF3TX2MIX Input 4 Source */
  582. { 0x0000078F, 0x0080 }, /* R1935 - AIF3TX2MIX Input 4 Volume */
  583. { 0x000007C0, 0x0000 }, /* R1984 - SLIMTX1MIX Input 1 Source */
  584. { 0x000007C1, 0x0080 }, /* R1985 - SLIMTX1MIX Input 1 Volume */
  585. { 0x000007C8, 0x0000 }, /* R1992 - SLIMTX2MIX Input 1 Source */
  586. { 0x000007C9, 0x0080 }, /* R1993 - SLIMTX2MIX Input 1 Volume */
  587. { 0x000007D0, 0x0000 }, /* R2000 - SLIMTX3MIX Input 1 Source */
  588. { 0x000007D1, 0x0080 }, /* R2001 - SLIMTX3MIX Input 1 Volume */
  589. { 0x000007D8, 0x0000 }, /* R2008 - SLIMTX4MIX Input 1 Source */
  590. { 0x000007D9, 0x0080 }, /* R2009 - SLIMTX4MIX Input 1 Volume */
  591. { 0x000007E0, 0x0000 }, /* R2016 - SLIMTX5MIX Input 1 Source */
  592. { 0x000007E1, 0x0080 }, /* R2017 - SLIMTX5MIX Input 1 Volume */
  593. { 0x000007E8, 0x0000 }, /* R2024 - SLIMTX6MIX Input 1 Source */
  594. { 0x000007E9, 0x0080 }, /* R2025 - SLIMTX6MIX Input 1 Volume */
  595. { 0x00000800, 0x0000 }, /* R2048 - SPDIF1TX1MIX Input 1 Source */
  596. { 0x00000801, 0x0080 }, /* R2049 - SPDIF1TX1MIX Input 1 Volume */
  597. { 0x00000808, 0x0000 }, /* R2056 - SPDIF1TX2MIX Input 1 Source */
  598. { 0x00000809, 0x0080 }, /* R2057 - SPDIF1TX2MIX Input 1 Volume */
  599. { 0x00000880, 0x0000 }, /* R2176 - EQ1MIX Input 1 Source */
  600. { 0x00000881, 0x0080 }, /* R2177 - EQ1MIX Input 1 Volume */
  601. { 0x00000888, 0x0000 }, /* R2184 - EQ2MIX Input 1 Source */
  602. { 0x00000889, 0x0080 }, /* R2185 - EQ2MIX Input 1 Volume */
  603. { 0x00000890, 0x0000 }, /* R2192 - EQ3MIX Input 1 Source */
  604. { 0x00000891, 0x0080 }, /* R2193 - EQ3MIX Input 1 Volume */
  605. { 0x00000898, 0x0000 }, /* R2200 - EQ4MIX Input 1 Source */
  606. { 0x00000899, 0x0080 }, /* R2201 - EQ4MIX Input 1 Volume */
  607. { 0x000008C0, 0x0000 }, /* R2240 - DRC1LMIX Input 1 Source */
  608. { 0x000008C1, 0x0080 }, /* R2241 - DRC1LMIX Input 1 Volume */
  609. { 0x000008C8, 0x0000 }, /* R2248 - DRC1RMIX Input 1 Source */
  610. { 0x000008C9, 0x0080 }, /* R2249 - DRC1RMIX Input 1 Volume */
  611. { 0x00000900, 0x0000 }, /* R2304 - HPLP1MIX Input 1 Source */
  612. { 0x00000901, 0x0080 }, /* R2305 - HPLP1MIX Input 1 Volume */
  613. { 0x00000902, 0x0000 }, /* R2306 - HPLP1MIX Input 2 Source */
  614. { 0x00000903, 0x0080 }, /* R2307 - HPLP1MIX Input 2 Volume */
  615. { 0x00000904, 0x0000 }, /* R2308 - HPLP1MIX Input 3 Source */
  616. { 0x00000905, 0x0080 }, /* R2309 - HPLP1MIX Input 3 Volume */
  617. { 0x00000906, 0x0000 }, /* R2310 - HPLP1MIX Input 4 Source */
  618. { 0x00000907, 0x0080 }, /* R2311 - HPLP1MIX Input 4 Volume */
  619. { 0x00000908, 0x0000 }, /* R2312 - HPLP2MIX Input 1 Source */
  620. { 0x00000909, 0x0080 }, /* R2313 - HPLP2MIX Input 1 Volume */
  621. { 0x0000090A, 0x0000 }, /* R2314 - HPLP2MIX Input 2 Source */
  622. { 0x0000090B, 0x0080 }, /* R2315 - HPLP2MIX Input 2 Volume */
  623. { 0x0000090C, 0x0000 }, /* R2316 - HPLP2MIX Input 3 Source */
  624. { 0x0000090D, 0x0080 }, /* R2317 - HPLP2MIX Input 3 Volume */
  625. { 0x0000090E, 0x0000 }, /* R2318 - HPLP2MIX Input 4 Source */
  626. { 0x0000090F, 0x0080 }, /* R2319 - HPLP2MIX Input 4 Volume */
  627. { 0x00000910, 0x0000 }, /* R2320 - HPLP3MIX Input 1 Source */
  628. { 0x00000911, 0x0080 }, /* R2321 - HPLP3MIX Input 1 Volume */
  629. { 0x00000912, 0x0000 }, /* R2322 - HPLP3MIX Input 2 Source */
  630. { 0x00000913, 0x0080 }, /* R2323 - HPLP3MIX Input 2 Volume */
  631. { 0x00000914, 0x0000 }, /* R2324 - HPLP3MIX Input 3 Source */
  632. { 0x00000915, 0x0080 }, /* R2325 - HPLP3MIX Input 3 Volume */
  633. { 0x00000916, 0x0000 }, /* R2326 - HPLP3MIX Input 4 Source */
  634. { 0x00000917, 0x0080 }, /* R2327 - HPLP3MIX Input 4 Volume */
  635. { 0x00000918, 0x0000 }, /* R2328 - HPLP4MIX Input 1 Source */
  636. { 0x00000919, 0x0080 }, /* R2329 - HPLP4MIX Input 1 Volume */
  637. { 0x0000091A, 0x0000 }, /* R2330 - HPLP4MIX Input 2 Source */
  638. { 0x0000091B, 0x0080 }, /* R2331 - HPLP4MIX Input 2 Volume */
  639. { 0x0000091C, 0x0000 }, /* R2332 - HPLP4MIX Input 3 Source */
  640. { 0x0000091D, 0x0080 }, /* R2333 - HPLP4MIX Input 3 Volume */
  641. { 0x0000091E, 0x0000 }, /* R2334 - HPLP4MIX Input 4 Source */
  642. { 0x0000091F, 0x0080 }, /* R2335 - HPLP4MIX Input 4 Volume */
  643. { 0x00000A80, 0x0000 }, /* R2688 - ASRC1LMIX Input 1 Source */
  644. { 0x00000A88, 0x0000 }, /* R2696 - ASRC1RMIX Input 1 Source */
  645. { 0x00000A90, 0x0000 }, /* R2704 - ASRC2LMIX Input 1 Source */
  646. { 0x00000A98, 0x0000 }, /* R2712 - ASRC2RMIX Input 1 Source */
  647. { 0x00000B00, 0x0000 }, /* R2816 - ISRC1DEC1MIX Input 1 Source */
  648. { 0x00000B08, 0x0000 }, /* R2824 - ISRC1DEC2MIX Input 1 Source */
  649. { 0x00000B10, 0x0000 }, /* R2832 - ISRC1DEC3MIX Input 1 Source */
  650. { 0x00000B18, 0x0000 }, /* R2840 - ISRC1DEC4MIX Input 1 Source */
  651. { 0x00000B20, 0x0000 }, /* R2848 - ISRC1INT1MIX Input 1 Source */
  652. { 0x00000B28, 0x0000 }, /* R2856 - ISRC1INT2MIX Input 1 Source */
  653. { 0x00000B30, 0x0000 }, /* R2864 - ISRC1INT3MIX Input 1 Source */
  654. { 0x00000B38, 0x0000 }, /* R2872 - ISRC1INT4MIX Input 1 Source */
  655. { 0x00000B40, 0x0000 }, /* R2880 - ISRC2DEC1MIX Input 1 Source */
  656. { 0x00000B48, 0x0000 }, /* R2888 - ISRC2DEC2MIX Input 1 Source */
  657. { 0x00000B60, 0x0000 }, /* R2912 - ISRC2INT1MIX Input 1 Source */
  658. { 0x00000B68, 0x0000 }, /* R2920 - ISRC2INT2MIX Input 1 Source */
  659. { 0x00000C00, 0xA101 }, /* R3072 - GPIO1 CTRL */
  660. { 0x00000C01, 0xA101 }, /* R3073 - GPIO2 CTRL */
  661. { 0x00000C02, 0xA101 }, /* R3074 - GPIO3 CTRL */
  662. { 0x00000C03, 0xA101 }, /* R3075 - GPIO4 CTRL */
  663. { 0x00000C04, 0xA101 }, /* R3076 - GPIO5 CTRL */
  664. { 0x00000C0F, 0x0400 }, /* R3087 - IRQ CTRL 1 */
  665. { 0x00000C10, 0x1000 }, /* R3088 - GPIO Debounce Config */
  666. { 0x00000C18, 0x0000 }, /* R3096 - GP Switch 1 */
  667. { 0x00000C20, 0x8002 }, /* R3104 - Misc Pad Ctrl 1 */
  668. { 0x00000C21, 0x0001 }, /* R3105 - Misc Pad Ctrl 2 */
  669. { 0x00000C22, 0x0000 }, /* R3106 - Misc Pad Ctrl 3 */
  670. { 0x00000C23, 0x0000 }, /* R3107 - Misc Pad Ctrl 4 */
  671. { 0x00000C24, 0x0000 }, /* R3108 - Misc Pad Ctrl 5 */
  672. { 0x00000C25, 0x0000 }, /* R3109 - Misc Pad Ctrl 6 */
  673. { 0x00000D08, 0xFFFF }, /* R3336 - Interrupt Status 1 Mask */
  674. { 0x00000D09, 0xFFFF }, /* R3337 - Interrupt Status 2 Mask */
  675. { 0x00000D0A, 0xFFFF }, /* R3338 - Interrupt Status 3 Mask */
  676. { 0x00000D0B, 0xFFFF }, /* R3339 - Interrupt Status 4 Mask */
  677. { 0x00000D0C, 0xFEFF }, /* R3340 - Interrupt Status 5 Mask */
  678. { 0x00000D0F, 0x0000 }, /* R3343 - Interrupt Control */
  679. { 0x00000D18, 0xFFFF }, /* R3352 - IRQ2 Status 1 Mask */
  680. { 0x00000D19, 0xFFFF }, /* R3353 - IRQ2 Status 2 Mask */
  681. { 0x00000D1A, 0xFFFF }, /* R3354 - IRQ2 Status 3 Mask */
  682. { 0x00000D1B, 0xFFFF }, /* R3355 - IRQ2 Status 4 Mask */
  683. { 0x00000D1C, 0xFEFF }, /* R3356 - IRQ2 Status 5 Mask */
  684. { 0x00000D1F, 0x0000 }, /* R3359 - IRQ2 Control */
  685. { 0x00000D53, 0xFFFF }, /* R3411 - AOD IRQ Mask IRQ1 */
  686. { 0x00000D54, 0xFFFF }, /* R3412 - AOD IRQ Mask IRQ2 */
  687. { 0x00000D56, 0x0000 }, /* R3414 - Jack detect debounce */
  688. { 0x00000E00, 0x0000 }, /* R3584 - FX_Ctrl1 */
  689. { 0x00000E10, 0x6318 }, /* R3600 - EQ1_1 */
  690. { 0x00000E11, 0x6300 }, /* R3601 - EQ1_2 */
  691. { 0x00000E12, 0x0FC8 }, /* R3602 - EQ1_3 */
  692. { 0x00000E13, 0x03FE }, /* R3603 - EQ1_4 */
  693. { 0x00000E14, 0x00E0 }, /* R3604 - EQ1_5 */
  694. { 0x00000E15, 0x1EC4 }, /* R3605 - EQ1_6 */
  695. { 0x00000E16, 0xF136 }, /* R3606 - EQ1_7 */
  696. { 0x00000E17, 0x0409 }, /* R3607 - EQ1_8 */
  697. { 0x00000E18, 0x04CC }, /* R3608 - EQ1_9 */
  698. { 0x00000E19, 0x1C9B }, /* R3609 - EQ1_10 */
  699. { 0x00000E1A, 0xF337 }, /* R3610 - EQ1_11 */
  700. { 0x00000E1B, 0x040B }, /* R3611 - EQ1_12 */
  701. { 0x00000E1C, 0x0CBB }, /* R3612 - EQ1_13 */
  702. { 0x00000E1D, 0x16F8 }, /* R3613 - EQ1_14 */
  703. { 0x00000E1E, 0xF7D9 }, /* R3614 - EQ1_15 */
  704. { 0x00000E1F, 0x040A }, /* R3615 - EQ1_16 */
  705. { 0x00000E20, 0x1F14 }, /* R3616 - EQ1_17 */
  706. { 0x00000E21, 0x058C }, /* R3617 - EQ1_18 */
  707. { 0x00000E22, 0x0563 }, /* R3618 - EQ1_19 */
  708. { 0x00000E23, 0x4000 }, /* R3619 - EQ1_20 */
  709. { 0x00000E24, 0x0B75 }, /* R3620 - EQ1_21 */
  710. { 0x00000E26, 0x6318 }, /* R3622 - EQ2_1 */
  711. { 0x00000E27, 0x6300 }, /* R3623 - EQ2_2 */
  712. { 0x00000E28, 0x0FC8 }, /* R3624 - EQ2_3 */
  713. { 0x00000E29, 0x03FE }, /* R3625 - EQ2_4 */
  714. { 0x00000E2A, 0x00E0 }, /* R3626 - EQ2_5 */
  715. { 0x00000E2B, 0x1EC4 }, /* R3627 - EQ2_6 */
  716. { 0x00000E2C, 0xF136 }, /* R3628 - EQ2_7 */
  717. { 0x00000E2D, 0x0409 }, /* R3629 - EQ2_8 */
  718. { 0x00000E2E, 0x04CC }, /* R3630 - EQ2_9 */
  719. { 0x00000E2F, 0x1C9B }, /* R3631 - EQ2_10 */
  720. { 0x00000E30, 0xF337 }, /* R3632 - EQ2_11 */
  721. { 0x00000E31, 0x040B }, /* R3633 - EQ2_12 */
  722. { 0x00000E32, 0x0CBB }, /* R3634 - EQ2_13 */
  723. { 0x00000E33, 0x16F8 }, /* R3635 - EQ2_14 */
  724. { 0x00000E34, 0xF7D9 }, /* R3636 - EQ2_15 */
  725. { 0x00000E35, 0x040A }, /* R3637 - EQ2_16 */
  726. { 0x00000E36, 0x1F14 }, /* R3638 - EQ2_17 */
  727. { 0x00000E37, 0x058C }, /* R3639 - EQ2_18 */
  728. { 0x00000E38, 0x0563 }, /* R3640 - EQ2_19 */
  729. { 0x00000E39, 0x4000 }, /* R3641 - EQ2_20 */
  730. { 0x00000E3A, 0x0B75 }, /* R3642 - EQ2_21 */
  731. { 0x00000E3C, 0x6318 }, /* R3644 - EQ3_1 */
  732. { 0x00000E3D, 0x6300 }, /* R3645 - EQ3_2 */
  733. { 0x00000E3E, 0x0FC8 }, /* R3646 - EQ3_3 */
  734. { 0x00000E3F, 0x03FE }, /* R3647 - EQ3_4 */
  735. { 0x00000E40, 0x00E0 }, /* R3648 - EQ3_5 */
  736. { 0x00000E41, 0x1EC4 }, /* R3649 - EQ3_6 */
  737. { 0x00000E42, 0xF136 }, /* R3650 - EQ3_7 */
  738. { 0x00000E43, 0x0409 }, /* R3651 - EQ3_8 */
  739. { 0x00000E44, 0x04CC }, /* R3652 - EQ3_9 */
  740. { 0x00000E45, 0x1C9B }, /* R3653 - EQ3_10 */
  741. { 0x00000E46, 0xF337 }, /* R3654 - EQ3_11 */
  742. { 0x00000E47, 0x040B }, /* R3655 - EQ3_12 */
  743. { 0x00000E48, 0x0CBB }, /* R3656 - EQ3_13 */
  744. { 0x00000E49, 0x16F8 }, /* R3657 - EQ3_14 */
  745. { 0x00000E4A, 0xF7D9 }, /* R3658 - EQ3_15 */
  746. { 0x00000E4B, 0x040A }, /* R3659 - EQ3_16 */
  747. { 0x00000E4C, 0x1F14 }, /* R3660 - EQ3_17 */
  748. { 0x00000E4D, 0x058C }, /* R3661 - EQ3_18 */
  749. { 0x00000E4E, 0x0563 }, /* R3662 - EQ3_19 */
  750. { 0x00000E4F, 0x4000 }, /* R3663 - EQ3_20 */
  751. { 0x00000E50, 0x0B75 }, /* R3664 - EQ3_21 */
  752. { 0x00000E52, 0x6318 }, /* R3666 - EQ4_1 */
  753. { 0x00000E53, 0x6300 }, /* R3667 - EQ4_2 */
  754. { 0x00000E54, 0x0FC8 }, /* R3668 - EQ4_3 */
  755. { 0x00000E55, 0x03FE }, /* R3669 - EQ4_4 */
  756. { 0x00000E56, 0x00E0 }, /* R3670 - EQ4_5 */
  757. { 0x00000E57, 0x1EC4 }, /* R3671 - EQ4_6 */
  758. { 0x00000E58, 0xF136 }, /* R3672 - EQ4_7 */
  759. { 0x00000E59, 0x0409 }, /* R3673 - EQ4_8 */
  760. { 0x00000E5A, 0x04CC }, /* R3674 - EQ4_9 */
  761. { 0x00000E5B, 0x1C9B }, /* R3675 - EQ4_10 */
  762. { 0x00000E5C, 0xF337 }, /* R3676 - EQ4_11 */
  763. { 0x00000E5D, 0x040B }, /* R3677 - EQ4_12 */
  764. { 0x00000E5E, 0x0CBB }, /* R3678 - EQ4_13 */
  765. { 0x00000E5F, 0x16F8 }, /* R3679 - EQ4_14 */
  766. { 0x00000E60, 0xF7D9 }, /* R3680 - EQ4_15 */
  767. { 0x00000E61, 0x040A }, /* R3681 - EQ4_16 */
  768. { 0x00000E62, 0x1F14 }, /* R3682 - EQ4_17 */
  769. { 0x00000E63, 0x058C }, /* R3683 - EQ4_18 */
  770. { 0x00000E64, 0x0563 }, /* R3684 - EQ4_19 */
  771. { 0x00000E65, 0x4000 }, /* R3685 - EQ4_20 */
  772. { 0x00000E66, 0x0B75 }, /* R3686 - EQ4_21 */
  773. { 0x00000E80, 0x0018 }, /* R3712 - DRC1 ctrl1 */
  774. { 0x00000E81, 0x0933 }, /* R3713 - DRC1 ctrl2 */
  775. { 0x00000E82, 0x0018 }, /* R3714 - DRC1 ctrl3 */
  776. { 0x00000E83, 0x0000 }, /* R3715 - DRC1 ctrl4 */
  777. { 0x00000E84, 0x0000 }, /* R3716 - DRC1 ctrl5 */
  778. { 0x00000EC0, 0x0000 }, /* R3776 - HPLPF1_1 */
  779. { 0x00000EC1, 0x0000 }, /* R3777 - HPLPF1_2 */
  780. { 0x00000EC4, 0x0000 }, /* R3780 - HPLPF2_1 */
  781. { 0x00000EC5, 0x0000 }, /* R3781 - HPLPF2_2 */
  782. { 0x00000EC8, 0x0000 }, /* R3784 - HPLPF3_1 */
  783. { 0x00000EC9, 0x0000 }, /* R3785 - HPLPF3_2 */
  784. { 0x00000ECC, 0x0000 }, /* R3788 - HPLPF4_1 */
  785. { 0x00000ECD, 0x0000 }, /* R3789 - HPLPF4_2 */
  786. { 0x00000EE0, 0x0000 }, /* R3808 - ASRC_ENABLE */
  787. { 0x00000EE2, 0x0000 }, /* R3810 - ASRC_RATE1 */
  788. { 0x00000EE3, 0x4000 }, /* R3811 - ASRC_RATE2 */
  789. { 0x00000EF0, 0x0000 }, /* R3824 - ISRC 1 CTRL 1 */
  790. { 0x00000EF1, 0x0001 }, /* R3825 - ISRC 1 CTRL 2 */
  791. { 0x00000EF2, 0x0000 }, /* R3826 - ISRC 1 CTRL 3 */
  792. { 0x00000EF3, 0x0000 }, /* R3827 - ISRC 2 CTRL 1 */
  793. { 0x00000EF4, 0x0001 }, /* R3828 - ISRC 2 CTRL 2 */
  794. { 0x00000EF5, 0x0000 }, /* R3829 - ISRC 2 CTRL 3 */
  795. };
  796. static bool wm8998_readable_register(struct device *dev, unsigned int reg)
  797. {
  798. switch (reg) {
  799. case ARIZONA_SOFTWARE_RESET:
  800. case ARIZONA_DEVICE_REVISION:
  801. case ARIZONA_CTRL_IF_I2C1_CFG_1:
  802. case ARIZONA_CTRL_IF_I2C1_CFG_2:
  803. case ARIZONA_WRITE_SEQUENCER_CTRL_0:
  804. case ARIZONA_WRITE_SEQUENCER_CTRL_1:
  805. case ARIZONA_WRITE_SEQUENCER_CTRL_2:
  806. case ARIZONA_TONE_GENERATOR_1:
  807. case ARIZONA_TONE_GENERATOR_2:
  808. case ARIZONA_TONE_GENERATOR_3:
  809. case ARIZONA_TONE_GENERATOR_4:
  810. case ARIZONA_TONE_GENERATOR_5:
  811. case ARIZONA_PWM_DRIVE_1:
  812. case ARIZONA_PWM_DRIVE_2:
  813. case ARIZONA_PWM_DRIVE_3:
  814. case ARIZONA_WAKE_CONTROL:
  815. case ARIZONA_SEQUENCE_CONTROL:
  816. case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_1:
  817. case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_2:
  818. case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_3:
  819. case ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_4:
  820. case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_1:
  821. case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_2:
  822. case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_3:
  823. case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_4:
  824. case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_5:
  825. case ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_6:
  826. case ARIZONA_HAPTICS_CONTROL_1:
  827. case ARIZONA_HAPTICS_CONTROL_2:
  828. case ARIZONA_HAPTICS_PHASE_1_INTENSITY:
  829. case ARIZONA_HAPTICS_PHASE_1_DURATION:
  830. case ARIZONA_HAPTICS_PHASE_2_INTENSITY:
  831. case ARIZONA_HAPTICS_PHASE_2_DURATION:
  832. case ARIZONA_HAPTICS_PHASE_3_INTENSITY:
  833. case ARIZONA_HAPTICS_PHASE_3_DURATION:
  834. case ARIZONA_HAPTICS_STATUS:
  835. case ARIZONA_CLOCK_32K_1:
  836. case ARIZONA_SYSTEM_CLOCK_1:
  837. case ARIZONA_SAMPLE_RATE_1:
  838. case ARIZONA_SAMPLE_RATE_2:
  839. case ARIZONA_SAMPLE_RATE_3:
  840. case ARIZONA_SAMPLE_RATE_1_STATUS:
  841. case ARIZONA_SAMPLE_RATE_2_STATUS:
  842. case ARIZONA_SAMPLE_RATE_3_STATUS:
  843. case ARIZONA_ASYNC_CLOCK_1:
  844. case ARIZONA_ASYNC_SAMPLE_RATE_1:
  845. case ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS:
  846. case ARIZONA_ASYNC_SAMPLE_RATE_2:
  847. case ARIZONA_ASYNC_SAMPLE_RATE_2_STATUS:
  848. case ARIZONA_OUTPUT_SYSTEM_CLOCK:
  849. case ARIZONA_OUTPUT_ASYNC_CLOCK:
  850. case ARIZONA_RATE_ESTIMATOR_1:
  851. case ARIZONA_RATE_ESTIMATOR_2:
  852. case ARIZONA_RATE_ESTIMATOR_3:
  853. case ARIZONA_RATE_ESTIMATOR_4:
  854. case ARIZONA_RATE_ESTIMATOR_5:
  855. case ARIZONA_DYNAMIC_FREQUENCY_SCALING_1:
  856. case ARIZONA_FLL1_CONTROL_1:
  857. case ARIZONA_FLL1_CONTROL_2:
  858. case ARIZONA_FLL1_CONTROL_3:
  859. case ARIZONA_FLL1_CONTROL_4:
  860. case ARIZONA_FLL1_CONTROL_5:
  861. case ARIZONA_FLL1_CONTROL_6:
  862. case ARIZONA_FLL1_CONTROL_7:
  863. case ARIZONA_FLL1_SYNCHRONISER_1:
  864. case ARIZONA_FLL1_SYNCHRONISER_2:
  865. case ARIZONA_FLL1_SYNCHRONISER_3:
  866. case ARIZONA_FLL1_SYNCHRONISER_4:
  867. case ARIZONA_FLL1_SYNCHRONISER_5:
  868. case ARIZONA_FLL1_SYNCHRONISER_6:
  869. case ARIZONA_FLL1_SYNCHRONISER_7:
  870. case ARIZONA_FLL1_SPREAD_SPECTRUM:
  871. case ARIZONA_FLL1_GPIO_CLOCK:
  872. case ARIZONA_FLL2_CONTROL_1:
  873. case ARIZONA_FLL2_CONTROL_2:
  874. case ARIZONA_FLL2_CONTROL_3:
  875. case ARIZONA_FLL2_CONTROL_4:
  876. case ARIZONA_FLL2_CONTROL_5:
  877. case ARIZONA_FLL2_CONTROL_6:
  878. case ARIZONA_FLL2_CONTROL_7:
  879. case ARIZONA_FLL2_SYNCHRONISER_1:
  880. case ARIZONA_FLL2_SYNCHRONISER_2:
  881. case ARIZONA_FLL2_SYNCHRONISER_3:
  882. case ARIZONA_FLL2_SYNCHRONISER_4:
  883. case ARIZONA_FLL2_SYNCHRONISER_5:
  884. case ARIZONA_FLL2_SYNCHRONISER_6:
  885. case ARIZONA_FLL2_SYNCHRONISER_7:
  886. case ARIZONA_FLL2_SPREAD_SPECTRUM:
  887. case ARIZONA_FLL2_GPIO_CLOCK:
  888. case ARIZONA_MIC_CHARGE_PUMP_1:
  889. case ARIZONA_LDO1_CONTROL_1:
  890. case ARIZONA_LDO1_CONTROL_2:
  891. case ARIZONA_LDO2_CONTROL_1:
  892. case ARIZONA_MIC_BIAS_CTRL_1:
  893. case ARIZONA_MIC_BIAS_CTRL_2:
  894. case ARIZONA_MIC_BIAS_CTRL_3:
  895. case ARIZONA_ACCESSORY_DETECT_MODE_1:
  896. case ARIZONA_HEADPHONE_DETECT_1:
  897. case ARIZONA_HEADPHONE_DETECT_2:
  898. case ARIZONA_MICD_CLAMP_CONTROL:
  899. case ARIZONA_MIC_DETECT_1:
  900. case ARIZONA_MIC_DETECT_2:
  901. case ARIZONA_MIC_DETECT_3:
  902. case ARIZONA_MIC_DETECT_4:
  903. case ARIZONA_MIC_DETECT_LEVEL_1:
  904. case ARIZONA_MIC_DETECT_LEVEL_2:
  905. case ARIZONA_MIC_DETECT_LEVEL_3:
  906. case ARIZONA_MIC_DETECT_LEVEL_4:
  907. case ARIZONA_ISOLATION_CONTROL:
  908. case ARIZONA_JACK_DETECT_ANALOGUE:
  909. case ARIZONA_INPUT_ENABLES:
  910. case ARIZONA_INPUT_ENABLES_STATUS:
  911. case ARIZONA_INPUT_RATE:
  912. case ARIZONA_INPUT_VOLUME_RAMP:
  913. case ARIZONA_HPF_CONTROL:
  914. case ARIZONA_IN1L_CONTROL:
  915. case ARIZONA_ADC_DIGITAL_VOLUME_1L:
  916. case ARIZONA_DMIC1L_CONTROL:
  917. case ARIZONA_IN1R_CONTROL:
  918. case ARIZONA_ADC_DIGITAL_VOLUME_1R:
  919. case ARIZONA_DMIC1R_CONTROL:
  920. case ARIZONA_IN2L_CONTROL:
  921. case ARIZONA_ADC_DIGITAL_VOLUME_2L:
  922. case ARIZONA_DMIC2L_CONTROL:
  923. case ARIZONA_OUTPUT_ENABLES_1:
  924. case ARIZONA_OUTPUT_STATUS_1:
  925. case ARIZONA_RAW_OUTPUT_STATUS_1:
  926. case ARIZONA_OUTPUT_RATE_1:
  927. case ARIZONA_OUTPUT_VOLUME_RAMP:
  928. case ARIZONA_OUTPUT_PATH_CONFIG_1L:
  929. case ARIZONA_DAC_DIGITAL_VOLUME_1L:
  930. case ARIZONA_NOISE_GATE_SELECT_1L:
  931. case ARIZONA_OUTPUT_PATH_CONFIG_1R:
  932. case ARIZONA_DAC_DIGITAL_VOLUME_1R:
  933. case ARIZONA_NOISE_GATE_SELECT_1R:
  934. case ARIZONA_OUTPUT_PATH_CONFIG_2L:
  935. case ARIZONA_DAC_DIGITAL_VOLUME_2L:
  936. case ARIZONA_NOISE_GATE_SELECT_2L:
  937. case ARIZONA_OUTPUT_PATH_CONFIG_2R:
  938. case ARIZONA_DAC_DIGITAL_VOLUME_2R:
  939. case ARIZONA_NOISE_GATE_SELECT_2R:
  940. case ARIZONA_OUTPUT_PATH_CONFIG_3L:
  941. case ARIZONA_DAC_DIGITAL_VOLUME_3L:
  942. case ARIZONA_NOISE_GATE_SELECT_3L:
  943. case ARIZONA_OUTPUT_PATH_CONFIG_4L:
  944. case ARIZONA_DAC_DIGITAL_VOLUME_4L:
  945. case ARIZONA_NOISE_GATE_SELECT_4L:
  946. case ARIZONA_OUTPUT_PATH_CONFIG_4R:
  947. case ARIZONA_DAC_DIGITAL_VOLUME_4R:
  948. case ARIZONA_NOISE_GATE_SELECT_4R:
  949. case ARIZONA_OUTPUT_PATH_CONFIG_5L:
  950. case ARIZONA_DAC_DIGITAL_VOLUME_5L:
  951. case ARIZONA_NOISE_GATE_SELECT_5L:
  952. case ARIZONA_OUTPUT_PATH_CONFIG_5R:
  953. case ARIZONA_DAC_DIGITAL_VOLUME_5R:
  954. case ARIZONA_NOISE_GATE_SELECT_5R:
  955. case ARIZONA_DRE_ENABLE:
  956. case ARIZONA_DRE_CONTROL_1:
  957. case ARIZONA_DRE_CONTROL_2:
  958. case ARIZONA_DRE_CONTROL_3:
  959. case ARIZONA_EDRE_ENABLE:
  960. case ARIZONA_DAC_AEC_CONTROL_1:
  961. case ARIZONA_DAC_AEC_CONTROL_2:
  962. case ARIZONA_NOISE_GATE_CONTROL:
  963. case ARIZONA_PDM_SPK1_CTRL_1:
  964. case ARIZONA_PDM_SPK1_CTRL_2:
  965. case ARIZONA_HP_TEST_CTRL_13:
  966. case ARIZONA_AIF1_BCLK_CTRL:
  967. case ARIZONA_AIF1_TX_PIN_CTRL:
  968. case ARIZONA_AIF1_RX_PIN_CTRL:
  969. case ARIZONA_AIF1_RATE_CTRL:
  970. case ARIZONA_AIF1_FORMAT:
  971. case ARIZONA_AIF1_RX_BCLK_RATE:
  972. case ARIZONA_AIF1_FRAME_CTRL_1:
  973. case ARIZONA_AIF1_FRAME_CTRL_2:
  974. case ARIZONA_AIF1_FRAME_CTRL_3:
  975. case ARIZONA_AIF1_FRAME_CTRL_4:
  976. case ARIZONA_AIF1_FRAME_CTRL_5:
  977. case ARIZONA_AIF1_FRAME_CTRL_6:
  978. case ARIZONA_AIF1_FRAME_CTRL_7:
  979. case ARIZONA_AIF1_FRAME_CTRL_8:
  980. case ARIZONA_AIF1_FRAME_CTRL_11:
  981. case ARIZONA_AIF1_FRAME_CTRL_12:
  982. case ARIZONA_AIF1_FRAME_CTRL_13:
  983. case ARIZONA_AIF1_FRAME_CTRL_14:
  984. case ARIZONA_AIF1_FRAME_CTRL_15:
  985. case ARIZONA_AIF1_FRAME_CTRL_16:
  986. case ARIZONA_AIF1_TX_ENABLES:
  987. case ARIZONA_AIF1_RX_ENABLES:
  988. case ARIZONA_AIF2_BCLK_CTRL:
  989. case ARIZONA_AIF2_TX_PIN_CTRL:
  990. case ARIZONA_AIF2_RX_PIN_CTRL:
  991. case ARIZONA_AIF2_RATE_CTRL:
  992. case ARIZONA_AIF2_FORMAT:
  993. case ARIZONA_AIF2_RX_BCLK_RATE:
  994. case ARIZONA_AIF2_FRAME_CTRL_1:
  995. case ARIZONA_AIF2_FRAME_CTRL_2:
  996. case ARIZONA_AIF2_FRAME_CTRL_3:
  997. case ARIZONA_AIF2_FRAME_CTRL_4:
  998. case ARIZONA_AIF2_FRAME_CTRL_5:
  999. case ARIZONA_AIF2_FRAME_CTRL_6:
  1000. case ARIZONA_AIF2_FRAME_CTRL_7:
  1001. case ARIZONA_AIF2_FRAME_CTRL_8:
  1002. case ARIZONA_AIF2_FRAME_CTRL_11:
  1003. case ARIZONA_AIF2_FRAME_CTRL_12:
  1004. case ARIZONA_AIF2_FRAME_CTRL_13:
  1005. case ARIZONA_AIF2_FRAME_CTRL_14:
  1006. case ARIZONA_AIF2_FRAME_CTRL_15:
  1007. case ARIZONA_AIF2_FRAME_CTRL_16:
  1008. case ARIZONA_AIF2_TX_ENABLES:
  1009. case ARIZONA_AIF2_RX_ENABLES:
  1010. case ARIZONA_AIF3_BCLK_CTRL:
  1011. case ARIZONA_AIF3_TX_PIN_CTRL:
  1012. case ARIZONA_AIF3_RX_PIN_CTRL:
  1013. case ARIZONA_AIF3_RATE_CTRL:
  1014. case ARIZONA_AIF3_FORMAT:
  1015. case ARIZONA_AIF3_RX_BCLK_RATE:
  1016. case ARIZONA_AIF3_FRAME_CTRL_1:
  1017. case ARIZONA_AIF3_FRAME_CTRL_2:
  1018. case ARIZONA_AIF3_FRAME_CTRL_3:
  1019. case ARIZONA_AIF3_FRAME_CTRL_4:
  1020. case ARIZONA_AIF3_FRAME_CTRL_11:
  1021. case ARIZONA_AIF3_FRAME_CTRL_12:
  1022. case ARIZONA_AIF3_TX_ENABLES:
  1023. case ARIZONA_AIF3_RX_ENABLES:
  1024. case ARIZONA_SPD1_TX_CONTROL:
  1025. case ARIZONA_SPD1_TX_CHANNEL_STATUS_1:
  1026. case ARIZONA_SPD1_TX_CHANNEL_STATUS_2:
  1027. case ARIZONA_SPD1_TX_CHANNEL_STATUS_3:
  1028. case ARIZONA_SLIMBUS_FRAMER_REF_GEAR:
  1029. case ARIZONA_SLIMBUS_RATES_1:
  1030. case ARIZONA_SLIMBUS_RATES_2:
  1031. case ARIZONA_SLIMBUS_RATES_5:
  1032. case ARIZONA_SLIMBUS_RATES_6:
  1033. case ARIZONA_SLIMBUS_RATES_7:
  1034. case ARIZONA_SLIMBUS_RX_CHANNEL_ENABLE:
  1035. case ARIZONA_SLIMBUS_TX_CHANNEL_ENABLE:
  1036. case ARIZONA_SLIMBUS_RX_PORT_STATUS:
  1037. case ARIZONA_SLIMBUS_TX_PORT_STATUS:
  1038. case ARIZONA_PWM1MIX_INPUT_1_SOURCE:
  1039. case ARIZONA_PWM1MIX_INPUT_1_VOLUME:
  1040. case ARIZONA_PWM1MIX_INPUT_2_SOURCE:
  1041. case ARIZONA_PWM1MIX_INPUT_2_VOLUME:
  1042. case ARIZONA_PWM1MIX_INPUT_3_SOURCE:
  1043. case ARIZONA_PWM1MIX_INPUT_3_VOLUME:
  1044. case ARIZONA_PWM1MIX_INPUT_4_SOURCE:
  1045. case ARIZONA_PWM1MIX_INPUT_4_VOLUME:
  1046. case ARIZONA_PWM2MIX_INPUT_1_SOURCE:
  1047. case ARIZONA_PWM2MIX_INPUT_1_VOLUME:
  1048. case ARIZONA_PWM2MIX_INPUT_2_SOURCE:
  1049. case ARIZONA_PWM2MIX_INPUT_2_VOLUME:
  1050. case ARIZONA_PWM2MIX_INPUT_3_SOURCE:
  1051. case ARIZONA_PWM2MIX_INPUT_3_VOLUME:
  1052. case ARIZONA_PWM2MIX_INPUT_4_SOURCE:
  1053. case ARIZONA_PWM2MIX_INPUT_4_VOLUME:
  1054. case ARIZONA_OUT1LMIX_INPUT_1_SOURCE:
  1055. case ARIZONA_OUT1LMIX_INPUT_1_VOLUME:
  1056. case ARIZONA_OUT1LMIX_INPUT_2_SOURCE:
  1057. case ARIZONA_OUT1LMIX_INPUT_2_VOLUME:
  1058. case ARIZONA_OUT1LMIX_INPUT_3_SOURCE:
  1059. case ARIZONA_OUT1LMIX_INPUT_3_VOLUME:
  1060. case ARIZONA_OUT1LMIX_INPUT_4_SOURCE:
  1061. case ARIZONA_OUT1LMIX_INPUT_4_VOLUME:
  1062. case ARIZONA_OUT1RMIX_INPUT_1_SOURCE:
  1063. case ARIZONA_OUT1RMIX_INPUT_1_VOLUME:
  1064. case ARIZONA_OUT1RMIX_INPUT_2_SOURCE:
  1065. case ARIZONA_OUT1RMIX_INPUT_2_VOLUME:
  1066. case ARIZONA_OUT1RMIX_INPUT_3_SOURCE:
  1067. case ARIZONA_OUT1RMIX_INPUT_3_VOLUME:
  1068. case ARIZONA_OUT1RMIX_INPUT_4_SOURCE:
  1069. case ARIZONA_OUT1RMIX_INPUT_4_VOLUME:
  1070. case ARIZONA_OUT2LMIX_INPUT_1_SOURCE:
  1071. case ARIZONA_OUT2LMIX_INPUT_1_VOLUME:
  1072. case ARIZONA_OUT2LMIX_INPUT_2_SOURCE:
  1073. case ARIZONA_OUT2LMIX_INPUT_2_VOLUME:
  1074. case ARIZONA_OUT2LMIX_INPUT_3_SOURCE:
  1075. case ARIZONA_OUT2LMIX_INPUT_3_VOLUME:
  1076. case ARIZONA_OUT2LMIX_INPUT_4_SOURCE:
  1077. case ARIZONA_OUT2LMIX_INPUT_4_VOLUME:
  1078. case ARIZONA_OUT2RMIX_INPUT_1_SOURCE:
  1079. case ARIZONA_OUT2RMIX_INPUT_1_VOLUME:
  1080. case ARIZONA_OUT2RMIX_INPUT_2_SOURCE:
  1081. case ARIZONA_OUT2RMIX_INPUT_2_VOLUME:
  1082. case ARIZONA_OUT2RMIX_INPUT_3_SOURCE:
  1083. case ARIZONA_OUT2RMIX_INPUT_3_VOLUME:
  1084. case ARIZONA_OUT2RMIX_INPUT_4_SOURCE:
  1085. case ARIZONA_OUT2RMIX_INPUT_4_VOLUME:
  1086. case ARIZONA_OUT3LMIX_INPUT_1_SOURCE:
  1087. case ARIZONA_OUT3LMIX_INPUT_1_VOLUME:
  1088. case ARIZONA_OUT3LMIX_INPUT_2_SOURCE:
  1089. case ARIZONA_OUT3LMIX_INPUT_2_VOLUME:
  1090. case ARIZONA_OUT3LMIX_INPUT_3_SOURCE:
  1091. case ARIZONA_OUT3LMIX_INPUT_3_VOLUME:
  1092. case ARIZONA_OUT3LMIX_INPUT_4_SOURCE:
  1093. case ARIZONA_OUT3LMIX_INPUT_4_VOLUME:
  1094. case ARIZONA_OUT4LMIX_INPUT_1_SOURCE:
  1095. case ARIZONA_OUT4LMIX_INPUT_1_VOLUME:
  1096. case ARIZONA_OUT4LMIX_INPUT_2_SOURCE:
  1097. case ARIZONA_OUT4LMIX_INPUT_2_VOLUME:
  1098. case ARIZONA_OUT4LMIX_INPUT_3_SOURCE:
  1099. case ARIZONA_OUT4LMIX_INPUT_3_VOLUME:
  1100. case ARIZONA_OUT4LMIX_INPUT_4_SOURCE:
  1101. case ARIZONA_OUT4LMIX_INPUT_4_VOLUME:
  1102. case ARIZONA_OUT4RMIX_INPUT_1_SOURCE:
  1103. case ARIZONA_OUT4RMIX_INPUT_1_VOLUME:
  1104. case ARIZONA_OUT4RMIX_INPUT_2_SOURCE:
  1105. case ARIZONA_OUT4RMIX_INPUT_2_VOLUME:
  1106. case ARIZONA_OUT4RMIX_INPUT_3_SOURCE:
  1107. case ARIZONA_OUT4RMIX_INPUT_3_VOLUME:
  1108. case ARIZONA_OUT4RMIX_INPUT_4_SOURCE:
  1109. case ARIZONA_OUT4RMIX_INPUT_4_VOLUME:
  1110. case ARIZONA_OUT5LMIX_INPUT_1_SOURCE:
  1111. case ARIZONA_OUT5LMIX_INPUT_1_VOLUME:
  1112. case ARIZONA_OUT5LMIX_INPUT_2_SOURCE:
  1113. case ARIZONA_OUT5LMIX_INPUT_2_VOLUME:
  1114. case ARIZONA_OUT5LMIX_INPUT_3_SOURCE:
  1115. case ARIZONA_OUT5LMIX_INPUT_3_VOLUME:
  1116. case ARIZONA_OUT5LMIX_INPUT_4_SOURCE:
  1117. case ARIZONA_OUT5LMIX_INPUT_4_VOLUME:
  1118. case ARIZONA_OUT5RMIX_INPUT_1_SOURCE:
  1119. case ARIZONA_OUT5RMIX_INPUT_1_VOLUME:
  1120. case ARIZONA_OUT5RMIX_INPUT_2_SOURCE:
  1121. case ARIZONA_OUT5RMIX_INPUT_2_VOLUME:
  1122. case ARIZONA_OUT5RMIX_INPUT_3_SOURCE:
  1123. case ARIZONA_OUT5RMIX_INPUT_3_VOLUME:
  1124. case ARIZONA_OUT5RMIX_INPUT_4_SOURCE:
  1125. case ARIZONA_OUT5RMIX_INPUT_4_VOLUME:
  1126. case ARIZONA_AIF1TX1MIX_INPUT_1_SOURCE:
  1127. case ARIZONA_AIF1TX1MIX_INPUT_1_VOLUME:
  1128. case ARIZONA_AIF1TX1MIX_INPUT_2_SOURCE:
  1129. case ARIZONA_AIF1TX1MIX_INPUT_2_VOLUME:
  1130. case ARIZONA_AIF1TX1MIX_INPUT_3_SOURCE:
  1131. case ARIZONA_AIF1TX1MIX_INPUT_3_VOLUME:
  1132. case ARIZONA_AIF1TX1MIX_INPUT_4_SOURCE:
  1133. case ARIZONA_AIF1TX1MIX_INPUT_4_VOLUME:
  1134. case ARIZONA_AIF1TX2MIX_INPUT_1_SOURCE:
  1135. case ARIZONA_AIF1TX2MIX_INPUT_1_VOLUME:
  1136. case ARIZONA_AIF1TX2MIX_INPUT_2_SOURCE:
  1137. case ARIZONA_AIF1TX2MIX_INPUT_2_VOLUME:
  1138. case ARIZONA_AIF1TX2MIX_INPUT_3_SOURCE:
  1139. case ARIZONA_AIF1TX2MIX_INPUT_3_VOLUME:
  1140. case ARIZONA_AIF1TX2MIX_INPUT_4_SOURCE:
  1141. case ARIZONA_AIF1TX2MIX_INPUT_4_VOLUME:
  1142. case ARIZONA_AIF1TX3MIX_INPUT_1_SOURCE:
  1143. case ARIZONA_AIF1TX3MIX_INPUT_1_VOLUME:
  1144. case ARIZONA_AIF1TX3MIX_INPUT_2_SOURCE:
  1145. case ARIZONA_AIF1TX3MIX_INPUT_2_VOLUME:
  1146. case ARIZONA_AIF1TX3MIX_INPUT_3_SOURCE:
  1147. case ARIZONA_AIF1TX3MIX_INPUT_3_VOLUME:
  1148. case ARIZONA_AIF1TX3MIX_INPUT_4_SOURCE:
  1149. case ARIZONA_AIF1TX3MIX_INPUT_4_VOLUME:
  1150. case ARIZONA_AIF1TX4MIX_INPUT_1_SOURCE:
  1151. case ARIZONA_AIF1TX4MIX_INPUT_1_VOLUME:
  1152. case ARIZONA_AIF1TX4MIX_INPUT_2_SOURCE:
  1153. case ARIZONA_AIF1TX4MIX_INPUT_2_VOLUME:
  1154. case ARIZONA_AIF1TX4MIX_INPUT_3_SOURCE:
  1155. case ARIZONA_AIF1TX4MIX_INPUT_3_VOLUME:
  1156. case ARIZONA_AIF1TX4MIX_INPUT_4_SOURCE:
  1157. case ARIZONA_AIF1TX4MIX_INPUT_4_VOLUME:
  1158. case ARIZONA_AIF1TX5MIX_INPUT_1_SOURCE:
  1159. case ARIZONA_AIF1TX5MIX_INPUT_1_VOLUME:
  1160. case ARIZONA_AIF1TX5MIX_INPUT_2_SOURCE:
  1161. case ARIZONA_AIF1TX5MIX_INPUT_2_VOLUME:
  1162. case ARIZONA_AIF1TX5MIX_INPUT_3_SOURCE:
  1163. case ARIZONA_AIF1TX5MIX_INPUT_3_VOLUME:
  1164. case ARIZONA_AIF1TX5MIX_INPUT_4_SOURCE:
  1165. case ARIZONA_AIF1TX5MIX_INPUT_4_VOLUME:
  1166. case ARIZONA_AIF1TX6MIX_INPUT_1_SOURCE:
  1167. case ARIZONA_AIF1TX6MIX_INPUT_1_VOLUME:
  1168. case ARIZONA_AIF1TX6MIX_INPUT_2_SOURCE:
  1169. case ARIZONA_AIF1TX6MIX_INPUT_2_VOLUME:
  1170. case ARIZONA_AIF1TX6MIX_INPUT_3_SOURCE:
  1171. case ARIZONA_AIF1TX6MIX_INPUT_3_VOLUME:
  1172. case ARIZONA_AIF1TX6MIX_INPUT_4_SOURCE:
  1173. case ARIZONA_AIF1TX6MIX_INPUT_4_VOLUME:
  1174. case ARIZONA_AIF2TX1MIX_INPUT_1_SOURCE:
  1175. case ARIZONA_AIF2TX1MIX_INPUT_1_VOLUME:
  1176. case ARIZONA_AIF2TX1MIX_INPUT_2_SOURCE:
  1177. case ARIZONA_AIF2TX1MIX_INPUT_2_VOLUME:
  1178. case ARIZONA_AIF2TX1MIX_INPUT_3_SOURCE:
  1179. case ARIZONA_AIF2TX1MIX_INPUT_3_VOLUME:
  1180. case ARIZONA_AIF2TX1MIX_INPUT_4_SOURCE:
  1181. case ARIZONA_AIF2TX1MIX_INPUT_4_VOLUME:
  1182. case ARIZONA_AIF2TX2MIX_INPUT_1_SOURCE:
  1183. case ARIZONA_AIF2TX2MIX_INPUT_1_VOLUME:
  1184. case ARIZONA_AIF2TX2MIX_INPUT_2_SOURCE:
  1185. case ARIZONA_AIF2TX2MIX_INPUT_2_VOLUME:
  1186. case ARIZONA_AIF2TX2MIX_INPUT_3_SOURCE:
  1187. case ARIZONA_AIF2TX2MIX_INPUT_3_VOLUME:
  1188. case ARIZONA_AIF2TX2MIX_INPUT_4_SOURCE:
  1189. case ARIZONA_AIF2TX2MIX_INPUT_4_VOLUME:
  1190. case ARIZONA_AIF2TX3MIX_INPUT_1_SOURCE:
  1191. case ARIZONA_AIF2TX3MIX_INPUT_1_VOLUME:
  1192. case ARIZONA_AIF2TX3MIX_INPUT_2_SOURCE:
  1193. case ARIZONA_AIF2TX3MIX_INPUT_2_VOLUME:
  1194. case ARIZONA_AIF2TX3MIX_INPUT_3_SOURCE:
  1195. case ARIZONA_AIF2TX3MIX_INPUT_3_VOLUME:
  1196. case ARIZONA_AIF2TX3MIX_INPUT_4_SOURCE:
  1197. case ARIZONA_AIF2TX3MIX_INPUT_4_VOLUME:
  1198. case ARIZONA_AIF2TX4MIX_INPUT_1_SOURCE:
  1199. case ARIZONA_AIF2TX4MIX_INPUT_1_VOLUME:
  1200. case ARIZONA_AIF2TX4MIX_INPUT_2_SOURCE:
  1201. case ARIZONA_AIF2TX4MIX_INPUT_2_VOLUME:
  1202. case ARIZONA_AIF2TX4MIX_INPUT_3_SOURCE:
  1203. case ARIZONA_AIF2TX4MIX_INPUT_3_VOLUME:
  1204. case ARIZONA_AIF2TX4MIX_INPUT_4_SOURCE:
  1205. case ARIZONA_AIF2TX4MIX_INPUT_4_VOLUME:
  1206. case ARIZONA_AIF2TX5MIX_INPUT_1_SOURCE:
  1207. case ARIZONA_AIF2TX5MIX_INPUT_1_VOLUME:
  1208. case ARIZONA_AIF2TX5MIX_INPUT_2_SOURCE:
  1209. case ARIZONA_AIF2TX5MIX_INPUT_2_VOLUME:
  1210. case ARIZONA_AIF2TX5MIX_INPUT_3_SOURCE:
  1211. case ARIZONA_AIF2TX5MIX_INPUT_3_VOLUME:
  1212. case ARIZONA_AIF2TX5MIX_INPUT_4_SOURCE:
  1213. case ARIZONA_AIF2TX5MIX_INPUT_4_VOLUME:
  1214. case ARIZONA_AIF2TX6MIX_INPUT_1_SOURCE:
  1215. case ARIZONA_AIF2TX6MIX_INPUT_1_VOLUME:
  1216. case ARIZONA_AIF2TX6MIX_INPUT_2_SOURCE:
  1217. case ARIZONA_AIF2TX6MIX_INPUT_2_VOLUME:
  1218. case ARIZONA_AIF2TX6MIX_INPUT_3_SOURCE:
  1219. case ARIZONA_AIF2TX6MIX_INPUT_3_VOLUME:
  1220. case ARIZONA_AIF2TX6MIX_INPUT_4_SOURCE:
  1221. case ARIZONA_AIF2TX6MIX_INPUT_4_VOLUME:
  1222. case ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE:
  1223. case ARIZONA_AIF3TX1MIX_INPUT_1_VOLUME:
  1224. case ARIZONA_AIF3TX1MIX_INPUT_2_SOURCE:
  1225. case ARIZONA_AIF3TX1MIX_INPUT_2_VOLUME:
  1226. case ARIZONA_AIF3TX1MIX_INPUT_3_SOURCE:
  1227. case ARIZONA_AIF3TX1MIX_INPUT_3_VOLUME:
  1228. case ARIZONA_AIF3TX1MIX_INPUT_4_SOURCE:
  1229. case ARIZONA_AIF3TX1MIX_INPUT_4_VOLUME:
  1230. case ARIZONA_AIF3TX2MIX_INPUT_1_SOURCE:
  1231. case ARIZONA_AIF3TX2MIX_INPUT_1_VOLUME:
  1232. case ARIZONA_AIF3TX2MIX_INPUT_2_SOURCE:
  1233. case ARIZONA_AIF3TX2MIX_INPUT_2_VOLUME:
  1234. case ARIZONA_AIF3TX2MIX_INPUT_3_SOURCE:
  1235. case ARIZONA_AIF3TX2MIX_INPUT_3_VOLUME:
  1236. case ARIZONA_AIF3TX2MIX_INPUT_4_SOURCE:
  1237. case ARIZONA_AIF3TX2MIX_INPUT_4_VOLUME:
  1238. case ARIZONA_SLIMTX1MIX_INPUT_1_SOURCE:
  1239. case ARIZONA_SLIMTX1MIX_INPUT_1_VOLUME:
  1240. case ARIZONA_SLIMTX2MIX_INPUT_1_SOURCE:
  1241. case ARIZONA_SLIMTX2MIX_INPUT_1_VOLUME:
  1242. case ARIZONA_SLIMTX3MIX_INPUT_1_SOURCE:
  1243. case ARIZONA_SLIMTX3MIX_INPUT_1_VOLUME:
  1244. case ARIZONA_SLIMTX4MIX_INPUT_1_SOURCE:
  1245. case ARIZONA_SLIMTX4MIX_INPUT_1_VOLUME:
  1246. case ARIZONA_SLIMTX5MIX_INPUT_1_SOURCE:
  1247. case ARIZONA_SLIMTX5MIX_INPUT_1_VOLUME:
  1248. case ARIZONA_SLIMTX6MIX_INPUT_1_SOURCE:
  1249. case ARIZONA_SLIMTX6MIX_INPUT_1_VOLUME:
  1250. case ARIZONA_SPDIFTX1MIX_INPUT_1_SOURCE:
  1251. case ARIZONA_SPDIFTX1MIX_INPUT_1_VOLUME:
  1252. case ARIZONA_SPDIFTX2MIX_INPUT_1_SOURCE:
  1253. case ARIZONA_SPDIFTX2MIX_INPUT_1_VOLUME:
  1254. case ARIZONA_EQ1MIX_INPUT_1_SOURCE:
  1255. case ARIZONA_EQ1MIX_INPUT_1_VOLUME:
  1256. case ARIZONA_EQ2MIX_INPUT_1_SOURCE:
  1257. case ARIZONA_EQ2MIX_INPUT_1_VOLUME:
  1258. case ARIZONA_EQ3MIX_INPUT_1_SOURCE:
  1259. case ARIZONA_EQ3MIX_INPUT_1_VOLUME:
  1260. case ARIZONA_EQ4MIX_INPUT_1_SOURCE:
  1261. case ARIZONA_EQ4MIX_INPUT_1_VOLUME:
  1262. case ARIZONA_DRC1LMIX_INPUT_1_SOURCE:
  1263. case ARIZONA_DRC1LMIX_INPUT_1_VOLUME:
  1264. case ARIZONA_DRC1RMIX_INPUT_1_SOURCE:
  1265. case ARIZONA_DRC1RMIX_INPUT_1_VOLUME:
  1266. case ARIZONA_HPLP1MIX_INPUT_1_SOURCE:
  1267. case ARIZONA_HPLP1MIX_INPUT_1_VOLUME:
  1268. case ARIZONA_HPLP1MIX_INPUT_2_SOURCE:
  1269. case ARIZONA_HPLP1MIX_INPUT_2_VOLUME:
  1270. case ARIZONA_HPLP1MIX_INPUT_3_SOURCE:
  1271. case ARIZONA_HPLP1MIX_INPUT_3_VOLUME:
  1272. case ARIZONA_HPLP1MIX_INPUT_4_SOURCE:
  1273. case ARIZONA_HPLP1MIX_INPUT_4_VOLUME:
  1274. case ARIZONA_HPLP2MIX_INPUT_1_SOURCE:
  1275. case ARIZONA_HPLP2MIX_INPUT_1_VOLUME:
  1276. case ARIZONA_HPLP2MIX_INPUT_2_SOURCE:
  1277. case ARIZONA_HPLP2MIX_INPUT_2_VOLUME:
  1278. case ARIZONA_HPLP2MIX_INPUT_3_SOURCE:
  1279. case ARIZONA_HPLP2MIX_INPUT_3_VOLUME:
  1280. case ARIZONA_HPLP2MIX_INPUT_4_SOURCE:
  1281. case ARIZONA_HPLP2MIX_INPUT_4_VOLUME:
  1282. case ARIZONA_HPLP3MIX_INPUT_1_SOURCE:
  1283. case ARIZONA_HPLP3MIX_INPUT_1_VOLUME:
  1284. case ARIZONA_HPLP3MIX_INPUT_2_SOURCE:
  1285. case ARIZONA_HPLP3MIX_INPUT_2_VOLUME:
  1286. case ARIZONA_HPLP3MIX_INPUT_3_SOURCE:
  1287. case ARIZONA_HPLP3MIX_INPUT_3_VOLUME:
  1288. case ARIZONA_HPLP3MIX_INPUT_4_SOURCE:
  1289. case ARIZONA_HPLP3MIX_INPUT_4_VOLUME:
  1290. case ARIZONA_HPLP4MIX_INPUT_1_SOURCE:
  1291. case ARIZONA_HPLP4MIX_INPUT_1_VOLUME:
  1292. case ARIZONA_HPLP4MIX_INPUT_2_SOURCE:
  1293. case ARIZONA_HPLP4MIX_INPUT_2_VOLUME:
  1294. case ARIZONA_HPLP4MIX_INPUT_3_SOURCE:
  1295. case ARIZONA_HPLP4MIX_INPUT_3_VOLUME:
  1296. case ARIZONA_HPLP4MIX_INPUT_4_SOURCE:
  1297. case ARIZONA_HPLP4MIX_INPUT_4_VOLUME:
  1298. case ARIZONA_ASRC1LMIX_INPUT_1_SOURCE:
  1299. case ARIZONA_ASRC1RMIX_INPUT_1_SOURCE:
  1300. case ARIZONA_ASRC2LMIX_INPUT_1_SOURCE:
  1301. case ARIZONA_ASRC2RMIX_INPUT_1_SOURCE:
  1302. case ARIZONA_ISRC1DEC1MIX_INPUT_1_SOURCE:
  1303. case ARIZONA_ISRC1DEC2MIX_INPUT_1_SOURCE:
  1304. case ARIZONA_ISRC1DEC3MIX_INPUT_1_SOURCE:
  1305. case ARIZONA_ISRC1DEC4MIX_INPUT_1_SOURCE:
  1306. case ARIZONA_ISRC1INT1MIX_INPUT_1_SOURCE:
  1307. case ARIZONA_ISRC1INT2MIX_INPUT_1_SOURCE:
  1308. case ARIZONA_ISRC1INT3MIX_INPUT_1_SOURCE:
  1309. case ARIZONA_ISRC1INT4MIX_INPUT_1_SOURCE:
  1310. case ARIZONA_ISRC2DEC1MIX_INPUT_1_SOURCE:
  1311. case ARIZONA_ISRC2DEC2MIX_INPUT_1_SOURCE:
  1312. case ARIZONA_ISRC2INT1MIX_INPUT_1_SOURCE:
  1313. case ARIZONA_ISRC2INT2MIX_INPUT_1_SOURCE:
  1314. case ARIZONA_GPIO1_CTRL:
  1315. case ARIZONA_GPIO2_CTRL:
  1316. case ARIZONA_GPIO3_CTRL:
  1317. case ARIZONA_GPIO4_CTRL:
  1318. case ARIZONA_GPIO5_CTRL:
  1319. case ARIZONA_IRQ_CTRL_1:
  1320. case ARIZONA_GPIO_DEBOUNCE_CONFIG:
  1321. case ARIZONA_GP_SWITCH_1:
  1322. case ARIZONA_MISC_PAD_CTRL_1:
  1323. case ARIZONA_MISC_PAD_CTRL_2:
  1324. case ARIZONA_MISC_PAD_CTRL_3:
  1325. case ARIZONA_MISC_PAD_CTRL_4:
  1326. case ARIZONA_MISC_PAD_CTRL_5:
  1327. case ARIZONA_MISC_PAD_CTRL_6:
  1328. case ARIZONA_INTERRUPT_STATUS_1:
  1329. case ARIZONA_INTERRUPT_STATUS_2:
  1330. case ARIZONA_INTERRUPT_STATUS_3:
  1331. case ARIZONA_INTERRUPT_STATUS_4:
  1332. case ARIZONA_INTERRUPT_STATUS_5:
  1333. case ARIZONA_INTERRUPT_STATUS_1_MASK:
  1334. case ARIZONA_INTERRUPT_STATUS_2_MASK:
  1335. case ARIZONA_INTERRUPT_STATUS_3_MASK:
  1336. case ARIZONA_INTERRUPT_STATUS_4_MASK:
  1337. case ARIZONA_INTERRUPT_STATUS_5_MASK:
  1338. case ARIZONA_INTERRUPT_CONTROL:
  1339. case ARIZONA_IRQ2_STATUS_1:
  1340. case ARIZONA_IRQ2_STATUS_2:
  1341. case ARIZONA_IRQ2_STATUS_3:
  1342. case ARIZONA_IRQ2_STATUS_4:
  1343. case ARIZONA_IRQ2_STATUS_5:
  1344. case ARIZONA_IRQ2_STATUS_1_MASK:
  1345. case ARIZONA_IRQ2_STATUS_2_MASK:
  1346. case ARIZONA_IRQ2_STATUS_3_MASK:
  1347. case ARIZONA_IRQ2_STATUS_4_MASK:
  1348. case ARIZONA_IRQ2_STATUS_5_MASK:
  1349. case ARIZONA_IRQ2_CONTROL:
  1350. case ARIZONA_INTERRUPT_RAW_STATUS_2:
  1351. case ARIZONA_INTERRUPT_RAW_STATUS_3:
  1352. case ARIZONA_INTERRUPT_RAW_STATUS_4:
  1353. case ARIZONA_INTERRUPT_RAW_STATUS_5:
  1354. case ARIZONA_INTERRUPT_RAW_STATUS_6:
  1355. case ARIZONA_INTERRUPT_RAW_STATUS_7:
  1356. case ARIZONA_INTERRUPT_RAW_STATUS_8:
  1357. case ARIZONA_IRQ_PIN_STATUS:
  1358. case ARIZONA_AOD_WKUP_AND_TRIG:
  1359. case ARIZONA_AOD_IRQ1:
  1360. case ARIZONA_AOD_IRQ2:
  1361. case ARIZONA_AOD_IRQ_MASK_IRQ1:
  1362. case ARIZONA_AOD_IRQ_MASK_IRQ2:
  1363. case ARIZONA_AOD_IRQ_RAW_STATUS:
  1364. case ARIZONA_JACK_DETECT_DEBOUNCE:
  1365. case ARIZONA_FX_CTRL1:
  1366. case ARIZONA_FX_CTRL2:
  1367. case ARIZONA_EQ1_1:
  1368. case ARIZONA_EQ1_2:
  1369. case ARIZONA_EQ1_3:
  1370. case ARIZONA_EQ1_4:
  1371. case ARIZONA_EQ1_5:
  1372. case ARIZONA_EQ1_6:
  1373. case ARIZONA_EQ1_7:
  1374. case ARIZONA_EQ1_8:
  1375. case ARIZONA_EQ1_9:
  1376. case ARIZONA_EQ1_10:
  1377. case ARIZONA_EQ1_11:
  1378. case ARIZONA_EQ1_12:
  1379. case ARIZONA_EQ1_13:
  1380. case ARIZONA_EQ1_14:
  1381. case ARIZONA_EQ1_15:
  1382. case ARIZONA_EQ1_16:
  1383. case ARIZONA_EQ1_17:
  1384. case ARIZONA_EQ1_18:
  1385. case ARIZONA_EQ1_19:
  1386. case ARIZONA_EQ1_20:
  1387. case ARIZONA_EQ1_21:
  1388. case ARIZONA_EQ2_1:
  1389. case ARIZONA_EQ2_2:
  1390. case ARIZONA_EQ2_3:
  1391. case ARIZONA_EQ2_4:
  1392. case ARIZONA_EQ2_5:
  1393. case ARIZONA_EQ2_6:
  1394. case ARIZONA_EQ2_7:
  1395. case ARIZONA_EQ2_8:
  1396. case ARIZONA_EQ2_9:
  1397. case ARIZONA_EQ2_10:
  1398. case ARIZONA_EQ2_11:
  1399. case ARIZONA_EQ2_12:
  1400. case ARIZONA_EQ2_13:
  1401. case ARIZONA_EQ2_14:
  1402. case ARIZONA_EQ2_15:
  1403. case ARIZONA_EQ2_16:
  1404. case ARIZONA_EQ2_17:
  1405. case ARIZONA_EQ2_18:
  1406. case ARIZONA_EQ2_19:
  1407. case ARIZONA_EQ2_20:
  1408. case ARIZONA_EQ2_21:
  1409. case ARIZONA_EQ3_1:
  1410. case ARIZONA_EQ3_2:
  1411. case ARIZONA_EQ3_3:
  1412. case ARIZONA_EQ3_4:
  1413. case ARIZONA_EQ3_5:
  1414. case ARIZONA_EQ3_6:
  1415. case ARIZONA_EQ3_7:
  1416. case ARIZONA_EQ3_8:
  1417. case ARIZONA_EQ3_9:
  1418. case ARIZONA_EQ3_10:
  1419. case ARIZONA_EQ3_11:
  1420. case ARIZONA_EQ3_12:
  1421. case ARIZONA_EQ3_13:
  1422. case ARIZONA_EQ3_14:
  1423. case ARIZONA_EQ3_15:
  1424. case ARIZONA_EQ3_16:
  1425. case ARIZONA_EQ3_17:
  1426. case ARIZONA_EQ3_18:
  1427. case ARIZONA_EQ3_19:
  1428. case ARIZONA_EQ3_20:
  1429. case ARIZONA_EQ3_21:
  1430. case ARIZONA_EQ4_1:
  1431. case ARIZONA_EQ4_2:
  1432. case ARIZONA_EQ4_3:
  1433. case ARIZONA_EQ4_4:
  1434. case ARIZONA_EQ4_5:
  1435. case ARIZONA_EQ4_6:
  1436. case ARIZONA_EQ4_7:
  1437. case ARIZONA_EQ4_8:
  1438. case ARIZONA_EQ4_9:
  1439. case ARIZONA_EQ4_10:
  1440. case ARIZONA_EQ4_11:
  1441. case ARIZONA_EQ4_12:
  1442. case ARIZONA_EQ4_13:
  1443. case ARIZONA_EQ4_14:
  1444. case ARIZONA_EQ4_15:
  1445. case ARIZONA_EQ4_16:
  1446. case ARIZONA_EQ4_17:
  1447. case ARIZONA_EQ4_18:
  1448. case ARIZONA_EQ4_19:
  1449. case ARIZONA_EQ4_20:
  1450. case ARIZONA_EQ4_21:
  1451. case ARIZONA_DRC1_CTRL1:
  1452. case ARIZONA_DRC1_CTRL2:
  1453. case ARIZONA_DRC1_CTRL3:
  1454. case ARIZONA_DRC1_CTRL4:
  1455. case ARIZONA_DRC1_CTRL5:
  1456. case ARIZONA_HPLPF1_1:
  1457. case ARIZONA_HPLPF1_2:
  1458. case ARIZONA_HPLPF2_1:
  1459. case ARIZONA_HPLPF2_2:
  1460. case ARIZONA_HPLPF3_1:
  1461. case ARIZONA_HPLPF3_2:
  1462. case ARIZONA_HPLPF4_1:
  1463. case ARIZONA_HPLPF4_2:
  1464. case ARIZONA_ASRC_ENABLE:
  1465. case ARIZONA_ASRC_STATUS:
  1466. case ARIZONA_ASRC_RATE1:
  1467. case ARIZONA_ASRC_RATE2:
  1468. case ARIZONA_ISRC_1_CTRL_1:
  1469. case ARIZONA_ISRC_1_CTRL_2:
  1470. case ARIZONA_ISRC_1_CTRL_3:
  1471. case ARIZONA_ISRC_2_CTRL_1:
  1472. case ARIZONA_ISRC_2_CTRL_2:
  1473. case ARIZONA_ISRC_2_CTRL_3:
  1474. return true;
  1475. default:
  1476. return false;
  1477. }
  1478. }
  1479. static bool wm8998_volatile_register(struct device *dev, unsigned int reg)
  1480. {
  1481. switch (reg) {
  1482. case ARIZONA_SOFTWARE_RESET:
  1483. case ARIZONA_DEVICE_REVISION:
  1484. case ARIZONA_WRITE_SEQUENCER_CTRL_0:
  1485. case ARIZONA_WRITE_SEQUENCER_CTRL_1:
  1486. case ARIZONA_WRITE_SEQUENCER_CTRL_2:
  1487. case ARIZONA_HAPTICS_STATUS:
  1488. case ARIZONA_SAMPLE_RATE_1_STATUS:
  1489. case ARIZONA_SAMPLE_RATE_2_STATUS:
  1490. case ARIZONA_SAMPLE_RATE_3_STATUS:
  1491. case ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS:
  1492. case ARIZONA_ASYNC_SAMPLE_RATE_2_STATUS:
  1493. case ARIZONA_MIC_DETECT_3:
  1494. case ARIZONA_MIC_DETECT_4:
  1495. case ARIZONA_HEADPHONE_DETECT_2:
  1496. case ARIZONA_INPUT_ENABLES_STATUS:
  1497. case ARIZONA_OUTPUT_STATUS_1:
  1498. case ARIZONA_RAW_OUTPUT_STATUS_1:
  1499. case ARIZONA_SLIMBUS_RX_PORT_STATUS:
  1500. case ARIZONA_SLIMBUS_TX_PORT_STATUS:
  1501. case ARIZONA_INTERRUPT_STATUS_1:
  1502. case ARIZONA_INTERRUPT_STATUS_2:
  1503. case ARIZONA_INTERRUPT_STATUS_3:
  1504. case ARIZONA_INTERRUPT_STATUS_4:
  1505. case ARIZONA_INTERRUPT_STATUS_5:
  1506. case ARIZONA_IRQ2_STATUS_1:
  1507. case ARIZONA_IRQ2_STATUS_2:
  1508. case ARIZONA_IRQ2_STATUS_3:
  1509. case ARIZONA_IRQ2_STATUS_4:
  1510. case ARIZONA_IRQ2_STATUS_5:
  1511. case ARIZONA_INTERRUPT_RAW_STATUS_2:
  1512. case ARIZONA_INTERRUPT_RAW_STATUS_3:
  1513. case ARIZONA_INTERRUPT_RAW_STATUS_4:
  1514. case ARIZONA_INTERRUPT_RAW_STATUS_5:
  1515. case ARIZONA_INTERRUPT_RAW_STATUS_6:
  1516. case ARIZONA_INTERRUPT_RAW_STATUS_7:
  1517. case ARIZONA_INTERRUPT_RAW_STATUS_8:
  1518. case ARIZONA_IRQ_PIN_STATUS:
  1519. case ARIZONA_AOD_WKUP_AND_TRIG:
  1520. case ARIZONA_AOD_IRQ1:
  1521. case ARIZONA_AOD_IRQ2:
  1522. case ARIZONA_AOD_IRQ_RAW_STATUS:
  1523. case ARIZONA_FX_CTRL2:
  1524. case ARIZONA_ASRC_STATUS:
  1525. return true;
  1526. default:
  1527. return false;
  1528. }
  1529. }
  1530. #define WM8998_MAX_REGISTER 0x31ff
  1531. const struct regmap_config wm8998_i2c_regmap = {
  1532. .reg_bits = 32,
  1533. .val_bits = 16,
  1534. .reg_format_endian = REGMAP_ENDIAN_BIG,
  1535. .val_format_endian = REGMAP_ENDIAN_BIG,
  1536. .max_register = WM8998_MAX_REGISTER,
  1537. .readable_reg = wm8998_readable_register,
  1538. .volatile_reg = wm8998_volatile_register,
  1539. .cache_type = REGCACHE_RBTREE,
  1540. .reg_defaults = wm8998_reg_default,
  1541. .num_reg_defaults = ARRAY_SIZE(wm8998_reg_default),
  1542. };
  1543. EXPORT_SYMBOL_GPL(wm8998_i2c_regmap);