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