Lines Matching +full:0 +full:x3700

70 	{0x0000, 0x0000},
71 {0x0001, 0xc8c8},
72 {0x0002, 0x8080},
73 {0x0003, 0x8000},
74 {0x0004, 0xc80a},
75 {0x0005, 0x0000},
76 {0x0006, 0x0000},
77 {0x0007, 0x0000},
78 {0x000a, 0x0000},
79 {0x000b, 0x0000},
80 {0x000c, 0x0000},
81 {0x000d, 0x0000},
82 {0x000f, 0x0808},
83 {0x0010, 0x4040},
84 {0x0011, 0x0000},
85 {0x0012, 0x1404},
86 {0x0013, 0x1000},
87 {0x0014, 0xa00a},
88 {0x0015, 0x0404},
89 {0x0016, 0x0404},
90 {0x0017, 0x0011},
91 {0x0018, 0xafaf},
92 {0x0019, 0xafaf},
93 {0x001a, 0xafaf},
94 {0x001b, 0x0011},
95 {0x001c, 0x2f2f},
96 {0x001d, 0x2f2f},
97 {0x001e, 0x2f2f},
98 {0x001f, 0x0000},
99 {0x0020, 0x0000},
100 {0x0021, 0x0000},
101 {0x0022, 0x5757},
102 {0x0023, 0x0039},
103 {0x0026, 0xc0c0},
104 {0x0027, 0xc0c0},
105 {0x0028, 0xc0c0},
106 {0x0029, 0x8080},
107 {0x002a, 0xaaaa},
108 {0x002b, 0xaaaa},
109 {0x002c, 0xaba8},
110 {0x002d, 0x0000},
111 {0x002e, 0x0000},
112 {0x002f, 0x0000},
113 {0x0030, 0x0000},
114 {0x0031, 0x5000},
115 {0x0032, 0x0000},
116 {0x0033, 0x0000},
117 {0x0034, 0x0000},
118 {0x0035, 0x0000},
119 {0x003a, 0x0000},
120 {0x003b, 0x0000},
121 {0x003c, 0x00ff},
122 {0x003d, 0x0000},
123 {0x003e, 0x00ff},
124 {0x003f, 0x0000},
125 {0x0040, 0x0000},
126 {0x0041, 0x00ff},
127 {0x0042, 0x0000},
128 {0x0043, 0x00ff},
129 {0x0044, 0x0c0c},
130 {0x0049, 0xc00b},
131 {0x004a, 0x0000},
132 {0x004b, 0x031f},
133 {0x004d, 0x0000},
134 {0x004e, 0x001f},
135 {0x004f, 0x0000},
136 {0x0050, 0x001f},
137 {0x0052, 0xf000},
138 {0x0061, 0x0000},
139 {0x0062, 0x0000},
140 {0x0063, 0x003e},
141 {0x0064, 0x0000},
142 {0x0065, 0x0000},
143 {0x0066, 0x003f},
144 {0x0067, 0x0000},
145 {0x006b, 0x0000},
146 {0x006d, 0xff00},
147 {0x006e, 0x2808},
148 {0x006f, 0x000a},
149 {0x0070, 0x8000},
150 {0x0071, 0x8000},
151 {0x0072, 0x8000},
152 {0x0073, 0x7000},
153 {0x0074, 0x7770},
154 {0x0075, 0x0002},
155 {0x0076, 0x0001},
156 {0x0078, 0x00f0},
157 {0x0079, 0x0000},
158 {0x007a, 0x0000},
159 {0x007b, 0x0000},
160 {0x007c, 0x0000},
161 {0x007d, 0x0123},
162 {0x007e, 0x4500},
163 {0x007f, 0x8003},
164 {0x0080, 0x0000},
165 {0x0081, 0x0000},
166 {0x0082, 0x0000},
167 {0x0083, 0x0000},
168 {0x0084, 0x0000},
169 {0x0085, 0x0000},
170 {0x0086, 0x0008},
171 {0x0087, 0x0000},
172 {0x0088, 0x0000},
173 {0x0089, 0x0000},
174 {0x008a, 0x0000},
175 {0x008b, 0x0000},
176 {0x008c, 0x0003},
177 {0x008e, 0x0060},
178 {0x008f, 0x1000},
179 {0x0091, 0x0c26},
180 {0x0092, 0x0073},
181 {0x0093, 0x0000},
182 {0x0094, 0x0080},
183 {0x0098, 0x0000},
184 {0x0099, 0x0000},
185 {0x009a, 0x0007},
186 {0x009f, 0x0000},
187 {0x00a0, 0x0000},
188 {0x00a1, 0x0002},
189 {0x00a2, 0x0001},
190 {0x00a3, 0x0002},
191 {0x00a4, 0x0001},
192 {0x00ae, 0x2040},
193 {0x00af, 0x0000},
194 {0x00b6, 0x0000},
195 {0x00b7, 0x0000},
196 {0x00b8, 0x0000},
197 {0x00b9, 0x0000},
198 {0x00ba, 0x0002},
199 {0x00bb, 0x0000},
200 {0x00be, 0x0000},
201 {0x00c0, 0x0000},
202 {0x00c1, 0x0aaa},
203 {0x00c2, 0xaa80},
204 {0x00c3, 0x0003},
205 {0x00c4, 0x0000},
206 {0x00d0, 0x0000},
207 {0x00d1, 0x2244},
208 {0x00d3, 0x3300},
209 {0x00d4, 0x2200},
210 {0x00d9, 0x0809},
211 {0x00da, 0x0000},
212 {0x00db, 0x0008},
213 {0x00dc, 0x00c0},
214 {0x00dd, 0x6724},
215 {0x00de, 0x3131},
216 {0x00df, 0x0008},
217 {0x00e0, 0x4000},
218 {0x00e1, 0x3131},
219 {0x00e2, 0x600c},
220 {0x00ea, 0xb320},
221 {0x00eb, 0x0000},
222 {0x00ec, 0xb300},
223 {0x00ed, 0x0000},
224 {0x00ee, 0xb320},
225 {0x00ef, 0x0000},
226 {0x00f0, 0x0201},
227 {0x00f1, 0x0ddd},
228 {0x00f2, 0x0ddd},
229 {0x00f6, 0x0000},
230 {0x00f7, 0x0000},
231 {0x00f8, 0x0000},
232 {0x00fa, 0x0000},
233 {0x00fb, 0x0000},
234 {0x00fc, 0x0000},
235 {0x00fd, 0x0000},
236 {0x00fe, 0x10ec},
237 {0x00ff, 0x6451},
238 {0x0100, 0xaaaa},
239 {0x0101, 0x000a},
240 {0x010a, 0xaaaa},
241 {0x010b, 0xa0a0},
242 {0x010c, 0xaeae},
243 {0x010d, 0xaaaa},
244 {0x010e, 0xaaaa},
245 {0x010f, 0xaaaa},
246 {0x0110, 0xe002},
247 {0x0111, 0xa402},
248 {0x0112, 0xaaaa},
249 {0x0113, 0x2000},
250 {0x0117, 0x0f00},
251 {0x0125, 0x0410},
252 {0x0132, 0x0000},
253 {0x0133, 0x0000},
254 {0x0137, 0x5540},
255 {0x0138, 0x3700},
256 {0x0139, 0x79a1},
257 {0x013a, 0x2020},
258 {0x013b, 0x2020},
259 {0x013c, 0x2005},
260 {0x013f, 0x0000},
261 {0x0145, 0x0002},
262 {0x0146, 0x0000},
263 {0x0147, 0x0000},
264 {0x0148, 0x0000},
265 {0x0150, 0x0000},
266 {0x0160, 0x4eff},
267 {0x0161, 0x0080},
268 {0x0162, 0x0200},
269 {0x0163, 0x0800},
270 {0x0164, 0x0000},
271 {0x0165, 0x0000},
272 {0x0166, 0x0000},
273 {0x0167, 0x000f},
274 {0x0170, 0x4e87},
275 {0x0171, 0x0080},
276 {0x0172, 0x0200},
277 {0x0173, 0x0800},
278 {0x0174, 0x00ff},
279 {0x0175, 0x0000},
280 {0x0190, 0x413d},
281 {0x0191, 0x4139},
282 {0x0192, 0x4135},
283 {0x0193, 0x413d},
284 {0x0194, 0x0000},
285 {0x0195, 0x0000},
286 {0x0196, 0x0000},
287 {0x0197, 0x0000},
288 {0x0198, 0x0000},
289 {0x0199, 0x0000},
290 {0x01a0, 0x1e64},
291 {0x01a1, 0x06a3},
292 {0x01a2, 0x0000},
293 {0x01a3, 0x0000},
294 {0x01a4, 0x0000},
295 {0x01a5, 0x0000},
296 {0x01a6, 0x0000},
297 {0x01a7, 0x8000},
298 {0x01a8, 0x0000},
299 {0x01a9, 0x0000},
300 {0x01aa, 0x0000},
301 {0x01ab, 0x0000},
302 {0x01b5, 0x0000},
303 {0x01b6, 0x01c3},
304 {0x01b7, 0x02a0},
305 {0x01b8, 0x03e9},
306 {0x01b9, 0x1389},
307 {0x01ba, 0xc351},
308 {0x01bb, 0x0009},
309 {0x01bc, 0x0018},
310 {0x01bd, 0x002a},
311 {0x01be, 0x004c},
312 {0x01bf, 0x0097},
313 {0x01c0, 0x433d},
314 {0x01c1, 0x0000},
315 {0x01c2, 0x0000},
316 {0x01c3, 0x0000},
317 {0x01c4, 0x0000},
318 {0x01c5, 0x0000},
319 {0x01c6, 0x0000},
320 {0x01c7, 0x0000},
321 {0x01c8, 0x40af},
322 {0x01c9, 0x0702},
323 {0x01ca, 0x0000},
324 {0x01cb, 0x0000},
325 {0x01cc, 0x5757},
326 {0x01cd, 0x5757},
327 {0x01ce, 0x5757},
328 {0x01cf, 0x5757},
329 {0x01d0, 0x5757},
330 {0x01d1, 0x5757},
331 {0x01d2, 0x5757},
332 {0x01d3, 0x5757},
333 {0x01d4, 0x5757},
334 {0x01d5, 0x5757},
335 {0x01d6, 0x003c},
336 {0x01da, 0x0000},
337 {0x01db, 0x0000},
338 {0x01dc, 0x0000},
339 {0x01de, 0x7c00},
340 {0x01df, 0x0320},
341 {0x01e0, 0x06a1},
342 {0x01e1, 0x0000},
343 {0x01e2, 0x0000},
344 {0x01e3, 0x0000},
345 {0x01e4, 0x0000},
346 {0x01e6, 0x0001},
347 {0x01e7, 0x0000},
348 {0x01e8, 0x0000},
349 {0x01ea, 0xbf3f},
350 {0x01eb, 0x0000},
351 {0x01ec, 0x0000},
352 {0x01ed, 0x0000},
353 {0x01ee, 0x0000},
354 {0x01ef, 0x0000},
355 {0x01f0, 0x0000},
356 {0x01f1, 0x0000},
357 {0x01f2, 0x0000},
358 {0x01f3, 0x0000},
359 {0x01f4, 0x0000},
360 {0x0200, 0x0000},
361 {0x0201, 0x0000},
362 {0x0202, 0x0000},
363 {0x0203, 0x0000},
364 {0x0204, 0x0000},
365 {0x0205, 0x0000},
366 {0x0206, 0x0000},
367 {0x0207, 0x0000},
368 {0x0208, 0x0000},
369 {0x0210, 0x60b1},
370 {0x0211, 0xa005},
371 {0x0212, 0x024c},
372 {0x0213, 0xf7ff},
373 {0x0214, 0x024c},
374 {0x0215, 0x0102},
375 {0x0216, 0x00a3},
376 {0x0217, 0x0048},
377 {0x0218, 0xa2c0},
378 {0x0219, 0x0400},
379 {0x021a, 0x00c8},
380 {0x021b, 0x00c0},
381 {0x02ff, 0x0110},
382 {0x0300, 0x001f},
383 {0x0301, 0x032c},
384 {0x0302, 0x5f21},
385 {0x0303, 0x4000},
386 {0x0304, 0x4000},
387 {0x0305, 0x06d5},
388 {0x0306, 0x8000},
389 {0x0307, 0x0700},
390 {0x0310, 0x4560},
391 {0x0311, 0xa4a8},
392 {0x0312, 0x7418},
393 {0x0313, 0x0000},
394 {0x0314, 0x0006},
395 {0x0315, 0xffff},
396 {0x0316, 0xc400},
397 {0x0317, 0x0000},
398 {0x0330, 0x00a6},
399 {0x0331, 0x04c3},
400 {0x0332, 0x27c8},
401 {0x0333, 0xbf50},
402 {0x0334, 0x0045},
403 {0x0335, 0x0007},
404 {0x0336, 0x7418},
405 {0x0337, 0x0501},
406 {0x0338, 0x0000},
407 {0x0339, 0x0010},
408 {0x033a, 0x1010},
409 {0x03c0, 0x7e00},
410 {0x03c1, 0x8000},
411 {0x03c2, 0x8000},
412 {0x03c3, 0x8000},
413 {0x03c4, 0x8000},
414 {0x03c5, 0x8000},
415 {0x03c6, 0x8000},
416 {0x03c7, 0x8000},
417 {0x03c8, 0x8000},
418 {0x03c9, 0x8000},
419 {0x03ca, 0x8000},
420 {0x03cb, 0x8000},
421 {0x03cc, 0x8000},
422 {0x03d0, 0x0000},
423 {0x03d1, 0x0000},
424 {0x03d2, 0x0000},
425 {0x03d3, 0x0000},
426 {0x03d4, 0x2000},
427 {0x03d5, 0x2000},
428 {0x03d6, 0x0000},
429 {0x03d7, 0x0000},
430 {0x03d8, 0x2000},
431 {0x03d9, 0x2000},
432 {0x03da, 0x2000},
433 {0x03db, 0x2000},
434 {0x03dc, 0x0000},
435 {0x03dd, 0x0000},
436 {0x03de, 0x0000},
437 {0x03df, 0x2000},
438 {0x03e0, 0x0000},
439 {0x03e1, 0x0000},
440 {0x03e2, 0x0000},
441 {0x03e3, 0x0000},
442 {0x03e4, 0x0000},
443 {0x03e5, 0x0000},
444 {0x03e6, 0x0000},
445 {0x03e7, 0x0000},
446 {0x03e8, 0x0000},
447 {0x03e9, 0x0000},
448 {0x03ea, 0x0000},
449 {0x03eb, 0x0000},
450 {0x03ec, 0x0000},
451 {0x03ed, 0x0000},
452 {0x03ee, 0x0000},
453 {0x03ef, 0x0000},
454 {0x03f0, 0x0800},
455 {0x03f1, 0x0800},
456 {0x03f2, 0x0800},
457 {0x03f3, 0x0800},
884 static const DECLARE_TLV_DB_SCALE(hp_vol_tlv, -2250, 150, 0);
885 static const DECLARE_TLV_DB_SCALE(mono_vol_tlv, -1400, 150, 0);
886 static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0);
887 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -65625, 375, 0);
888 static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0);
889 static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -17625, 375, 0);
890 static const DECLARE_TLV_DB_SCALE(adc_bst_tlv, 0, 1200, 0);
891 static const DECLARE_TLV_DB_SCALE(in_bst_tlv, -1200, 75, 0);
893 /* {0, +20, +24, +30, +35, +40, +44, +50, +52} dB */
895 0, 0, TLV_DB_SCALE_ITEM(0, 0, 0),
896 1, 1, TLV_DB_SCALE_ITEM(2000, 0, 0),
897 2, 2, TLV_DB_SCALE_ITEM(2400, 0, 0),
898 3, 5, TLV_DB_SCALE_ITEM(3000, 500, 0),
899 6, 6, TLV_DB_SCALE_ITEM(4400, 0, 0),
900 7, 7, TLV_DB_SCALE_ITEM(5000, 0, 0),
901 8, 8, TLV_DB_SCALE_ITEM(5200, 0, 0)
1030 btn_type = val & 0xfff0; in rt5665_button_detect()
1040 snd_soc_component_write(component, RT5665_4BTN_IL_CMD_1, 0x0003); in rt5665_enable_push_button_irq()
1041 snd_soc_component_update_bits(component, RT5665_SAR_IL_CMD_9, 0x1, 0x1); in rt5665_enable_push_button_irq()
1042 snd_soc_component_write(component, RT5665_IL_CMD_1, 0x0048); in rt5665_enable_push_button_irq()
1077 regmap_update_bits(rt5665->regmap, RT5665_MICBIAS_2, 0x100, in rt5665_headset_detect()
1078 0x100); in rt5665_headset_detect()
1081 if (val & 0x4) { in rt5665_headset_detect()
1083 0x100, 0); in rt5665_headset_detect()
1086 while (val & 0x4) { in rt5665_headset_detect()
1094 0x1a0, 0x120); in rt5665_headset_detect()
1095 regmap_write(rt5665->regmap, RT5665_EJD_CTRL_3, 0x3424); in rt5665_headset_detect()
1096 regmap_write(rt5665->regmap, RT5665_IL_CMD_1, 0x0048); in rt5665_headset_detect()
1097 regmap_write(rt5665->regmap, RT5665_SAR_IL_CMD_1, 0xa291); in rt5665_headset_detect()
1102 RT5665_SAR_IL_CMD_4) & 0x7ff; in rt5665_headset_detect()
1113 0x2291); in rt5665_headset_detect()
1115 0x100, 0); in rt5665_headset_detect()
1120 regmap_write(rt5665->regmap, RT5665_SAR_IL_CMD_1, 0x2291); in rt5665_headset_detect()
1121 regmap_update_bits(rt5665->regmap, RT5665_MICBIAS_2, 0x100, 0); in rt5665_headset_detect()
1126 rt5665->jack_type = 0; in rt5665_headset_detect()
1148 if (snd_soc_component_read(rt5665->component, RT5665_AJD1_CTRL) & 0x0010) { in rt5665_jd_check_handler()
1150 rt5665->jack_type = rt5665_headset_detect(rt5665->component, 0); in rt5665_jd_check_handler()
1171 0xc000, 0xc000); in rt5665_set_jack_detect()
1174 regmap_update_bits(rt5665->regmap, RT5665_IRQ_CTRL_1, 0x8, 0x8); in rt5665_set_jack_detect()
1187 return 0; in rt5665_set_jack_detect()
1213 val = snd_soc_component_read(rt5665->component, RT5665_AJD1_CTRL) & 0x0010; in rt5665_jack_detect_handler()
1216 if (rt5665->jack_type == 0) { in rt5665_jack_detect_handler()
1232 case 0x8000: in rt5665_jack_detect_handler()
1233 case 0x4000: in rt5665_jack_detect_handler()
1234 case 0x2000: in rt5665_jack_detect_handler()
1237 case 0x1000: in rt5665_jack_detect_handler()
1238 case 0x0800: in rt5665_jack_detect_handler()
1239 case 0x0400: in rt5665_jack_detect_handler()
1242 case 0x0200: in rt5665_jack_detect_handler()
1243 case 0x0100: in rt5665_jack_detect_handler()
1244 case 0x0080: in rt5665_jack_detect_handler()
1247 case 0x0040: in rt5665_jack_detect_handler()
1248 case 0x0020: in rt5665_jack_detect_handler()
1249 case 0x0010: in rt5665_jack_detect_handler()
1252 case 0x0000: /* unpressed */ in rt5665_jack_detect_handler()
1255 btn_type = 0; in rt5665_jack_detect_handler()
1257 "Unexpected button code 0x%04x\n", in rt5665_jack_detect_handler()
1264 rt5665->jack_type = rt5665_headset_detect(rt5665->component, 0); in rt5665_jack_detect_handler()
1274 schedule_delayed_work(&rt5665->jd_check_work, 0); in rt5665_jack_detect_handler()
1311 RT5665_L_VOL_SFT, RT5665_R_VOL_SFT, 175, 0, dac_vol_tlv),
1313 RT5665_L_VOL_SFT, RT5665_R_VOL_SFT, 175, 0, dac_vol_tlv),
1319 RT5665_BST1_SFT, 69, 0, in_bst_tlv),
1321 RT5665_BST2_SFT, 69, 0, in_bst_tlv),
1323 RT5665_BST3_SFT, 69, 0, in_bst_tlv),
1325 RT5665_BST4_SFT, 69, 0, in_bst_tlv),
1327 RT5665_BST_CBJ_SFT, 8, 0, bst_tlv),
1337 RT5665_L_VOL_SFT, RT5665_R_VOL_SFT, 127, 0, adc_vol_tlv),
1341 RT5665_L_VOL_SFT, RT5665_R_VOL_SFT, 127, 0, adc_vol_tlv),
1345 RT5665_L_VOL_SFT, RT5665_R_VOL_SFT, 127, 0, adc_vol_tlv),
1350 3, 0, adc_bst_tlv),
1354 3, 0, adc_bst_tlv),
1358 3, 0, adc_bst_tlv),
1361 SOC_ENUM("I2S1 Master Clk Sel", rt5665_enum[0]),
1387 if (idx < 0) in set_dmic_clk()
1413 return 0; in rt5665_charge_pump_event()
1416 return 0; in rt5665_charge_pump_event()
1430 return 0; in is_sys_clk_from_pll()
1473 return 0; in is_using_asrc()
1476 val = (snd_soc_component_read(component, reg) >> shift) & 0xf; in is_using_asrc()
1486 return 0; in is_using_asrc()
1738 /*MX-17 [6:4], MX-17 [2:0]*/
1758 /*MX-1B [6:4], MX-1B [2:0]*/
1862 /* MX-26 [1:0] */
1980 /* MX-27 [0] */
2131 /* MX-2D [5:4], MX-2D [1:0]*/
2151 /* MX-2E [5:4], MX-2E [0]*/
2317 /* MX-7a[4:0] MX-7b[4:0] */
2355 RT5665_VOL_L_SFT, 1, 0);
2380 snd_soc_component_update_bits(component, RT5665_MONO_AMP_CALIB_CTRL_1, 0x40, in rt5665_mono_event()
2381 0x0); in rt5665_mono_event()
2382 snd_soc_component_update_bits(component, RT5665_MONO_OUT, 0x10, 0x10); in rt5665_mono_event()
2383 snd_soc_component_update_bits(component, RT5665_MONO_OUT, 0x20, 0x20); in rt5665_mono_event()
2387 snd_soc_component_update_bits(component, RT5665_MONO_OUT, 0x20, 0); in rt5665_mono_event()
2388 snd_soc_component_update_bits(component, RT5665_MONO_OUT, 0x10, 0); in rt5665_mono_event()
2389 snd_soc_component_update_bits(component, RT5665_MONO_AMP_CALIB_CTRL_1, 0x40, in rt5665_mono_event()
2390 0x40); in rt5665_mono_event()
2396 return 0; in rt5665_mono_event()
2399 return 0; in rt5665_mono_event()
2412 snd_soc_component_write(component, RT5665_HP_LOGIC_CTRL_2, 0x0003); in rt5665_hp_event()
2416 snd_soc_component_write(component, RT5665_HP_LOGIC_CTRL_2, 0x0002); in rt5665_hp_event()
2422 return 0; in rt5665_hp_event()
2425 return 0; in rt5665_hp_event()
2442 RT5665_PUMP_EN, 0); in rt5665_lout_event()
2446 return 0; in rt5665_lout_event()
2449 return 0; in rt5665_lout_event()
2463 return 0; in set_dmic_power()
2466 return 0; in set_dmic_power()
2479 RT5665_PWR_FV1, 0); in rt5665_set_verf()
2484 RT5665_PWR_FV2, 0); in rt5665_set_verf()
2489 RT5665_PWR_FV3, 0); in rt5665_set_verf()
2521 return 0; in rt5665_set_verf()
2524 return 0; in rt5665_set_verf()
2531 unsigned int val1, val2, mask1 = 0, mask2 = 0; in rt5665_i2s_pin_event()
2569 mask1, 0); in rt5665_i2s_pin_event()
2572 mask2, 0); in rt5665_i2s_pin_event()
2575 return 0; in rt5665_i2s_pin_event()
2578 return 0; in rt5665_i2s_pin_event()
2582 SND_SOC_DAPM_SUPPLY("LDO2", RT5665_PWR_ANLG_3, RT5665_PWR_LDO2_BIT, 0,
2583 NULL, 0),
2584 SND_SOC_DAPM_SUPPLY("PLL", RT5665_PWR_ANLG_3, RT5665_PWR_PLL_BIT, 0,
2585 NULL, 0),
2587 RT5665_PWR_MIC_DET_BIT, 0, NULL, 0),
2588 SND_SOC_DAPM_SUPPLY("Vref1", RT5665_PWR_ANLG_1, RT5665_PWR_VREF1_BIT, 0,
2590 SND_SOC_DAPM_SUPPLY("Vref2", RT5665_PWR_ANLG_1, RT5665_PWR_VREF2_BIT, 0,
2592 SND_SOC_DAPM_SUPPLY("Vref3", RT5665_PWR_ANLG_1, RT5665_PWR_VREF3_BIT, 0,
2597 RT5665_I2S1_ASRC_SFT, 0, NULL, 0),
2599 RT5665_I2S2_ASRC_SFT, 0, NULL, 0),
2601 RT5665_I2S3_ASRC_SFT, 0, NULL, 0),
2603 RT5665_DAC_STO1_ASRC_SFT, 0, NULL, 0),
2605 RT5665_DAC_STO2_ASRC_SFT, 0, NULL, 0),
2607 RT5665_DAC_MONO_L_ASRC_SFT, 0, NULL, 0),
2609 RT5665_DAC_MONO_R_ASRC_SFT, 0, NULL, 0),
2611 RT5665_ADC_STO1_ASRC_SFT, 0, NULL, 0),
2613 RT5665_ADC_STO2_ASRC_SFT, 0, NULL, 0),
2615 RT5665_ADC_MONO_L_ASRC_SFT, 0, NULL, 0),
2617 RT5665_ADC_MONO_R_ASRC_SFT, 0, NULL, 0),
2619 RT5665_DMIC_STO1_ASRC_SFT, 0, NULL, 0),
2621 RT5665_DMIC_STO2_ASRC_SFT, 0, NULL, 0),
2623 RT5665_DMIC_MONO_L_ASRC_SFT, 0, NULL, 0),
2625 RT5665_DMIC_MONO_R_ASRC_SFT, 0, NULL, 0),
2629 0, NULL, 0),
2631 0, NULL, 0),
2633 0, NULL, 0),
2650 SND_SOC_DAPM_PGA("DMIC1", SND_SOC_NOPM, 0, 0, NULL, 0),
2651 SND_SOC_DAPM_PGA("DMIC2", SND_SOC_NOPM, 0, 0, NULL, 0),
2653 SND_SOC_DAPM_SUPPLY("DMIC CLK", SND_SOC_NOPM, 0, 0,
2656 RT5665_DMIC_1_EN_SFT, 0, set_dmic_power, SND_SOC_DAPM_POST_PMU),
2658 RT5665_DMIC_2_EN_SFT, 0, set_dmic_power, SND_SOC_DAPM_POST_PMU),
2662 0, 0, NULL, 0),
2664 0, 0, NULL, 0),
2666 0, 0, NULL, 0),
2668 0, 0, NULL, 0),
2670 0, 0, NULL, 0),
2672 RT5665_PWR_BST1_BIT, 0, NULL, 0),
2674 RT5665_PWR_BST2_BIT, 0, NULL, 0),
2676 RT5665_PWR_BST3_BIT, 0, NULL, 0),
2678 RT5665_PWR_BST4_BIT, 0, NULL, 0),
2680 RT5665_PWR_BST1_P_BIT, 0, NULL, 0),
2682 RT5665_PWR_BST2_P_BIT, 0, NULL, 0),
2684 RT5665_PWR_BST3_P_BIT, 0, NULL, 0),
2686 RT5665_PWR_BST4_P_BIT, 0, NULL, 0),
2688 RT5665_PWR_CBJ_BIT, 0, NULL, 0),
2693 0, NULL, 0),
2695 0, NULL, 0),
2698 SND_SOC_DAPM_MIXER("RECMIX1L", SND_SOC_NOPM, 0, 0, rt5665_rec1_l_mix,
2700 SND_SOC_DAPM_MIXER("RECMIX1R", SND_SOC_NOPM, 0, 0, rt5665_rec1_r_mix,
2702 SND_SOC_DAPM_MIXER("RECMIX2L", SND_SOC_NOPM, 0, 0, rt5665_rec2_l_mix,
2704 SND_SOC_DAPM_MIXER("RECMIX2R", SND_SOC_NOPM, 0, 0, rt5665_rec2_r_mix,
2707 RT5665_PWR_RM1_L_BIT, 0, NULL, 0),
2709 RT5665_PWR_RM1_R_BIT, 0, NULL, 0),
2711 RT5665_PWR_RM2_L_BIT, 0, NULL, 0),
2713 RT5665_PWR_RM2_R_BIT, 0, NULL, 0),
2716 SND_SOC_DAPM_ADC("ADC1 L", NULL, SND_SOC_NOPM, 0, 0),
2717 SND_SOC_DAPM_ADC("ADC1 R", NULL, SND_SOC_NOPM, 0, 0),
2718 SND_SOC_DAPM_ADC("ADC2 L", NULL, SND_SOC_NOPM, 0, 0),
2719 SND_SOC_DAPM_ADC("ADC2 R", NULL, SND_SOC_NOPM, 0, 0),
2722 RT5665_PWR_ADC_L1_BIT, 0, NULL, 0),
2724 RT5665_PWR_ADC_R1_BIT, 0, NULL, 0),
2726 RT5665_PWR_ADC_L2_BIT, 0, NULL, 0),
2728 RT5665_PWR_ADC_R2_BIT, 0, NULL, 0),
2730 RT5665_CKGEN_ADC1_SFT, 0, NULL, 0),
2732 RT5665_CKGEN_ADC2_SFT, 0, NULL, 0),
2735 SND_SOC_DAPM_MUX("Stereo1 DMIC L Mux", SND_SOC_NOPM, 0, 0,
2737 SND_SOC_DAPM_MUX("Stereo1 DMIC R Mux", SND_SOC_NOPM, 0, 0,
2739 SND_SOC_DAPM_MUX("Stereo1 ADC L1 Mux", SND_SOC_NOPM, 0, 0,
2741 SND_SOC_DAPM_MUX("Stereo1 ADC R1 Mux", SND_SOC_NOPM, 0, 0,
2743 SND_SOC_DAPM_MUX("Stereo1 ADC L2 Mux", SND_SOC_NOPM, 0, 0,
2745 SND_SOC_DAPM_MUX("Stereo1 ADC R2 Mux", SND_SOC_NOPM, 0, 0,
2747 SND_SOC_DAPM_MUX("Stereo1 ADC L Mux", SND_SOC_NOPM, 0, 0,
2749 SND_SOC_DAPM_MUX("Stereo1 ADC R Mux", SND_SOC_NOPM, 0, 0,
2751 SND_SOC_DAPM_MUX("Stereo1 DD L Mux", SND_SOC_NOPM, 0, 0,
2753 SND_SOC_DAPM_MUX("Stereo1 DD R Mux", SND_SOC_NOPM, 0, 0,
2755 SND_SOC_DAPM_MUX("Mono ADC L2 Mux", SND_SOC_NOPM, 0, 0,
2757 SND_SOC_DAPM_MUX("Mono ADC R2 Mux", SND_SOC_NOPM, 0, 0,
2759 SND_SOC_DAPM_MUX("Mono ADC L1 Mux", SND_SOC_NOPM, 0, 0,
2761 SND_SOC_DAPM_MUX("Mono ADC R1 Mux", SND_SOC_NOPM, 0, 0,
2763 SND_SOC_DAPM_MUX("Mono DMIC L Mux", SND_SOC_NOPM, 0, 0,
2765 SND_SOC_DAPM_MUX("Mono DMIC R Mux", SND_SOC_NOPM, 0, 0,
2767 SND_SOC_DAPM_MUX("Mono ADC L Mux", SND_SOC_NOPM, 0, 0,
2769 SND_SOC_DAPM_MUX("Mono ADC R Mux", SND_SOC_NOPM, 0, 0,
2771 SND_SOC_DAPM_MUX("Mono DD L Mux", SND_SOC_NOPM, 0, 0,
2773 SND_SOC_DAPM_MUX("Mono DD R Mux", SND_SOC_NOPM, 0, 0,
2775 SND_SOC_DAPM_MUX("Stereo2 DMIC L Mux", SND_SOC_NOPM, 0, 0,
2777 SND_SOC_DAPM_MUX("Stereo2 DMIC R Mux", SND_SOC_NOPM, 0, 0,
2779 SND_SOC_DAPM_MUX("Stereo2 ADC L1 Mux", SND_SOC_NOPM, 0, 0,
2781 SND_SOC_DAPM_MUX("Stereo2 ADC R1 Mux", SND_SOC_NOPM, 0, 0,
2783 SND_SOC_DAPM_MUX("Stereo2 ADC L2 Mux", SND_SOC_NOPM, 0, 0,
2785 SND_SOC_DAPM_MUX("Stereo2 ADC R2 Mux", SND_SOC_NOPM, 0, 0,
2787 SND_SOC_DAPM_MUX("Stereo2 ADC L Mux", SND_SOC_NOPM, 0, 0,
2789 SND_SOC_DAPM_MUX("Stereo2 ADC R Mux", SND_SOC_NOPM, 0, 0,
2791 SND_SOC_DAPM_MUX("Stereo2 DD L Mux", SND_SOC_NOPM, 0, 0,
2793 SND_SOC_DAPM_MUX("Stereo2 DD R Mux", SND_SOC_NOPM, 0, 0,
2797 RT5665_PWR_ADC_S1F_BIT, 0, NULL, 0),
2799 RT5665_PWR_ADC_S2F_BIT, 0, NULL, 0),
2813 RT5665_PWR_ADC_MF_L_BIT, 0, NULL, 0),
2818 RT5665_PWR_ADC_MF_R_BIT, 0, NULL, 0),
2824 SND_SOC_DAPM_PGA("Stereo1 ADC MIX", SND_SOC_NOPM, 0, 0, NULL, 0),
2825 SND_SOC_DAPM_PGA("Stereo2 ADC MIX", SND_SOC_NOPM, 0, 0, NULL, 0),
2826 SND_SOC_DAPM_PGA("Mono ADC MIX", SND_SOC_NOPM, 0, 0, NULL, 0),
2830 0, NULL, 0),
2832 0, NULL, 0),
2834 0, rt5665_i2s_pin_event, SND_SOC_DAPM_PRE_PMU |
2837 0, rt5665_i2s_pin_event, SND_SOC_DAPM_PRE_PMU |
2840 0, rt5665_i2s_pin_event, SND_SOC_DAPM_PRE_PMU |
2842 SND_SOC_DAPM_PGA("IF1 DAC1", SND_SOC_NOPM, 0, 0, NULL, 0),
2843 SND_SOC_DAPM_PGA("IF1 DAC2", SND_SOC_NOPM, 0, 0, NULL, 0),
2844 SND_SOC_DAPM_PGA("IF1 DAC3", SND_SOC_NOPM, 0, 0, NULL, 0),
2845 SND_SOC_DAPM_PGA("IF1 DAC1 L", SND_SOC_NOPM, 0, 0, NULL, 0),
2846 SND_SOC_DAPM_PGA("IF1 DAC1 R", SND_SOC_NOPM, 0, 0, NULL, 0),
2847 SND_SOC_DAPM_PGA("IF1 DAC2 L", SND_SOC_NOPM, 0, 0, NULL, 0),
2848 SND_SOC_DAPM_PGA("IF1 DAC2 R", SND_SOC_NOPM, 0, 0, NULL, 0),
2849 SND_SOC_DAPM_PGA("IF1 DAC3 L", SND_SOC_NOPM, 0, 0, NULL, 0),
2850 SND_SOC_DAPM_PGA("IF1 DAC3 R", SND_SOC_NOPM, 0, 0, NULL, 0),
2852 SND_SOC_DAPM_PGA("IF2_1 DAC", SND_SOC_NOPM, 0, 0, NULL, 0),
2853 SND_SOC_DAPM_PGA("IF2_2 DAC", SND_SOC_NOPM, 0, 0, NULL, 0),
2854 SND_SOC_DAPM_PGA("IF2_1 DAC L", SND_SOC_NOPM, 0, 0, NULL, 0),
2855 SND_SOC_DAPM_PGA("IF2_1 DAC R", SND_SOC_NOPM, 0, 0, NULL, 0),
2856 SND_SOC_DAPM_PGA("IF2_2 DAC L", SND_SOC_NOPM, 0, 0, NULL, 0),
2857 SND_SOC_DAPM_PGA("IF2_2 DAC R", SND_SOC_NOPM, 0, 0, NULL, 0),
2858 SND_SOC_DAPM_PGA("IF2_1 ADC", SND_SOC_NOPM, 0, 0, NULL, 0),
2859 SND_SOC_DAPM_PGA("IF2_2 ADC", SND_SOC_NOPM, 0, 0, NULL, 0),
2861 SND_SOC_DAPM_PGA("IF3 DAC", SND_SOC_NOPM, 0, 0, NULL, 0),
2862 SND_SOC_DAPM_PGA("IF3 DAC L", SND_SOC_NOPM, 0, 0, NULL, 0),
2863 SND_SOC_DAPM_PGA("IF3 DAC R", SND_SOC_NOPM, 0, 0, NULL, 0),
2864 SND_SOC_DAPM_PGA("IF3 ADC", SND_SOC_NOPM, 0, 0, NULL, 0),
2867 SND_SOC_DAPM_MUX("IF1_1_ADC1 Mux", SND_SOC_NOPM, 0, 0,
2869 SND_SOC_DAPM_MUX("IF1_1_ADC2 Mux", SND_SOC_NOPM, 0, 0,
2871 SND_SOC_DAPM_MUX("IF1_1_ADC3 Mux", SND_SOC_NOPM, 0, 0,
2873 SND_SOC_DAPM_PGA("IF1_1_ADC4", SND_SOC_NOPM, 0, 0, NULL, 0),
2874 SND_SOC_DAPM_MUX("IF1_2_ADC1 Mux", SND_SOC_NOPM, 0, 0,
2876 SND_SOC_DAPM_MUX("IF1_2_ADC2 Mux", SND_SOC_NOPM, 0, 0,
2878 SND_SOC_DAPM_MUX("IF1_2_ADC3 Mux", SND_SOC_NOPM, 0, 0,
2880 SND_SOC_DAPM_MUX("IF1_2_ADC4 Mux", SND_SOC_NOPM, 0, 0,
2882 SND_SOC_DAPM_MUX("TDM1 slot 01 Data Mux", SND_SOC_NOPM, 0, 0,
2884 SND_SOC_DAPM_MUX("TDM1 slot 23 Data Mux", SND_SOC_NOPM, 0, 0,
2886 SND_SOC_DAPM_MUX("TDM1 slot 45 Data Mux", SND_SOC_NOPM, 0, 0,
2888 SND_SOC_DAPM_MUX("TDM1 slot 67 Data Mux", SND_SOC_NOPM, 0, 0,
2890 SND_SOC_DAPM_MUX("TDM2 slot 01 Data Mux", SND_SOC_NOPM, 0, 0,
2892 SND_SOC_DAPM_MUX("TDM2 slot 23 Data Mux", SND_SOC_NOPM, 0, 0,
2894 SND_SOC_DAPM_MUX("TDM2 slot 45 Data Mux", SND_SOC_NOPM, 0, 0,
2896 SND_SOC_DAPM_MUX("TDM2 slot 67 Data Mux", SND_SOC_NOPM, 0, 0,
2898 SND_SOC_DAPM_MUX("IF2_1 ADC Mux", SND_SOC_NOPM, 0, 0,
2900 SND_SOC_DAPM_MUX("IF2_2 ADC Mux", SND_SOC_NOPM, 0, 0,
2902 SND_SOC_DAPM_MUX("IF3 ADC Mux", SND_SOC_NOPM, 0, 0,
2904 SND_SOC_DAPM_MUX("IF1_1 0 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2906 SND_SOC_DAPM_MUX("IF1_1 1 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2908 SND_SOC_DAPM_MUX("IF1_1 2 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2910 SND_SOC_DAPM_MUX("IF1_1 3 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2912 SND_SOC_DAPM_MUX("IF1_1 4 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2914 SND_SOC_DAPM_MUX("IF1_1 5 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2916 SND_SOC_DAPM_MUX("IF1_1 6 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2918 SND_SOC_DAPM_MUX("IF1_1 7 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2920 SND_SOC_DAPM_MUX("IF1_2 0 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2922 SND_SOC_DAPM_MUX("IF1_2 1 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2924 SND_SOC_DAPM_MUX("IF1_2 2 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2926 SND_SOC_DAPM_MUX("IF1_2 3 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2928 SND_SOC_DAPM_MUX("IF1_2 4 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2930 SND_SOC_DAPM_MUX("IF1_2 5 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2932 SND_SOC_DAPM_MUX("IF1_2 6 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2934 SND_SOC_DAPM_MUX("IF1_2 7 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2936 SND_SOC_DAPM_MUX("IF2_1 DAC Swap Mux", SND_SOC_NOPM, 0, 0,
2938 SND_SOC_DAPM_MUX("IF2_1 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2940 SND_SOC_DAPM_MUX("IF2_2 DAC Swap Mux", SND_SOC_NOPM, 0, 0,
2942 SND_SOC_DAPM_MUX("IF2_2 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2944 SND_SOC_DAPM_MUX("IF3 DAC Swap Mux", SND_SOC_NOPM, 0, 0,
2946 SND_SOC_DAPM_MUX("IF3 ADC Swap Mux", SND_SOC_NOPM, 0, 0,
2950 SND_SOC_DAPM_AIF_OUT("AIF1_1TX slot 0", "AIF1_1 Capture",
2951 0, SND_SOC_NOPM, 0, 0),
2953 1, SND_SOC_NOPM, 0, 0),
2955 2, SND_SOC_NOPM, 0, 0),
2957 3, SND_SOC_NOPM, 0, 0),
2959 4, SND_SOC_NOPM, 0, 0),
2961 5, SND_SOC_NOPM, 0, 0),
2963 6, SND_SOC_NOPM, 0, 0),
2965 7, SND_SOC_NOPM, 0, 0),
2966 SND_SOC_DAPM_AIF_OUT("AIF1_2TX slot 0", "AIF1_2 Capture",
2967 0, SND_SOC_NOPM, 0, 0),
2969 1, SND_SOC_NOPM, 0, 0),
2971 2, SND_SOC_NOPM, 0, 0),
2973 3, SND_SOC_NOPM, 0, 0),
2975 4, SND_SOC_NOPM, 0, 0),
2977 5, SND_SOC_NOPM, 0, 0),
2979 6, SND_SOC_NOPM, 0, 0),
2981 7, SND_SOC_NOPM, 0, 0),
2983 0, SND_SOC_NOPM, 0, 0),
2985 0, SND_SOC_NOPM, 0, 0),
2987 0, SND_SOC_NOPM, 0, 0),
2989 0, SND_SOC_NOPM, 0, 0),
2991 0, SND_SOC_NOPM, 0, 0),
2993 0, SND_SOC_NOPM, 0, 0),
2995 0, SND_SOC_NOPM, 0, 0),
2999 SND_SOC_DAPM_MIXER("DAC1 MIXL", SND_SOC_NOPM, 0, 0,
3001 SND_SOC_DAPM_MIXER("DAC1 MIXR", SND_SOC_NOPM, 0, 0,
3005 SND_SOC_DAPM_MUX("DAC L1 Mux", SND_SOC_NOPM, 0, 0, &rt5665_dac_l1_mux),
3006 SND_SOC_DAPM_MUX("DAC R1 Mux", SND_SOC_NOPM, 0, 0, &rt5665_dac_r1_mux),
3007 SND_SOC_DAPM_MUX("DAC L2 Mux", SND_SOC_NOPM, 0, 0, &rt5665_dac_l2_mux),
3008 SND_SOC_DAPM_MUX("DAC R2 Mux", SND_SOC_NOPM, 0, 0, &rt5665_dac_r2_mux),
3009 SND_SOC_DAPM_MUX("DAC L3 Mux", SND_SOC_NOPM, 0, 0, &rt5665_dac_l3_mux),
3010 SND_SOC_DAPM_MUX("DAC R3 Mux", SND_SOC_NOPM, 0, 0, &rt5665_dac_r3_mux),
3012 SND_SOC_DAPM_MUX("DAC L1 Source", SND_SOC_NOPM, 0, 0,
3014 SND_SOC_DAPM_MUX("DAC R1 Source", SND_SOC_NOPM, 0, 0,
3016 SND_SOC_DAPM_MUX("DAC L2 Source", SND_SOC_NOPM, 0, 0,
3018 SND_SOC_DAPM_MUX("DAC R2 Source", SND_SOC_NOPM, 0, 0,
3023 RT5665_PWR_DAC_S1F_BIT, 0, NULL, 0),
3025 RT5665_PWR_DAC_S2F_BIT, 0, NULL, 0),
3027 RT5665_PWR_DAC_MF_L_BIT, 0, NULL, 0),
3029 RT5665_PWR_DAC_MF_R_BIT, 0, NULL, 0),
3030 SND_SOC_DAPM_MIXER("Stereo1 DAC MIXL", SND_SOC_NOPM, 0, 0,
3032 SND_SOC_DAPM_MIXER("Stereo1 DAC MIXR", SND_SOC_NOPM, 0, 0,
3034 SND_SOC_DAPM_MIXER("Stereo2 DAC MIXL", SND_SOC_NOPM, 0, 0,
3036 SND_SOC_DAPM_MIXER("Stereo2 DAC MIXR", SND_SOC_NOPM, 0, 0,
3038 SND_SOC_DAPM_MIXER("Mono DAC MIXL", SND_SOC_NOPM, 0, 0,
3040 SND_SOC_DAPM_MIXER("Mono DAC MIXR", SND_SOC_NOPM, 0, 0,
3042 SND_SOC_DAPM_MUX("DAC MIXL", SND_SOC_NOPM, 0, 0,
3044 SND_SOC_DAPM_MUX("DAC MIXR", SND_SOC_NOPM, 0, 0,
3048 SND_SOC_DAPM_DAC("DAC L1", NULL, SND_SOC_NOPM, 0, 0),
3049 SND_SOC_DAPM_DAC("DAC R1", NULL, SND_SOC_NOPM, 0, 0),
3052 RT5665_PWR_DAC_L2_BIT, 0, NULL, 0),
3054 RT5665_PWR_DAC_R2_BIT, 0, NULL, 0),
3055 SND_SOC_DAPM_DAC("DAC L2", NULL, SND_SOC_NOPM, 0, 0),
3056 SND_SOC_DAPM_DAC("DAC R2", NULL, SND_SOC_NOPM, 0, 0),
3057 SND_SOC_DAPM_PGA("DAC1 MIX", SND_SOC_NOPM, 0, 0, NULL, 0),
3060 RT5665_CKGEN_DAC1_SFT, 0, NULL, 0),
3062 RT5665_CKGEN_DAC2_SFT, 0, NULL, 0),
3066 0, rt5665_monovol_mix, ARRAY_SIZE(rt5665_monovol_mix)),
3068 0, rt5665_out_l_mix, ARRAY_SIZE(rt5665_out_l_mix)),
3070 0, rt5665_out_r_mix, ARRAY_SIZE(rt5665_out_r_mix)),
3073 SND_SOC_DAPM_SWITCH("MONOVOL", RT5665_PWR_VOL, RT5665_PWR_MV_BIT, 0,
3075 SND_SOC_DAPM_SWITCH("OUTVOL L", RT5665_PWR_VOL, RT5665_PWR_OV_L_BIT, 0,
3077 SND_SOC_DAPM_SWITCH("OUTVOL R", RT5665_PWR_VOL, RT5665_PWR_OV_R_BIT, 0,
3081 SND_SOC_DAPM_MIXER("Mono MIX", SND_SOC_NOPM, 0, 0, rt5665_mono_mix,
3083 SND_SOC_DAPM_MIXER("LOUT L MIX", SND_SOC_NOPM, 0, 0, rt5665_lout_l_mix,
3085 SND_SOC_DAPM_MIXER("LOUT R MIX", SND_SOC_NOPM, 0, 0, rt5665_lout_r_mix,
3088 0, rt5665_mono_event, SND_SOC_DAPM_POST_PMD |
3090 SND_SOC_DAPM_PGA_S("HP Amp", 1, SND_SOC_NOPM, 0, 0, rt5665_hp_event,
3093 RT5665_PWR_LM_BIT, 0, rt5665_lout_event,
3097 SND_SOC_DAPM_SUPPLY("Charge Pump", SND_SOC_NOPM, 0, 0,
3101 SND_SOC_DAPM_SWITCH("Mono Playback", SND_SOC_NOPM, 0, 0,
3103 SND_SOC_DAPM_SWITCH("HPO Playback", SND_SOC_NOPM, 0, 0,
3105 SND_SOC_DAPM_SWITCH("LOUT L Playback", SND_SOC_NOPM, 0, 0,
3107 SND_SOC_DAPM_SWITCH("LOUT R Playback", SND_SOC_NOPM, 0, 0,
3109 SND_SOC_DAPM_SWITCH("PDM L Playback", SND_SOC_NOPM, 0, 0,
3111 SND_SOC_DAPM_SWITCH("PDM R Playback", SND_SOC_NOPM, 0, 0,
3116 RT5665_PWR_PDM1_BIT, 0, NULL, 0),
3118 0, 1, &rt5665_pdm_l_mux),
3120 0, 1, &rt5665_pdm_r_mux),
3124 0, NULL, 0),
3126 0, NULL, 0),
3128 0, NULL, 0),
3130 0, NULL, 0),
3132 0, NULL, 0),
3636 {"IF1_1 0 ADC Swap Mux", "L/R", "TDM1 slot 01 Data Mux"},
3637 {"IF1_1 0 ADC Swap Mux", "L/L", "TDM1 slot 01 Data Mux"},
3652 {"IF1_2 0 ADC Swap Mux", "L/R", "TDM2 slot 01 Data Mux"},
3653 {"IF1_2 0 ADC Swap Mux", "R/L", "TDM2 slot 01 Data Mux"},
3702 {"AIF1_1TX slot 0", NULL, "IF1_1 0 ADC Swap Mux"},
3710 {"AIF1_2TX slot 0", NULL, "IF1_2 0 ADC Swap Mux"},
3953 unsigned int val = 0; in rt5665_set_tdm_slot()
4001 return 0; in rt5665_set_tdm_slot()
4010 unsigned int val_len = 0, val_clk, reg_clk, mask_clk, val_bits = 0x0100; in rt5665_hw_params()
4015 if (pre_div < 0) { in rt5665_hw_params()
4017 snd_soc_component_set_pll(component, 0, RT5665_PLL1_S_MCLK, in rt5665_hw_params()
4019 snd_soc_component_set_sysclk(component, RT5665_SCLK_S_PLL1, 0, in rt5665_hw_params()
4020 rt5665->lrck[dai->id] * 512, 0); in rt5665_hw_params()
4024 if (frame_size < 0) { in rt5665_hw_params()
4034 val_bits = 0x0100; in rt5665_hw_params()
4038 val_bits = 0x1300; in rt5665_hw_params()
4042 val_bits = 0x2500; in rt5665_hw_params()
4055 rt5665_set_tdm_slot(dai, 0xf, 0xf, in rt5665_hw_params()
4084 snd_soc_component_update_bits(component, RT5665_STO1_DAC_SIL_DET, 0x3700, val_bits); in rt5665_hw_params()
4113 return 0; in rt5665_hw_params()
4120 unsigned int reg_val = 0; in rt5665_set_dai_fmt()
4128 rt5665->master[dai->id] = 0; in rt5665_set_dai_fmt()
4182 return 0; in rt5665_set_dai_fmt()
4189 unsigned int reg_val = 0, src = 0; in rt5665_set_component_sysclk()
4192 return 0; in rt5665_set_component_sysclk()
4228 return 0; in rt5665_set_component_sysclk()
4241 return 0; in rt5665_set_component_pll()
4246 rt5665->pll_in = 0; in rt5665_set_component_pll()
4247 rt5665->pll_out = 0; in rt5665_set_component_pll()
4250 return 0; in rt5665_set_component_pll()
4276 if (ret < 0) { in rt5665_set_component_pll()
4282 pll_code.m_bp, (pll_code.m_bp ? 0 : pll_code.m_code), in rt5665_set_component_pll()
4288 ((pll_code.m_bp ? 0 : pll_code.m_code) << RT5665_PLL_M_SFT) | in rt5665_set_component_pll()
4295 return 0; in rt5665_set_component_pll()
4323 return 0; in rt5665_set_bclk_ratio()
4343 RT5665_DIG_GATE_CTRL, 0); in rt5665_set_bias_level()
4347 RT5665_PWR_LDO, 0); in rt5665_set_bias_level()
4349 RT5665_PWR_MB, 0); in rt5665_set_bias_level()
4356 return 0; in rt5665_set_bias_level()
4367 return 0; in rt5665_probe()
4374 regmap_write(rt5665->regmap, RT5665_RESET, 0); in rt5665_remove()
4384 return 0; in rt5665_suspend()
4394 return 0; in rt5665_resume()
4526 .max_register = 0x0400,
4560 return 0; in rt5665_parse_dt()
4571 regmap_write(rt5665->regmap, RT5665_RESET, 0); in rt5665_calibrate()
4572 regmap_write(rt5665->regmap, RT5665_BIAS_CUR_CTRL_8, 0xa602); in rt5665_calibrate()
4573 regmap_write(rt5665->regmap, RT5665_HP_CHARGE_PUMP_1, 0x0c26); in rt5665_calibrate()
4574 regmap_write(rt5665->regmap, RT5665_MONOMIX_IN_GAIN, 0x021f); in rt5665_calibrate()
4575 regmap_write(rt5665->regmap, RT5665_MONO_OUT, 0x480a); in rt5665_calibrate()
4576 regmap_write(rt5665->regmap, RT5665_PWR_MIXER, 0x083f); in rt5665_calibrate()
4577 regmap_write(rt5665->regmap, RT5665_PWR_DIG_1, 0x0180); in rt5665_calibrate()
4578 regmap_write(rt5665->regmap, RT5665_EJD_CTRL_1, 0x4040); in rt5665_calibrate()
4579 regmap_write(rt5665->regmap, RT5665_HP_LOGIC_CTRL_2, 0x0000); in rt5665_calibrate()
4580 regmap_write(rt5665->regmap, RT5665_DIG_MISC, 0x0001); in rt5665_calibrate()
4581 regmap_write(rt5665->regmap, RT5665_MICBIAS_2, 0x0380); in rt5665_calibrate()
4582 regmap_write(rt5665->regmap, RT5665_GLB_CLK, 0x8000); in rt5665_calibrate()
4583 regmap_write(rt5665->regmap, RT5665_ADDA_CLK_1, 0x1000); in rt5665_calibrate()
4584 regmap_write(rt5665->regmap, RT5665_CHOP_DAC, 0x3030); in rt5665_calibrate()
4585 regmap_write(rt5665->regmap, RT5665_CALIB_ADC_CTRL, 0x3c05); in rt5665_calibrate()
4586 regmap_write(rt5665->regmap, RT5665_PWR_ANLG_1, 0xaa3e); in rt5665_calibrate()
4588 regmap_write(rt5665->regmap, RT5665_PWR_ANLG_1, 0xfe7e); in rt5665_calibrate()
4589 regmap_write(rt5665->regmap, RT5665_HP_CALIB_CTRL_2, 0x0321); in rt5665_calibrate()
4591 regmap_write(rt5665->regmap, RT5665_HP_CALIB_CTRL_1, 0xfc00); in rt5665_calibrate()
4592 count = 0; in rt5665_calibrate()
4595 if (value & 0x8000) in rt5665_calibrate()
4602 regmap_write(rt5665->regmap, RT5665_RESET, 0); in rt5665_calibrate()
4610 regmap_write(rt5665->regmap, RT5665_MONO_AMP_CALIB_CTRL_1, 0x9e24); in rt5665_calibrate()
4611 count = 0; in rt5665_calibrate()
4614 if (value & 0x8000) in rt5665_calibrate()
4621 regmap_write(rt5665->regmap, RT5665_RESET, 0); in rt5665_calibrate()
4629 regmap_write(rt5665->regmap, RT5665_RESET, 0); in rt5665_calibrate()
4635 regmap_write(rt5665->regmap, RT5665_BIAS_CUR_CTRL_8, 0xa602); in rt5665_calibrate()
4636 regmap_write(rt5665->regmap, RT5665_ASRC_8, 0x0120); in rt5665_calibrate()
4678 if (ret != 0) { in rt5665_i2c_probe()
4711 case 0x0: in rt5665_i2c_probe()
4714 case 0x3: in rt5665_i2c_probe()
4720 regmap_write(rt5665->regmap, RT5665_RESET, 0); in rt5665_i2c_probe()
4783 regmap_write(rt5665->regmap, RT5665_HP_LOGIC_CTRL_2, 0x0002); in rt5665_i2c_probe()
4785 0xf000 | RT5665_VREF_POW_MASK, 0xe000 | RT5665_VREF_POW_REG); in rt5665_i2c_probe()
4833 regmap_write(rt5665->regmap, RT5665_RESET, 0); in rt5665_i2c_shutdown()