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