bolero-cdc-regmap.c 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
  3. */
  4. #include <linux/regmap.h>
  5. #include "bolero-cdc.h"
  6. #include "internal.h"
  7. static const struct reg_default bolero_defaults[] = {
  8. /* TX Macro */
  9. { BOLERO_CDC_TX_CLK_RST_CTRL_MCLK_CONTROL, 0x00 },
  10. { BOLERO_CDC_TX_CLK_RST_CTRL_FS_CNT_CONTROL, 0x00 },
  11. { BOLERO_CDC_TX_CLK_RST_CTRL_SWR_CONTROL, 0x00},
  12. { BOLERO_CDC_TX_TOP_CSR_TOP_CFG0, 0x00},
  13. { BOLERO_CDC_TX_TOP_CSR_ANC_CFG, 0x00},
  14. { BOLERO_CDC_TX_TOP_CSR_SWR_CTRL, 0x00},
  15. { BOLERO_CDC_TX_TOP_CSR_FREQ_MCLK, 0x00},
  16. { BOLERO_CDC_TX_TOP_CSR_DEBUG_BUS, 0x00},
  17. { BOLERO_CDC_TX_TOP_CSR_DEBUG_EN, 0x00},
  18. { BOLERO_CDC_TX_TOP_CSR_TX_I2S_CTL, 0x0C},
  19. { BOLERO_CDC_TX_TOP_CSR_I2S_CLK, 0x00},
  20. { BOLERO_CDC_TX_TOP_CSR_I2S_RESET, 0x00},
  21. { BOLERO_CDC_TX_TOP_CSR_SWR_DMIC0_CTL, 0x00},
  22. { BOLERO_CDC_TX_TOP_CSR_SWR_DMIC1_CTL, 0x00},
  23. { BOLERO_CDC_TX_TOP_CSR_SWR_DMIC2_CTL, 0x00},
  24. { BOLERO_CDC_TX_TOP_CSR_SWR_DMIC3_CTL, 0x00},
  25. { BOLERO_CDC_TX_TOP_CSR_SWR_AMIC0_CTL, 0x00},
  26. { BOLERO_CDC_TX_TOP_CSR_SWR_AMIC1_CTL, 0x00},
  27. { BOLERO_CDC_TX_INP_MUX_ADC_MUX0_CFG0, 0x00},
  28. { BOLERO_CDC_TX_INP_MUX_ADC_MUX0_CFG1, 0x00},
  29. { BOLERO_CDC_TX_INP_MUX_ADC_MUX1_CFG0, 0x00},
  30. { BOLERO_CDC_TX_INP_MUX_ADC_MUX1_CFG1, 0x00},
  31. { BOLERO_CDC_TX_INP_MUX_ADC_MUX2_CFG0, 0x00},
  32. { BOLERO_CDC_TX_INP_MUX_ADC_MUX2_CFG1, 0x00},
  33. { BOLERO_CDC_TX_INP_MUX_ADC_MUX3_CFG0, 0x00},
  34. { BOLERO_CDC_TX_INP_MUX_ADC_MUX3_CFG1, 0x00},
  35. { BOLERO_CDC_TX_INP_MUX_ADC_MUX4_CFG0, 0x00},
  36. { BOLERO_CDC_TX_INP_MUX_ADC_MUX4_CFG1, 0x00},
  37. { BOLERO_CDC_TX_INP_MUX_ADC_MUX5_CFG0, 0x00},
  38. { BOLERO_CDC_TX_INP_MUX_ADC_MUX5_CFG1, 0x00},
  39. { BOLERO_CDC_TX_INP_MUX_ADC_MUX6_CFG0, 0x00},
  40. { BOLERO_CDC_TX_INP_MUX_ADC_MUX6_CFG1, 0x00},
  41. { BOLERO_CDC_TX_INP_MUX_ADC_MUX7_CFG0, 0x00},
  42. { BOLERO_CDC_TX_INP_MUX_ADC_MUX7_CFG1, 0x00},
  43. { BOLERO_CDC_TX_ANC0_CLK_RESET_CTL, 0x00},
  44. { BOLERO_CDC_TX_ANC0_MODE_1_CTL, 0x00},
  45. { BOLERO_CDC_TX_ANC0_MODE_2_CTL, 0x00},
  46. { BOLERO_CDC_TX_ANC0_FF_SHIFT, 0x00},
  47. { BOLERO_CDC_TX_ANC0_FB_SHIFT, 0x00},
  48. { BOLERO_CDC_TX_ANC0_LPF_FF_A_CTL, 0x00},
  49. { BOLERO_CDC_TX_ANC0_LPF_FF_B_CTL, 0x00},
  50. { BOLERO_CDC_TX_ANC0_LPF_FB_CTL, 0x00},
  51. { BOLERO_CDC_TX_ANC0_SMLPF_CTL, 0x00},
  52. { BOLERO_CDC_TX_ANC0_DCFLT_SHIFT_CTL, 0x00},
  53. { BOLERO_CDC_TX_ANC0_IIR_ADAPT_CTL, 0x00},
  54. { BOLERO_CDC_TX_ANC0_IIR_COEFF_1_CTL, 0x00},
  55. { BOLERO_CDC_TX_ANC0_IIR_COEFF_2_CTL, 0x00},
  56. { BOLERO_CDC_TX_ANC0_FF_A_GAIN_CTL, 0x00},
  57. { BOLERO_CDC_TX_ANC0_FF_B_GAIN_CTL, 0x00},
  58. { BOLERO_CDC_TX_ANC0_FB_GAIN_CTL, 0x00},
  59. { BOLERO_CDC_TX0_TX_PATH_CTL, 0x04},
  60. { BOLERO_CDC_TX0_TX_PATH_CFG0, 0x10},
  61. { BOLERO_CDC_TX0_TX_PATH_CFG1, 0x0B},
  62. { BOLERO_CDC_TX0_TX_VOL_CTL, 0x00},
  63. { BOLERO_CDC_TX0_TX_PATH_SEC0, 0x00},
  64. { BOLERO_CDC_TX0_TX_PATH_SEC1, 0x00},
  65. { BOLERO_CDC_TX0_TX_PATH_SEC2, 0x01},
  66. { BOLERO_CDC_TX0_TX_PATH_SEC3, 0x3C},
  67. { BOLERO_CDC_TX0_TX_PATH_SEC4, 0x20},
  68. { BOLERO_CDC_TX0_TX_PATH_SEC5, 0x00},
  69. { BOLERO_CDC_TX0_TX_PATH_SEC6, 0x00},
  70. { BOLERO_CDC_TX0_TX_PATH_SEC7, 0x25},
  71. { BOLERO_CDC_TX1_TX_PATH_CTL, 0x04},
  72. { BOLERO_CDC_TX1_TX_PATH_CFG0, 0x10},
  73. { BOLERO_CDC_TX1_TX_PATH_CFG1, 0x0B},
  74. { BOLERO_CDC_TX1_TX_VOL_CTL, 0x00},
  75. { BOLERO_CDC_TX1_TX_PATH_SEC0, 0x00},
  76. { BOLERO_CDC_TX1_TX_PATH_SEC1, 0x00},
  77. { BOLERO_CDC_TX1_TX_PATH_SEC2, 0x01},
  78. { BOLERO_CDC_TX1_TX_PATH_SEC3, 0x3C},
  79. { BOLERO_CDC_TX1_TX_PATH_SEC4, 0x20},
  80. { BOLERO_CDC_TX1_TX_PATH_SEC5, 0x00},
  81. { BOLERO_CDC_TX1_TX_PATH_SEC6, 0x00},
  82. { BOLERO_CDC_TX2_TX_PATH_CTL, 0x04},
  83. { BOLERO_CDC_TX2_TX_PATH_CFG0, 0x10},
  84. { BOLERO_CDC_TX2_TX_PATH_CFG1, 0x0B},
  85. { BOLERO_CDC_TX2_TX_VOL_CTL, 0x00},
  86. { BOLERO_CDC_TX2_TX_PATH_SEC0, 0x00},
  87. { BOLERO_CDC_TX2_TX_PATH_SEC1, 0x00},
  88. { BOLERO_CDC_TX2_TX_PATH_SEC2, 0x01},
  89. { BOLERO_CDC_TX2_TX_PATH_SEC3, 0x3C},
  90. { BOLERO_CDC_TX2_TX_PATH_SEC4, 0x20},
  91. { BOLERO_CDC_TX2_TX_PATH_SEC5, 0x00},
  92. { BOLERO_CDC_TX2_TX_PATH_SEC6, 0x00},
  93. { BOLERO_CDC_TX3_TX_PATH_CTL, 0x04},
  94. { BOLERO_CDC_TX3_TX_PATH_CFG0, 0x10},
  95. { BOLERO_CDC_TX3_TX_PATH_CFG1, 0x0B},
  96. { BOLERO_CDC_TX3_TX_VOL_CTL, 0x00},
  97. { BOLERO_CDC_TX3_TX_PATH_SEC0, 0x00},
  98. { BOLERO_CDC_TX3_TX_PATH_SEC1, 0x00},
  99. { BOLERO_CDC_TX3_TX_PATH_SEC2, 0x01},
  100. { BOLERO_CDC_TX3_TX_PATH_SEC3, 0x3C},
  101. { BOLERO_CDC_TX3_TX_PATH_SEC4, 0x20},
  102. { BOLERO_CDC_TX3_TX_PATH_SEC5, 0x00},
  103. { BOLERO_CDC_TX3_TX_PATH_SEC6, 0x00},
  104. { BOLERO_CDC_TX4_TX_PATH_CTL, 0x04},
  105. { BOLERO_CDC_TX4_TX_PATH_CFG0, 0x10},
  106. { BOLERO_CDC_TX4_TX_PATH_CFG1, 0x0B},
  107. { BOLERO_CDC_TX4_TX_VOL_CTL, 0x00},
  108. { BOLERO_CDC_TX4_TX_PATH_SEC0, 0x00},
  109. { BOLERO_CDC_TX4_TX_PATH_SEC1, 0x00},
  110. { BOLERO_CDC_TX4_TX_PATH_SEC2, 0x01},
  111. { BOLERO_CDC_TX4_TX_PATH_SEC3, 0x3C},
  112. { BOLERO_CDC_TX4_TX_PATH_SEC4, 0x20},
  113. { BOLERO_CDC_TX4_TX_PATH_SEC5, 0x00},
  114. { BOLERO_CDC_TX4_TX_PATH_SEC6, 0x00},
  115. { BOLERO_CDC_TX5_TX_PATH_CTL, 0x04},
  116. { BOLERO_CDC_TX5_TX_PATH_CFG0, 0x10},
  117. { BOLERO_CDC_TX5_TX_PATH_CFG1, 0x0B},
  118. { BOLERO_CDC_TX5_TX_VOL_CTL, 0x00},
  119. { BOLERO_CDC_TX5_TX_PATH_SEC0, 0x00},
  120. { BOLERO_CDC_TX5_TX_PATH_SEC1, 0x00},
  121. { BOLERO_CDC_TX5_TX_PATH_SEC2, 0x01},
  122. { BOLERO_CDC_TX5_TX_PATH_SEC3, 0x3C},
  123. { BOLERO_CDC_TX5_TX_PATH_SEC4, 0x20},
  124. { BOLERO_CDC_TX5_TX_PATH_SEC5, 0x00},
  125. { BOLERO_CDC_TX5_TX_PATH_SEC6, 0x00},
  126. { BOLERO_CDC_TX6_TX_PATH_CTL, 0x04},
  127. { BOLERO_CDC_TX6_TX_PATH_CFG0, 0x10},
  128. { BOLERO_CDC_TX6_TX_PATH_CFG1, 0x0B},
  129. { BOLERO_CDC_TX6_TX_VOL_CTL, 0x00},
  130. { BOLERO_CDC_TX6_TX_PATH_SEC0, 0x00},
  131. { BOLERO_CDC_TX6_TX_PATH_SEC1, 0x00},
  132. { BOLERO_CDC_TX6_TX_PATH_SEC2, 0x01},
  133. { BOLERO_CDC_TX6_TX_PATH_SEC3, 0x3C},
  134. { BOLERO_CDC_TX6_TX_PATH_SEC4, 0x20},
  135. { BOLERO_CDC_TX6_TX_PATH_SEC5, 0x00},
  136. { BOLERO_CDC_TX6_TX_PATH_SEC6, 0x00},
  137. { BOLERO_CDC_TX7_TX_PATH_CTL, 0x04},
  138. { BOLERO_CDC_TX7_TX_PATH_CFG0, 0x10},
  139. { BOLERO_CDC_TX7_TX_PATH_CFG1, 0x0B},
  140. { BOLERO_CDC_TX7_TX_VOL_CTL, 0x00},
  141. { BOLERO_CDC_TX7_TX_PATH_SEC0, 0x00},
  142. { BOLERO_CDC_TX7_TX_PATH_SEC1, 0x00},
  143. { BOLERO_CDC_TX7_TX_PATH_SEC2, 0x01},
  144. { BOLERO_CDC_TX7_TX_PATH_SEC3, 0x3C},
  145. { BOLERO_CDC_TX7_TX_PATH_SEC4, 0x20},
  146. { BOLERO_CDC_TX7_TX_PATH_SEC5, 0x00},
  147. { BOLERO_CDC_TX7_TX_PATH_SEC6, 0x00},
  148. /* RX Macro */
  149. { BOLERO_CDC_RX_TOP_TOP_CFG0, 0x00},
  150. { BOLERO_CDC_RX_TOP_SWR_CTRL, 0x00},
  151. { BOLERO_CDC_RX_TOP_DEBUG, 0x00},
  152. { BOLERO_CDC_RX_TOP_DEBUG_BUS, 0x00},
  153. { BOLERO_CDC_RX_TOP_DEBUG_EN0, 0x00},
  154. { BOLERO_CDC_RX_TOP_DEBUG_EN1, 0x00},
  155. { BOLERO_CDC_RX_TOP_DEBUG_EN2, 0x00},
  156. { BOLERO_CDC_RX_TOP_HPHL_COMP_WR_LSB, 0x00},
  157. { BOLERO_CDC_RX_TOP_HPHL_COMP_WR_MSB, 0x00},
  158. { BOLERO_CDC_RX_TOP_HPHL_COMP_LUT, 0x00},
  159. { BOLERO_CDC_RX_TOP_HPHL_COMP_RD_LSB, 0x00},
  160. { BOLERO_CDC_RX_TOP_HPHL_COMP_RD_MSB, 0x00},
  161. { BOLERO_CDC_RX_TOP_HPHR_COMP_WR_LSB, 0x00},
  162. { BOLERO_CDC_RX_TOP_HPHR_COMP_WR_MSB, 0x00},
  163. { BOLERO_CDC_RX_TOP_HPHR_COMP_LUT, 0x00},
  164. { BOLERO_CDC_RX_TOP_HPHR_COMP_RD_LSB, 0x00},
  165. { BOLERO_CDC_RX_TOP_HPHR_COMP_RD_MSB, 0x00},
  166. { BOLERO_CDC_RX_TOP_DSD0_DEBUG_CFG0, 0x11},
  167. { BOLERO_CDC_RX_TOP_DSD0_DEBUG_CFG1, 0x20},
  168. { BOLERO_CDC_RX_TOP_DSD0_DEBUG_CFG2, 0x00},
  169. { BOLERO_CDC_RX_TOP_DSD0_DEBUG_CFG3, 0x00},
  170. { BOLERO_CDC_RX_TOP_DSD1_DEBUG_CFG0, 0x11},
  171. { BOLERO_CDC_RX_TOP_DSD1_DEBUG_CFG1, 0x20},
  172. { BOLERO_CDC_RX_TOP_DSD1_DEBUG_CFG2, 0x00},
  173. { BOLERO_CDC_RX_TOP_DSD1_DEBUG_CFG3, 0x00},
  174. { BOLERO_CDC_RX_TOP_RX_I2S_CTL, 0x0C},
  175. { BOLERO_CDC_RX_TOP_TX_I2S2_CTL, 0x0C},
  176. { BOLERO_CDC_RX_TOP_I2S_CLK, 0x0C},
  177. { BOLERO_CDC_RX_TOP_I2S_RESET, 0x00},
  178. { BOLERO_CDC_RX_TOP_I2S_MUX, 0x00},
  179. { BOLERO_CDC_RX_CLK_RST_CTRL_MCLK_CONTROL, 0x00},
  180. { BOLERO_CDC_RX_CLK_RST_CTRL_FS_CNT_CONTROL, 0x00},
  181. { BOLERO_CDC_RX_CLK_RST_CTRL_SWR_CONTROL, 0x00},
  182. { BOLERO_CDC_RX_CLK_RST_CTRL_DSD_CONTROL, 0x00},
  183. { BOLERO_CDC_RX_CLK_RST_CTRL_ASRC_SHARE_CONTROL, 0x08},
  184. { BOLERO_CDC_RX_SOFTCLIP_CRC, 0x00},
  185. { BOLERO_CDC_RX_SOFTCLIP_SOFTCLIP_CTRL, 0x38},
  186. { BOLERO_CDC_RX_INP_MUX_RX_INT0_CFG0, 0x00},
  187. { BOLERO_CDC_RX_INP_MUX_RX_INT0_CFG1, 0x00},
  188. { BOLERO_CDC_RX_INP_MUX_RX_INT1_CFG0, 0x00},
  189. { BOLERO_CDC_RX_INP_MUX_RX_INT1_CFG1, 0x00},
  190. { BOLERO_CDC_RX_INP_MUX_RX_INT2_CFG0, 0x00},
  191. { BOLERO_CDC_RX_INP_MUX_RX_INT2_CFG1, 0x00},
  192. { BOLERO_CDC_RX_INP_MUX_RX_MIX_CFG4, 0x00},
  193. { BOLERO_CDC_RX_INP_MUX_RX_MIX_CFG5, 0x00},
  194. { BOLERO_CDC_RX_INP_MUX_SIDETONE_SRC_CFG0, 0x00},
  195. { BOLERO_CDC_RX_CLSH_CRC, 0x00},
  196. { BOLERO_CDC_RX_CLSH_DLY_CTRL, 0x03},
  197. { BOLERO_CDC_RX_CLSH_DECAY_CTRL, 0x02},
  198. { BOLERO_CDC_RX_CLSH_HPH_V_PA, 0x1C},
  199. { BOLERO_CDC_RX_CLSH_EAR_V_PA, 0x39},
  200. { BOLERO_CDC_RX_CLSH_HPH_V_HD, 0x0C},
  201. { BOLERO_CDC_RX_CLSH_EAR_V_HD, 0x0C},
  202. { BOLERO_CDC_RX_CLSH_K1_MSB, 0x01},
  203. { BOLERO_CDC_RX_CLSH_K1_LSB, 0x00},
  204. { BOLERO_CDC_RX_CLSH_K2_MSB, 0x00},
  205. { BOLERO_CDC_RX_CLSH_K2_LSB, 0x80},
  206. { BOLERO_CDC_RX_CLSH_IDLE_CTRL, 0x00},
  207. { BOLERO_CDC_RX_CLSH_IDLE_HPH, 0x00},
  208. { BOLERO_CDC_RX_CLSH_IDLE_EAR, 0x00},
  209. { BOLERO_CDC_RX_CLSH_TEST0, 0x07},
  210. { BOLERO_CDC_RX_CLSH_TEST1, 0x00},
  211. { BOLERO_CDC_RX_CLSH_OVR_VREF, 0x00},
  212. { BOLERO_CDC_RX_CLSH_CLSG_CTL, 0x02},
  213. { BOLERO_CDC_RX_CLSH_CLSG_CFG1, 0x9A},
  214. { BOLERO_CDC_RX_CLSH_CLSG_CFG2, 0x10},
  215. { BOLERO_CDC_RX_BCL_VBAT_PATH_CTL, 0x00},
  216. { BOLERO_CDC_RX_BCL_VBAT_CFG, 0x10},
  217. { BOLERO_CDC_RX_BCL_VBAT_ADC_CAL1, 0x00},
  218. { BOLERO_CDC_RX_BCL_VBAT_ADC_CAL2, 0x00},
  219. { BOLERO_CDC_RX_BCL_VBAT_ADC_CAL3, 0x04},
  220. { BOLERO_CDC_RX_BCL_VBAT_PK_EST1, 0xE0},
  221. { BOLERO_CDC_RX_BCL_VBAT_PK_EST2, 0x01},
  222. { BOLERO_CDC_RX_BCL_VBAT_PK_EST3, 0x40},
  223. { BOLERO_CDC_RX_BCL_VBAT_RF_PROC1, 0x2A},
  224. { BOLERO_CDC_RX_BCL_VBAT_RF_PROC2, 0x00},
  225. { BOLERO_CDC_RX_BCL_VBAT_TAC1, 0x00},
  226. { BOLERO_CDC_RX_BCL_VBAT_TAC2, 0x18},
  227. { BOLERO_CDC_RX_BCL_VBAT_TAC3, 0x18},
  228. { BOLERO_CDC_RX_BCL_VBAT_TAC4, 0x03},
  229. { BOLERO_CDC_RX_BCL_VBAT_GAIN_UPD1, 0x01},
  230. { BOLERO_CDC_RX_BCL_VBAT_GAIN_UPD2, 0x00},
  231. { BOLERO_CDC_RX_BCL_VBAT_GAIN_UPD3, 0x00},
  232. { BOLERO_CDC_RX_BCL_VBAT_GAIN_UPD4, 0x64},
  233. { BOLERO_CDC_RX_BCL_VBAT_GAIN_UPD5, 0x01},
  234. { BOLERO_CDC_RX_BCL_VBAT_DEBUG1, 0x00},
  235. { BOLERO_CDC_RX_BCL_VBAT_GAIN_UPD_MON, 0x00},
  236. { BOLERO_CDC_RX_BCL_VBAT_GAIN_MON_VAL, 0x00},
  237. { BOLERO_CDC_RX_BCL_VBAT_BAN, 0x0C},
  238. { BOLERO_CDC_RX_BCL_VBAT_BCL_GAIN_UPD1, 0x00},
  239. { BOLERO_CDC_RX_BCL_VBAT_BCL_GAIN_UPD2, 0x77},
  240. { BOLERO_CDC_RX_BCL_VBAT_BCL_GAIN_UPD3, 0x01},
  241. { BOLERO_CDC_RX_BCL_VBAT_BCL_GAIN_UPD4, 0x00},
  242. { BOLERO_CDC_RX_BCL_VBAT_BCL_GAIN_UPD5, 0x4B},
  243. { BOLERO_CDC_RX_BCL_VBAT_BCL_GAIN_UPD6, 0x00},
  244. { BOLERO_CDC_RX_BCL_VBAT_BCL_GAIN_UPD7, 0x01},
  245. { BOLERO_CDC_RX_BCL_VBAT_BCL_GAIN_UPD8, 0x00},
  246. { BOLERO_CDC_RX_BCL_VBAT_BCL_GAIN_UPD9, 0x00},
  247. { BOLERO_CDC_RX_BCL_VBAT_ATTN1, 0x04},
  248. { BOLERO_CDC_RX_BCL_VBAT_ATTN2, 0x08},
  249. { BOLERO_CDC_RX_BCL_VBAT_ATTN3, 0x0C},
  250. { BOLERO_CDC_RX_BCL_VBAT_DECODE_CTL1, 0xE0},
  251. { BOLERO_CDC_RX_BCL_VBAT_DECODE_CTL2, 0x00},
  252. { BOLERO_CDC_RX_BCL_VBAT_DECODE_CFG1, 0x00},
  253. { BOLERO_CDC_RX_BCL_VBAT_DECODE_CFG2, 0x00},
  254. { BOLERO_CDC_RX_BCL_VBAT_DECODE_CFG3, 0x00},
  255. { BOLERO_CDC_RX_BCL_VBAT_DECODE_CFG4, 0x00},
  256. { BOLERO_CDC_RX_BCL_VBAT_DECODE_ST, 0x00},
  257. { BOLERO_CDC_RX_INTR_CTRL_CFG, 0x00},
  258. { BOLERO_CDC_RX_INTR_CTRL_CLR_COMMIT, 0x00},
  259. { BOLERO_CDC_RX_INTR_CTRL_PIN1_MASK0, 0xFF},
  260. { BOLERO_CDC_RX_INTR_CTRL_PIN1_STATUS0, 0x00},
  261. { BOLERO_CDC_RX_INTR_CTRL_PIN1_CLEAR0, 0x00},
  262. { BOLERO_CDC_RX_INTR_CTRL_PIN2_MASK0, 0xFF},
  263. { BOLERO_CDC_RX_INTR_CTRL_PIN2_STATUS0, 0x00},
  264. { BOLERO_CDC_RX_INTR_CTRL_PIN2_CLEAR0, 0x00},
  265. { BOLERO_CDC_RX_INTR_CTRL_LEVEL0, 0x00},
  266. { BOLERO_CDC_RX_INTR_CTRL_BYPASS0, 0x00},
  267. { BOLERO_CDC_RX_INTR_CTRL_SET0, 0x00},
  268. { BOLERO_CDC_RX_RX0_RX_PATH_CTL, 0x04},
  269. { BOLERO_CDC_RX_RX0_RX_PATH_CFG0, 0x00},
  270. { BOLERO_CDC_RX_RX0_RX_PATH_CFG1, 0x64},
  271. { BOLERO_CDC_RX_RX0_RX_PATH_CFG2, 0x8F},
  272. { BOLERO_CDC_RX_RX0_RX_PATH_CFG3, 0x00},
  273. { BOLERO_CDC_RX_RX0_RX_VOL_CTL, 0x00},
  274. { BOLERO_CDC_RX_RX0_RX_PATH_MIX_CTL, 0x04},
  275. { BOLERO_CDC_RX_RX0_RX_PATH_MIX_CFG, 0x7E},
  276. { BOLERO_CDC_RX_RX0_RX_VOL_MIX_CTL, 0x00},
  277. { BOLERO_CDC_RX_RX0_RX_PATH_SEC1, 0x08},
  278. { BOLERO_CDC_RX_RX0_RX_PATH_SEC2, 0x00},
  279. { BOLERO_CDC_RX_RX0_RX_PATH_SEC3, 0x00},
  280. { BOLERO_CDC_RX_RX0_RX_PATH_SEC4, 0x00},
  281. { BOLERO_CDC_RX_RX0_RX_PATH_SEC7, 0x00},
  282. { BOLERO_CDC_RX_RX0_RX_PATH_MIX_SEC0, 0x08},
  283. { BOLERO_CDC_RX_RX0_RX_PATH_MIX_SEC1, 0x00},
  284. { BOLERO_CDC_RX_RX0_RX_PATH_DSM_CTL, 0x08},
  285. { BOLERO_CDC_RX_RX0_RX_PATH_DSM_DATA1, 0x00},
  286. { BOLERO_CDC_RX_RX0_RX_PATH_DSM_DATA2, 0x00},
  287. { BOLERO_CDC_RX_RX0_RX_PATH_DSM_DATA3, 0x00},
  288. { BOLERO_CDC_RX_RX0_RX_PATH_DSM_DATA4, 0x55},
  289. { BOLERO_CDC_RX_RX0_RX_PATH_DSM_DATA5, 0x55},
  290. { BOLERO_CDC_RX_RX0_RX_PATH_DSM_DATA6, 0x55},
  291. { BOLERO_CDC_RX_RX1_RX_PATH_CTL, 0x04},
  292. { BOLERO_CDC_RX_RX1_RX_PATH_CFG0, 0x00},
  293. { BOLERO_CDC_RX_RX1_RX_PATH_CFG1, 0x64},
  294. { BOLERO_CDC_RX_RX1_RX_PATH_CFG2, 0x8F},
  295. { BOLERO_CDC_RX_RX1_RX_PATH_CFG3, 0x00},
  296. { BOLERO_CDC_RX_RX1_RX_VOL_CTL, 0x00},
  297. { BOLERO_CDC_RX_RX1_RX_PATH_MIX_CTL, 0x04},
  298. { BOLERO_CDC_RX_RX1_RX_PATH_MIX_CFG, 0x7E},
  299. { BOLERO_CDC_RX_RX1_RX_VOL_MIX_CTL, 0x00},
  300. { BOLERO_CDC_RX_RX1_RX_PATH_SEC1, 0x08},
  301. { BOLERO_CDC_RX_RX1_RX_PATH_SEC2, 0x00},
  302. { BOLERO_CDC_RX_RX1_RX_PATH_SEC3, 0x00},
  303. { BOLERO_CDC_RX_RX1_RX_PATH_SEC4, 0x00},
  304. { BOLERO_CDC_RX_RX1_RX_PATH_SEC7, 0x00},
  305. { BOLERO_CDC_RX_RX1_RX_PATH_MIX_SEC0, 0x08},
  306. { BOLERO_CDC_RX_RX1_RX_PATH_MIX_SEC1, 0x00},
  307. { BOLERO_CDC_RX_RX1_RX_PATH_DSM_CTL, 0x08},
  308. { BOLERO_CDC_RX_RX1_RX_PATH_DSM_DATA1, 0x00},
  309. { BOLERO_CDC_RX_RX1_RX_PATH_DSM_DATA2, 0x00},
  310. { BOLERO_CDC_RX_RX1_RX_PATH_DSM_DATA3, 0x00},
  311. { BOLERO_CDC_RX_RX1_RX_PATH_DSM_DATA4, 0x55},
  312. { BOLERO_CDC_RX_RX1_RX_PATH_DSM_DATA5, 0x55},
  313. { BOLERO_CDC_RX_RX1_RX_PATH_DSM_DATA6, 0x55},
  314. { BOLERO_CDC_RX_RX2_RX_PATH_CTL, 0x04},
  315. { BOLERO_CDC_RX_RX2_RX_PATH_CFG0, 0x00},
  316. { BOLERO_CDC_RX_RX2_RX_PATH_CFG1, 0x64},
  317. { BOLERO_CDC_RX_RX2_RX_PATH_CFG2, 0x8F},
  318. { BOLERO_CDC_RX_RX2_RX_PATH_CFG3, 0x00},
  319. { BOLERO_CDC_RX_RX2_RX_VOL_CTL, 0x00},
  320. { BOLERO_CDC_RX_RX2_RX_PATH_MIX_CTL, 0x04},
  321. { BOLERO_CDC_RX_RX2_RX_PATH_MIX_CFG, 0x7E},
  322. { BOLERO_CDC_RX_RX2_RX_VOL_MIX_CTL, 0x00},
  323. { BOLERO_CDC_RX_RX2_RX_PATH_SEC0, 0x04},
  324. { BOLERO_CDC_RX_RX2_RX_PATH_SEC1, 0x08},
  325. { BOLERO_CDC_RX_RX2_RX_PATH_SEC2, 0x00},
  326. { BOLERO_CDC_RX_RX2_RX_PATH_SEC3, 0x00},
  327. { BOLERO_CDC_RX_RX2_RX_PATH_SEC4, 0x00},
  328. { BOLERO_CDC_RX_RX2_RX_PATH_SEC5, 0x00},
  329. { BOLERO_CDC_RX_RX2_RX_PATH_SEC6, 0x00},
  330. { BOLERO_CDC_RX_RX2_RX_PATH_SEC7, 0x00},
  331. { BOLERO_CDC_RX_RX2_RX_PATH_MIX_SEC0, 0x08},
  332. { BOLERO_CDC_RX_RX2_RX_PATH_MIX_SEC1, 0x00},
  333. { BOLERO_CDC_RX_RX2_RX_PATH_DSM_CTL, 0x00},
  334. { BOLERO_CDC_RX_IDLE_DETECT_PATH_CTL, 0x00},
  335. { BOLERO_CDC_RX_IDLE_DETECT_CFG0, 0x07},
  336. { BOLERO_CDC_RX_IDLE_DETECT_CFG1, 0x3C},
  337. { BOLERO_CDC_RX_IDLE_DETECT_CFG2, 0x00},
  338. { BOLERO_CDC_RX_IDLE_DETECT_CFG3, 0x00},
  339. { BOLERO_CDC_RX_COMPANDER0_CTL0, 0x60},
  340. { BOLERO_CDC_RX_COMPANDER0_CTL1, 0xDB},
  341. { BOLERO_CDC_RX_COMPANDER0_CTL2, 0xFF},
  342. { BOLERO_CDC_RX_COMPANDER0_CTL3, 0x35},
  343. { BOLERO_CDC_RX_COMPANDER0_CTL4, 0xFF},
  344. { BOLERO_CDC_RX_COMPANDER0_CTL5, 0x00},
  345. { BOLERO_CDC_RX_COMPANDER0_CTL6, 0x01},
  346. { BOLERO_CDC_RX_COMPANDER0_CTL7, 0x28},
  347. { BOLERO_CDC_RX_COMPANDER1_CTL0, 0x60},
  348. { BOLERO_CDC_RX_COMPANDER1_CTL1, 0xDB},
  349. { BOLERO_CDC_RX_COMPANDER1_CTL2, 0xFF},
  350. { BOLERO_CDC_RX_COMPANDER1_CTL3, 0x35},
  351. { BOLERO_CDC_RX_COMPANDER1_CTL4, 0xFF},
  352. { BOLERO_CDC_RX_COMPANDER1_CTL5, 0x00},
  353. { BOLERO_CDC_RX_COMPANDER1_CTL6, 0x01},
  354. { BOLERO_CDC_RX_COMPANDER1_CTL7, 0x28},
  355. { BOLERO_CDC_RX_SIDETONE_IIR0_IIR_PATH_CTL, 0x00},
  356. { BOLERO_CDC_RX_SIDETONE_IIR0_IIR_GAIN_B1_CTL, 0x00},
  357. { BOLERO_CDC_RX_SIDETONE_IIR0_IIR_GAIN_B2_CTL, 0x00},
  358. { BOLERO_CDC_RX_SIDETONE_IIR0_IIR_GAIN_B3_CTL, 0x00},
  359. { BOLERO_CDC_RX_SIDETONE_IIR0_IIR_GAIN_B4_CTL, 0x00},
  360. { BOLERO_CDC_RX_SIDETONE_IIR0_IIR_GAIN_B5_CTL, 0x00},
  361. { BOLERO_CDC_RX_SIDETONE_IIR0_IIR_GAIN_B6_CTL, 0x00},
  362. { BOLERO_CDC_RX_SIDETONE_IIR0_IIR_GAIN_B7_CTL, 0x00},
  363. { BOLERO_CDC_RX_SIDETONE_IIR0_IIR_GAIN_B8_CTL, 0x00},
  364. { BOLERO_CDC_RX_SIDETONE_IIR0_IIR_CTL, 0x40},
  365. { BOLERO_CDC_RX_SIDETONE_IIR0_IIR_GAIN_TIMER_CTL, 0x00},
  366. { BOLERO_CDC_RX_SIDETONE_IIR0_IIR_COEF_B1_CTL, 0x00},
  367. { BOLERO_CDC_RX_SIDETONE_IIR0_IIR_COEF_B2_CTL, 0x00},
  368. { BOLERO_CDC_RX_SIDETONE_IIR1_IIR_PATH_CTL, 0x00},
  369. { BOLERO_CDC_RX_SIDETONE_IIR1_IIR_GAIN_B1_CTL, 0x00},
  370. { BOLERO_CDC_RX_SIDETONE_IIR1_IIR_GAIN_B2_CTL, 0x00},
  371. { BOLERO_CDC_RX_SIDETONE_IIR1_IIR_GAIN_B3_CTL, 0x00},
  372. { BOLERO_CDC_RX_SIDETONE_IIR1_IIR_GAIN_B4_CTL, 0x00},
  373. { BOLERO_CDC_RX_SIDETONE_IIR1_IIR_GAIN_B5_CTL, 0x00},
  374. { BOLERO_CDC_RX_SIDETONE_IIR1_IIR_GAIN_B6_CTL, 0x00},
  375. { BOLERO_CDC_RX_SIDETONE_IIR1_IIR_GAIN_B7_CTL, 0x00},
  376. { BOLERO_CDC_RX_SIDETONE_IIR1_IIR_GAIN_B8_CTL, 0x00},
  377. { BOLERO_CDC_RX_SIDETONE_IIR1_IIR_CTL, 0x40},
  378. { BOLERO_CDC_RX_SIDETONE_IIR1_IIR_GAIN_TIMER_CTL, 0x00},
  379. { BOLERO_CDC_RX_SIDETONE_IIR1_IIR_COEF_B1_CTL, 0x00},
  380. { BOLERO_CDC_RX_SIDETONE_IIR1_IIR_COEF_B2_CTL, 0x00},
  381. { BOLERO_CDC_RX_IIR_INP_MUX_IIR0_MIX_CFG0, 0x00},
  382. { BOLERO_CDC_RX_IIR_INP_MUX_IIR0_MIX_CFG1, 0x00},
  383. { BOLERO_CDC_RX_IIR_INP_MUX_IIR0_MIX_CFG2, 0x00},
  384. { BOLERO_CDC_RX_IIR_INP_MUX_IIR0_MIX_CFG3, 0x00},
  385. { BOLERO_CDC_RX_IIR_INP_MUX_IIR1_MIX_CFG0, 0x00},
  386. { BOLERO_CDC_RX_IIR_INP_MUX_IIR1_MIX_CFG1, 0x00},
  387. { BOLERO_CDC_RX_IIR_INP_MUX_IIR1_MIX_CFG2, 0x00},
  388. { BOLERO_CDC_RX_IIR_INP_MUX_IIR1_MIX_CFG3, 0x00},
  389. { BOLERO_CDC_RX_SIDETONE_SRC0_ST_SRC_PATH_CTL, 0x04},
  390. { BOLERO_CDC_RX_SIDETONE_SRC0_ST_SRC_PATH_CFG1, 0x00},
  391. { BOLERO_CDC_RX_SIDETONE_SRC1_ST_SRC_PATH_CTL, 0x04},
  392. { BOLERO_CDC_RX_SIDETONE_SRC1_ST_SRC_PATH_CFG1, 0x00},
  393. { BOLERO_CDC_RX_EC_REF_HQ0_EC_REF_HQ_PATH_CTL, 0x00},
  394. { BOLERO_CDC_RX_EC_REF_HQ0_EC_REF_HQ_CFG0, 0x01},
  395. { BOLERO_CDC_RX_EC_REF_HQ1_EC_REF_HQ_PATH_CTL, 0x00},
  396. { BOLERO_CDC_RX_EC_REF_HQ1_EC_REF_HQ_CFG0, 0x01},
  397. { BOLERO_CDC_RX_EC_REF_HQ2_EC_REF_HQ_PATH_CTL, 0x00},
  398. { BOLERO_CDC_RX_EC_REF_HQ2_EC_REF_HQ_CFG0, 0x01},
  399. { BOLERO_CDC_RX_EC_ASRC0_CLK_RST_CTL, 0x00},
  400. { BOLERO_CDC_RX_EC_ASRC0_CTL0, 0x00},
  401. { BOLERO_CDC_RX_EC_ASRC0_CTL1, 0x00},
  402. { BOLERO_CDC_RX_EC_ASRC0_FIFO_CTL, 0xA8},
  403. { BOLERO_CDC_RX_EC_ASRC0_STATUS_FMIN_CNTR_LSB, 0x00},
  404. { BOLERO_CDC_RX_EC_ASRC0_STATUS_FMIN_CNTR_MSB, 0x00},
  405. { BOLERO_CDC_RX_EC_ASRC0_STATUS_FMAX_CNTR_LSB, 0x00},
  406. { BOLERO_CDC_RX_EC_ASRC0_STATUS_FMAX_CNTR_MSB, 0x00},
  407. { BOLERO_CDC_RX_EC_ASRC0_STATUS_FIFO, 0x00},
  408. { BOLERO_CDC_RX_EC_ASRC1_CLK_RST_CTL, 0x00},
  409. { BOLERO_CDC_RX_EC_ASRC1_CTL0, 0x00},
  410. { BOLERO_CDC_RX_EC_ASRC1_CTL1, 0x00},
  411. { BOLERO_CDC_RX_EC_ASRC1_FIFO_CTL, 0xA8},
  412. { BOLERO_CDC_RX_EC_ASRC1_STATUS_FMIN_CNTR_LSB, 0x00},
  413. { BOLERO_CDC_RX_EC_ASRC1_STATUS_FMIN_CNTR_MSB, 0x00},
  414. { BOLERO_CDC_RX_EC_ASRC1_STATUS_FMAX_CNTR_LSB, 0x00},
  415. { BOLERO_CDC_RX_EC_ASRC1_STATUS_FMAX_CNTR_MSB, 0x00},
  416. { BOLERO_CDC_RX_EC_ASRC1_STATUS_FIFO, 0x00},
  417. { BOLERO_CDC_RX_EC_ASRC2_CLK_RST_CTL, 0x00},
  418. { BOLERO_CDC_RX_EC_ASRC2_CTL0, 0x00},
  419. { BOLERO_CDC_RX_EC_ASRC2_CTL1, 0x00},
  420. { BOLERO_CDC_RX_EC_ASRC2_FIFO_CTL, 0xA8},
  421. { BOLERO_CDC_RX_EC_ASRC2_STATUS_FMIN_CNTR_LSB, 0x00},
  422. { BOLERO_CDC_RX_EC_ASRC2_STATUS_FMIN_CNTR_MSB, 0x00},
  423. { BOLERO_CDC_RX_EC_ASRC2_STATUS_FMAX_CNTR_LSB, 0x00},
  424. { BOLERO_CDC_RX_EC_ASRC2_STATUS_FMAX_CNTR_MSB, 0x00},
  425. { BOLERO_CDC_RX_EC_ASRC2_STATUS_FIFO, 0x00},
  426. { BOLERO_CDC_RX_DSD0_PATH_CTL, 0x00},
  427. { BOLERO_CDC_RX_DSD0_CFG0, 0x00},
  428. { BOLERO_CDC_RX_DSD0_CFG1, 0x62},
  429. { BOLERO_CDC_RX_DSD0_CFG2, 0x96},
  430. { BOLERO_CDC_RX_DSD1_PATH_CTL, 0x00},
  431. { BOLERO_CDC_RX_DSD1_CFG0, 0x00},
  432. { BOLERO_CDC_RX_DSD1_CFG1, 0x62},
  433. { BOLERO_CDC_RX_DSD1_CFG2, 0x96},
  434. /* WSA Macro */
  435. { BOLERO_CDC_WSA_CLK_RST_CTRL_MCLK_CONTROL, 0x00},
  436. { BOLERO_CDC_WSA_CLK_RST_CTRL_FS_CNT_CONTROL, 0x00},
  437. { BOLERO_CDC_WSA_CLK_RST_CTRL_SWR_CONTROL, 0x00},
  438. { BOLERO_CDC_WSA_TOP_TOP_CFG0, 0x00},
  439. { BOLERO_CDC_WSA_TOP_TOP_CFG1, 0x00},
  440. { BOLERO_CDC_WSA_TOP_FREQ_MCLK, 0x00},
  441. { BOLERO_CDC_WSA_TOP_DEBUG_BUS_SEL, 0x00},
  442. { BOLERO_CDC_WSA_TOP_DEBUG_EN0, 0x00},
  443. { BOLERO_CDC_WSA_TOP_DEBUG_EN1, 0x00},
  444. { BOLERO_CDC_WSA_TOP_DEBUG_DSM_LB, 0x88},
  445. { BOLERO_CDC_WSA_TOP_RX_I2S_CTL, 0x0C},
  446. { BOLERO_CDC_WSA_TOP_TX_I2S_CTL, 0x0C},
  447. { BOLERO_CDC_WSA_TOP_I2S_CLK, 0x02},
  448. { BOLERO_CDC_WSA_TOP_I2S_RESET, 0x00},
  449. { BOLERO_CDC_WSA_RX_INP_MUX_RX_INT0_CFG0, 0x00},
  450. { BOLERO_CDC_WSA_RX_INP_MUX_RX_INT0_CFG1, 0x00},
  451. { BOLERO_CDC_WSA_RX_INP_MUX_RX_INT1_CFG0, 0x00},
  452. { BOLERO_CDC_WSA_RX_INP_MUX_RX_INT1_CFG1, 0x00},
  453. { BOLERO_CDC_WSA_RX_INP_MUX_RX_MIX_CFG0, 0x00},
  454. { BOLERO_CDC_WSA_RX_INP_MUX_RX_EC_CFG0, 0x00},
  455. { BOLERO_CDC_WSA_RX_INP_MUX_SOFTCLIP_CFG0, 0x00},
  456. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_PATH_CTL, 0x00},
  457. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_CFG, 0x10},
  458. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_ADC_CAL1, 0x00},
  459. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_ADC_CAL2, 0x00},
  460. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_ADC_CAL3, 0x04},
  461. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_PK_EST1, 0xE0},
  462. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_PK_EST2, 0x01},
  463. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_PK_EST3, 0x40},
  464. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_RF_PROC1, 0x2A},
  465. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_RF_PROC2, 0x00},
  466. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_TAC1, 0x00},
  467. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_TAC2, 0x18},
  468. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_TAC3, 0x18},
  469. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_TAC4, 0x03},
  470. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_GAIN_UPD1, 0x01},
  471. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_GAIN_UPD2, 0x00},
  472. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_GAIN_UPD3, 0x00},
  473. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_GAIN_UPD4, 0x64},
  474. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_GAIN_UPD5, 0x01},
  475. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_DEBUG1, 0x00},
  476. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_GAIN_UPD_MON, 0x00},
  477. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_GAIN_MON_VAL, 0x00},
  478. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_BAN, 0x0C},
  479. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_BCL_GAIN_UPD1, 0x00},
  480. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_BCL_GAIN_UPD2, 0x77},
  481. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_BCL_GAIN_UPD3, 0x01},
  482. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_BCL_GAIN_UPD4, 0x00},
  483. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_BCL_GAIN_UPD5, 0x4B},
  484. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_BCL_GAIN_UPD6, 0x00},
  485. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_BCL_GAIN_UPD7, 0x01},
  486. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_BCL_GAIN_UPD8, 0x00},
  487. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_BCL_GAIN_UPD9, 0x00},
  488. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_BCL_ATTN1, 0x04},
  489. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_BCL_ATTN2, 0x08},
  490. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_BCL_ATTN3, 0x0C},
  491. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_DECODE_CTL1, 0xE0},
  492. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_DECODE_CTL2, 0x00},
  493. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_DECODE_CFG1, 0x00},
  494. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_DECODE_CFG2, 0x00},
  495. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_DECODE_CFG3, 0x00},
  496. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_DECODE_CFG4, 0x00},
  497. { BOLERO_CDC_WSA_VBAT_BCL_VBAT_DECODE_ST, 0x00},
  498. { BOLERO_CDC_WSA_TX0_SPKR_PROT_PATH_CTL, 0x02},
  499. { BOLERO_CDC_WSA_TX0_SPKR_PROT_PATH_CFG0, 0x00},
  500. { BOLERO_CDC_WSA_TX1_SPKR_PROT_PATH_CTL, 0x02},
  501. { BOLERO_CDC_WSA_TX1_SPKR_PROT_PATH_CFG0, 0x00},
  502. { BOLERO_CDC_WSA_TX2_SPKR_PROT_PATH_CTL, 0x02},
  503. { BOLERO_CDC_WSA_TX2_SPKR_PROT_PATH_CFG0, 0x00},
  504. { BOLERO_CDC_WSA_TX3_SPKR_PROT_PATH_CTL, 0x02},
  505. { BOLERO_CDC_WSA_TX3_SPKR_PROT_PATH_CFG0, 0x00},
  506. { BOLERO_CDC_WSA_INTR_CTRL_CFG, 0x00},
  507. { BOLERO_CDC_WSA_INTR_CTRL_CLR_COMMIT, 0x00},
  508. { BOLERO_CDC_WSA_INTR_CTRL_PIN1_MASK0, 0xFF},
  509. { BOLERO_CDC_WSA_INTR_CTRL_PIN1_STATUS0, 0x00},
  510. { BOLERO_CDC_WSA_INTR_CTRL_PIN1_CLEAR0, 0x00},
  511. { BOLERO_CDC_WSA_INTR_CTRL_PIN2_MASK0, 0xFF},
  512. { BOLERO_CDC_WSA_INTR_CTRL_PIN2_STATUS0, 0x00},
  513. { BOLERO_CDC_WSA_INTR_CTRL_PIN2_CLEAR0, 0x00},
  514. { BOLERO_CDC_WSA_INTR_CTRL_LEVEL0, 0x00},
  515. { BOLERO_CDC_WSA_INTR_CTRL_BYPASS0, 0x00},
  516. { BOLERO_CDC_WSA_INTR_CTRL_SET0, 0x00},
  517. { BOLERO_CDC_WSA_RX0_RX_PATH_CTL, 0x04},
  518. { BOLERO_CDC_WSA_RX0_RX_PATH_CFG0, 0x00},
  519. { BOLERO_CDC_WSA_RX0_RX_PATH_CFG1, 0x64},
  520. { BOLERO_CDC_WSA_RX0_RX_PATH_CFG2, 0x8F},
  521. { BOLERO_CDC_WSA_RX0_RX_PATH_CFG3, 0x00},
  522. { BOLERO_CDC_WSA_RX0_RX_VOL_CTL, 0x00},
  523. { BOLERO_CDC_WSA_RX0_RX_PATH_MIX_CTL, 0x04},
  524. { BOLERO_CDC_WSA_RX0_RX_PATH_MIX_CFG, 0x7E},
  525. { BOLERO_CDC_WSA_RX0_RX_VOL_MIX_CTL, 0x00},
  526. { BOLERO_CDC_WSA_RX0_RX_PATH_SEC0, 0x04},
  527. { BOLERO_CDC_WSA_RX0_RX_PATH_SEC1, 0x08},
  528. { BOLERO_CDC_WSA_RX0_RX_PATH_SEC2, 0x00},
  529. { BOLERO_CDC_WSA_RX0_RX_PATH_SEC3, 0x00},
  530. { BOLERO_CDC_WSA_RX0_RX_PATH_SEC5, 0x00},
  531. { BOLERO_CDC_WSA_RX0_RX_PATH_SEC6, 0x00},
  532. { BOLERO_CDC_WSA_RX0_RX_PATH_SEC7, 0x00},
  533. { BOLERO_CDC_WSA_RX0_RX_PATH_MIX_SEC0, 0x08},
  534. { BOLERO_CDC_WSA_RX0_RX_PATH_MIX_SEC1, 0x00},
  535. { BOLERO_CDC_WSA_RX0_RX_PATH_DSMDEM_CTL, 0x00},
  536. { BOLERO_CDC_WSA_RX1_RX_PATH_CFG0, 0x00},
  537. { BOLERO_CDC_WSA_RX1_RX_PATH_CFG1, 0x64},
  538. { BOLERO_CDC_WSA_RX1_RX_PATH_CFG2, 0x8F},
  539. { BOLERO_CDC_WSA_RX1_RX_PATH_CFG3, 0x00},
  540. { BOLERO_CDC_WSA_RX1_RX_VOL_CTL, 0x00},
  541. { BOLERO_CDC_WSA_RX1_RX_PATH_MIX_CTL, 0x04},
  542. { BOLERO_CDC_WSA_RX1_RX_PATH_MIX_CFG, 0x7E},
  543. { BOLERO_CDC_WSA_RX1_RX_VOL_MIX_CTL, 0x00},
  544. { BOLERO_CDC_WSA_RX1_RX_PATH_SEC0, 0x04},
  545. { BOLERO_CDC_WSA_RX1_RX_PATH_SEC1, 0x08},
  546. { BOLERO_CDC_WSA_RX1_RX_PATH_SEC2, 0x00},
  547. { BOLERO_CDC_WSA_RX1_RX_PATH_SEC3, 0x00},
  548. { BOLERO_CDC_WSA_RX1_RX_PATH_SEC5, 0x00},
  549. { BOLERO_CDC_WSA_RX1_RX_PATH_SEC6, 0x00},
  550. { BOLERO_CDC_WSA_RX1_RX_PATH_SEC7, 0x00},
  551. { BOLERO_CDC_WSA_RX1_RX_PATH_MIX_SEC0, 0x08},
  552. { BOLERO_CDC_WSA_RX1_RX_PATH_MIX_SEC1, 0x00},
  553. { BOLERO_CDC_WSA_RX1_RX_PATH_DSMDEM_CTL, 0x00},
  554. { BOLERO_CDC_WSA_BOOST0_BOOST_PATH_CTL, 0x00},
  555. { BOLERO_CDC_WSA_BOOST0_BOOST_CTL, 0xD0},
  556. { BOLERO_CDC_WSA_BOOST0_BOOST_CFG1, 0x89},
  557. { BOLERO_CDC_WSA_BOOST0_BOOST_CFG2, 0x04},
  558. { BOLERO_CDC_WSA_BOOST1_BOOST_PATH_CTL, 0x00},
  559. { BOLERO_CDC_WSA_BOOST1_BOOST_CTL, 0xD0},
  560. { BOLERO_CDC_WSA_BOOST1_BOOST_CFG1, 0x89},
  561. { BOLERO_CDC_WSA_BOOST1_BOOST_CFG2, 0x04},
  562. { BOLERO_CDC_WSA_COMPANDER0_CTL0, 0x60},
  563. { BOLERO_CDC_WSA_COMPANDER0_CTL1, 0xDB},
  564. { BOLERO_CDC_WSA_COMPANDER0_CTL2, 0xFF},
  565. { BOLERO_CDC_WSA_COMPANDER0_CTL3, 0x35},
  566. { BOLERO_CDC_WSA_COMPANDER0_CTL4, 0xFF},
  567. { BOLERO_CDC_WSA_COMPANDER0_CTL5, 0x00},
  568. { BOLERO_CDC_WSA_COMPANDER0_CTL6, 0x01},
  569. { BOLERO_CDC_WSA_COMPANDER0_CTL7, 0x28},
  570. { BOLERO_CDC_WSA_COMPANDER1_CTL0, 0x60},
  571. { BOLERO_CDC_WSA_COMPANDER1_CTL1, 0xDB},
  572. { BOLERO_CDC_WSA_COMPANDER1_CTL2, 0xFF},
  573. { BOLERO_CDC_WSA_COMPANDER1_CTL3, 0x35},
  574. { BOLERO_CDC_WSA_COMPANDER1_CTL4, 0xFF},
  575. { BOLERO_CDC_WSA_COMPANDER1_CTL5, 0x00},
  576. { BOLERO_CDC_WSA_COMPANDER1_CTL6, 0x01},
  577. { BOLERO_CDC_WSA_COMPANDER1_CTL7, 0x28},
  578. { BOLERO_CDC_WSA_SOFTCLIP0_CRC, 0x00},
  579. { BOLERO_CDC_WSA_SOFTCLIP0_SOFTCLIP_CTRL, 0x38},
  580. { BOLERO_CDC_WSA_SOFTCLIP1_CRC, 0x00},
  581. { BOLERO_CDC_WSA_SOFTCLIP1_SOFTCLIP_CTRL, 0x38},
  582. { BOLERO_CDC_WSA_EC_HQ0_EC_REF_HQ_PATH_CTL, 0x00},
  583. { BOLERO_CDC_WSA_EC_HQ0_EC_REF_HQ_CFG0, 0x01},
  584. { BOLERO_CDC_WSA_EC_HQ1_EC_REF_HQ_PATH_CTL, 0x00},
  585. { BOLERO_CDC_WSA_EC_HQ1_EC_REF_HQ_CFG0, 0x01},
  586. { BOLERO_CDC_WSA_SPLINE_ASRC0_CLK_RST_CTL, 0x00},
  587. { BOLERO_CDC_WSA_SPLINE_ASRC0_CTL0, 0x00},
  588. { BOLERO_CDC_WSA_SPLINE_ASRC0_CTL1, 0x00},
  589. { BOLERO_CDC_WSA_SPLINE_ASRC0_FIFO_CTL, 0xA8},
  590. { BOLERO_CDC_WSA_SPLINE_ASRC0_STATUS_FMIN_CNTR_LSB, 0x00},
  591. { BOLERO_CDC_WSA_SPLINE_ASRC0_STATUS_FMIN_CNTR_MSB, 0x00},
  592. { BOLERO_CDC_WSA_SPLINE_ASRC0_STATUS_FMAX_CNTR_LSB, 0x00},
  593. { BOLERO_CDC_WSA_SPLINE_ASRC0_STATUS_FMAX_CNTR_MSB, 0x00},
  594. { BOLERO_CDC_WSA_SPLINE_ASRC0_STATUS_FIFO, 0x00},
  595. { BOLERO_CDC_WSA_SPLINE_ASRC1_CLK_RST_CTL, 0x00},
  596. { BOLERO_CDC_WSA_SPLINE_ASRC1_CTL0, 0x00},
  597. { BOLERO_CDC_WSA_SPLINE_ASRC1_CTL1, 0x00},
  598. { BOLERO_CDC_WSA_SPLINE_ASRC1_FIFO_CTL, 0xA8},
  599. { BOLERO_CDC_WSA_SPLINE_ASRC1_STATUS_FMIN_CNTR_LSB, 0x00},
  600. { BOLERO_CDC_WSA_SPLINE_ASRC1_STATUS_FMIN_CNTR_MSB, 0x00},
  601. { BOLERO_CDC_WSA_SPLINE_ASRC1_STATUS_FMAX_CNTR_LSB, 0x00},
  602. { BOLERO_CDC_WSA_SPLINE_ASRC1_STATUS_FMAX_CNTR_MSB, 0x00},
  603. { BOLERO_CDC_WSA_SPLINE_ASRC1_STATUS_FIFO, 0x00},
  604. /* VA macro */
  605. { BOLERO_CDC_VA_CLK_RST_CTRL_MCLK_CONTROL, 0x00},
  606. { BOLERO_CDC_VA_CLK_RST_CTRL_FS_CNT_CONTROL, 0x00},
  607. { BOLERO_CDC_VA_CLK_RST_CTRL_SWR_CONTROL, 0x00},
  608. { BOLERO_CDC_VA_TOP_CSR_TOP_CFG0, 0x00},
  609. { BOLERO_CDC_VA_TOP_CSR_DMIC0_CTL, 0x00},
  610. { BOLERO_CDC_VA_TOP_CSR_DMIC1_CTL, 0x00},
  611. { BOLERO_CDC_VA_TOP_CSR_DMIC2_CTL, 0x00},
  612. { BOLERO_CDC_VA_TOP_CSR_DMIC3_CTL, 0x00},
  613. { BOLERO_CDC_VA_TOP_CSR_DMIC_CFG, 0x80},
  614. { BOLERO_CDC_VA_TOP_CSR_DEBUG_BUS, 0x00},
  615. { BOLERO_CDC_VA_TOP_CSR_DEBUG_EN, 0x00},
  616. { BOLERO_CDC_VA_TOP_CSR_TX_I2S_CTL, 0x0C},
  617. { BOLERO_CDC_VA_TOP_CSR_I2S_CLK, 0x00},
  618. { BOLERO_CDC_VA_TOP_CSR_I2S_RESET, 0x00},
  619. { BOLERO_CDC_VA_TOP_CSR_CORE_ID_0, 0x00},
  620. { BOLERO_CDC_VA_TOP_CSR_CORE_ID_1, 0x00},
  621. { BOLERO_CDC_VA_TOP_CSR_CORE_ID_2, 0x00},
  622. { BOLERO_CDC_VA_TOP_CSR_CORE_ID_3, 0x00},
  623. { BOLERO_CDC_VA_TOP_CSR_SWR_MIC_CTL0, 0xEE},
  624. { BOLERO_CDC_VA_TOP_CSR_SWR_MIC_CTL1, 0xEE},
  625. { BOLERO_CDC_VA_TOP_CSR_SWR_MIC_CTL2, 0xEE},
  626. { BOLERO_CDC_VA_TOP_CSR_SWR_CTRL, 0x06},
  627. /* VA core */
  628. { BOLERO_CDC_VA_INP_MUX_ADC_MUX0_CFG0, 0x00},
  629. { BOLERO_CDC_VA_INP_MUX_ADC_MUX0_CFG1, 0x00},
  630. { BOLERO_CDC_VA_INP_MUX_ADC_MUX1_CFG0, 0x00},
  631. { BOLERO_CDC_VA_INP_MUX_ADC_MUX1_CFG1, 0x00},
  632. { BOLERO_CDC_VA_INP_MUX_ADC_MUX2_CFG0, 0x00},
  633. { BOLERO_CDC_VA_INP_MUX_ADC_MUX2_CFG1, 0x00},
  634. { BOLERO_CDC_VA_INP_MUX_ADC_MUX3_CFG0, 0x00},
  635. { BOLERO_CDC_VA_INP_MUX_ADC_MUX3_CFG1, 0x00},
  636. { BOLERO_CDC_VA_INP_MUX_ADC_MUX4_CFG0, 0x00},
  637. { BOLERO_CDC_VA_INP_MUX_ADC_MUX4_CFG1, 0x00},
  638. { BOLERO_CDC_VA_INP_MUX_ADC_MUX5_CFG0, 0x00},
  639. { BOLERO_CDC_VA_INP_MUX_ADC_MUX5_CFG1, 0x00},
  640. { BOLERO_CDC_VA_INP_MUX_ADC_MUX6_CFG0, 0x00},
  641. { BOLERO_CDC_VA_INP_MUX_ADC_MUX6_CFG1, 0x00},
  642. { BOLERO_CDC_VA_INP_MUX_ADC_MUX7_CFG0, 0x00},
  643. { BOLERO_CDC_VA_INP_MUX_ADC_MUX7_CFG1, 0x00},
  644. { BOLERO_CDC_VA_TX0_TX_PATH_CTL, 0x04},
  645. { BOLERO_CDC_VA_TX0_TX_PATH_CFG0, 0x10},
  646. { BOLERO_CDC_VA_TX0_TX_PATH_CFG1, 0x0B},
  647. { BOLERO_CDC_VA_TX0_TX_VOL_CTL, 0x00},
  648. { BOLERO_CDC_VA_TX0_TX_PATH_SEC0, 0x00},
  649. { BOLERO_CDC_VA_TX0_TX_PATH_SEC1, 0x00},
  650. { BOLERO_CDC_VA_TX0_TX_PATH_SEC2, 0x01},
  651. { BOLERO_CDC_VA_TX0_TX_PATH_SEC3, 0x3C},
  652. { BOLERO_CDC_VA_TX0_TX_PATH_SEC4, 0x20},
  653. { BOLERO_CDC_VA_TX0_TX_PATH_SEC5, 0x00},
  654. { BOLERO_CDC_VA_TX0_TX_PATH_SEC6, 0x00},
  655. { BOLERO_CDC_VA_TX0_TX_PATH_SEC7, 0x25},
  656. { BOLERO_CDC_VA_TX1_TX_PATH_CTL, 0x04},
  657. { BOLERO_CDC_VA_TX1_TX_PATH_CFG0, 0x10},
  658. { BOLERO_CDC_VA_TX1_TX_PATH_CFG1, 0x0B},
  659. { BOLERO_CDC_VA_TX1_TX_VOL_CTL, 0x00},
  660. { BOLERO_CDC_VA_TX1_TX_PATH_SEC0, 0x00},
  661. { BOLERO_CDC_VA_TX1_TX_PATH_SEC1, 0x00},
  662. { BOLERO_CDC_VA_TX1_TX_PATH_SEC2, 0x01},
  663. { BOLERO_CDC_VA_TX1_TX_PATH_SEC3, 0x3C},
  664. { BOLERO_CDC_VA_TX1_TX_PATH_SEC4, 0x20},
  665. { BOLERO_CDC_VA_TX1_TX_PATH_SEC5, 0x00},
  666. { BOLERO_CDC_VA_TX1_TX_PATH_SEC6, 0x00},
  667. { BOLERO_CDC_VA_TX2_TX_PATH_CTL, 0x04},
  668. { BOLERO_CDC_VA_TX2_TX_PATH_CFG0, 0x10},
  669. { BOLERO_CDC_VA_TX2_TX_PATH_CFG1, 0x0B},
  670. { BOLERO_CDC_VA_TX2_TX_VOL_CTL, 0x00},
  671. { BOLERO_CDC_VA_TX2_TX_PATH_SEC0, 0x00},
  672. { BOLERO_CDC_VA_TX2_TX_PATH_SEC1, 0x00},
  673. { BOLERO_CDC_VA_TX2_TX_PATH_SEC2, 0x01},
  674. { BOLERO_CDC_VA_TX2_TX_PATH_SEC3, 0x3C},
  675. { BOLERO_CDC_VA_TX2_TX_PATH_SEC4, 0x20},
  676. { BOLERO_CDC_VA_TX2_TX_PATH_SEC5, 0x00},
  677. { BOLERO_CDC_VA_TX2_TX_PATH_SEC6, 0x00},
  678. { BOLERO_CDC_VA_TX3_TX_PATH_CTL, 0x04},
  679. { BOLERO_CDC_VA_TX3_TX_PATH_CFG0, 0x10},
  680. { BOLERO_CDC_VA_TX3_TX_PATH_CFG1, 0x0B},
  681. { BOLERO_CDC_VA_TX3_TX_VOL_CTL, 0x00},
  682. { BOLERO_CDC_VA_TX3_TX_PATH_SEC0, 0x00},
  683. { BOLERO_CDC_VA_TX3_TX_PATH_SEC1, 0x00},
  684. { BOLERO_CDC_VA_TX3_TX_PATH_SEC2, 0x01},
  685. { BOLERO_CDC_VA_TX3_TX_PATH_SEC3, 0x3C},
  686. { BOLERO_CDC_VA_TX3_TX_PATH_SEC4, 0x20},
  687. { BOLERO_CDC_VA_TX3_TX_PATH_SEC5, 0x00},
  688. { BOLERO_CDC_VA_TX3_TX_PATH_SEC6, 0x00},
  689. { BOLERO_CDC_VA_TX4_TX_PATH_CTL, 0x04},
  690. { BOLERO_CDC_VA_TX4_TX_PATH_CFG0, 0x10},
  691. { BOLERO_CDC_VA_TX4_TX_PATH_CFG1, 0x0B},
  692. { BOLERO_CDC_VA_TX4_TX_VOL_CTL, 0x00},
  693. { BOLERO_CDC_VA_TX4_TX_PATH_SEC0, 0x00},
  694. { BOLERO_CDC_VA_TX4_TX_PATH_SEC1, 0x00},
  695. { BOLERO_CDC_VA_TX4_TX_PATH_SEC2, 0x01},
  696. { BOLERO_CDC_VA_TX4_TX_PATH_SEC3, 0x3C},
  697. { BOLERO_CDC_VA_TX4_TX_PATH_SEC4, 0x20},
  698. { BOLERO_CDC_VA_TX4_TX_PATH_SEC5, 0x00},
  699. { BOLERO_CDC_VA_TX4_TX_PATH_SEC6, 0x00},
  700. { BOLERO_CDC_VA_TX5_TX_PATH_CTL, 0x04},
  701. { BOLERO_CDC_VA_TX5_TX_PATH_CFG0, 0x10},
  702. { BOLERO_CDC_VA_TX5_TX_PATH_CFG1, 0x0B},
  703. { BOLERO_CDC_VA_TX5_TX_VOL_CTL, 0x00},
  704. { BOLERO_CDC_VA_TX5_TX_PATH_SEC0, 0x00},
  705. { BOLERO_CDC_VA_TX5_TX_PATH_SEC1, 0x00},
  706. { BOLERO_CDC_VA_TX5_TX_PATH_SEC2, 0x01},
  707. { BOLERO_CDC_VA_TX5_TX_PATH_SEC3, 0x3C},
  708. { BOLERO_CDC_VA_TX5_TX_PATH_SEC4, 0x20},
  709. { BOLERO_CDC_VA_TX5_TX_PATH_SEC5, 0x00},
  710. { BOLERO_CDC_VA_TX5_TX_PATH_SEC6, 0x00},
  711. { BOLERO_CDC_VA_TX6_TX_PATH_CTL, 0x04},
  712. { BOLERO_CDC_VA_TX6_TX_PATH_CFG0, 0x10},
  713. { BOLERO_CDC_VA_TX6_TX_PATH_CFG1, 0x0B},
  714. { BOLERO_CDC_VA_TX6_TX_VOL_CTL, 0x00},
  715. { BOLERO_CDC_VA_TX6_TX_PATH_SEC0, 0x00},
  716. { BOLERO_CDC_VA_TX6_TX_PATH_SEC1, 0x00},
  717. { BOLERO_CDC_VA_TX6_TX_PATH_SEC2, 0x01},
  718. { BOLERO_CDC_VA_TX6_TX_PATH_SEC3, 0x3C},
  719. { BOLERO_CDC_VA_TX6_TX_PATH_SEC4, 0x20},
  720. { BOLERO_CDC_VA_TX6_TX_PATH_SEC5, 0x00},
  721. { BOLERO_CDC_VA_TX6_TX_PATH_SEC6, 0x00},
  722. { BOLERO_CDC_VA_TX7_TX_PATH_CTL, 0x04},
  723. { BOLERO_CDC_VA_TX7_TX_PATH_CFG0, 0x10},
  724. { BOLERO_CDC_VA_TX7_TX_PATH_CFG1, 0x0B},
  725. { BOLERO_CDC_VA_TX7_TX_VOL_CTL, 0x00},
  726. { BOLERO_CDC_VA_TX7_TX_PATH_SEC0, 0x00},
  727. { BOLERO_CDC_VA_TX7_TX_PATH_SEC1, 0x00},
  728. { BOLERO_CDC_VA_TX7_TX_PATH_SEC2, 0x01},
  729. { BOLERO_CDC_VA_TX7_TX_PATH_SEC3, 0x3C},
  730. { BOLERO_CDC_VA_TX7_TX_PATH_SEC4, 0x20},
  731. { BOLERO_CDC_VA_TX7_TX_PATH_SEC5, 0x00},
  732. { BOLERO_CDC_VA_TX7_TX_PATH_SEC6, 0x00},
  733. };
  734. static bool bolero_is_readable_register(struct device *dev,
  735. unsigned int reg)
  736. {
  737. struct bolero_priv *priv = dev_get_drvdata(dev);
  738. u16 reg_offset;
  739. int macro_id;
  740. u8 *reg_tbl = NULL;
  741. if (!priv)
  742. return false;
  743. macro_id = bolero_get_macro_id(priv->va_without_decimation,
  744. reg);
  745. if (macro_id < 0 || !priv->macros_supported[macro_id])
  746. return false;
  747. reg_tbl = bolero_reg_access[macro_id];
  748. reg_offset = (reg - macro_id_base_offset[macro_id])/4;
  749. if (reg_tbl)
  750. return (reg_tbl[reg_offset] & RD_REG);
  751. return false;
  752. }
  753. static bool bolero_is_writeable_register(struct device *dev,
  754. unsigned int reg)
  755. {
  756. struct bolero_priv *priv = dev_get_drvdata(dev);
  757. u16 reg_offset;
  758. int macro_id;
  759. const u8 *reg_tbl = NULL;
  760. if (!priv)
  761. return false;
  762. macro_id = bolero_get_macro_id(priv->va_without_decimation,
  763. reg);
  764. if (macro_id < 0 || !priv->macros_supported[macro_id])
  765. return false;
  766. reg_tbl = bolero_reg_access[macro_id];
  767. reg_offset = (reg - macro_id_base_offset[macro_id])/4;
  768. if (reg_tbl)
  769. return (reg_tbl[reg_offset] & WR_REG);
  770. return false;
  771. }
  772. static bool bolero_is_volatile_register(struct device *dev,
  773. unsigned int reg)
  774. {
  775. /* Update volatile list for rx/tx macros */
  776. switch (reg) {
  777. case BOLERO_CDC_VA_TOP_CSR_CORE_ID_0:
  778. case BOLERO_CDC_VA_TOP_CSR_CORE_ID_1:
  779. case BOLERO_CDC_VA_TOP_CSR_CORE_ID_2:
  780. case BOLERO_CDC_VA_TOP_CSR_CORE_ID_3:
  781. case BOLERO_CDC_VA_TOP_CSR_DMIC0_CTL:
  782. case BOLERO_CDC_VA_TOP_CSR_DMIC1_CTL:
  783. case BOLERO_CDC_VA_TOP_CSR_DMIC2_CTL:
  784. case BOLERO_CDC_VA_TOP_CSR_DMIC3_CTL:
  785. case BOLERO_CDC_TX_TOP_CSR_SWR_DMIC0_CTL:
  786. case BOLERO_CDC_TX_TOP_CSR_SWR_DMIC1_CTL:
  787. case BOLERO_CDC_TX_TOP_CSR_SWR_DMIC2_CTL:
  788. case BOLERO_CDC_TX_TOP_CSR_SWR_DMIC3_CTL:
  789. case BOLERO_CDC_TX_TOP_CSR_SWR_MIC0_CTL:
  790. case BOLERO_CDC_TX_TOP_CSR_SWR_MIC1_CTL:
  791. case BOLERO_CDC_WSA_VBAT_BCL_VBAT_GAIN_MON_VAL:
  792. case BOLERO_CDC_WSA_VBAT_BCL_VBAT_DECODE_ST:
  793. case BOLERO_CDC_WSA_INTR_CTRL_PIN1_STATUS0:
  794. case BOLERO_CDC_WSA_INTR_CTRL_PIN2_STATUS0:
  795. case BOLERO_CDC_WSA_COMPANDER0_CTL6:
  796. case BOLERO_CDC_WSA_COMPANDER1_CTL6:
  797. case BOLERO_CDC_WSA_SPLINE_ASRC0_STATUS_FMIN_CNTR_LSB:
  798. case BOLERO_CDC_WSA_SPLINE_ASRC0_STATUS_FMIN_CNTR_MSB:
  799. case BOLERO_CDC_WSA_SPLINE_ASRC0_STATUS_FMAX_CNTR_LSB:
  800. case BOLERO_CDC_WSA_SPLINE_ASRC0_STATUS_FMAX_CNTR_MSB:
  801. case BOLERO_CDC_WSA_SPLINE_ASRC0_STATUS_FIFO:
  802. case BOLERO_CDC_WSA_SPLINE_ASRC1_STATUS_FMIN_CNTR_LSB:
  803. case BOLERO_CDC_WSA_SPLINE_ASRC1_STATUS_FMIN_CNTR_MSB:
  804. case BOLERO_CDC_WSA_SPLINE_ASRC1_STATUS_FMAX_CNTR_LSB:
  805. case BOLERO_CDC_WSA_SPLINE_ASRC1_STATUS_FMAX_CNTR_MSB:
  806. case BOLERO_CDC_WSA_SPLINE_ASRC1_STATUS_FIFO:
  807. case BOLERO_CDC_RX_TOP_HPHL_COMP_RD_LSB:
  808. case BOLERO_CDC_RX_TOP_HPHL_COMP_WR_LSB:
  809. case BOLERO_CDC_RX_TOP_HPHL_COMP_RD_MSB:
  810. case BOLERO_CDC_RX_TOP_HPHL_COMP_WR_MSB:
  811. case BOLERO_CDC_RX_TOP_HPHR_COMP_RD_LSB:
  812. case BOLERO_CDC_RX_TOP_HPHR_COMP_WR_LSB:
  813. case BOLERO_CDC_RX_TOP_HPHR_COMP_RD_MSB:
  814. case BOLERO_CDC_RX_TOP_HPHR_COMP_WR_MSB:
  815. case BOLERO_CDC_RX_TOP_DSD0_DEBUG_CFG2:
  816. case BOLERO_CDC_RX_TOP_DSD1_DEBUG_CFG2:
  817. case BOLERO_CDC_RX_BCL_VBAT_GAIN_MON_VAL:
  818. case BOLERO_CDC_RX_BCL_VBAT_DECODE_ST:
  819. case BOLERO_CDC_RX_INTR_CTRL_PIN1_STATUS0:
  820. case BOLERO_CDC_RX_INTR_CTRL_PIN2_STATUS0:
  821. case BOLERO_CDC_RX_COMPANDER0_CTL6:
  822. case BOLERO_CDC_RX_COMPANDER1_CTL6:
  823. case BOLERO_CDC_RX_EC_ASRC0_STATUS_FMIN_CNTR_LSB:
  824. case BOLERO_CDC_RX_EC_ASRC0_STATUS_FMIN_CNTR_MSB:
  825. case BOLERO_CDC_RX_EC_ASRC0_STATUS_FMAX_CNTR_LSB:
  826. case BOLERO_CDC_RX_EC_ASRC0_STATUS_FMAX_CNTR_MSB:
  827. case BOLERO_CDC_RX_EC_ASRC0_STATUS_FIFO:
  828. case BOLERO_CDC_RX_EC_ASRC1_STATUS_FMIN_CNTR_LSB:
  829. case BOLERO_CDC_RX_EC_ASRC1_STATUS_FMIN_CNTR_MSB:
  830. case BOLERO_CDC_RX_EC_ASRC1_STATUS_FMAX_CNTR_LSB:
  831. case BOLERO_CDC_RX_EC_ASRC1_STATUS_FMAX_CNTR_MSB:
  832. case BOLERO_CDC_RX_EC_ASRC1_STATUS_FIFO:
  833. case BOLERO_CDC_RX_EC_ASRC2_STATUS_FMIN_CNTR_LSB:
  834. case BOLERO_CDC_RX_EC_ASRC2_STATUS_FMIN_CNTR_MSB:
  835. case BOLERO_CDC_RX_EC_ASRC2_STATUS_FMAX_CNTR_LSB:
  836. case BOLERO_CDC_RX_EC_ASRC2_STATUS_FMAX_CNTR_MSB:
  837. case BOLERO_CDC_RX_EC_ASRC2_STATUS_FIFO:
  838. case BOLERO_CDC_RX_SIDETONE_IIR0_IIR_COEF_B1_CTL:
  839. case BOLERO_CDC_RX_SIDETONE_IIR0_IIR_COEF_B2_CTL:
  840. case BOLERO_CDC_RX_SIDETONE_IIR1_IIR_COEF_B1_CTL:
  841. case BOLERO_CDC_RX_SIDETONE_IIR1_IIR_COEF_B2_CTL:
  842. return true;
  843. }
  844. return false;
  845. }
  846. const struct regmap_config bolero_regmap_config = {
  847. .reg_bits = 16,
  848. .val_bits = 8,
  849. .reg_stride = 4,
  850. .cache_type = REGCACHE_RBTREE,
  851. .reg_defaults = bolero_defaults,
  852. .num_reg_defaults = ARRAY_SIZE(bolero_defaults),
  853. .max_register = BOLERO_CDC_MAX_REGISTER,
  854. .writeable_reg = bolero_is_writeable_register,
  855. .volatile_reg = bolero_is_volatile_register,
  856. .readable_reg = bolero_is_readable_register,
  857. };