wm8998-tables.c 69 KB

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