xref: /linux/sound/soc/codecs/Kconfig (revision 1bd470f27f283cfcfd5c94705a2fabbe5f1e4e9f)
1# SPDX-License-Identifier: GPL-2.0-only
2# Helper to resolve issues with configs that have SPI enabled but I2C
3# modular, meaning we can't build the codec driver in with I2C support.
4# We use an ordered list of conditional defaults to pick the appropriate
5# setting - SPI can't be modular so that case doesn't need to be covered.
6config SND_SOC_I2C_AND_SPI
7	tristate
8	default m if I2C=m
9	default y if I2C=y
10	default y if SPI_MASTER=y
11
12menu "CODEC drivers"
13
14config SND_SOC_ALL_CODECS
15	tristate "Build all ASoC CODEC drivers"
16	depends on COMPILE_TEST
17	imply SND_SOC_88PM860X
18	imply SND_SOC_AB8500_CODEC
19	imply SND_SOC_AC97_CODEC
20	imply SND_SOC_AD1836
21	imply SND_SOC_AD193X_SPI
22	imply SND_SOC_AD193X_I2C
23	imply SND_SOC_AD1980
24	imply SND_SOC_AD73311
25	imply SND_SOC_ADAU1372_I2C
26	imply SND_SOC_ADAU1372_SPI
27	imply SND_SOC_ADAU1373
28	imply SND_SOC_ADAU1761_I2C
29	imply SND_SOC_ADAU1761_SPI
30	imply SND_SOC_ADAU1781_I2C
31	imply SND_SOC_ADAU1781_SPI
32	imply SND_SOC_ADAV801
33	imply SND_SOC_ADAV803
34	imply SND_SOC_ADAU1977_SPI
35	imply SND_SOC_ADAU1977_I2C
36	imply SND_SOC_ADAU1701
37	imply SND_SOC_ADAU7002
38	imply SND_SOC_ADAU7118_I2C
39	imply SND_SOC_ADAU7118_HW
40	imply SND_SOC_ADS117X
41	imply SND_SOC_AK4104
42	imply SND_SOC_AK4118
43	imply SND_SOC_AK4375
44	imply SND_SOC_AK4458
45	imply SND_SOC_AK4535
46	imply SND_SOC_AK4554
47	imply SND_SOC_AK4613
48	imply SND_SOC_AK4619
49	imply SND_SOC_AK4642
50	imply SND_SOC_AK4671
51	imply SND_SOC_AK5386
52	imply SND_SOC_AK5558
53	imply SND_SOC_ALC5623
54	imply SND_SOC_ALC5632
55	imply SND_SOC_AUDIO_IIO_AUX
56	imply SND_SOC_AW8738
57	imply SND_SOC_AW87390
58	imply SND_SOC_AW88395
59	imply SND_SOC_AW88081
60	imply SND_SOC_AW88166
61	imply SND_SOC_AW88261
62	imply SND_SOC_AW88399
63	imply SND_SOC_BT_SCO
64	imply SND_SOC_BD28623
65	imply SND_SOC_CHV3_CODEC
66	imply SND_SOC_CQ0093VC
67	imply SND_SOC_CROS_EC_CODEC
68	imply SND_SOC_CS35L32
69	imply SND_SOC_CS35L33
70	imply SND_SOC_CS35L34
71	imply SND_SOC_CS35L35
72	imply SND_SOC_CS35L36
73	imply SND_SOC_CS35L41_SPI
74	imply SND_SOC_CS35L41_I2C
75	imply SND_SOC_CS35L45_I2C
76	imply SND_SOC_CS35L45_SPI
77	imply SND_SOC_CS35L56_I2C
78	imply SND_SOC_CS35L56_SPI
79	imply SND_SOC_CS35L56_SDW
80	imply SND_SOC_CS40L50
81	imply SND_SOC_CS42L42
82	imply SND_SOC_CS42L42_SDW
83	imply SND_SOC_CS42L43
84	imply SND_SOC_CS42L43_SDW
85	imply SND_SOC_CS42L51_I2C
86	imply SND_SOC_CS42L52
87	imply SND_SOC_CS42L56
88	imply SND_SOC_CS42L73
89	imply SND_SOC_CS42L84
90	imply SND_SOC_CS4234
91	imply SND_SOC_CS4265
92	imply SND_SOC_CS4270
93	imply SND_SOC_CS4271_I2C
94	imply SND_SOC_CS4271_SPI
95	imply SND_SOC_CS42XX8_I2C
96	imply SND_SOC_CS42XX8_SPI
97	imply SND_SOC_CS43130
98	imply SND_SOC_CS4341
99	imply SND_SOC_CS4349
100	imply SND_SOC_CS47L15
101	imply SND_SOC_CS47L24
102	imply SND_SOC_CS47L35
103	imply SND_SOC_CS47L85
104	imply SND_SOC_CS47L90
105	imply SND_SOC_CS47L92
106	imply SND_SOC_CS48L32
107	imply SND_SOC_CS53L30
108	imply SND_SOC_CS530X_I2C
109	imply SND_SOC_CS530X_SPI
110	imply SND_SOC_CX20442
111	imply SND_SOC_CX2072X
112	imply SND_SOC_DA7210
113	imply SND_SOC_DA7213
114	imply SND_SOC_DA7218
115	imply SND_SOC_DA7219
116	imply SND_SOC_DA732X
117	imply SND_SOC_DA9055
118	imply SND_SOC_DMIC
119	imply SND_SOC_ES8316
120	imply SND_SOC_ES8323
121	imply SND_SOC_ES8326
122	imply SND_SOC_ES8328_SPI
123	imply SND_SOC_ES8328_I2C
124	imply SND_SOC_ES8375
125	imply SND_SOC_ES8389
126	imply SND_SOC_ES9356
127	imply SND_SOC_ES7134
128	imply SND_SOC_ES7241
129	imply SND_SOC_FRAMER
130	imply SND_SOC_FS210X
131	imply SND_SOC_GTM601
132	imply SND_SOC_HDAC_HDMI
133	imply SND_SOC_HDAC_HDA
134	imply SND_SOC_ICS43432
135	imply SND_SOC_IDT821034
136	imply SND_SOC_INNO_RK3036
137	imply SND_SOC_ISABELLE
138	imply SND_SOC_JZ4740_CODEC
139	imply SND_SOC_JZ4725B_CODEC
140	imply SND_SOC_JZ4760_CODEC
141	imply SND_SOC_JZ4770_CODEC
142	imply SND_SOC_LM4857
143	imply SND_SOC_LM49453
144	imply SND_SOC_LOCHNAGAR_SC
145	imply SND_SOC_MAX98088
146	imply SND_SOC_MAX98090
147	imply SND_SOC_MAX98095
148	imply SND_SOC_MAX98357A
149	imply SND_SOC_MAX98371
150	imply SND_SOC_MAX98504
151	imply SND_SOC_MAX98520
152	imply SND_SOC_MAX9867
153	imply SND_SOC_MAX98925
154	imply SND_SOC_MAX98926
155	imply SND_SOC_MAX98927
156	imply SND_SOC_MAX98363
157	imply SND_SOC_MAX98373_I2C
158	imply SND_SOC_MAX98373_SDW
159	imply SND_SOC_MAX98388
160	imply SND_SOC_MAX98390
161	imply SND_SOC_MAX98396
162	imply SND_SOC_MAX9850
163	imply SND_SOC_MAX9860
164	imply SND_SOC_MAX9759
165	imply SND_SOC_MAX9768
166	imply SND_SOC_MAX9877
167	imply SND_SOC_MC13783
168	imply SND_SOC_ML26124
169	imply SND_SOC_MT6351
170	imply SND_SOC_MT6357
171	imply SND_SOC_MT6358
172	imply SND_SOC_MT6359
173	imply SND_SOC_MT6660
174	imply SND_SOC_NAU8315
175	imply SND_SOC_NAU8325
176	imply SND_SOC_NAU8540
177	imply SND_SOC_NAU8810
178	imply SND_SOC_NAU8821
179	imply SND_SOC_NAU8822
180	imply SND_SOC_NAU8824
181	imply SND_SOC_NAU8825
182	imply SND_SOC_HDMI_CODEC
183	imply SND_SOC_PCM1681
184	imply SND_SOC_PCM1754
185	imply SND_SOC_PCM1789_I2C
186	imply SND_SOC_PCM179X_I2C
187	imply SND_SOC_PCM179X_SPI
188	imply SND_SOC_PCM186X_I2C
189	imply SND_SOC_PCM186X_SPI
190	imply SND_SOC_PCM3008
191	imply SND_SOC_PCM3060_I2C
192	imply SND_SOC_PCM3060_SPI
193	imply SND_SOC_PCM3168A_I2C
194	imply SND_SOC_PCM3168A_SPI
195	imply SND_SOC_PCM5102A
196	imply SND_SOC_PCM512x_I2C
197	imply SND_SOC_PCM512x_SPI
198	imply SND_SOC_PCM6240
199	imply SND_SOC_PEB2466
200	imply SND_SOC_PM4125_SDW
201	imply SND_SOC_RK3308
202	imply SND_SOC_RK3328
203	imply SND_SOC_RK817
204	imply SND_SOC_RT274
205	imply SND_SOC_RT286
206	imply SND_SOC_RT298
207	imply SND_SOC_RT1011
208	imply SND_SOC_RT1015
209	imply SND_SOC_RT1015P
210	imply SND_SOC_RT1016
211	imply SND_SOC_RT1017_SDCA_SDW
212	imply SND_SOC_RT1019
213	imply SND_SOC_RT1305
214	imply SND_SOC_RT1308
215	imply SND_SOC_RT5514
216	imply SND_SOC_RT5575
217	imply SND_SOC_RT5616
218	imply SND_SOC_RT5631
219	imply SND_SOC_RT5640
220	imply SND_SOC_RT5645
221	imply SND_SOC_RT5651
222	imply SND_SOC_RT5659
223	imply SND_SOC_RT5660
224	imply SND_SOC_RT5663
225	imply SND_SOC_RT5665
226	imply SND_SOC_RT5668
227	imply SND_SOC_RT5670
228	imply SND_SOC_RT5677
229	imply SND_SOC_RT5682_I2C
230	imply SND_SOC_RT5682_SDW
231	imply SND_SOC_RT5682S
232	imply SND_SOC_RT700_SDW
233	imply SND_SOC_RT711_SDW
234	imply SND_SOC_RT711_SDCA_SDW
235	imply SND_SOC_RT712_SDCA_SDW
236	imply SND_SOC_RT712_SDCA_DMIC_SDW
237	imply SND_SOC_RT715_SDW
238	imply SND_SOC_RT715_SDCA_SDW
239	imply SND_SOC_RT721_SDCA_SDW
240	imply SND_SOC_RT722_SDCA_SDW
241	imply SND_SOC_RT1308_SDW
242	imply SND_SOC_RT1316_SDW
243	imply SND_SOC_RT1318
244	imply SND_SOC_RT1318_SDW
245	imply SND_SOC_RT1320_SDW
246	imply SND_SOC_RT9120
247	imply SND_SOC_RT9123
248	imply SND_SOC_RTQ9124
249	imply SND_SOC_RTQ9128
250	imply SND_SOC_SDW_MOCKUP
251	imply SND_SOC_SGTL5000
252	imply SND_SOC_SI476X
253	imply SND_SOC_SIMPLE_AMPLIFIER
254	imply SND_SOC_SIMPLE_MUX
255	imply SND_SOC_SMA1303
256	imply SND_SOC_SMA1307
257	imply SND_SOC_SPDIF
258	imply SND_SOC_SRC4XXX_I2C
259	imply SND_SOC_SSM2305
260	imply SND_SOC_SSM2518
261	imply SND_SOC_SSM2602_SPI
262	imply SND_SOC_SSM2602_I2C
263	imply SND_SOC_SSM4567
264	imply SND_SOC_STA32X
265	imply SND_SOC_STA350
266	imply SND_SOC_STA529
267	imply SND_SOC_STAC9766
268	imply SND_SOC_STI_SAS
269	imply SND_SOC_TAC5XX2_SDW
270	imply SND_SOC_TAS2552
271	imply SND_SOC_TAS2562
272	imply SND_SOC_TAS2764
273	imply SND_SOC_TAS2770
274	imply SND_SOC_TAS2780
275	imply SND_SOC_TAS2781_I2C
276	imply SND_SOC_TAS2783_SDW
277	imply SND_SOC_TAS5086
278	imply SND_SOC_TAS571X
279	imply SND_SOC_TAS5720
280	imply SND_SOC_TAS6424
281	imply SND_SOC_TAS675X
282	imply SND_SOC_TDA7419
283	imply SND_SOC_TFA9879
284	imply SND_SOC_TFA989X
285	imply SND_SOC_TLV320ADC3XXX
286	imply SND_SOC_TLV320ADCX140
287	imply SND_SOC_TLV320AIC23_I2C
288	imply SND_SOC_TLV320AIC23_SPI
289	imply SND_SOC_TLV320AIC26
290	imply SND_SOC_TLV320AIC31XX
291	imply SND_SOC_TLV320AIC32X4_I2C
292	imply SND_SOC_TLV320AIC32X4_SPI
293	imply SND_SOC_TLV320AIC3X_I2C
294	imply SND_SOC_TLV320AIC3X_SPI
295	imply SND_SOC_TPA6130A2
296	imply SND_SOC_TLV320DAC33
297	imply SND_SOC_TSCS42XX
298	imply SND_SOC_TSCS454
299	imply SND_SOC_TS3A227E
300	imply SND_SOC_TWL4030
301	imply SND_SOC_TWL6040
302	imply SND_SOC_UDA1334
303	imply SND_SOC_UDA1342
304	imply SND_SOC_UDA1380
305	imply SND_SOC_WCD9335
306	imply SND_SOC_WCD934X
307	imply SND_SOC_WCD937X_SDW
308	imply SND_SOC_WCD938X_SDW
309	imply SND_SOC_WCD939X_SDW
310	imply SND_SOC_LPASS_MACRO_COMMON
311	imply SND_SOC_LPASS_RX_MACRO
312	imply SND_SOC_LPASS_TX_MACRO
313	imply SND_SOC_WM0010
314	imply SND_SOC_WM1250_EV1
315	imply SND_SOC_WM2000
316	imply SND_SOC_WM2200
317	imply SND_SOC_WM5100
318	imply SND_SOC_WM5102
319	imply SND_SOC_WM5110
320	imply SND_SOC_WM8350
321	imply SND_SOC_WM8400
322	imply SND_SOC_WM8510
323	imply SND_SOC_WM8523
324	imply SND_SOC_WM8524
325	imply SND_SOC_WM8580
326	imply SND_SOC_WM8711
327	imply SND_SOC_WM8727
328	imply SND_SOC_WM8728
329	imply SND_SOC_WM8731_I2C
330	imply SND_SOC_WM8731_SPI
331	imply SND_SOC_WM8737
332	imply SND_SOC_WM8741
333	imply SND_SOC_WM8750
334	imply SND_SOC_WM8753
335	imply SND_SOC_WM8770
336	imply SND_SOC_WM8776
337	imply SND_SOC_WM8782
338	imply SND_SOC_WM8804_I2C
339	imply SND_SOC_WM8804_SPI
340	imply SND_SOC_WM8900
341	imply SND_SOC_WM8903
342	imply SND_SOC_WM8904
343	imply SND_SOC_WM8940
344	imply SND_SOC_WM8955
345	imply SND_SOC_WM8960
346	imply SND_SOC_WM8961
347	imply SND_SOC_WM8962
348	imply SND_SOC_WM8971
349	imply SND_SOC_WM8974
350	imply SND_SOC_WM8978
351	imply SND_SOC_WM8983
352	imply SND_SOC_WM8985
353	imply SND_SOC_WM8988
354	imply SND_SOC_WM8990
355	imply SND_SOC_WM8991
356	imply SND_SOC_WM8993
357	imply SND_SOC_WM8994
358	imply SND_SOC_WM8995
359	imply SND_SOC_WM8996
360	imply SND_SOC_WM8997
361	imply SND_SOC_WM8998
362	imply SND_SOC_WM9081
363	imply SND_SOC_WM9090
364	imply SND_SOC_WM9705
365	imply SND_SOC_WM9712
366	imply SND_SOC_WM9713
367	imply SND_SOC_WSA881X
368	imply SND_SOC_WSA883X
369	imply SND_SOC_WSA884X
370	imply SND_SOC_ZL38060
371	help
372	  Normally ASoC codec drivers are only built if a machine driver which
373	  uses them is also built since they are only usable with a machine
374	  driver.  Selecting this option will allow these drivers to be built
375	  without an explicit machine driver for test and development purposes.
376
377	  Support for the bus types used to access the codecs to be built must
378	  be selected separately.
379
380	  If unsure select "N".
381
382config SND_SOC_88PM860X
383	tristate
384	depends on MFD_88PM860X
385
386config SND_SOC_ARIZONA
387	tristate
388	default y if SND_SOC_CS47L24=y
389	default y if SND_SOC_WM5102=y
390	default y if SND_SOC_WM5110=y
391	default y if SND_SOC_WM8997=y
392	default y if SND_SOC_WM8998=y
393	default m if SND_SOC_CS47L24=m
394	default m if SND_SOC_WM5102=m
395	default m if SND_SOC_WM5110=m
396	default m if SND_SOC_WM8997=m
397	default m if SND_SOC_WM8998=m
398
399config SND_SOC_WM_HUBS
400	tristate
401	default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
402	default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
403
404config SND_SOC_WM_ADSP
405	tristate "Cirrus Logic wm_adsp driver" if KUNIT
406	select FW_CS_DSP
407	select SND_SOC_COMPRESS
408
409config SND_SOC_WM_ADSP_TEST
410	tristate "KUnit tests for Cirrus Logic wm_adsp" if !KUNIT_ALL_TESTS
411	depends on KUNIT
412	depends on SND_SOC_WM_ADSP
413	default KUNIT_ALL_TESTS
414	help
415	  This builds KUnit tests for the Cirrus Logic wm_adsp library.
416	  For more information on KUnit and unit tests in general,
417	  please refer to the KUnit documentation in
418	  Documentation/dev-tools/kunit/.
419	  If in doubt, say "N".
420
421config SND_SOC_AB8500_CODEC
422	tristate
423	depends on ABX500_CORE
424
425config SND_SOC_AC97_CODEC
426	tristate "Build generic ASoC AC97 CODEC driver"
427	select SND_AC97_CODEC
428	select SND_SOC_AC97_BUS
429
430config SND_SOC_AD1836
431	tristate
432	depends on SPI_MASTER
433
434config SND_SOC_AD193X
435	tristate
436
437config SND_SOC_AD193X_SPI
438	tristate
439	depends on SPI_MASTER
440	select SND_SOC_AD193X
441
442config SND_SOC_AD193X_I2C
443	tristate
444	depends on I2C
445	select SND_SOC_AD193X
446
447config SND_SOC_AD1980
448	tristate
449	depends on SND_SOC_AC97_BUS
450	select REGMAP_AC97
451
452config SND_SOC_AD73311
453	tristate
454
455config SND_SOC_ADAU_UTILS
456	tristate
457
458config SND_SOC_ADAU1372
459	tristate
460	select SND_SOC_ADAU_UTILS
461
462config SND_SOC_ADAU1372_I2C
463	tristate "Analog Devices ADAU1372 CODEC (I2C)"
464	depends on I2C
465	select SND_SOC_ADAU1372
466	select REGMAP_I2C
467
468config SND_SOC_ADAU1372_SPI
469	tristate "Analog Devices ADAU1372 CODEC (SPI)"
470	depends on SPI
471	select SND_SOC_ADAU1372
472	select REGMAP_SPI
473
474config SND_SOC_ADAU1373
475	tristate "Analog Devices ADAU1373 CODEC"
476	depends on I2C
477	select SND_SOC_ADAU_UTILS
478
479config SND_SOC_ADAU1701
480	tristate "Analog Devices ADAU1701 CODEC"
481	depends on I2C
482	select SND_SOC_SIGMADSP_I2C
483
484config SND_SOC_ADAU17X1
485	tristate
486	select SND_SOC_SIGMADSP_REGMAP
487	select SND_SOC_ADAU_UTILS
488
489config SND_SOC_ADAU1761
490	tristate
491	select SND_SOC_ADAU17X1
492
493config SND_SOC_ADAU1761_I2C
494	tristate "Analog Devices AU1761 CODEC - I2C"
495	depends on I2C
496	select SND_SOC_ADAU1761
497	select REGMAP_I2C
498
499config SND_SOC_ADAU1761_SPI
500	tristate "Analog Devices AU1761 CODEC - SPI"
501	depends on SPI
502	select SND_SOC_ADAU1761
503	select REGMAP_SPI
504
505config SND_SOC_ADAU1781
506	select SND_SOC_ADAU17X1
507	tristate
508
509config SND_SOC_ADAU1781_I2C
510	tristate
511	depends on I2C
512	select SND_SOC_ADAU1781
513	select REGMAP_I2C
514
515config SND_SOC_ADAU1781_SPI
516	tristate
517	depends on SPI_MASTER
518	select SND_SOC_ADAU1781
519	select REGMAP_SPI
520
521config SND_SOC_ADAU1977
522	tristate
523
524config SND_SOC_ADAU1977_SPI
525	tristate
526	depends on SPI_MASTER
527	select SND_SOC_ADAU1977
528	select REGMAP_SPI
529
530config SND_SOC_ADAU1977_I2C
531	tristate
532	depends on I2C
533	select SND_SOC_ADAU1977
534	select REGMAP_I2C
535
536config SND_SOC_ADAU7002
537	tristate "Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter"
538
539config SND_SOC_ADAU7118
540	tristate
541
542config SND_SOC_ADAU7118_HW
543	tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - HW Mode"
544	select SND_SOC_ADAU7118
545	help
546	  Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
547	  Converter. In this mode, the device works in standalone mode which
548	  means that there is no bus to communicate with it. Stereo mode is not
549	  supported in this mode.
550
551	  To compile this driver as a module, choose M here: the module
552	  will be called snd-soc-adau7118-hw.
553
554config SND_SOC_ADAU7118_I2C
555	tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - I2C"
556	depends on I2C
557	select SND_SOC_ADAU7118
558	select REGMAP_I2C
559	help
560	  Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
561	  Converter over I2C. This gives full support over the device.
562
563	  To compile this driver as a module, choose M here: the module
564	  will be called snd-soc-adau7118-i2c.
565
566config SND_SOC_ADAV80X
567	tristate
568
569config SND_SOC_ADAV801
570	tristate
571	depends on SPI_MASTER
572	select SND_SOC_ADAV80X
573
574config SND_SOC_ADAV803
575	tristate
576	depends on I2C
577	select SND_SOC_ADAV80X
578
579config SND_SOC_ADS117X
580	tristate
581
582config SND_SOC_AK4104
583	tristate "AKM AK4104 CODEC"
584	depends on SPI_MASTER
585
586config SND_SOC_AK4118
587	tristate "AKM AK4118 CODEC"
588	depends on I2C
589	select REGMAP_I2C
590
591config SND_SOC_AK4375
592	tristate "AKM AK4375 CODEC"
593	depends on I2C
594	select REGMAP_I2C
595	help
596	  Enable support for the Asahi-Kasei AK4375 codec.
597
598	  To compile this driver as a module, choose M here: the module
599	  will be called snd-soc-ak4375.
600
601config SND_SOC_AK4458
602	tristate "AKM AK4458 CODEC"
603	depends on I2C
604	select REGMAP_I2C
605
606config SND_SOC_AK4535
607	tristate
608	depends on I2C
609
610config SND_SOC_AK4554
611	tristate "AKM AK4554 CODEC"
612
613config SND_SOC_AK4613
614	tristate "AKM AK4613 CODEC"
615	depends on I2C
616
617config SND_SOC_AK4619
618	tristate "AKM AK4619 CODEC"
619	depends on I2C
620
621config SND_SOC_AK4642
622	tristate "AKM AK4642 CODEC"
623	depends on I2C
624
625config SND_SOC_AK4671
626	tristate
627	depends on I2C
628
629config SND_SOC_AK5386
630	tristate "AKM AK5638 CODEC"
631
632config SND_SOC_AK5558
633	tristate "AKM AK5558 CODEC"
634	depends on I2C
635	select REGMAP_I2C
636
637config SND_SOC_ALC5623
638	tristate "Realtek ALC5623 CODEC"
639	depends on I2C
640
641config SND_SOC_ALC5632
642	tristate
643	depends on I2C
644
645config SND_SOC_AUDIO_IIO_AUX
646	tristate "Audio IIO Auxiliary device"
647	depends on IIO
648	help
649	  Enable support for Industrial I/O devices as audio auxiliary devices.
650	  This allows to have an IIO device present in the audio path and
651	  controlled using mixer controls.
652
653	  To compile this driver as a module, choose M here: the module
654	  will be called snd-soc-audio-iio-aux.
655
656config SND_SOC_AW8738
657	tristate "Awinic AW8738 Audio Amplifier"
658	select GPIOLIB
659	help
660	  Enable support for the Awinic AW8738 audio amplifier (or similar).
661	  The driver supports simple audio amplifiers similar to
662	  SND_SOC_SIMPLE_AMPLIFIER, but additionally allows setting the
663	  operation mode using the Awinic-specific one-wire pulse control.
664
665config SND_SOC_AW88395_LIB
666	select CRC8
667	tristate
668
669config SND_SOC_AW88395
670	tristate "Soc Audio for awinic aw88395"
671	depends on I2C
672	select CRC32
673	select REGMAP_I2C
674	select GPIOLIB
675	select SND_SOC_AW88395_LIB
676	help
677	  this option enables support for aw88395 Smart PA.
678	  The Awinic AW88395 is an I2S/TDM input, high efficiency
679	  digital Smart K audio amplifier with an integrated 10V
680	  smart boost convert.
681
682config SND_SOC_AW88166
683	tristate "Soc Audio for awinic aw88166"
684	depends on I2C
685	select REGMAP_I2C
686	select GPIOLIB
687	select SND_SOC_AW88395_LIB
688	help
689	  This option enables support for aw88166 Smart PA.
690	  The awinic AW88166 is an I2S/TDM input, high efficiency
691	  digital Smart K audio amplifier with sound quality
692	  enhancement algorithms and speaker protection.
693
694config SND_SOC_AW88261
695	tristate "Soc Audio for awinic aw88261"
696	depends on I2C
697	select REGMAP_I2C
698	select GPIOLIB
699	select SND_SOC_AW88395_LIB
700	help
701	  This option enables support for aw88261 Smart PA.
702	  The awinic AW88261 is an I2S/TDM input, high efficiency
703	  digital Smart K audio amplifier. The output voltage of
704	  boost converter can be adjusted smartly according to
705	  the input amplitude.
706
707config SND_SOC_AW88081
708	tristate "Soc Audio for awinic aw88081/aw88083"
709	depends on I2C
710	select REGMAP_I2C
711	select SND_SOC_AW88395_LIB
712	help
713	  This option enables support for aw88081 Smart PA.
714	  The awinic AW88081 is an I2S/TDM input, high efficiency
715	  digital Smart K audio amplifier. Due to its 9uV noise
716	  floor and ultra-low distortion, clean listening is guaranteed.
717
718config SND_SOC_AW87390
719	tristate "Soc Audio for awinic aw87390"
720	depends on I2C
721	select REGMAP_I2C
722	select SND_SOC_AW88395_LIB
723	help
724	  The awinic aw87390 is specifically designed to improve
725	  the musical output dynamic range, enhance the overall
726	  sound quality, which is a new high efficiency, low
727	  noise, constant large volume, 6th Smart K audio amplifier.
728
729config SND_SOC_AW88399_LIB
730	tristate
731	select SND_SOC_AW88395_LIB
732
733config SND_SOC_AW88399
734	tristate "Soc Audio for awinic aw88399"
735	depends on I2C
736	select CRC8
737	select REGMAP_I2C
738	select GPIOLIB
739	select SND_SOC_AW88395_LIB
740	select SND_SOC_AW88399_LIB
741	help
742	  This option enables support for aw88399 Smart PA.
743	  The awinic AW88399 is an I2S/TDM input, high efficiency
744	  digital Smart K audio amplifier and SKTune speaker
745	  protection algorithms.
746
747config SND_SOC_BD28623
748	tristate "ROHM BD28623 CODEC"
749	help
750	  Enable support for ROHM BD28623MUV Class D speaker amplifier.
751	  This codec does not have any control buses such as I2C, it
752	  detect format of I2S automatically.
753
754config SND_SOC_BT_SCO
755	tristate "Dummy BT SCO codec driver"
756
757config SND_SOC_CHV3_CODEC
758	tristate "Google Chameleon v3 codec driver"
759	help
760	  Enable support for the Google Chameleon v3 audio codec.
761	  This codec does not have a control interface, it always outputs
762	  8 channel S32_LE audio.
763
764config SND_SOC_CPCAP
765	tristate "Motorola CPCAP codec"
766	depends on MFD_CPCAP || COMPILE_TEST
767
768config SND_SOC_CQ0093VC
769	tristate
770
771config SND_SOC_CROS_EC_CODEC
772	tristate "codec driver for ChromeOS EC"
773	depends on CROS_EC
774	select CRYPTO_LIB_SHA256
775	help
776	  If you say yes here you will get support for the
777	  ChromeOS Embedded Controller's Audio Codec.
778
779config SND_SOC_CS_AMP_LIB
780	tristate
781
782config SND_SOC_CS_AMP_LIB_TEST_HOOKS
783	bool
784	depends on SND_SOC_CS_AMP_LIB
785
786config SND_SOC_CS_AMP_LIB_TEST
787	tristate "KUnit test for Cirrus Logic cs-amp-lib" if !KUNIT_ALL_TESTS
788	depends on SND_SOC_CS_AMP_LIB && KUNIT
789	select SND_SOC_CS_AMP_LIB_TEST_HOOKS
790	default KUNIT_ALL_TESTS
791	help
792	  This builds KUnit tests for the Cirrus Logic common
793	  amplifier library.
794	  For more information on KUnit and unit tests in general,
795	  please refer to the KUnit documentation in
796	  Documentation/dev-tools/kunit/.
797	  If in doubt, say "N".
798
799config SND_SOC_CS35L32
800	tristate "Cirrus Logic CS35L32 CODEC"
801	depends on I2C
802
803config SND_SOC_CS35L33
804	tristate "Cirrus Logic CS35L33 CODEC"
805	depends on I2C
806
807config SND_SOC_CS35L34
808	tristate "Cirrus Logic CS35L34 CODEC"
809	depends on I2C
810
811config SND_SOC_CS35L35
812	tristate "Cirrus Logic CS35L35 CODEC"
813	depends on I2C
814
815config SND_SOC_CS35L36
816	tristate "Cirrus Logic CS35L36 CODEC"
817	depends on I2C
818
819config SND_SOC_CS35L41_LIB
820	tristate
821
822config SND_SOC_CS35L41
823	tristate
824	select SND_SOC_WM_ADSP
825
826config SND_SOC_CS35L41_SPI
827	tristate "Cirrus Logic CS35L41 CODEC (SPI)"
828	depends on SPI_MASTER
829	select SND_SOC_CS35L41_LIB
830	select SND_SOC_CS35L41
831	select REGMAP_SPI
832
833config SND_SOC_CS35L41_I2C
834	tristate "Cirrus Logic CS35L41 CODEC (I2C)"
835	depends on I2C
836	select SND_SOC_CS35L41_LIB
837	select SND_SOC_CS35L41
838	select REGMAP_I2C
839
840config SND_SOC_CS35L45
841	tristate
842	select REGMAP_IRQ
843	select SND_SOC_WM_ADSP
844
845config SND_SOC_CS35L45_SPI
846	tristate "Cirrus Logic CS35L45 CODEC (SPI)"
847	depends on SPI_MASTER
848	select REGMAP
849	select REGMAP_SPI
850	select SND_SOC_CS35L45
851	help
852	  Enable support for Cirrus Logic CS35L45 smart speaker amplifier
853	  with SPI control.
854
855config SND_SOC_CS35L45_I2C
856	tristate "Cirrus Logic CS35L45 CODEC (I2C)"
857	depends on I2C
858	select REGMAP
859	select REGMAP_I2C
860	select SND_SOC_CS35L45
861	help
862	  Enable support for Cirrus Logic CS35L45 smart speaker amplifier
863	  with I2C control.
864
865config SND_SOC_CS35L56
866	tristate
867	select SND_SOC_WM_ADSP
868
869config SND_SOC_CS35L56_SHARED
870	select SND_SOC_CS_AMP_LIB
871	tristate
872
873config SND_SOC_CS35L56_I2C
874	tristate "Cirrus Logic CS35L56 CODEC (I2C)"
875	depends on I2C
876	depends on SOUNDWIRE || !SOUNDWIRE
877	select REGMAP_I2C
878	select SND_SOC_CS35L56
879	select SND_SOC_CS35L56_SHARED
880	help
881	  Enable support for Cirrus Logic CS35L56 boosted amplifier with I2C control
882
883config SND_SOC_CS35L56_SPI
884	tristate "Cirrus Logic CS35L56 CODEC (SPI)"
885	depends on SPI_MASTER
886	depends on SOUNDWIRE || !SOUNDWIRE
887	select REGMAP_SPI
888	select SND_SOC_CS35L56
889	select SND_SOC_CS35L56_SHARED
890	help
891	  Enable support for Cirrus Logic CS35L56 boosted amplifier with SPI control
892
893config SND_SOC_CS35L56_SDW
894	tristate "Cirrus Logic CS35L56 CODEC (SDW)"
895	depends on SOUNDWIRE
896	select REGMAP_SOUNDWIRE
897	select SND_SOC_CS35L56
898	select SND_SOC_CS35L56_SHARED
899	help
900	  Enable support for Cirrus Logic CS35L56 boosted amplifier with SoundWire control
901
902config SND_SOC_CS35L56_CAL_DEBUGFS_COMMON
903	bool
904
905menu "CS35L56 driver options"
906	depends on SND_SOC_CS35L56
907
908config SND_SOC_CS35L56_CAL_DEBUGFS
909	bool "CS35L56 create debugfs for factory calibration"
910	depends on DEBUG_FS
911	select SND_SOC_CS35L56_CAL_DEBUGFS_COMMON
912	help
913	  Create debugfs entries used during factory-line manufacture
914	  for factory calibration.
915
916	  If unsure select "N".
917
918config SND_SOC_CS35L56_CAL_SET_CTRL
919	bool "CS35L56 ALSA control to restore factory calibration"
920	select SND_SOC_CS35L56_CAL_DEBUGFS_COMMON
921	help
922	  Allow restoring factory calibration data through an ALSA
923	  control. This is only needed on platforms without UEFI or
924	  some other method of non-volatile storage that the driver
925	  can access directly.
926
927	  On most platforms this is not needed.
928
929	  If unsure select "N".
930
931config SND_SOC_CS35L56_CAL_PERFORM_CTRL
932	bool "CS35L56 ALSA control to perform factory calibration"
933	select SND_SOC_CS35L56_CAL_DEBUGFS_COMMON
934	help
935	  Allow performing factory calibration data through an ALSA
936	  control. It is recommended to use the debugfs method instead
937	  because debugfs has restricted access permissions.
938
939	  On most platforms this is not needed.
940
941	  If unsure select "N".
942
943config SND_SOC_CS35L56_TEST
944	tristate "KUnit test for Cirrus Logic cs35l56 driver" if !KUNIT_ALL_TESTS
945	depends on SND_SOC_CS35L56 && KUNIT
946	default KUNIT_ALL_TESTS
947	select SND_SOC_CS_AMP_LIB_TEST_HOOKS
948	help
949	  This builds KUnit tests for the Cirrus Logic cs35l56
950	  codec driver.
951
952	  For more information on KUnit and unit tests in general,
953	  please refer to the KUnit documentation in
954	  Documentation/dev-tools/kunit/.
955	  If in doubt, say "N".
956
957config SND_SOC_CS35L56_SHARED_TEST
958	tristate "KUnit test for Cirrus Logic cs35l56-shared" if !KUNIT_ALL_TESTS
959	depends on SND_SOC_CS35L56_SHARED && KUNIT
960	default KUNIT_ALL_TESTS
961	help
962	  This builds KUnit tests for the Cirrus Logic cs35l56-shared
963	  module.
964
965	  For more information on KUnit and unit tests in general,
966	  please refer to the KUnit documentation in
967	  Documentation/dev-tools/kunit/.
968	  If in doubt, say "N".
969endmenu
970
971config SND_SOC_CS40L50
972	tristate "Cirrus Logic CS40L50 CODEC"
973	depends on MFD_CS40L50_CORE
974	help
975	  This option enables support for I2S streaming to Cirrus Logic CS40L50.
976
977	  CS40L50 is a haptic driver with waveform memory, an integrated
978	  DSP, and closed-loop algorithms. If built as a module, it will be
979	  called snd-soc-cs40l50.
980
981config SND_SOC_CS42L42_CORE
982	tristate
983
984config SND_SOC_CS42L42
985	tristate "Cirrus Logic CS42L42 CODEC (I2C)"
986	depends on I2C
987	select REGMAP
988	select REGMAP_I2C
989	select SND_SOC_CS42L42_CORE
990
991config SND_SOC_CS42L42_SDW
992	tristate "Cirrus Logic CS42L42 CODEC on Soundwire"
993	depends on SOUNDWIRE
994	select SND_SOC_CS42L42_CORE
995	help
996	  Enable support for Cirrus Logic CS42L42 codec with Soundwire control
997
998config SND_SOC_CS42L43
999	tristate "Cirrus Logic CS42L43 CODEC"
1000	depends on MFD_CS42L43
1001	help
1002	  Select this to support the audio functions of the Cirrus Logic
1003	  CS42L43 PC CODEC.
1004
1005config SND_SOC_CS42L43_SDW
1006	tristate "Cirrus Logic CS42L43 CODEC (SoundWire)"
1007	depends on SND_SOC_CS42L43 && MFD_CS42L43_SDW
1008	help
1009	  Select this to support the audio functions of the Cirrus Logic
1010	  CS42L43 PC CODEC over SoundWire.
1011
1012config SND_SOC_CS42L51
1013	tristate
1014
1015config SND_SOC_CS42L51_I2C
1016	tristate "Cirrus Logic CS42L51 CODEC (I2C)"
1017	depends on I2C
1018	select SND_SOC_CS42L51
1019
1020config SND_SOC_CS42L52
1021	tristate "Cirrus Logic CS42L52 CODEC"
1022	depends on I2C && INPUT
1023
1024config SND_SOC_CS42L56
1025	tristate "Cirrus Logic CS42L56 CODEC"
1026	depends on I2C && INPUT
1027
1028config SND_SOC_CS42L73
1029	tristate "Cirrus Logic CS42L73 CODEC"
1030	depends on I2C
1031
1032config SND_SOC_CS42L83
1033	tristate "Cirrus Logic CS42L83 CODEC"
1034	depends on I2C
1035	select REGMAP
1036	select REGMAP_I2C
1037	select SND_SOC_CS42L42_CORE
1038
1039config SND_SOC_CS42L84
1040	tristate "Cirrus Logic CS42L84 CODEC"
1041	depends on I2C
1042	select REGMAP
1043	select REGMAP_I2C
1044
1045config SND_SOC_CS4234
1046	tristate "Cirrus Logic CS4234 CODEC"
1047	depends on I2C
1048	select REGMAP_I2C
1049
1050config SND_SOC_CS4265
1051	tristate "Cirrus Logic CS4265 CODEC"
1052	depends on I2C
1053	select REGMAP_I2C
1054
1055# Cirrus Logic CS4270 Codec
1056config SND_SOC_CS4270
1057	tristate "Cirrus Logic CS4270 CODEC"
1058	depends on I2C
1059
1060# Cirrus Logic CS4270 Codec VD = 3.3V Errata
1061# Select if you are affected by the errata where the part will not function
1062# if MCLK divide-by-1.5 is selected and VD is set to 3.3V.  The driver will
1063# not select any sample rates that require MCLK to be divided by 1.5.
1064config SND_SOC_CS4270_VD33_ERRATA
1065	bool
1066	depends on SND_SOC_CS4270
1067
1068config SND_SOC_CS4271
1069	tristate
1070
1071config SND_SOC_CS4271_I2C
1072	tristate "Cirrus Logic CS4271 CODEC (I2C)"
1073	depends on I2C
1074	select SND_SOC_CS4271
1075	select REGMAP_I2C
1076
1077config SND_SOC_CS4271_SPI
1078	tristate "Cirrus Logic CS4271 CODEC (SPI)"
1079	depends on SPI_MASTER
1080	select SND_SOC_CS4271
1081	select REGMAP_SPI
1082
1083config SND_SOC_CS42XX8
1084	tristate
1085
1086config SND_SOC_CS42XX8_SPI
1087	tristate "Cirrus Logic CS42448/CS42888 CODEC (SPI)"
1088	depends on SPI_MASTER
1089	select SND_SOC_CS42XX8
1090	select REGMAP_SPI
1091
1092config SND_SOC_CS42XX8_I2C
1093	tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)"
1094	depends on I2C
1095	select SND_SOC_CS42XX8
1096	select REGMAP_I2C
1097
1098# Cirrus Logic CS43130 HiFi DAC
1099config SND_SOC_CS43130
1100	tristate "Cirrus Logic CS43130 CODEC"
1101	depends on I2C
1102
1103config SND_SOC_CS4341
1104	tristate "Cirrus Logic CS4341 CODEC"
1105	depends on SND_SOC_I2C_AND_SPI
1106	select REGMAP_I2C if I2C
1107	select REGMAP_SPI if SPI_MASTER
1108
1109# Cirrus Logic CS4349 HiFi DAC
1110config SND_SOC_CS4349
1111	tristate "Cirrus Logic CS4349 CODEC"
1112	depends on I2C
1113
1114config SND_SOC_CS47L15
1115	tristate
1116	depends on MFD_CS47L15
1117
1118config SND_SOC_CS47L24
1119	tristate
1120	depends on MFD_CS47L24 && MFD_ARIZONA
1121	select SND_SOC_WM_ADSP
1122
1123config SND_SOC_CS47L35
1124	tristate
1125	depends on MFD_CS47L35
1126
1127config SND_SOC_CS47L85
1128	tristate
1129	depends on MFD_CS47L85
1130
1131config SND_SOC_CS47L90
1132	tristate
1133	depends on MFD_CS47L90
1134
1135config SND_SOC_CS47L92
1136	tristate
1137	depends on MFD_CS47L92
1138
1139config SND_SOC_CS48L32
1140	tristate "Cirrus Logic CS48L32 audio DSP"
1141	depends on SPI_MASTER
1142	select REGMAP_SPI
1143	select SND_SOC_WM_ADSP
1144	help
1145	  Build the codec driver for the Cirrus Logic CS48L32 audio DSP.
1146
1147# Cirrus Logic Quad-Channel ADC
1148config SND_SOC_CS53L30
1149	tristate "Cirrus Logic CS53L30 CODEC"
1150	depends on I2C
1151
1152config SND_SOC_CS530X
1153	tristate
1154
1155config SND_SOC_CS530X_I2C
1156	tristate "Cirrus Logic CS530x ADCs (I2C)"
1157	depends on I2C
1158	select REGMAP
1159	select REGMAP_I2C
1160	select SND_SOC_CS530X
1161	help
1162	  Enable support for Cirrus Logic CS530X ADCs
1163	  with I2C control.
1164
1165config SND_SOC_CS530X_SPI
1166	tristate "Cirrus Logic CS530x ADCs (SPI)"
1167	depends on SPI_MASTER
1168	select REGMAP_SPI
1169	select SND_SOC_CS530X
1170	help
1171	  Enable support for Cirrus Logic CS530X ADCs
1172	  with SPI control.
1173
1174config SND_SOC_CX20442
1175	tristate
1176	depends on TTY
1177
1178config SND_SOC_CX2072X
1179	tristate "Conexant CX2072X CODEC"
1180	depends on I2C
1181	help
1182	  Enable support for Conexant CX20721 and CX20723 codec chips.
1183
1184config SND_SOC_JZ4740_CODEC
1185	depends on MACH_INGENIC || COMPILE_TEST
1186	depends on OF
1187	select REGMAP_MMIO
1188	tristate "Ingenic JZ4740 internal CODEC"
1189	help
1190	  Enable support for the internal CODEC found in the JZ4740 SoC
1191	  from Ingenic.
1192
1193	  This driver can also be built as a module. If so, the module
1194	  will be called snd-soc-jz4740-codec.
1195
1196config SND_SOC_JZ4725B_CODEC
1197	depends on MACH_INGENIC || COMPILE_TEST
1198	depends on OF
1199	select REGMAP
1200	tristate "Ingenic JZ4725B internal CODEC"
1201	help
1202	  Enable support for the internal CODEC found in the JZ4725B SoC
1203	  from Ingenic.
1204
1205	  This driver can also be built as a module. If so, the module
1206	  will be called snd-soc-jz4725b-codec.
1207
1208config SND_SOC_JZ4760_CODEC
1209	depends on MACH_INGENIC || COMPILE_TEST
1210	depends on OF
1211	select REGMAP
1212	tristate "Ingenic JZ4760 internal CODEC"
1213	help
1214	  Enable support for the internal CODEC found in the JZ4760 SoC
1215	  from Ingenic.
1216
1217	  This driver can also be built as a module. If so, the module
1218	  will be called snd-soc-jz4760-codec.
1219
1220config SND_SOC_JZ4770_CODEC
1221	depends on MACH_INGENIC || COMPILE_TEST
1222	depends on OF
1223	select REGMAP
1224	tristate "Ingenic JZ4770 internal CODEC"
1225	help
1226	  Enable support for the internal CODEC found in the JZ4770 SoC
1227	  from Ingenic.
1228
1229	  This driver can also be built as a module. If so, the module
1230	  will be called snd-soc-jz4770-codec.
1231
1232config SND_SOC_DA7210
1233	tristate
1234	depends on SND_SOC_I2C_AND_SPI
1235
1236config SND_SOC_DA7213
1237	tristate "Dialog DA7213 CODEC"
1238	depends on I2C
1239
1240config SND_SOC_DA7218
1241	tristate
1242	depends on I2C
1243
1244config SND_SOC_DA7219
1245	tristate
1246	depends on I2C
1247
1248config SND_SOC_DA732X
1249	tristate
1250	depends on I2C
1251
1252config SND_SOC_DA9055
1253	tristate
1254	depends on I2C
1255
1256config SND_SOC_DMIC
1257	tristate "Generic Digital Microphone CODEC"
1258	help
1259	  Enable support for the Generic Digital Microphone CODEC.
1260	  Select this if your sound card has DMICs.
1261
1262config SND_SOC_HDMI_CODEC
1263	tristate
1264	select SND_PCM_ELD
1265	select SND_PCM_IEC958
1266	select HDMI
1267
1268config SND_SOC_ES7134
1269	tristate "Everest Semi ES7134 CODEC"
1270
1271config SND_SOC_ES7241
1272	tristate "Everest Semi ES7241 CODEC"
1273
1274config SND_SOC_ES83XX_DSM_COMMON
1275	depends on ACPI
1276	tristate
1277
1278config SND_SOC_ES8311
1279	tristate "Everest Semi ES8311 CODEC"
1280	depends on I2C
1281
1282config SND_SOC_ES8316
1283	tristate "Everest Semi ES8316 CODEC"
1284	depends on I2C
1285
1286config SND_SOC_ES8323
1287	tristate "Everest Semi ES8323 CODEC"
1288	depends on I2C
1289
1290config SND_SOC_ES8326
1291	tristate "Everest Semi ES8326 CODEC"
1292	depends on I2C
1293
1294config SND_SOC_ES8328
1295	tristate
1296
1297config SND_SOC_ES8328_I2C
1298	tristate "Everest Semi ES8328 CODEC (I2C)"
1299	depends on I2C
1300	select SND_SOC_ES8328
1301
1302config SND_SOC_ES8328_SPI
1303	tristate "Everest Semi ES8328 CODEC (SPI)"
1304	depends on SPI_MASTER
1305	select SND_SOC_ES8328
1306
1307config SND_SOC_ES8375
1308	tristate "Everest Semi ES8375 CODEC"
1309	depends on I2C
1310
1311config SND_SOC_ES8389
1312	tristate "Everest Semi ES8389 CODEC"
1313	depends on I2C
1314
1315config SND_SOC_ES9356
1316	tristate "Everest Semi ES9356 CODEC SDW"
1317	depends on SND_SOC_SDCA
1318	depends on SOUNDWIRE
1319	select REGMAP_SOUNDWIRE
1320	select REGMAP_SOUNDWIRE_MBQ
1321
1322config SND_SOC_FRAMER
1323	tristate "Framer codec"
1324	depends on GENERIC_FRAMER
1325	help
1326	  Enable support for the framer codec.
1327	  The framer codec uses the generic framer infrastructure to transport
1328	  some audio data over an analog E1/T1/J1 line.
1329	  This codec allows to use some of the time slots available on the TDM
1330	  bus on which the framer is connected to transport the audio data.
1331
1332	  To compile this driver as a module, choose M here: the module
1333	  will be called snd-soc-framer.
1334
1335config SND_SOC_FS_AMP_LIB
1336	select CRC16
1337	tristate
1338
1339config SND_SOC_FS210X
1340	tristate 'FourSemi FS2104/5S digital audio amplifier'
1341	depends on I2C
1342	select GPIOLIB
1343	select REGMAP_I2C
1344	select SND_SOC_FS_AMP_LIB
1345	help
1346	  Enable support for FourSemi FS2104/5S digital audio amplifier.
1347	  The FS2104/5S are Inductor-Less, Stereo, Closed-Loop,
1348	  Digital Input Class-D Power Amplifiers with Enhanced Signal Processing.
1349	  The amplifiers support I2C and I2S/TDM.
1350
1351config SND_SOC_GTM601
1352	tristate 'GTM601 UMTS modem audio codec'
1353
1354config SND_SOC_HDAC_HDMI
1355	tristate
1356	select SND_HDA_EXT_CORE
1357	select SND_PCM_ELD
1358	select HDMI
1359
1360config SND_SOC_HDAC_HDA
1361	tristate
1362	select SND_HDA
1363
1364config SND_SOC_HDA
1365	tristate "HD-Audio codec driver"
1366	select SND_HDA_EXT_CORE
1367	select SND_HDA
1368	help
1369	  This enables HD-Audio codec support in ASoC subsystem. Compared
1370	  to SND_SOC_HDAC_HDA, driver's behavior is identical to HD-Audio
1371	  legacy solution - including the dynamic resource allocation
1372	  based on actual codec capabilities.
1373
1374config SND_SOC_ICS43432
1375	tristate "ICS43423 and compatible i2s microphones"
1376
1377config SND_SOC_IDT821034
1378	tristate "Renesas IDT821034 quad PCM codec"
1379	depends on SPI
1380	help
1381	  Enable support for the Renesas IDT821034 quad PCM with
1382	  programmable gain codec.
1383
1384	  To compile this driver as a module, choose M here: the module
1385	  will be called snd-soc-idt821034.
1386
1387config SND_SOC_INNO_RK3036
1388	tristate "Inno codec driver for RK3036 SoC"
1389	depends on ARCH_ROCKCHIP || COMPILE_TEST
1390	select REGMAP_MMIO
1391
1392config SND_SOC_ISABELLE
1393	tristate
1394	depends on I2C
1395
1396config SND_SOC_LM49453
1397	tristate
1398	depends on I2C
1399
1400config SND_SOC_LOCHNAGAR_SC
1401	tristate "Lochnagar Sound Card"
1402	depends on MFD_LOCHNAGAR || COMPILE_TEST
1403	help
1404	  This driver support the sound card functionality of the Cirrus
1405	  Logic Lochnagar audio development board.
1406
1407config SND_SOC_MADERA
1408	tristate
1409	select SND_SOC_WM_ADSP
1410	default y if SND_SOC_CS47L15=y
1411	default y if SND_SOC_CS47L35=y
1412	default y if SND_SOC_CS47L85=y
1413	default y if SND_SOC_CS47L90=y
1414	default y if SND_SOC_CS47L92=y
1415	default m if SND_SOC_CS47L15=m
1416	default m if SND_SOC_CS47L35=m
1417	default m if SND_SOC_CS47L85=m
1418	default m if SND_SOC_CS47L90=m
1419	default m if SND_SOC_CS47L92=m
1420
1421config SND_SOC_MAX98088
1422	tristate "Maxim MAX98088/9 Low-Power, Stereo Audio Codec"
1423	depends on I2C
1424
1425config SND_SOC_MAX98090
1426	tristate "Maxim MAX98090 CODEC"
1427	depends on I2C
1428
1429config SND_SOC_MAX98095
1430	tristate
1431	depends on I2C
1432
1433config SND_SOC_MAX98357A
1434	tristate "Maxim MAX98357A CODEC"
1435
1436config SND_SOC_MAX98371
1437	tristate
1438	depends on I2C
1439
1440config SND_SOC_MAX98504
1441	tristate "Maxim MAX98504 speaker amplifier"
1442	depends on I2C
1443
1444config SND_SOC_MAX9867
1445	tristate "Maxim MAX9867 CODEC"
1446	depends on I2C
1447
1448config SND_SOC_MAX98925
1449	tristate
1450	depends on I2C
1451
1452config SND_SOC_MAX98926
1453	tristate
1454	depends on I2C
1455
1456config SND_SOC_MAX98927
1457	tristate "Maxim Integrated MAX98927 Speaker Amplifier"
1458	depends on I2C
1459
1460config SND_SOC_MAX98520
1461	tristate "Maxim Integrated MAX98520 Speaker Amplifier"
1462	depends on I2C
1463	help
1464	  Enable support for Maxim Integrated MAX98520 audio
1465	  amplifier, which implements a tripler charge pump
1466	  based boost converter and supports sample rates of
1467	  8KHz to 192KHz.
1468
1469	  To compile this driver as a module, choose M here.
1470
1471config SND_SOC_MAX98363
1472	tristate "Analog Devices MAX98363 Soundwire Speaker Amplifier"
1473	depends on SOUNDWIRE
1474	select REGMAP_SOUNDWIRE
1475	help
1476	  Enable support for Analog Devices MAX98363 Soundwire
1477	  amplifier. MAX98363 supports the MIPI SoundWire v1.2
1478	  compatible interface for audio and control data.
1479	  This amplifier does not support I2C and I2S.
1480
1481config SND_SOC_MAX98373
1482	tristate
1483
1484config SND_SOC_MAX98373_I2C
1485	tristate "Maxim Integrated MAX98373 Speaker Amplifier"
1486	depends on I2C
1487	select SND_SOC_MAX98373
1488
1489config SND_SOC_MAX98373_SDW
1490	tristate "Maxim Integrated MAX98373 Speaker Amplifier - SDW"
1491	depends on SOUNDWIRE
1492	select SND_SOC_MAX98373
1493	select REGMAP_SOUNDWIRE
1494	help
1495	  Enable support for Maxim Integrated MAX98373 Soundwire
1496	  amplifier. MAX98373 supports either the MIPI SoundWire
1497	  compatible interface for audio and control data, or
1498	  the PCM interface for audio data and a standard I2C
1499	  interface for control data. Select this if MAX98373 is
1500	  connected via soundwire.
1501
1502config SND_SOC_MAX98388
1503	tristate "Analog Devices MAX98388 Speaker Amplifier"
1504	depends on I2C
1505	help
1506	  Enable support for Analog Devices MAX98388 audio
1507	  amplifier. The device provides a PCM interface for
1508	  audio data and a standard I2C interface for control
1509	  data communication.
1510
1511config SND_SOC_MAX98390
1512	tristate "Maxim Integrated MAX98390 Speaker Amplifier"
1513	depends on I2C
1514
1515config SND_SOC_MAX98396
1516	tristate "Analog Devices MAX98396 Speaker Amplifier"
1517	depends on I2C
1518	help
1519	  Enable support for Analog Devices MAX98396 audio
1520	  amplifier. The device provides a PCM interface for
1521	  audio data and a standard I2C interface for control
1522	  data communication.
1523
1524config SND_SOC_MAX9850
1525	tristate
1526	depends on I2C
1527
1528config SND_SOC_MAX9860
1529	tristate "Maxim MAX9860 Mono Audio Voice Codec"
1530	depends on I2C
1531	select REGMAP_I2C
1532
1533config SND_SOC_MSM8916_WCD_ANALOG
1534	tristate "Qualcomm MSM8916 WCD Analog Codec"
1535	depends on SPMI || COMPILE_TEST
1536
1537config SND_SOC_MSM8916_WCD_DIGITAL
1538	tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
1539	select REGMAP_MMIO
1540
1541config SND_SOC_PCM1681
1542	tristate "Texas Instruments PCM1681 CODEC"
1543	depends on I2C
1544
1545config SND_SOC_PCM1754
1546	tristate "Texas Instruments PCM1754 CODEC"
1547	depends on GPIOLIB
1548
1549config SND_SOC_PCM1789
1550	tristate
1551
1552config SND_SOC_PCM1789_I2C
1553	tristate "Texas Instruments PCM1789 CODEC (I2C)"
1554	depends on I2C
1555	select SND_SOC_PCM1789
1556	help
1557	  Enable support for Texas Instruments PCM1789 CODEC.
1558	  Select this if your PCM1789 is connected via an I2C bus.
1559
1560config SND_SOC_PCM179X
1561	tristate
1562
1563config SND_SOC_PCM179X_I2C
1564	tristate "Texas Instruments PCM179X CODEC (I2C)"
1565	depends on I2C
1566	select SND_SOC_PCM179X
1567	help
1568	  Enable support for Texas Instruments PCM179x CODEC.
1569	  Select this if your PCM179x is connected via an I2C bus.
1570
1571config SND_SOC_PCM179X_SPI
1572	tristate "Texas Instruments PCM179X CODEC (SPI)"
1573	depends on SPI_MASTER
1574	select SND_SOC_PCM179X
1575	help
1576	  Enable support for Texas Instruments PCM179x CODEC.
1577	  Select this if your PCM179x is connected via an SPI bus.
1578
1579config SND_SOC_PCM186X
1580	tristate
1581
1582config SND_SOC_PCM186X_I2C
1583	tristate "Texas Instruments PCM186x CODECs - I2C"
1584	depends on I2C
1585	select SND_SOC_PCM186X
1586	select REGMAP_I2C
1587
1588config SND_SOC_PCM186X_SPI
1589	tristate "Texas Instruments PCM186x CODECs - SPI"
1590	depends on SPI_MASTER
1591	select SND_SOC_PCM186X
1592	select REGMAP_SPI
1593
1594config SND_SOC_PCM3008
1595	tristate
1596
1597config SND_SOC_PCM3060
1598	tristate
1599
1600config SND_SOC_PCM3060_I2C
1601	tristate "Texas Instruments PCM3060 CODEC - I2C"
1602	depends on I2C
1603	select SND_SOC_PCM3060
1604	select REGMAP_I2C
1605
1606config SND_SOC_PCM3060_SPI
1607	tristate "Texas Instruments PCM3060 CODEC - SPI"
1608	depends on SPI_MASTER
1609	select SND_SOC_PCM3060
1610	select REGMAP_SPI
1611
1612config SND_SOC_PCM3168A
1613	tristate
1614
1615config SND_SOC_PCM3168A_I2C
1616	tristate "Texas Instruments PCM3168A CODEC - I2C"
1617	depends on I2C
1618	select SND_SOC_PCM3168A
1619	select REGMAP_I2C
1620
1621config SND_SOC_PCM3168A_SPI
1622	tristate "Texas Instruments PCM3168A CODEC - SPI"
1623	depends on SPI_MASTER
1624	select SND_SOC_PCM3168A
1625	select REGMAP_SPI
1626
1627config SND_SOC_PCM5102A
1628	tristate "Texas Instruments PCM5102A CODEC"
1629
1630config SND_SOC_PCM512x
1631	tristate
1632
1633config SND_SOC_PCM512x_I2C
1634	tristate "Texas Instruments PCM512x CODECs - I2C"
1635	depends on I2C
1636	select SND_SOC_PCM512x
1637	select REGMAP_I2C
1638
1639config SND_SOC_PCM512x_SPI
1640	tristate "Texas Instruments PCM512x CODECs - SPI"
1641	depends on SPI_MASTER
1642	select SND_SOC_PCM512x
1643	select REGMAP_SPI
1644
1645config SND_SOC_PCM6240
1646	tristate "Texas Instruments PCM6240 Family Audio chips based on I2C"
1647	depends on I2C
1648	help
1649	  Enable support for Texas Instruments PCM6240 Family Audio chips.
1650	  Note the PCM6240 driver implements a flexible and configurable
1651	  setting for register and filter coefficients, to one, two or
1652	  even multiple PCM6240 Family Audio chips.
1653
1654config SND_SOC_PEB2466
1655	tristate "Infineon PEB2466 quad PCM codec"
1656	depends on SPI
1657	select REGMAP_SPI
1658	help
1659	  Enable support for the Infineon PEB2466 quad PCM codec,
1660	  also named SICOFI 4-uC.
1661
1662	  To compile this driver as a module, choose M here: the module
1663	  will be called snd-soc-peb2466.
1664
1665config SND_SOC_PM4125
1666	depends on SND_SOC_PM4125_SDW
1667	select SND_SOC_WCD_COMMON
1668	tristate
1669	depends on SOUNDWIRE || !SOUNDWIRE
1670
1671config SND_SOC_PM4125_SDW
1672	tristate "PM4125 audio codec - SDW"
1673	select SND_SOC_PM4125
1674	select SND_SOC_WCD_MBHC
1675	select REGMAP_IRQ
1676	select SND_SOC_WCD_COMMON
1677	depends on SOUNDWIRE
1678	select REGMAP_SOUNDWIRE
1679	help
1680	  The PMIC PM4125 has an in-built audio codec IC used with SoCs
1681	  like QCM2290, and it is connected via soundwire and SPMI.
1682	  To compile this codec driver say Y or m.
1683
1684config SND_SOC_RK3308
1685	tristate "Rockchip RK3308 audio CODEC"
1686	depends on ARM64 || COMPILE_TEST
1687	depends on ARCH_ROCKCHIP || COMPILE_TEST
1688	select REGMAP_MMIO
1689	help
1690	  This is a device driver for the audio codec embedded in the
1691	  Rockchip RK3308 SoC.
1692
1693	  It has 8 24-bit ADCs and 2 24-bit DACs. The maximum supported
1694	  sampling rate is 192 kHz.
1695
1696config SND_SOC_RK3328
1697	tristate "Rockchip RK3328 audio CODEC"
1698	depends on ARCH_ROCKCHIP || COMPILE_TEST
1699	select REGMAP_MMIO
1700
1701config SND_SOC_RK817
1702	tristate "Rockchip RK817 audio CODEC"
1703	depends on MFD_RK8XX || COMPILE_TEST
1704
1705config SND_SOC_RL6231
1706	tristate
1707	default y if SND_SOC_RT5514=y
1708	default y if SND_SOC_RT5616=y
1709	default y if SND_SOC_RT5640=y
1710	default y if SND_SOC_RT5645=y
1711	default y if SND_SOC_RT5651=y
1712	default y if SND_SOC_RT5659=y
1713	default y if SND_SOC_RT5660=y
1714	default y if SND_SOC_RT5663=y
1715	default y if SND_SOC_RT5665=y
1716	default y if SND_SOC_RT5668=y
1717	default y if SND_SOC_RT5670=y
1718	default y if SND_SOC_RT5677=y
1719	default y if SND_SOC_RT5682=y
1720	default y if SND_SOC_RT1011=y
1721	default y if SND_SOC_RT1015=y
1722	default y if SND_SOC_RT1015P=y
1723	default y if SND_SOC_RT1019=y
1724	default y if SND_SOC_RT1305=y
1725	default y if SND_SOC_RT1308=y
1726	default m if SND_SOC_RT5514=m
1727	default m if SND_SOC_RT5616=m
1728	default m if SND_SOC_RT5640=m
1729	default m if SND_SOC_RT5645=m
1730	default m if SND_SOC_RT5651=m
1731	default m if SND_SOC_RT5659=m
1732	default m if SND_SOC_RT5660=m
1733	default m if SND_SOC_RT5663=m
1734	default m if SND_SOC_RT5665=m
1735	default m if SND_SOC_RT5668=m
1736	default m if SND_SOC_RT5670=m
1737	default m if SND_SOC_RT5677=m
1738	default m if SND_SOC_RT5682=m
1739	default m if SND_SOC_RT1011=m
1740	default m if SND_SOC_RT1015=m
1741	default m if SND_SOC_RT1015P=m
1742	default m if SND_SOC_RT1019=m
1743	default m if SND_SOC_RT1305=m
1744	default m if SND_SOC_RT1308=m
1745
1746config SND_SOC_RT_SDW_COMMON
1747	tristate
1748	default y if SND_SOC_RT721_SDCA_SDW=y
1749	default m if SND_SOC_RT721_SDCA_SDW=m
1750
1751config SND_SOC_RL6347A
1752	tristate
1753	default y if SND_SOC_RT274=y
1754	default y if SND_SOC_RT286=y
1755	default y if SND_SOC_RT298=y
1756	default m if SND_SOC_RT274=m
1757	default m if SND_SOC_RT286=m
1758	default m if SND_SOC_RT298=m
1759
1760config SND_SOC_RT274
1761	tristate
1762	depends on I2C
1763
1764config SND_SOC_RT286
1765	tristate
1766	depends on I2C
1767
1768config SND_SOC_RT298
1769	tristate
1770	depends on I2C
1771
1772config SND_SOC_RT1011
1773	tristate
1774	depends on I2C
1775
1776config SND_SOC_RT1015
1777	tristate
1778	depends on I2C
1779
1780config SND_SOC_RT1015P
1781	tristate
1782
1783config SND_SOC_RT1016
1784	tristate
1785	depends on I2C
1786
1787config SND_SOC_RT1017_SDCA_SDW
1788	tristate "Realtek RT1017 SDCA Codec - SDW"
1789	depends on SOUNDWIRE
1790	select REGMAP_SOUNDWIRE
1791
1792config SND_SOC_RT1019
1793	tristate
1794	depends on I2C
1795
1796config SND_SOC_RT1305
1797	tristate
1798	depends on I2C
1799
1800config SND_SOC_RT1308
1801	tristate
1802	depends on I2C
1803
1804config SND_SOC_RT1308_SDW
1805	tristate "Realtek RT1308 Codec - SDW"
1806	depends on I2C && SOUNDWIRE
1807	select REGMAP_SOUNDWIRE
1808
1809config SND_SOC_RT1316_SDW
1810	tristate "Realtek RT1316 Codec - SDW"
1811	depends on SOUNDWIRE
1812	select REGMAP_SOUNDWIRE
1813
1814config SND_SOC_RT1318
1815	tristate
1816	depends on I2C
1817
1818config SND_SOC_RT1318_SDW
1819	tristate "Realtek RT1318 Codec - SDW"
1820	depends on SOUNDWIRE
1821	select REGMAP_SOUNDWIRE
1822
1823config SND_SOC_RT1320_SDW
1824	tristate "Realtek RT1320 Codec - SDW"
1825	depends on SOUNDWIRE
1826	select REGMAP_SOUNDWIRE
1827	select REGMAP_SOUNDWIRE_MBQ
1828
1829config SND_SOC_RT5514
1830	tristate
1831	depends on I2C
1832
1833config SND_SOC_RT5514_SPI
1834	tristate
1835	depends on SPI_MASTER
1836
1837config SND_SOC_RT5514_SPI_BUILTIN
1838	bool # force RT5514_SPI to be built-in to avoid link errors
1839	default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
1840
1841config SND_SOC_RT5575
1842	tristate "Realtek ALC5575 Codec - I2C"
1843	depends on I2C
1844
1845config SND_SOC_RT5575_SPI
1846	bool "Realtek ALC5575 Codec - SPI"
1847	depends on SPI_MASTER && I2C
1848	depends on SND_SOC_RT5575
1849	depends on SPI_MASTER=y || SND_SOC_RT5575=m
1850
1851config SND_SOC_RT5616
1852	tristate "Realtek RT5616 CODEC"
1853	depends on I2C
1854
1855config SND_SOC_RT5631
1856	tristate "Realtek ALC5631/RT5631 CODEC"
1857	depends on I2C
1858
1859config SND_SOC_RT5640
1860	tristate "Realtek RT5640/RT5639 Codec"
1861	depends on I2C
1862
1863config SND_SOC_RT5645
1864	tristate
1865	depends on I2C
1866
1867config SND_SOC_RT5651
1868	tristate
1869	depends on I2C
1870
1871config SND_SOC_RT5659
1872	tristate "Realtek RT5658/RT5659 Codec"
1873	depends on I2C
1874
1875config SND_SOC_RT5660
1876	tristate
1877	depends on I2C
1878
1879config SND_SOC_RT5663
1880	tristate
1881	depends on I2C
1882
1883config SND_SOC_RT5665
1884	tristate
1885	depends on I2C
1886
1887config SND_SOC_RT5668
1888	tristate
1889	depends on I2C
1890
1891config SND_SOC_RT5670
1892	tristate
1893	depends on I2C
1894
1895config SND_SOC_RT5677
1896	tristate "Realtek RT5677 Codec"
1897	depends on I2C
1898	select REGMAP_I2C
1899	select REGMAP_IRQ
1900
1901config SND_SOC_RT5677_SPI
1902	tristate
1903	default SND_SOC_RT5677 && SPI
1904
1905config SND_SOC_RT5682
1906	tristate
1907
1908config SND_SOC_RT5682_I2C
1909	tristate
1910	depends on I2C
1911	select SND_SOC_RT5682
1912
1913config SND_SOC_RT5682_SDW
1914	tristate "Realtek RT5682 Codec - SDW"
1915	depends on SOUNDWIRE
1916	select SND_SOC_RT5682
1917	select REGMAP_SOUNDWIRE
1918
1919config SND_SOC_RT5682S
1920	tristate
1921	depends on I2C
1922
1923config SND_SOC_RT700
1924	tristate
1925
1926config SND_SOC_RT700_SDW
1927	tristate "Realtek RT700 Codec - SDW"
1928	depends on SOUNDWIRE
1929	select SND_SOC_RT700
1930	select REGMAP_SOUNDWIRE
1931
1932config SND_SOC_RT711
1933	tristate
1934
1935config SND_SOC_RT711_SDW
1936	tristate "Realtek RT711 Codec - SDW"
1937	depends on SOUNDWIRE
1938	select SND_SOC_RT711
1939	select REGMAP_SOUNDWIRE
1940
1941config SND_SOC_RT711_SDCA_SDW
1942	tristate "Realtek RT711 SDCA Codec - SDW"
1943	depends on SOUNDWIRE
1944	select REGMAP_SOUNDWIRE
1945	select REGMAP_SOUNDWIRE_MBQ
1946
1947config SND_SOC_RT712_SDCA_SDW
1948	tristate "Realtek RT712 SDCA Codec - SDW"
1949	depends on SOUNDWIRE
1950	select REGMAP_SOUNDWIRE
1951	select REGMAP_SOUNDWIRE_MBQ
1952
1953config SND_SOC_RT712_SDCA_DMIC_SDW
1954	tristate "Realtek RT712 SDCA DMIC Codec - SDW"
1955	depends on SOUNDWIRE
1956	select REGMAP_SOUNDWIRE
1957	select REGMAP_SOUNDWIRE_MBQ
1958
1959config SND_SOC_RT721_SDCA_SDW
1960	tristate "Realtek RT721 SDCA Codec - SDW"
1961	depends on SOUNDWIRE
1962	select REGMAP_SOUNDWIRE
1963	select REGMAP_SOUNDWIRE_MBQ
1964
1965config SND_SOC_RT722_SDCA_SDW
1966	tristate "Realtek RT722 SDCA Codec - SDW"
1967	depends on SOUNDWIRE
1968	select REGMAP_SOUNDWIRE
1969	select REGMAP_SOUNDWIRE_MBQ
1970
1971config SND_SOC_RT715
1972	tristate
1973
1974config SND_SOC_RT715_SDW
1975	tristate "Realtek RT715 Codec - SDW"
1976	depends on SOUNDWIRE
1977	select SND_SOC_RT715
1978	select REGMAP_SOUNDWIRE
1979
1980config SND_SOC_RT715_SDCA_SDW
1981	tristate "Realtek RT715 SDCA Codec - SDW"
1982	depends on SOUNDWIRE
1983	select REGMAP_SOUNDWIRE
1984	select REGMAP_SOUNDWIRE_MBQ
1985
1986config SND_SOC_RT9120
1987	tristate "Richtek RT9120 Stereo Class-D Amplifier"
1988	depends on I2C
1989	select REGMAP_I2C
1990	help
1991	  Enable support for Richtek RT9120 20W, stereo, inductor-less,
1992	  high-efficiency Class-D audio amplifier.
1993
1994config SND_SOC_RT9123
1995	tristate "Richtek RT9123 Mono Class-D Amplifier"
1996	depends on I2C
1997	select REGMAP_I2C
1998	help
1999	  Enable support for the I2C control mode of Richtek RT9123 3.2W mono
2000	  Class-D audio amplifier.
2001
2002config SND_SOC_RT9123P
2003	tristate "Richtek RT9123P Mono Class-D Amplifier"
2004	help
2005	  Enable support for the HW control mode of Richtek RT9123P 3.2W mono
2006	  Class-D audio amplifier.
2007
2008config SND_SOC_RTQ9124
2009	tristate "Richtek RTQ9124 Mono Class-D Amplifier"
2010	depends on I2C
2011	select REGMAP
2012	help
2013	  Enable support for Richtek RTQ9124 1x30W digital input automotive
2014	  audio amplifier with current sense and real-time load diagnostics.
2015
2016config SND_SOC_RTQ9128
2017	tristate "Richtek RTQ9128 45W Digital Input Amplifier"
2018	depends on I2C
2019	select REGMAP
2020	help
2021	  Enable support for Richtek RTQ9128 digital input 4-channel
2022	  automotive audio amplifier.  It is a ultra-low output noise,
2023	  high-efficiency, four-channel class-D audio power amplifier
2024	  that can deliver over 87% power efficienty at 4x75W into 4Ohm,
2025	  25V supply in automotive applications.
2026
2027	  To compile this driver as a module, choose M here: the module
2028	  will be called snd-soc-rtq9128.
2029
2030config SND_SOC_SDW_MOCKUP
2031	tristate "SoundWire mockup codec"
2032	depends on EXPERT
2033	depends on SOUNDWIRE
2034	help
2035	  This option enables a SoundWire mockup codec that does not drive the
2036	  bus, take part in the command/command protocol or generate data on a
2037	  Source port.
2038	  This option is only intended to be used for tests on a device
2039	  with a connector, in combination with a bus analyzer, or to test new
2040	  topologies that differ from the actual hardware layout.
2041	  This mockup device could be totally virtual but could also be a
2042	  real physical one with one key restriction: it is not allowed by the
2043	  SoundWire specification to be configured via a sideband mechanism and
2044	  generate audio data for capture. However, nothing prevents such a
2045	  peripheral device from snooping the bus.
2046
2047#Freescale sgtl5000 codec
2048config SND_SOC_SGTL5000
2049	tristate "Freescale SGTL5000 CODEC"
2050	depends on I2C
2051
2052config SND_SOC_SI476X
2053	tristate
2054	depends on MFD_SI476X_CORE
2055
2056config SND_SOC_SIGMADSP
2057	tristate
2058	select CRC32
2059
2060config SND_SOC_SIGMADSP_I2C
2061	tristate
2062	select SND_SOC_SIGMADSP
2063
2064config SND_SOC_SIGMADSP_REGMAP
2065	tristate
2066	select SND_SOC_SIGMADSP
2067
2068config SND_SOC_SIMPLE_AMPLIFIER
2069	tristate "Simple Audio Amplifier"
2070
2071config SND_SOC_SIMPLE_MUX
2072	tristate "Simple Audio Mux"
2073	depends on GPIOLIB
2074
2075config SND_SOC_SMA1303
2076	tristate "Iron Device SMA1303 Audio Amplifier"
2077	depends on I2C
2078	help
2079	  Enable support for Iron Device SMA1303 Boosted Class-D amplifier
2080
2081config SND_SOC_SMA1307
2082	tristate "Iron Device SMA1307 Audio Amplifier"
2083	depends on I2C
2084	help
2085	  Enable support for Iron Device SMA1307 boosted digital speaker
2086	  amplifier with feedback-loop.
2087	  If you are using a system with an SMA1307 amplifier connected
2088	  via I2C, enable this option.
2089
2090config SND_SOC_SPDIF
2091	tristate "S/PDIF CODEC"
2092
2093config SND_SOC_SRC4XXX_I2C
2094	tristate "Texas Instruments SRC4XXX DIR/DIT and SRC codecs"
2095	depends on I2C
2096	select SND_SOC_SRC4XXX
2097	help
2098	  Enable support for the TI SRC4XXX family of codecs. These include the
2099	  scr4392 which has digital receivers, transmitters, and
2100	  a sample rate converter, including numerous ports.
2101
2102config SND_SOC_SRC4XXX
2103	tristate
2104
2105config SND_SOC_SSM2305
2106	tristate "Analog Devices SSM2305 Class-D Amplifier"
2107	help
2108	  Enable support for Analog Devices SSM2305 filterless
2109	  high-efficiency mono Class-D audio power amplifiers.
2110
2111config SND_SOC_SSM2518
2112	tristate "Analog Devices SSM2518 Class-D Amplifier"
2113	depends on I2C
2114
2115config SND_SOC_SSM2602
2116	tristate
2117
2118config SND_SOC_SSM2602_SPI
2119	tristate "Analog Devices SSM2602 CODEC - SPI"
2120	depends on SPI_MASTER
2121	select SND_SOC_SSM2602
2122	select REGMAP_SPI
2123
2124config SND_SOC_SSM2602_I2C
2125	tristate "Analog Devices SSM2602 CODEC - I2C"
2126	depends on I2C
2127	select SND_SOC_SSM2602
2128	select REGMAP_I2C
2129
2130config SND_SOC_SSM3515
2131	tristate "Analog Devices SSM3515 amplifier driver"
2132	select REGMAP_I2C
2133	depends on I2C
2134	depends on OF
2135
2136config SND_SOC_SSM4567
2137	tristate "Analog Devices ssm4567 amplifier driver support"
2138	depends on I2C
2139
2140config SND_SOC_STA32X
2141	tristate "STA326, STA328 and STA329 speaker amplifier"
2142	depends on I2C
2143	select REGMAP_I2C
2144
2145config SND_SOC_STA350
2146	tristate "STA350 speaker amplifier"
2147	depends on I2C
2148
2149config SND_SOC_STA529
2150	tristate
2151	depends on I2C
2152
2153config SND_SOC_STAC9766
2154	tristate
2155	depends on SND_SOC_AC97_BUS
2156	select REGMAP_AC97
2157
2158config SND_SOC_STI_SAS
2159	tristate "codec Audio support for STI SAS codec"
2160
2161config SND_SOC_TAC5XX2_SDW
2162	tristate "Texas Instruments TAC5XX2 SoundWire Smart Amplifier"
2163	depends on SOUNDWIRE
2164	depends on SND_SOC_SDCA
2165	help
2166	  This option enables support for Texas Instruments TAC5XX2 family
2167	  of SoundWire Smart Amplifiers. This includes TAC5572, TAC5672,
2168	  TAC5682 and TAS2883. To compile this driver as a module, choose
2169	  M here: the module will be called snd-soc-tac5xx2.
2170
2171config SND_SOC_TAS2552
2172	tristate "Texas Instruments TAS2552 Mono Audio amplifier"
2173	depends on I2C
2174
2175config SND_SOC_TAS2562
2176	tristate "Texas Instruments TAS2562 Mono Audio amplifier"
2177	depends on I2C
2178
2179config SND_SOC_TAS2764
2180	tristate "Texas Instruments TAS2764 Mono Audio amplifier"
2181	depends on I2C
2182
2183config SND_SOC_TAS2770
2184	tristate "Texas Instruments TAS2770 speaker amplifier"
2185	depends on I2C
2186
2187config SND_SOC_TAS2780
2188	tristate "Texas Instruments TAS2780 Mono Audio amplifier"
2189	depends on I2C
2190	help
2191	  Enable support for Texas Instruments TAS2780 high-efficiency
2192	  digital input mono Class-D audio power amplifiers.
2193
2194config SND_SOC_TAS2781_COMLIB
2195	tristate
2196
2197config SND_SOC_TAS2781_COMLIB_I2C
2198	depends on I2C
2199	select CRC8
2200	select REGMAP_I2C
2201	tristate
2202
2203config SND_SOC_TAS2781_FMWLIB
2204	select SND_SOC_TAS2781_COMLIB
2205	select CRC8
2206	tristate
2207	default n
2208
2209config SND_SOC_TAS2781_I2C
2210	tristate "Texas Instruments TAS2781 speaker amplifier based on I2C"
2211	depends on I2C
2212	select SND_SOC_TAS2781_COMLIB_I2C
2213	select SND_SOC_TAS2781_FMWLIB
2214	help
2215	  Enable support for Texas Instruments TAS2781 Smart Amplifier
2216	  Digital input mono Class-D and DSP-inside audio power amplifiers.
2217	  Note the TAS2781 driver implements a flexible and configurable
2218	  algo coefficient setting, for one, two or even multiple TAS2781
2219	  chips.
2220
2221config SND_SOC_TAS2783_SDW
2222	tristate "Texas Instruments TAS2783 speaker amplifier (sdw)"
2223	depends on SOUNDWIRE
2224	depends on SND_SOC_SDCA
2225	depends on EFI
2226	select REGMAP_SOUNDWIRE
2227	select REGMAP_SOUNDWIRE_MBQ
2228	select CRC32
2229	help
2230	  Enable support for Texas Instruments TAS2783A Digital input
2231	  mono Class-D and DSP-inside audio power amplifiers. TAS2783
2232	  driver implements a flexible and configurable algorithm
2233	  cofficient setting, for one, two or multiple TAS2783 chips.
2234
2235config SND_SOC_TAS5086
2236	tristate "Texas Instruments TAS5086 speaker amplifier"
2237	depends on I2C
2238
2239config SND_SOC_TAS571X
2240	tristate "Texas Instruments TAS571x power amplifiers"
2241	depends on I2C
2242	help
2243	  Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
2244	  TAS5719 and TAS5721 power amplifiers
2245
2246config SND_SOC_TAS5720
2247	tristate "Texas Instruments TAS5720 Mono Audio amplifier"
2248	depends on I2C
2249	help
2250	  Enable support for Texas Instruments TAS5720L/M high-efficiency mono
2251	  Class-D audio power amplifiers.
2252
2253config SND_SOC_TAS5805M
2254	tristate "Texas Instruments TAS5805M speaker amplifier"
2255	depends on I2C
2256	help
2257	  Enable support for Texas Instruments TAS5805M Class-D
2258	  amplifiers. This is a speaker amplifier with an integrated
2259	  DSP. DSP configuration for each instance needs to be supplied
2260	  via a device-tree attribute.
2261
2262config SND_SOC_TAS6424
2263	tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
2264	depends on I2C
2265	help
2266	  Enable support for Texas Instruments TAS6424 high-efficiency
2267	  digital input quad-channel Class-D audio power amplifiers.
2268
2269config SND_SOC_TAS675X
2270	tristate "Texas Instruments TAS675x Quad-Channel Audio Amplifier"
2271	depends on I2C
2272	select REGMAP_I2C
2273	help
2274	  Enable support for Texas Instruments TAS675x quad-channel Class-D
2275	  audio power amplifiers (TAS6754, TAS67524). The devices support I2S
2276	  and TDM interfaces with real-time voltage and current sense feedback
2277	  via SDOUT, and provide DC/AC/real-time load diagnostics for speaker
2278	  monitoring.
2279
2280config SND_SOC_TDA7419
2281	tristate "ST TDA7419 audio processor"
2282	depends on I2C
2283	select REGMAP_I2C
2284
2285config SND_SOC_TFA9879
2286	tristate "NXP Semiconductors TFA9879 amplifier"
2287	depends on I2C
2288
2289config SND_SOC_TFA989X
2290	tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
2291	depends on I2C
2292	select REGMAP_I2C
2293	help
2294	  Enable support for NXP (now Goodix) TFA989X (TFA1 family) speaker
2295	  amplifiers, e.g. TFA9895.
2296	  Note that the driver currently bypasses the built-in "CoolFlux DSP"
2297	  and does not support (hardware) volume control.
2298
2299config SND_SOC_TLV320ADC3XXX
2300	tristate "Texas Instruments TLV320ADC3001/3101 audio ADC"
2301	depends on I2C
2302	depends on GPIOLIB
2303	help
2304	  Enable support for Texas Instruments TLV320ADC3001 and TLV320ADC3101
2305	  ADCs.
2306
2307config SND_SOC_TLV320AIC23
2308	tristate
2309
2310config SND_SOC_TLV320AIC23_I2C
2311	tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
2312	depends on I2C
2313	select SND_SOC_TLV320AIC23
2314
2315config SND_SOC_TLV320AIC23_SPI
2316	tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
2317	depends on SPI_MASTER
2318	select SND_SOC_TLV320AIC23
2319
2320config SND_SOC_TLV320AIC26
2321	tristate
2322	depends on SPI
2323
2324config SND_SOC_TLV320AIC31XX
2325	tristate "Texas Instruments TLV320AIC31xx CODECs"
2326	depends on I2C
2327	select REGMAP_I2C
2328
2329config SND_SOC_TLV320AIC32X4
2330	tristate
2331	depends on COMMON_CLK
2332
2333config SND_SOC_TLV320AIC32X4_I2C
2334	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
2335	depends on I2C
2336	depends on COMMON_CLK
2337	select SND_SOC_TLV320AIC32X4
2338
2339config SND_SOC_TLV320AIC32X4_SPI
2340	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
2341	depends on SPI_MASTER
2342	depends on COMMON_CLK
2343	select SND_SOC_TLV320AIC32X4
2344
2345config SND_SOC_TLV320AIC3X
2346	tristate
2347
2348config SND_SOC_TLV320AIC3X_I2C
2349	tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
2350	depends on I2C
2351	select SND_SOC_TLV320AIC3X
2352	select REGMAP_I2C
2353
2354config SND_SOC_TLV320AIC3X_SPI
2355	tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
2356	depends on SPI_MASTER
2357	select SND_SOC_TLV320AIC3X
2358	select REGMAP_SPI
2359
2360config SND_SOC_TLV320DAC33
2361	tristate
2362	depends on I2C
2363	depends on GPIOLIB_LEGACY
2364
2365config SND_SOC_TLV320ADCX140
2366	tristate "Texas Instruments TLV320ADCX140 CODEC family"
2367	depends on I2C
2368	select REGMAP_I2C
2369	help
2370	  Add support for Texas Instruments tlv320adc3140, tlv320adc5140 and
2371	  tlv320adc6140 quad channel ADCs.
2372
2373config SND_SOC_TS3A227E
2374	tristate "TI Headset/Mic detect and keypress chip"
2375	depends on I2C
2376
2377config SND_SOC_TSCS42XX
2378	tristate "Tempo Semiconductor TSCS42xx CODEC"
2379	depends on I2C
2380	select REGMAP_I2C
2381	help
2382	  Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
2383
2384config SND_SOC_TSCS454
2385	tristate "Tempo Semiconductor TSCS454 CODEC"
2386	depends on I2C
2387	select REGMAP_I2C
2388	help
2389	  Add support for Tempo Semiconductor's TSCS454 audio CODEC.
2390
2391config SND_SOC_TWL4030
2392	tristate
2393	depends on TWL4030_CORE
2394	select MFD_TWL4030_AUDIO
2395
2396config SND_SOC_TWL6040
2397	tristate
2398	depends on TWL6040_CORE
2399
2400config SND_SOC_UDA1334
2401	tristate "NXP UDA1334 DAC"
2402	depends on GPIOLIB
2403	help
2404	  The UDA1334 is an NXP audio codec, supports the I2S-bus data format
2405	  and has basic features such as de-emphasis (at 44.1 kHz sampling
2406	  rate) and mute.
2407
2408config SND_SOC_UDA1342
2409	tristate "NXP UDA1342 CODEC"
2410	depends on I2C
2411	help
2412	  The UDA1342 is an NXP audio codec, support 2x Stereo audio ADC (4x PGA
2413	  mic inputs), stereo audio DAC, with basic audio processing.
2414
2415config SND_SOC_UDA1380
2416	tristate "Philips UDA1380 CODEC"
2417	depends on I2C
2418	help
2419	  The UDA1380 codec is used in the HTC Magician and on a number of
2420	  Samsung reference boards, as well as the LPC32xx series.
2421
2422config SND_SOC_WCD_CLASSH
2423	tristate
2424
2425config SND_SOC_WCD_COMMON
2426	tristate
2427
2428config SND_SOC_WCD9335
2429	tristate "WCD9335 Codec"
2430	depends on SLIMBUS
2431	select REGMAP_SLIMBUS
2432	select REGMAP_IRQ
2433	select SND_SOC_WCD_CLASSH
2434	help
2435	  The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
2436	  Qualcomm Technologies, Inc. (QTI) multimedia solutions,
2437	  including the MSM8996, MSM8976, and MSM8956 chipsets.
2438
2439config SND_SOC_WCD_MBHC
2440	tristate
2441
2442config SND_SOC_WCD934X
2443	tristate "WCD9340/WCD9341 Codec"
2444	depends on COMMON_CLK
2445	depends on SLIMBUS
2446	depends on SOUNDWIRE || !SOUNDWIRE
2447	select REGMAP_IRQ
2448	select REGMAP_SLIMBUS
2449	select SND_SOC_WCD_CLASSH
2450	select SND_SOC_WCD_COMMON
2451	select SND_SOC_WCD_MBHC
2452	depends on MFD_WCD934X || COMPILE_TEST
2453	help
2454	  The WCD9340/9341 is a audio codec IC Integrated in
2455	  Qualcomm SoCs like SDM845.
2456
2457config SND_SOC_WCD937X
2458	depends on SND_SOC_WCD937X_SDW
2459	tristate
2460	depends on SOUNDWIRE || !SOUNDWIRE
2461	select SND_SOC_WCD_CLASSH
2462	select SND_SOC_WCD_COMMON
2463
2464config SND_SOC_WCD937X_SDW
2465	tristate "WCD9370/WCD9375 Codec - SDW"
2466	select SND_SOC_WCD937X
2467	select SND_SOC_WCD_MBHC
2468	select REGMAP_IRQ
2469	depends on SOUNDWIRE
2470	select REGMAP_SOUNDWIRE
2471	help
2472	  The WCD9370/9375 is an audio codec IC used with SoCs
2473	  like SC7280 or QCM6490 chipsets, and it connected
2474	  via soundwire.
2475	  To compile this codec driver say Y or m.
2476
2477config SND_SOC_WCD938X
2478	depends on SND_SOC_WCD938X_SDW
2479	tristate
2480	depends on SOUNDWIRE || !SOUNDWIRE
2481	select SND_SOC_WCD_CLASSH
2482	select SND_SOC_WCD_COMMON
2483	select MULTIPLEXER
2484
2485config SND_SOC_WCD938X_SDW
2486	tristate "WCD9380/WCD9385 Codec - SDW"
2487	select SND_SOC_WCD938X
2488	select SND_SOC_WCD_MBHC
2489	select REGMAP_IRQ
2490	depends on SOUNDWIRE
2491	select REGMAP_SOUNDWIRE
2492	help
2493	  The WCD9380/9385 is a audio codec IC Integrated in
2494	  Qualcomm SoCs like SM8250.
2495
2496config SND_SOC_WCD939X
2497	depends on SND_SOC_WCD939X_SDW
2498	tristate
2499	depends on SOUNDWIRE || !SOUNDWIRE
2500	depends on TYPEC || !TYPEC
2501	select SND_SOC_WCD_CLASSH
2502	select SND_SOC_WCD_COMMON
2503
2504config SND_SOC_WCD939X_SDW
2505	tristate "WCD9390/WCD9395 Codec - SDW"
2506	depends on TYPEC || !TYPEC
2507	select SND_SOC_WCD939X
2508	select SND_SOC_WCD_MBHC
2509	select REGMAP_IRQ
2510	depends on SOUNDWIRE
2511	select REGMAP_SOUNDWIRE
2512	help
2513	  The WCD9390/9395 is a audio codec IC Integrated in
2514	  Qualcomm SoCs like SM8650.
2515
2516config SND_SOC_WM0010
2517	tristate
2518	depends on SPI_MASTER
2519
2520config SND_SOC_WM1250_EV1
2521	tristate
2522	depends on I2C
2523
2524config SND_SOC_WM2000
2525	tristate
2526	depends on I2C
2527
2528config SND_SOC_WM2200
2529	tristate
2530	depends on I2C
2531	select SND_SOC_WM_ADSP
2532
2533config SND_SOC_WM5100
2534	tristate
2535	depends on I2C
2536
2537config SND_SOC_WM5102
2538	tristate
2539	depends on MFD_WM5102 && MFD_ARIZONA
2540	select SND_SOC_WM_ADSP
2541
2542config SND_SOC_WM5110
2543	tristate
2544	depends on MFD_WM5110 && MFD_ARIZONA
2545	select SND_SOC_WM_ADSP
2546
2547config SND_SOC_WM8350
2548	tristate
2549	depends on MFD_WM8350
2550
2551config SND_SOC_WM8400
2552	tristate
2553	# FIXME nothing selects SND_SOC_WM8400??
2554	depends on MFD_WM8400
2555
2556config SND_SOC_WM8510
2557	tristate "Wolfson Microelectronics WM8510 CODEC"
2558	depends on SND_SOC_I2C_AND_SPI
2559
2560config SND_SOC_WM8523
2561	tristate "Wolfson Microelectronics WM8523 DAC"
2562	depends on I2C
2563
2564config SND_SOC_WM8524
2565	tristate "Wolfson Microelectronics WM8524 DAC"
2566	depends on GPIOLIB
2567
2568config SND_SOC_WM8580
2569	tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
2570	depends on I2C
2571
2572config SND_SOC_WM8711
2573	tristate "Wolfson Microelectronics WM8711 CODEC"
2574	depends on SND_SOC_I2C_AND_SPI
2575
2576config SND_SOC_WM8727
2577	tristate
2578
2579config SND_SOC_WM8728
2580	tristate "Wolfson Microelectronics WM8728 DAC"
2581	depends on SND_SOC_I2C_AND_SPI
2582
2583config SND_SOC_WM8731
2584	tristate
2585
2586config SND_SOC_WM8731_I2C
2587	tristate "Wolfson Microelectronics WM8731 CODEC with I2C"
2588	depends on I2C
2589	select REGMAP
2590	select SND_SOC_WM8731
2591
2592config SND_SOC_WM8731_SPI
2593	tristate "Wolfson Microelectronics WM8731 CODEC with SPI"
2594	depends on SPI
2595	select REGMAP
2596	select SND_SOC_WM8731
2597
2598config SND_SOC_WM8737
2599	tristate "Wolfson Microelectronics WM8737 ADC"
2600	depends on SND_SOC_I2C_AND_SPI
2601
2602config SND_SOC_WM8741
2603	tristate "Wolfson Microelectronics WM8741 DAC"
2604	depends on SND_SOC_I2C_AND_SPI
2605
2606config SND_SOC_WM8750
2607	tristate "Wolfson Microelectronics WM8750 CODEC"
2608	depends on SND_SOC_I2C_AND_SPI
2609
2610config SND_SOC_WM8753
2611	tristate "Wolfson Microelectronics WM8753 CODEC"
2612	depends on SND_SOC_I2C_AND_SPI
2613
2614config SND_SOC_WM8770
2615	tristate "Wolfson Microelectronics WM8770 CODEC"
2616	depends on SPI_MASTER
2617
2618config SND_SOC_WM8776
2619	tristate "Wolfson Microelectronics WM8776 CODEC"
2620	depends on SND_SOC_I2C_AND_SPI
2621
2622config SND_SOC_WM8782
2623	tristate "Wolfson Microelectronics WM8782 ADC"
2624
2625config SND_SOC_WM8804
2626	tristate
2627
2628config SND_SOC_WM8804_I2C
2629	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
2630	depends on I2C
2631	select SND_SOC_WM8804
2632	select REGMAP_I2C
2633
2634config SND_SOC_WM8804_SPI
2635	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
2636	depends on SPI_MASTER
2637	select SND_SOC_WM8804
2638	select REGMAP_SPI
2639
2640config SND_SOC_WM8900
2641	tristate
2642	depends on SND_SOC_I2C_AND_SPI
2643
2644config SND_SOC_WM8903
2645	tristate "Wolfson Microelectronics WM8903 CODEC"
2646	depends on I2C
2647
2648config SND_SOC_WM8904
2649	tristate "Wolfson Microelectronics WM8904 CODEC"
2650	depends on I2C
2651
2652config SND_SOC_WM8940
2653	tristate "Wolfson Microelectronics WM8940 codec"
2654	depends on I2C
2655
2656config SND_SOC_WM8955
2657	tristate
2658	depends on I2C
2659
2660config SND_SOC_WM8960
2661	tristate "Wolfson Microelectronics WM8960 CODEC"
2662	depends on I2C
2663
2664config SND_SOC_WM8961
2665	tristate "Wolfson Microelectronics WM8961 CODEC"
2666	depends on I2C
2667
2668config SND_SOC_WM8962
2669	tristate "Wolfson Microelectronics WM8962 CODEC"
2670	depends on I2C && INPUT
2671
2672config SND_SOC_WM8971
2673	tristate
2674	depends on I2C
2675
2676config SND_SOC_WM8974
2677	tristate "Wolfson Microelectronics WM8974 codec"
2678	depends on I2C
2679
2680config SND_SOC_WM8978
2681	tristate "Wolfson Microelectronics WM8978 codec"
2682	depends on I2C
2683
2684config SND_SOC_WM8983
2685	tristate
2686	depends on SND_SOC_I2C_AND_SPI
2687
2688config SND_SOC_WM8985
2689	tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
2690	depends on SND_SOC_I2C_AND_SPI
2691
2692config SND_SOC_WM8988
2693	tristate
2694	depends on SND_SOC_I2C_AND_SPI
2695
2696config SND_SOC_WM8990
2697	tristate
2698	depends on I2C
2699
2700config SND_SOC_WM8991
2701	tristate
2702	depends on I2C
2703
2704config SND_SOC_WM8993
2705	tristate
2706	depends on I2C
2707
2708config SND_SOC_WM8994
2709	tristate
2710	depends on MFD_WM8994
2711
2712config SND_SOC_WM8995
2713	tristate
2714	depends on SND_SOC_I2C_AND_SPI
2715
2716config SND_SOC_WM8996
2717	tristate
2718	depends on I2C
2719
2720config SND_SOC_WM8997
2721	tristate
2722	depends on MFD_WM8997 && MFD_ARIZONA
2723
2724config SND_SOC_WM8998
2725	tristate "Wolfson Microelectronics WM8998 codec driver"
2726	depends on MFD_WM8998 && MFD_ARIZONA
2727
2728config SND_SOC_WM9081
2729	tristate
2730	depends on I2C
2731
2732config SND_SOC_WM9090
2733	tristate
2734	depends on I2C
2735
2736config SND_SOC_WM9705
2737	tristate
2738	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2739	select REGMAP_AC97
2740	select AC97_BUS_COMPAT if AC97_BUS_NEW
2741
2742config SND_SOC_WM9712
2743	tristate
2744	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2745	select REGMAP_AC97
2746	select AC97_BUS_COMPAT if AC97_BUS_NEW
2747
2748config SND_SOC_WM9713
2749	tristate
2750	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2751	select REGMAP_AC97
2752	select AC97_BUS_COMPAT if AC97_BUS_NEW
2753
2754config SND_SOC_WSA881X
2755	tristate "WSA881X Codec"
2756	depends on SOUNDWIRE
2757	select REGMAP_SOUNDWIRE
2758	help
2759	  This enables support for Qualcomm WSA8810/WSA8815 Class-D
2760	  Smart Speaker Amplifier.
2761
2762config SND_SOC_WSA883X
2763	tristate "WSA883X Codec"
2764	depends on SOUNDWIRE
2765	select REGMAP_SOUNDWIRE
2766	help
2767	  This enables support for Qualcomm WSA8830/WSA8835 Class-D
2768	  Smart Speaker Amplifier.
2769
2770config SND_SOC_WSA884X
2771	tristate "WSA884X Codec"
2772	depends on SOUNDWIRE
2773	select REGMAP_SOUNDWIRE
2774	help
2775	  This enables support for Qualcomm WSA8840/WSA8845/WSA8845H Class-D
2776	  Smart Speaker Amplifier.
2777
2778config SND_SOC_ZL38060
2779	tristate "Microsemi ZL38060 Connected Home Audio Processor"
2780	depends on SPI_MASTER
2781	depends on GPIOLIB
2782	select REGMAP
2783	help
2784	  Support for ZL38060 Connected Home Audio Processor from Microsemi,
2785	  which consists of a Digital Signal Processor (DSP), several Digital
2786	  Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
2787
2788# Amp
2789config SND_SOC_LM4857
2790	tristate
2791	depends on I2C
2792
2793config SND_SOC_MAX9759
2794	tristate "Maxim MAX9759 speaker Amplifier"
2795	depends on GPIOLIB
2796
2797config SND_SOC_MAX9768
2798	tristate
2799	depends on I2C
2800
2801config SND_SOC_MAX9877
2802	tristate
2803	depends on I2C
2804
2805config SND_SOC_MC13783
2806	tristate
2807	depends on MFD_MC13XXX
2808
2809config SND_SOC_ML26124
2810	tristate
2811	depends on I2C
2812
2813config SND_SOC_MT6351
2814	tristate "MediaTek MT6351 Codec"
2815
2816config SND_SOC_MT6357
2817	tristate "MediaTek MT6357 Codec"
2818	help
2819	  Enable support for the platform which uses MT6357 as
2820	  external codec device.
2821
2822config SND_SOC_MT6358
2823	tristate "MediaTek MT6358 Codec"
2824	help
2825	  Enable support for the platform which uses MT6358 as
2826	  external codec device.
2827
2828config SND_SOC_MT6359
2829	tristate "MediaTek MT6359 Codec"
2830	depends on MTK_PMIC_WRAP
2831	help
2832	  Enable support for the platform which uses MT6359 as
2833	  external codec device.
2834
2835config SND_SOC_MT6359_ACCDET
2836	tristate "MediaTek MT6359 ACCDET driver"
2837	depends on MTK_PMIC_WRAP
2838	help
2839	  ACCDET means Accessory Detection technology, MediaTek develop it
2840	  for ASoC codec soc-jack detection mechanism.
2841	  Select N if you don't have jack on board.
2842
2843config SND_SOC_MT6660
2844	tristate "Mediatek MT6660 Speaker Amplifier"
2845	depends on I2C
2846	help
2847	  MediaTek MT6660 is a smart power amplifier which contain
2848	  speaker protection, multi-band DRC, equalizer functions.
2849	  Select N if you don't have MT6660 on board.
2850	  Select M to build this as module.
2851
2852config SND_SOC_NAU8315
2853	tristate "Nuvoton Technology Corporation NAU8315 CODEC"
2854
2855config SND_SOC_NAU8325
2856	tristate "Nuvoton Technology Corporation NAU8325 CODEC"
2857	depends on I2C
2858
2859config SND_SOC_NAU8540
2860	tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
2861	depends on I2C
2862
2863config SND_SOC_NAU8810
2864	tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
2865	depends on I2C
2866
2867config SND_SOC_NAU8821
2868	tristate "Nuvoton Technology Corporation NAU88L21 CODEC"
2869	depends on I2C
2870
2871config SND_SOC_NAU8822
2872	tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
2873	depends on I2C
2874
2875config SND_SOC_NAU8824
2876	tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
2877	depends on I2C
2878
2879config SND_SOC_NAU8825
2880	tristate
2881	depends on I2C
2882
2883config SND_SOC_NTPFW
2884	tristate
2885
2886config SND_SOC_NTP8918
2887	select SND_SOC_NTPFW
2888	tristate "NeoFidelity NTP8918 amplifier"
2889	depends on I2C
2890
2891config SND_SOC_NTP8835
2892	select SND_SOC_NTPFW
2893	tristate "NeoFidelity NTP8835 and NTP8835C amplifiers"
2894	depends on I2C
2895
2896config SND_SOC_TPA6130A2
2897	tristate "Texas Instruments TPA6130A2 headphone amplifier"
2898	depends on I2C
2899
2900config SND_SOC_LPASS_MACRO_COMMON
2901	tristate
2902
2903config SND_SOC_LPASS_WSA_MACRO
2904	depends on COMMON_CLK
2905	depends on PM_CLK
2906	select REGMAP_MMIO
2907	select SND_SOC_LPASS_MACRO_COMMON
2908	tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
2909
2910config SND_SOC_LPASS_VA_MACRO
2911	depends on COMMON_CLK
2912	depends on PM_CLK
2913	select REGMAP_MMIO
2914	select SND_SOC_LPASS_MACRO_COMMON
2915	tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
2916
2917config SND_SOC_LPASS_RX_MACRO
2918	depends on COMMON_CLK
2919	depends on PM_CLK
2920	select REGMAP_MMIO
2921	select SND_SOC_LPASS_MACRO_COMMON
2922	tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
2923
2924config SND_SOC_LPASS_TX_MACRO
2925	depends on COMMON_CLK
2926	depends on PM_CLK
2927	select REGMAP_MMIO
2928	select SND_SOC_LPASS_MACRO_COMMON
2929	tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
2930
2931endmenu
2932