xref: /openbmc/linux/sound/soc/codecs/Kconfig (revision 6fffb01e)
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_L3
19	imply SND_SOC_AB8500_CODEC
20	imply SND_SOC_AC97_CODEC
21	imply SND_SOC_AD1836
22	imply SND_SOC_AD193X_SPI
23	imply SND_SOC_AD193X_I2C
24	imply SND_SOC_AD1980
25	imply SND_SOC_AD73311
26	imply SND_SOC_ADAU1372_I2C
27	imply SND_SOC_ADAU1372_SPI
28	imply SND_SOC_ADAU1373
29	imply SND_SOC_ADAU1761_I2C
30	imply SND_SOC_ADAU1761_SPI
31	imply SND_SOC_ADAU1781_I2C
32	imply SND_SOC_ADAU1781_SPI
33	imply SND_SOC_ADAV801
34	imply SND_SOC_ADAV803
35	imply SND_SOC_ADAU1977_SPI
36	imply SND_SOC_ADAU1977_I2C
37	imply SND_SOC_ADAU1701
38	imply SND_SOC_ADAU7002
39	imply SND_SOC_ADAU7118_I2C
40	imply SND_SOC_ADAU7118_HW
41	imply SND_SOC_ADS117X
42	imply SND_SOC_AK4104
43	imply SND_SOC_AK4118
44	imply SND_SOC_AK4458
45	imply SND_SOC_AK4535
46	imply SND_SOC_AK4554
47	imply SND_SOC_AK4613
48	imply SND_SOC_AK4641
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_BT_SCO
56	imply SND_SOC_BD28623
57	imply SND_SOC_CQ0093VC
58	imply SND_SOC_CROS_EC_CODEC
59	imply SND_SOC_CS35L32
60	imply SND_SOC_CS35L33
61	imply SND_SOC_CS35L34
62	imply SND_SOC_CS35L35
63	imply SND_SOC_CS35L36
64	imply SND_SOC_CS35L41_SPI
65	imply SND_SOC_CS35L41_I2C
66	imply SND_SOC_CS42L42
67	imply SND_SOC_CS42L51_I2C
68	imply SND_SOC_CS42L52
69	imply SND_SOC_CS42L56
70	imply SND_SOC_CS42L73
71	imply SND_SOC_CS4234
72	imply SND_SOC_CS4265
73	imply SND_SOC_CS4270
74	imply SND_SOC_CS4271_I2C
75	imply SND_SOC_CS4271_SPI
76	imply SND_SOC_CS42XX8_I2C
77	imply SND_SOC_CS43130
78	imply SND_SOC_CS4341
79	imply SND_SOC_CS4349
80	imply SND_SOC_CS47L15
81	imply SND_SOC_CS47L24
82	imply SND_SOC_CS47L35
83	imply SND_SOC_CS47L85
84	imply SND_SOC_CS47L90
85	imply SND_SOC_CS47L92
86	imply SND_SOC_CS53L30
87	imply SND_SOC_CX20442
88	imply SND_SOC_CX2072X
89	imply SND_SOC_DA7210
90	imply SND_SOC_DA7213
91	imply SND_SOC_DA7218
92	imply SND_SOC_DA7219
93	imply SND_SOC_DA732X
94	imply SND_SOC_DA9055
95	imply SND_SOC_DMIC
96	imply SND_SOC_ES8316
97	imply SND_SOC_ES8328_SPI
98	imply SND_SOC_ES8328_I2C
99	imply SND_SOC_ES7134
100	imply SND_SOC_ES7241
101	imply SND_SOC_GTM601
102	imply SND_SOC_HDAC_HDMI
103	imply SND_SOC_HDAC_HDA
104	imply SND_SOC_ICS43432
105	imply SND_SOC_INNO_RK3036
106	imply SND_SOC_ISABELLE
107	imply SND_SOC_JZ4740_CODEC
108	imply SND_SOC_JZ4725B_CODEC
109	imply SND_SOC_JZ4760_CODEC
110	imply SND_SOC_JZ4770_CODEC
111	imply SND_SOC_LM4857
112	imply SND_SOC_LM49453
113	imply SND_SOC_LOCHNAGAR_SC
114	imply SND_SOC_MAX98088
115	imply SND_SOC_MAX98090
116	imply SND_SOC_MAX98095
117	imply SND_SOC_MAX98357A
118	imply SND_SOC_MAX98371
119	imply SND_SOC_MAX98504
120	imply SND_SOC_MAX98520
121	imply SND_SOC_MAX9867
122	imply SND_SOC_MAX98925
123	imply SND_SOC_MAX98926
124	imply SND_SOC_MAX98927
125	imply SND_SOC_MAX98373_I2C
126	imply SND_SOC_MAX98373_SDW
127	imply SND_SOC_MAX98390
128	imply SND_SOC_MAX9850
129	imply SND_SOC_MAX9860
130	imply SND_SOC_MAX9759
131	imply SND_SOC_MAX9768
132	imply SND_SOC_MAX9877
133	imply SND_SOC_MC13783
134	imply SND_SOC_ML26124
135	imply SND_SOC_MT6351
136	imply SND_SOC_MT6358
137	imply SND_SOC_MT6359
138	imply SND_SOC_MT6660
139	imply SND_SOC_NAU8315
140	imply SND_SOC_NAU8540
141	imply SND_SOC_NAU8810
142	imply SND_SOC_NAU8821
143	imply SND_SOC_NAU8822
144	imply SND_SOC_NAU8824
145	imply SND_SOC_NAU8825
146	imply SND_SOC_HDMI_CODEC
147	imply SND_SOC_PCM1681
148	imply SND_SOC_PCM1789_I2C
149	imply SND_SOC_PCM179X_I2C
150	imply SND_SOC_PCM179X_SPI
151	imply SND_SOC_PCM186X_I2C
152	imply SND_SOC_PCM186X_SPI
153	imply SND_SOC_PCM3008
154	imply SND_SOC_PCM3060_I2C
155	imply SND_SOC_PCM3060_SPI
156	imply SND_SOC_PCM3168A_I2C
157	imply SND_SOC_PCM3168A_SPI
158	imply SND_SOC_PCM5102A
159	imply SND_SOC_PCM512x_I2C
160	imply SND_SOC_PCM512x_SPI
161	imply SND_SOC_RK3328
162	imply SND_SOC_RK817
163	imply SND_SOC_RT274
164	imply SND_SOC_RT286
165	imply SND_SOC_RT298
166	imply SND_SOC_RT1011
167	imply SND_SOC_RT1015
168	imply SND_SOC_RT1015P
169	imply SND_SOC_RT1019
170	imply SND_SOC_RT1305
171	imply SND_SOC_RT1308
172	imply SND_SOC_RT5514
173	imply SND_SOC_RT5616
174	imply SND_SOC_RT5631
175	imply SND_SOC_RT5640
176	imply SND_SOC_RT5645
177	imply SND_SOC_RT5651
178	imply SND_SOC_RT5659
179	imply SND_SOC_RT5660
180	imply SND_SOC_RT5663
181	imply SND_SOC_RT5665
182	imply SND_SOC_RT5668
183	imply SND_SOC_RT5670
184	imply SND_SOC_RT5677
185	imply SND_SOC_RT5682_I2C
186	imply SND_SOC_RT5682_SDW
187	imply SND_SOC_RT5682S
188	imply SND_SOC_RT700_SDW
189	imply SND_SOC_RT711_SDW
190	imply SND_SOC_RT711_SDCA_SDW
191	imply SND_SOC_RT715_SDW
192	imply SND_SOC_RT715_SDCA_SDW
193	imply SND_SOC_RT1308_SDW
194	imply SND_SOC_RT1316_SDW
195	imply SND_SOC_RT9120
196	imply SND_SOC_SDW_MOCKUP
197	imply SND_SOC_SGTL5000
198	imply SND_SOC_SI476X
199	imply SND_SOC_SIMPLE_AMPLIFIER
200	imply SND_SOC_SIMPLE_MUX
201	imply SND_SOC_SPDIF
202	imply SND_SOC_SSM2305
203	imply SND_SOC_SSM2518
204	imply SND_SOC_SSM2602_SPI
205	imply SND_SOC_SSM2602_I2C
206	imply SND_SOC_SSM4567
207	imply SND_SOC_STA32X
208	imply SND_SOC_STA350
209	imply SND_SOC_STA529
210	imply SND_SOC_STAC9766
211	imply SND_SOC_STI_SAS
212	imply SND_SOC_TAS2552
213	imply SND_SOC_TAS2562
214	imply SND_SOC_TAS2764
215	imply SND_SOC_TAS2770
216	imply SND_SOC_TAS5086
217	imply SND_SOC_TAS571X
218	imply SND_SOC_TAS5720
219	imply SND_SOC_TAS6424
220	imply SND_SOC_TDA7419
221	imply SND_SOC_TFA9879
222	imply SND_SOC_TFA989X
223	imply SND_SOC_TLV320ADCX140
224	imply SND_SOC_TLV320AIC23_I2C
225	imply SND_SOC_TLV320AIC23_SPI
226	imply SND_SOC_TLV320AIC26
227	imply SND_SOC_TLV320AIC31XX
228	imply SND_SOC_TLV320AIC32X4_I2C
229	imply SND_SOC_TLV320AIC32X4_SPI
230	imply SND_SOC_TLV320AIC3X_I2C
231	imply SND_SOC_TLV320AIC3X_SPI
232	imply SND_SOC_TPA6130A2
233	imply SND_SOC_TLV320DAC33
234	imply SND_SOC_TSCS42XX
235	imply SND_SOC_TSCS454
236	imply SND_SOC_TS3A227E
237	imply SND_SOC_TWL4030
238	imply SND_SOC_TWL6040
239	imply SND_SOC_UDA1334
240	imply SND_SOC_UDA134X
241	imply SND_SOC_UDA1380
242	imply SND_SOC_WCD9335
243	imply SND_SOC_WCD934X
244	imply SND_SOC_WCD937X
245	imply SND_SOC_WCD938X
246	imply SND_SOC_LPASS_RX_MACRO
247	imply SND_SOC_LPASS_TX_MACRO
248	imply SND_SOC_WL1273
249	imply SND_SOC_WM0010
250	imply SND_SOC_WM1250_EV1
251	imply SND_SOC_WM2000
252	imply SND_SOC_WM2200
253	imply SND_SOC_WM5100
254	imply SND_SOC_WM5102
255	imply SND_SOC_WM5110
256	imply SND_SOC_WM8350
257	imply SND_SOC_WM8400
258	imply SND_SOC_WM8510
259	imply SND_SOC_WM8523
260	imply SND_SOC_WM8524
261	imply SND_SOC_WM8580
262	imply SND_SOC_WM8711
263	imply SND_SOC_WM8727
264	imply SND_SOC_WM8728
265	imply SND_SOC_WM8731
266	imply SND_SOC_WM8737
267	imply SND_SOC_WM8741
268	imply SND_SOC_WM8750
269	imply SND_SOC_WM8753
270	imply SND_SOC_WM8770
271	imply SND_SOC_WM8776
272	imply SND_SOC_WM8782
273	imply SND_SOC_WM8804_I2C
274	imply SND_SOC_WM8804_SPI
275	imply SND_SOC_WM8900
276	imply SND_SOC_WM8903
277	imply SND_SOC_WM8904
278	imply SND_SOC_WM8940
279	imply SND_SOC_WM8955
280	imply SND_SOC_WM8960
281	imply SND_SOC_WM8961
282	imply SND_SOC_WM8962
283	imply SND_SOC_WM8971
284	imply SND_SOC_WM8974
285	imply SND_SOC_WM8978
286	imply SND_SOC_WM8983
287	imply SND_SOC_WM8985
288	imply SND_SOC_WM8988
289	imply SND_SOC_WM8990
290	imply SND_SOC_WM8991
291	imply SND_SOC_WM8993
292	imply SND_SOC_WM8994
293	imply SND_SOC_WM8995
294	imply SND_SOC_WM8996
295	imply SND_SOC_WM8997
296	imply SND_SOC_WM8998
297	imply SND_SOC_WM9081
298	imply SND_SOC_WM9090
299	imply SND_SOC_WM9705
300	imply SND_SOC_WM9712
301	imply SND_SOC_WM9713
302	imply SND_SOC_WSA881X
303	imply SND_SOC_ZL38060
304	help
305	  Normally ASoC codec drivers are only built if a machine driver which
306	  uses them is also built since they are only usable with a machine
307	  driver.  Selecting this option will allow these drivers to be built
308	  without an explicit machine driver for test and development purposes.
309
310	  Support for the bus types used to access the codecs to be built must
311	  be selected separately.
312
313	  If unsure select "N".
314
315config SND_SOC_88PM860X
316	tristate
317	depends on MFD_88PM860X
318
319config SND_SOC_ARIZONA
320	tristate
321	default y if SND_SOC_CS47L24=y
322	default y if SND_SOC_WM5102=y
323	default y if SND_SOC_WM5110=y
324	default y if SND_SOC_WM8997=y
325	default y if SND_SOC_WM8998=y
326	default m if SND_SOC_CS47L24=m
327	default m if SND_SOC_WM5102=m
328	default m if SND_SOC_WM5110=m
329	default m if SND_SOC_WM8997=m
330	default m if SND_SOC_WM8998=m
331
332config SND_SOC_WM_HUBS
333	tristate
334	default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
335	default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
336
337config SND_SOC_WM_ADSP
338	tristate
339	select CS_DSP
340	select SND_SOC_COMPRESS
341	default y if SND_SOC_MADERA=y
342	default y if SND_SOC_CS47L24=y
343	default y if SND_SOC_WM5102=y
344	default y if SND_SOC_WM5110=y
345	default y if SND_SOC_WM2200=y
346	default m if SND_SOC_MADERA=m
347	default m if SND_SOC_CS47L24=m
348	default m if SND_SOC_WM5102=m
349	default m if SND_SOC_WM5110=m
350	default m if SND_SOC_WM2200=m
351
352config SND_SOC_AB8500_CODEC
353	tristate
354	depends on ABX500_CORE
355
356config SND_SOC_AC97_CODEC
357	tristate "Build generic ASoC AC97 CODEC driver"
358	select SND_AC97_CODEC
359	select SND_SOC_AC97_BUS
360
361config SND_SOC_AD1836
362	tristate
363	depends on SPI_MASTER
364
365config SND_SOC_AD193X
366	tristate
367
368config SND_SOC_AD193X_SPI
369	tristate
370	depends on SPI_MASTER
371	select SND_SOC_AD193X
372
373config SND_SOC_AD193X_I2C
374	tristate
375	depends on I2C
376	select SND_SOC_AD193X
377
378config SND_SOC_AD1980
379	tristate
380	depends on SND_SOC_AC97_BUS
381	select REGMAP_AC97
382
383config SND_SOC_AD73311
384	tristate
385
386config SND_SOC_ADAU_UTILS
387	tristate
388
389config SND_SOC_ADAU1372
390	tristate
391	select SND_SOC_ADAU_UTILS
392
393config SND_SOC_ADAU1372_I2C
394	tristate "Analog Devices ADAU1372 CODEC (I2C)"
395	depends on I2C
396	select SND_SOC_ADAU1372
397	select REGMAP_I2C
398
399config SND_SOC_ADAU1372_SPI
400	tristate "Analog Devices ADAU1372 CODEC (SPI)"
401	depends on SPI
402	select SND_SOC_ADAU1372
403	select REGMAP_SPI
404
405config SND_SOC_ADAU1373
406	tristate
407	depends on I2C
408	select SND_SOC_ADAU_UTILS
409
410config SND_SOC_ADAU1701
411	tristate "Analog Devices ADAU1701 CODEC"
412	depends on I2C
413	select SND_SOC_SIGMADSP_I2C
414
415config SND_SOC_ADAU17X1
416	tristate
417	select SND_SOC_SIGMADSP_REGMAP
418	select SND_SOC_ADAU_UTILS
419
420config SND_SOC_ADAU1761
421	tristate
422	select SND_SOC_ADAU17X1
423
424config SND_SOC_ADAU1761_I2C
425	tristate "Analog Devices AU1761 CODEC - I2C"
426	depends on I2C
427	select SND_SOC_ADAU1761
428	select REGMAP_I2C
429
430config SND_SOC_ADAU1761_SPI
431	tristate "Analog Devices AU1761 CODEC - SPI"
432	depends on SPI
433	select SND_SOC_ADAU1761
434	select REGMAP_SPI
435
436config SND_SOC_ADAU1781
437	select SND_SOC_ADAU17X1
438	tristate
439
440config SND_SOC_ADAU1781_I2C
441	tristate
442	depends on I2C
443	select SND_SOC_ADAU1781
444	select REGMAP_I2C
445
446config SND_SOC_ADAU1781_SPI
447	tristate
448	depends on SPI_MASTER
449	select SND_SOC_ADAU1781
450	select REGMAP_SPI
451
452config SND_SOC_ADAU1977
453	tristate
454
455config SND_SOC_ADAU1977_SPI
456	tristate
457	depends on SPI_MASTER
458	select SND_SOC_ADAU1977
459	select REGMAP_SPI
460
461config SND_SOC_ADAU1977_I2C
462	tristate
463	depends on I2C
464	select SND_SOC_ADAU1977
465	select REGMAP_I2C
466
467config SND_SOC_ADAU7002
468	tristate "Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter"
469
470config SND_SOC_ADAU7118
471	tristate
472
473config SND_SOC_ADAU7118_HW
474	tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - HW Mode"
475	select SND_SOC_ADAU7118
476	help
477	  Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
478	  Converter. In this mode, the device works in standalone mode which
479	  means that there is no bus to communicate with it. Stereo mode is not
480	  supported in this mode.
481
482	  To compile this driver as a module, choose M here: the module
483	  will be called snd-soc-adau7118-hw.
484
485config SND_SOC_ADAU7118_I2C
486	tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - I2C"
487	depends on I2C
488	select SND_SOC_ADAU7118
489	select REGMAP_I2C
490	help
491	  Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
492	  Converter over I2C. This gives full support over the device.
493
494	  To compile this driver as a module, choose M here: the module
495	  will be called snd-soc-adau7118-i2c.
496
497config SND_SOC_ADAV80X
498	tristate
499
500config SND_SOC_ADAV801
501	tristate
502	depends on SPI_MASTER
503	select SND_SOC_ADAV80X
504
505config SND_SOC_ADAV803
506	tristate
507	depends on I2C
508	select SND_SOC_ADAV80X
509
510config SND_SOC_ADS117X
511	tristate
512
513config SND_SOC_AK4104
514	tristate "AKM AK4104 CODEC"
515	depends on SPI_MASTER
516
517config SND_SOC_AK4118
518	tristate "AKM AK4118 CODEC"
519	depends on I2C
520	select REGMAP_I2C
521
522config SND_SOC_AK4458
523	tristate "AKM AK4458 CODEC"
524	depends on I2C
525	select REGMAP_I2C
526
527config SND_SOC_AK4535
528	tristate
529	depends on I2C
530
531config SND_SOC_AK4554
532	tristate "AKM AK4554 CODEC"
533
534config SND_SOC_AK4613
535	tristate "AKM AK4613 CODEC"
536	depends on I2C
537
538config SND_SOC_AK4641
539	tristate
540	depends on I2C
541
542config SND_SOC_AK4642
543	tristate "AKM AK4642 CODEC"
544	depends on I2C
545
546config SND_SOC_AK4671
547	tristate
548	depends on I2C
549
550config SND_SOC_AK5386
551	tristate "AKM AK5638 CODEC"
552
553config SND_SOC_AK5558
554	tristate "AKM AK5558 CODEC"
555	depends on I2C
556	select REGMAP_I2C
557
558config SND_SOC_ALC5623
559	tristate "Realtek ALC5623 CODEC"
560	depends on I2C
561
562config SND_SOC_ALC5632
563	tristate
564	depends on I2C
565
566config SND_SOC_BD28623
567	tristate "ROHM BD28623 CODEC"
568	help
569	  Enable support for ROHM BD28623MUV Class D speaker amplifier.
570	  This codec does not have any control buses such as I2C, it
571	  detect format of I2S automatically.
572
573config SND_SOC_BT_SCO
574	tristate "Dummy BT SCO codec driver"
575
576config SND_SOC_CPCAP
577	tristate "Motorola CPCAP codec"
578	depends on MFD_CPCAP
579
580config SND_SOC_CQ0093VC
581	tristate
582
583config SND_SOC_CROS_EC_CODEC
584	tristate "codec driver for ChromeOS EC"
585	depends on CROS_EC
586	select CRYPTO
587	select CRYPTO_LIB_SHA256
588	help
589	  If you say yes here you will get support for the
590	  ChromeOS Embedded Controller's Audio Codec.
591
592config SND_SOC_CS35L32
593	tristate "Cirrus Logic CS35L32 CODEC"
594	depends on I2C
595
596config SND_SOC_CS35L33
597	tristate "Cirrus Logic CS35L33 CODEC"
598	depends on I2C
599
600config SND_SOC_CS35L34
601	tristate "Cirrus Logic CS35L34 CODEC"
602	depends on I2C
603
604config SND_SOC_CS35L35
605	tristate "Cirrus Logic CS35L35 CODEC"
606	depends on I2C
607
608config SND_SOC_CS35L36
609	tristate "Cirrus Logic CS35L36 CODEC"
610	depends on I2C
611
612config SND_SOC_CS35L41_SPI
613	tristate "Cirrus Logic CS35L41 CODEC (SPI)"
614	depends on SPI_MASTER
615	select REGMAP_SPI
616
617config SND_SOC_CS35L41_I2C
618	tristate "Cirrus Logic CS35L41 CODEC (I2C)"
619	depends on I2C
620	select REGMAP_I2C
621
622config SND_SOC_CS42L42
623	tristate "Cirrus Logic CS42L42 CODEC"
624	depends on I2C
625
626config SND_SOC_CS42L51
627	tristate
628
629config SND_SOC_CS42L51_I2C
630	tristate "Cirrus Logic CS42L51 CODEC (I2C)"
631	depends on I2C
632	select SND_SOC_CS42L51
633
634config SND_SOC_CS42L52
635	tristate "Cirrus Logic CS42L52 CODEC"
636	depends on I2C && INPUT
637
638config SND_SOC_CS42L56
639	tristate "Cirrus Logic CS42L56 CODEC"
640	depends on I2C && INPUT
641
642config SND_SOC_CS42L73
643	tristate "Cirrus Logic CS42L73 CODEC"
644	depends on I2C
645
646config SND_SOC_CS4234
647	tristate "Cirrus Logic CS4234 CODEC"
648	depends on I2C
649	select REGMAP_I2C
650
651config SND_SOC_CS4265
652	tristate "Cirrus Logic CS4265 CODEC"
653	depends on I2C
654	select REGMAP_I2C
655
656# Cirrus Logic CS4270 Codec
657config SND_SOC_CS4270
658	tristate "Cirrus Logic CS4270 CODEC"
659	depends on I2C
660
661# Cirrus Logic CS4270 Codec VD = 3.3V Errata
662# Select if you are affected by the errata where the part will not function
663# if MCLK divide-by-1.5 is selected and VD is set to 3.3V.  The driver will
664# not select any sample rates that require MCLK to be divided by 1.5.
665config SND_SOC_CS4270_VD33_ERRATA
666	bool
667	depends on SND_SOC_CS4270
668
669config SND_SOC_CS4271
670	tristate
671
672config SND_SOC_CS4271_I2C
673	tristate "Cirrus Logic CS4271 CODEC (I2C)"
674	depends on I2C
675	select SND_SOC_CS4271
676	select REGMAP_I2C
677
678config SND_SOC_CS4271_SPI
679	tristate "Cirrus Logic CS4271 CODEC (SPI)"
680	depends on SPI_MASTER
681	select SND_SOC_CS4271
682	select REGMAP_SPI
683
684config SND_SOC_CS42XX8
685	tristate
686
687config SND_SOC_CS42XX8_I2C
688	tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)"
689	depends on I2C
690	select SND_SOC_CS42XX8
691	select REGMAP_I2C
692
693# Cirrus Logic CS43130 HiFi DAC
694config SND_SOC_CS43130
695	tristate "Cirrus Logic CS43130 CODEC"
696	depends on I2C
697
698config SND_SOC_CS4341
699	tristate "Cirrus Logic CS4341 CODEC"
700	depends on SND_SOC_I2C_AND_SPI
701	select REGMAP_I2C if I2C
702	select REGMAP_SPI if SPI_MASTER
703
704# Cirrus Logic CS4349 HiFi DAC
705config SND_SOC_CS4349
706	tristate "Cirrus Logic CS4349 CODEC"
707	depends on I2C
708
709config SND_SOC_CS47L15
710	tristate
711
712config SND_SOC_CS47L24
713	tristate
714	depends on MFD_CS47L24 && MFD_ARIZONA
715
716config SND_SOC_CS47L35
717	tristate
718
719config SND_SOC_CS47L85
720	tristate
721
722config SND_SOC_CS47L90
723	tristate
724
725config SND_SOC_CS47L92
726	tristate
727
728# Cirrus Logic Quad-Channel ADC
729config SND_SOC_CS53L30
730	tristate "Cirrus Logic CS53L30 CODEC"
731	depends on I2C
732
733config SND_SOC_CX20442
734	tristate
735	depends on TTY
736
737config SND_SOC_CX2072X
738	tristate "Conexant CX2072X CODEC"
739	depends on I2C
740	help
741	  Enable support for Conexant CX20721 and CX20723 codec chips.
742
743config SND_SOC_JZ4740_CODEC
744	depends on MACH_INGENIC || COMPILE_TEST
745	depends on OF
746	select REGMAP_MMIO
747	tristate "Ingenic JZ4740 internal CODEC"
748	help
749	  Enable support for the internal CODEC found in the JZ4740 SoC
750	  from Ingenic.
751
752	  This driver can also be built as a module. If so, the module
753	  will be called snd-soc-jz4740-codec.
754
755config SND_SOC_JZ4725B_CODEC
756	depends on MACH_INGENIC || COMPILE_TEST
757	depends on OF
758	select REGMAP
759	tristate "Ingenic JZ4725B internal CODEC"
760	help
761	  Enable support for the internal CODEC found in the JZ4725B SoC
762	  from Ingenic.
763
764	  This driver can also be built as a module. If so, the module
765	  will be called snd-soc-jz4725b-codec.
766
767config SND_SOC_JZ4760_CODEC
768        depends on MACH_INGENIC || COMPILE_TEST
769        depends on OF
770        select REGMAP
771        tristate "Ingenic JZ4760 internal CODEC"
772        help
773          Enable support for the internal CODEC found in the JZ4760 SoC
774          from Ingenic.
775
776          This driver can also be built as a module. If so, the module
777          will be called snd-soc-jz4760-codec.
778
779config SND_SOC_JZ4770_CODEC
780	depends on MACH_INGENIC || COMPILE_TEST
781	depends on OF
782	select REGMAP
783	tristate "Ingenic JZ4770 internal CODEC"
784	help
785	  Enable support for the internal CODEC found in the JZ4770 SoC
786	  from Ingenic.
787
788	  This driver can also be built as a module. If so, the module
789	  will be called snd-soc-jz4770-codec.
790
791config SND_SOC_L3
792	tristate
793
794config SND_SOC_DA7210
795	tristate
796	depends on SND_SOC_I2C_AND_SPI
797
798config SND_SOC_DA7213
799	tristate "Dialog DA7213 CODEC"
800	depends on I2C
801
802config SND_SOC_DA7218
803	tristate
804	depends on I2C
805
806config SND_SOC_DA7219
807	tristate
808	depends on I2C
809
810config SND_SOC_DA732X
811	tristate
812	depends on I2C
813
814config SND_SOC_DA9055
815	tristate
816	depends on I2C
817
818config SND_SOC_DMIC
819	tristate "Generic Digital Microphone CODEC"
820	depends on GPIOLIB
821	help
822	  Enable support for the Generic Digital Microphone CODEC.
823	  Select this if your sound card has DMICs.
824
825config SND_SOC_HDMI_CODEC
826	tristate
827	select SND_PCM_ELD
828	select SND_PCM_IEC958
829	select HDMI
830
831config SND_SOC_ES7134
832	tristate "Everest Semi ES7134 CODEC"
833
834config SND_SOC_ES7241
835	tristate "Everest Semi ES7241 CODEC"
836
837config SND_SOC_ES8316
838	tristate "Everest Semi ES8316 CODEC"
839	depends on I2C
840
841config SND_SOC_ES8328
842	tristate
843
844config SND_SOC_ES8328_I2C
845	tristate "Everest Semi ES8328 CODEC (I2C)"
846	depends on I2C
847	select SND_SOC_ES8328
848
849config SND_SOC_ES8328_SPI
850	tristate "Everest Semi ES8328 CODEC (SPI)"
851	depends on SPI_MASTER
852	select SND_SOC_ES8328
853
854config SND_SOC_GTM601
855	tristate 'GTM601 UMTS modem audio codec'
856
857config SND_SOC_HDAC_HDMI
858	tristate
859	select SND_HDA_EXT_CORE
860	select SND_PCM_ELD
861	select HDMI
862
863config SND_SOC_HDAC_HDA
864	tristate
865	select SND_HDA
866
867config SND_SOC_ICS43432
868	tristate "ICS43423 and compatible i2s microphones"
869
870config SND_SOC_INNO_RK3036
871	tristate "Inno codec driver for RK3036 SoC"
872	select REGMAP_MMIO
873
874config SND_SOC_ISABELLE
875	tristate
876	depends on I2C
877
878config SND_SOC_LM49453
879	tristate
880	depends on I2C
881
882config SND_SOC_LOCHNAGAR_SC
883	tristate "Lochnagar Sound Card"
884	depends on MFD_LOCHNAGAR
885	help
886	  This driver support the sound card functionality of the Cirrus
887	  Logic Lochnagar audio development board.
888
889config SND_SOC_MADERA
890	tristate
891	default y if SND_SOC_CS47L15=y
892	default y if SND_SOC_CS47L35=y
893	default y if SND_SOC_CS47L85=y
894	default y if SND_SOC_CS47L90=y
895	default y if SND_SOC_CS47L92=y
896	default m if SND_SOC_CS47L15=m
897	default m if SND_SOC_CS47L35=m
898	default m if SND_SOC_CS47L85=m
899	default m if SND_SOC_CS47L90=m
900	default m if SND_SOC_CS47L92=m
901
902config SND_SOC_MAX98088
903	tristate "Maxim MAX98088/9 Low-Power, Stereo Audio Codec"
904	depends on I2C
905
906config SND_SOC_MAX98090
907	tristate
908	depends on I2C
909
910config SND_SOC_MAX98095
911	tristate
912	depends on I2C
913
914config SND_SOC_MAX98357A
915	tristate "Maxim MAX98357A CODEC"
916	depends on GPIOLIB
917
918config SND_SOC_MAX98371
919	tristate
920	depends on I2C
921
922config SND_SOC_MAX98504
923	tristate "Maxim MAX98504 speaker amplifier"
924	depends on I2C
925
926config SND_SOC_MAX9867
927	tristate "Maxim MAX9867 CODEC"
928	depends on I2C
929
930config SND_SOC_MAX98925
931	tristate
932	depends on I2C
933
934config SND_SOC_MAX98926
935	tristate
936	depends on I2C
937
938config SND_SOC_MAX98927
939	tristate "Maxim Integrated MAX98927 Speaker Amplifier"
940	depends on I2C
941
942config SND_SOC_MAX98520
943	tristate "Maxim Integrated MAX98520 Speaker Amplifier"
944	depends on I2C
945	help
946	  Enable support for Maxim Integrated MAX98520 audio
947	  amplifier, which implements a tripler charge pump
948	  based boost converter and supports sample rates of
949	  8KHz to 192KHz.
950
951	  To compile this driver as a module, choose M here.
952
953config SND_SOC_MAX98373
954	tristate
955
956config SND_SOC_MAX98373_I2C
957	tristate "Maxim Integrated MAX98373 Speaker Amplifier"
958	depends on I2C
959	select SND_SOC_MAX98373
960
961config SND_SOC_MAX98373_SDW
962	tristate "Maxim Integrated MAX98373 Speaker Amplifier - SDW"
963	depends on SOUNDWIRE
964	select SND_SOC_MAX98373
965	select REGMAP_SOUNDWIRE
966	help
967	  Enable support for Maxim Integrated MAX98373 Soundwire
968	  amplifier. MAX98373 supports either the MIPI SoundWire
969	  compatible interface for audio and control data, or
970	  the PCM interface for audio data and a standard I2C
971	  interface for control data. Select this if MAX98373 is
972	  connected via soundwire.
973
974config SND_SOC_MAX98390
975	tristate "Maxim Integrated MAX98390 Speaker Amplifier"
976	depends on I2C
977
978config SND_SOC_MAX9850
979	tristate
980	depends on I2C
981
982config SND_SOC_MAX9860
983	tristate "Maxim MAX9860 Mono Audio Voice Codec"
984	depends on I2C
985	select REGMAP_I2C
986
987config SND_SOC_MSM8916_WCD_ANALOG
988	tristate "Qualcomm MSM8916 WCD Analog Codec"
989	depends on SPMI || COMPILE_TEST
990
991config SND_SOC_MSM8916_WCD_DIGITAL
992	tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
993	select REGMAP_MMIO
994
995config SND_SOC_PCM1681
996	tristate "Texas Instruments PCM1681 CODEC"
997	depends on I2C
998
999config SND_SOC_PCM1789
1000	tristate
1001
1002config SND_SOC_PCM1789_I2C
1003	tristate "Texas Instruments PCM1789 CODEC (I2C)"
1004	depends on I2C
1005	select SND_SOC_PCM1789
1006	help
1007	  Enable support for Texas Instruments PCM1789 CODEC.
1008	  Select this if your PCM1789 is connected via an I2C bus.
1009
1010config SND_SOC_PCM179X
1011	tristate
1012
1013config SND_SOC_PCM179X_I2C
1014	tristate "Texas Instruments PCM179X CODEC (I2C)"
1015	depends on I2C
1016	select SND_SOC_PCM179X
1017	help
1018	  Enable support for Texas Instruments PCM179x CODEC.
1019	  Select this if your PCM179x is connected via an I2C bus.
1020
1021config SND_SOC_PCM179X_SPI
1022	tristate "Texas Instruments PCM179X CODEC (SPI)"
1023	depends on SPI_MASTER
1024	select SND_SOC_PCM179X
1025	help
1026	  Enable support for Texas Instruments PCM179x CODEC.
1027	  Select this if your PCM179x is connected via an SPI bus.
1028
1029config SND_SOC_PCM186X
1030	tristate
1031
1032config SND_SOC_PCM186X_I2C
1033	tristate "Texas Instruments PCM186x CODECs - I2C"
1034	depends on I2C
1035	select SND_SOC_PCM186X
1036	select REGMAP_I2C
1037
1038config SND_SOC_PCM186X_SPI
1039	tristate "Texas Instruments PCM186x CODECs - SPI"
1040	depends on SPI_MASTER
1041	select SND_SOC_PCM186X
1042	select REGMAP_SPI
1043
1044config SND_SOC_PCM3008
1045	tristate
1046
1047config SND_SOC_PCM3060
1048	tristate
1049
1050config SND_SOC_PCM3060_I2C
1051	tristate "Texas Instruments PCM3060 CODEC - I2C"
1052	depends on I2C
1053	select SND_SOC_PCM3060
1054	select REGMAP_I2C
1055
1056config SND_SOC_PCM3060_SPI
1057	tristate "Texas Instruments PCM3060 CODEC - SPI"
1058	depends on SPI_MASTER
1059	select SND_SOC_PCM3060
1060	select REGMAP_SPI
1061
1062config SND_SOC_PCM3168A
1063	tristate
1064
1065config SND_SOC_PCM3168A_I2C
1066	tristate "Texas Instruments PCM3168A CODEC - I2C"
1067	depends on I2C
1068	select SND_SOC_PCM3168A
1069	select REGMAP_I2C
1070
1071config SND_SOC_PCM3168A_SPI
1072	tristate "Texas Instruments PCM3168A CODEC - SPI"
1073	depends on SPI_MASTER
1074	select SND_SOC_PCM3168A
1075	select REGMAP_SPI
1076
1077config SND_SOC_PCM5102A
1078	tristate "Texas Instruments PCM5102A CODEC"
1079
1080config SND_SOC_PCM512x
1081	tristate
1082
1083config SND_SOC_PCM512x_I2C
1084	tristate "Texas Instruments PCM512x CODECs - I2C"
1085	depends on I2C
1086	select SND_SOC_PCM512x
1087	select REGMAP_I2C
1088
1089config SND_SOC_PCM512x_SPI
1090	tristate "Texas Instruments PCM512x CODECs - SPI"
1091	depends on SPI_MASTER
1092	select SND_SOC_PCM512x
1093	select REGMAP_SPI
1094
1095config SND_SOC_RK3328
1096	tristate "Rockchip RK3328 audio CODEC"
1097	select REGMAP_MMIO
1098
1099config SND_SOC_RK817
1100	tristate "Rockchip RK817 audio CODEC"
1101	depends on MFD_RK808
1102	select REGMAP_I2C
1103
1104config SND_SOC_RL6231
1105	tristate
1106	default y if SND_SOC_RT5514=y
1107	default y if SND_SOC_RT5616=y
1108	default y if SND_SOC_RT5640=y
1109	default y if SND_SOC_RT5645=y
1110	default y if SND_SOC_RT5651=y
1111	default y if SND_SOC_RT5659=y
1112	default y if SND_SOC_RT5660=y
1113	default y if SND_SOC_RT5663=y
1114	default y if SND_SOC_RT5665=y
1115	default y if SND_SOC_RT5668=y
1116	default y if SND_SOC_RT5670=y
1117	default y if SND_SOC_RT5677=y
1118	default y if SND_SOC_RT5682=y
1119	default y if SND_SOC_RT1011=y
1120	default y if SND_SOC_RT1015=y
1121	default y if SND_SOC_RT1015P=y
1122	default y if SND_SOC_RT1019=y
1123	default y if SND_SOC_RT1305=y
1124	default y if SND_SOC_RT1308=y
1125	default m if SND_SOC_RT5514=m
1126	default m if SND_SOC_RT5616=m
1127	default m if SND_SOC_RT5640=m
1128	default m if SND_SOC_RT5645=m
1129	default m if SND_SOC_RT5651=m
1130	default m if SND_SOC_RT5659=m
1131	default m if SND_SOC_RT5660=m
1132	default m if SND_SOC_RT5663=m
1133	default m if SND_SOC_RT5665=m
1134	default m if SND_SOC_RT5668=m
1135	default m if SND_SOC_RT5670=m
1136	default m if SND_SOC_RT5677=m
1137	default m if SND_SOC_RT5682=m
1138	default m if SND_SOC_RT1011=m
1139	default m if SND_SOC_RT1015=m
1140	default m if SND_SOC_RT1015P=m
1141	default m if SND_SOC_RT1019=m
1142	default m if SND_SOC_RT1305=m
1143	default m if SND_SOC_RT1308=m
1144
1145config SND_SOC_RL6347A
1146	tristate
1147	default y if SND_SOC_RT274=y
1148	default y if SND_SOC_RT286=y
1149	default y if SND_SOC_RT298=y
1150	default m if SND_SOC_RT274=m
1151	default m if SND_SOC_RT286=m
1152	default m if SND_SOC_RT298=m
1153
1154config SND_SOC_RT274
1155	tristate
1156	depends on I2C
1157
1158config SND_SOC_RT286
1159	tristate
1160	depends on I2C
1161
1162config SND_SOC_RT298
1163	tristate
1164	depends on I2C
1165
1166config SND_SOC_RT1011
1167	tristate
1168	depends on I2C
1169
1170config SND_SOC_RT1015
1171	tristate
1172	depends on I2C
1173
1174config SND_SOC_RT1015P
1175	tristate
1176	depends on GPIOLIB
1177
1178config SND_SOC_RT1019
1179	tristate
1180	depends on I2C
1181
1182config SND_SOC_RT1305
1183	tristate
1184	depends on I2C
1185
1186config SND_SOC_RT1308
1187	tristate
1188	depends on I2C
1189
1190config SND_SOC_RT1308_SDW
1191	tristate "Realtek RT1308 Codec - SDW"
1192	depends on I2C && SOUNDWIRE
1193	select REGMAP_SOUNDWIRE
1194
1195config SND_SOC_RT1316_SDW
1196	tristate "Realtek RT1316 Codec - SDW"
1197	depends on SOUNDWIRE
1198	select REGMAP_SOUNDWIRE
1199
1200config SND_SOC_RT5514
1201	tristate
1202	depends on I2C
1203
1204config SND_SOC_RT5514_SPI
1205	tristate
1206	depends on SPI_MASTER
1207
1208config SND_SOC_RT5514_SPI_BUILTIN
1209	bool # force RT5514_SPI to be built-in to avoid link errors
1210	default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
1211
1212config SND_SOC_RT5616
1213	tristate "Realtek RT5616 CODEC"
1214	depends on I2C
1215
1216config SND_SOC_RT5631
1217	tristate "Realtek ALC5631/RT5631 CODEC"
1218	depends on I2C
1219
1220config SND_SOC_RT5640
1221	tristate "Realtek RT5640/RT5639 Codec"
1222	depends on I2C
1223
1224config SND_SOC_RT5645
1225	tristate
1226	depends on I2C
1227
1228config SND_SOC_RT5651
1229	tristate
1230	depends on I2C
1231
1232config SND_SOC_RT5659
1233	tristate "Realtek RT5658/RT5659 Codec"
1234	depends on I2C
1235
1236config SND_SOC_RT5660
1237	tristate
1238	depends on I2C
1239
1240config SND_SOC_RT5663
1241	tristate
1242	depends on I2C
1243
1244config SND_SOC_RT5665
1245	tristate
1246	depends on I2C
1247
1248config SND_SOC_RT5668
1249	tristate
1250	depends on I2C
1251
1252config SND_SOC_RT5670
1253	tristate
1254	depends on I2C
1255
1256config SND_SOC_RT5677
1257	tristate
1258	depends on I2C
1259	select REGMAP_I2C
1260	select REGMAP_IRQ
1261
1262config SND_SOC_RT5677_SPI
1263	tristate
1264	default SND_SOC_RT5677 && SPI
1265
1266config SND_SOC_RT5682
1267	tristate
1268
1269config SND_SOC_RT5682_I2C
1270	tristate
1271	depends on I2C
1272	select SND_SOC_RT5682
1273
1274config SND_SOC_RT5682_SDW
1275	tristate "Realtek RT5682 Codec - SDW"
1276	depends on SOUNDWIRE
1277	select SND_SOC_RT5682
1278	select REGMAP_SOUNDWIRE
1279
1280config SND_SOC_RT5682S
1281	tristate
1282	depends on I2C
1283
1284config SND_SOC_RT700
1285	tristate
1286
1287config SND_SOC_RT700_SDW
1288	tristate "Realtek RT700 Codec - SDW"
1289	depends on SOUNDWIRE
1290	select SND_SOC_RT700
1291	select REGMAP_SOUNDWIRE
1292
1293config SND_SOC_RT711
1294	tristate
1295
1296config SND_SOC_RT711_SDW
1297	tristate "Realtek RT711 Codec - SDW"
1298	depends on SOUNDWIRE
1299	select SND_SOC_RT711
1300	select REGMAP_SOUNDWIRE
1301
1302config SND_SOC_RT711_SDCA_SDW
1303	tristate "Realtek RT711 SDCA Codec - SDW"
1304	depends on SOUNDWIRE
1305	select REGMAP_SOUNDWIRE
1306	select REGMAP_SOUNDWIRE_MBQ
1307
1308config SND_SOC_RT715
1309	tristate
1310
1311config SND_SOC_RT715_SDW
1312	tristate "Realtek RT715 Codec - SDW"
1313	depends on SOUNDWIRE
1314	select SND_SOC_RT715
1315	select REGMAP_SOUNDWIRE
1316
1317config SND_SOC_RT715_SDCA_SDW
1318	tristate "Realtek RT715 SDCA Codec - SDW"
1319	depends on SOUNDWIRE
1320	select REGMAP_SOUNDWIRE
1321	select REGMAP_SOUNDWIRE_MBQ
1322
1323config SND_SOC_RT9120
1324	tristate "Richtek RT9120 Stereo Class-D Amplifier"
1325	depends on I2C
1326	select REGMAP_I2C
1327	select GPIOLIB
1328	help
1329	  Enable support for Richtek RT9120 20W, stereo, inductor-less,
1330	  high-efficiency Class-D audio amplifier.
1331
1332config SND_SOC_SDW_MOCKUP
1333	tristate "SoundWire mockup codec"
1334	depends on EXPERT
1335	depends on SOUNDWIRE
1336	help
1337	  This option enables a SoundWire mockup codec that does not drive the
1338	  bus, take part in the command/command protocol or generate data on a
1339	  Source port.
1340	  This option is only intended to be used for tests on a device
1341	  with a connector, in combination with a bus analyzer, or to test new
1342	  topologies that differ from the actual hardware layout.
1343	  This mockup device could be totally virtual but could also be a
1344	  real physical one with one key restriction: it is not allowed by the
1345	  SoundWire specification to be configured via a sideband mechanism and
1346	  generate audio data for capture. However, nothing prevents such a
1347	  peripheral device from snooping the bus.
1348
1349#Freescale sgtl5000 codec
1350config SND_SOC_SGTL5000
1351	tristate "Freescale SGTL5000 CODEC"
1352	depends on I2C
1353
1354config SND_SOC_SI476X
1355	tristate
1356
1357config SND_SOC_SIGMADSP
1358	tristate
1359	select CRC32
1360
1361config SND_SOC_SIGMADSP_I2C
1362	tristate
1363	select SND_SOC_SIGMADSP
1364
1365config SND_SOC_SIGMADSP_REGMAP
1366	tristate
1367	select SND_SOC_SIGMADSP
1368
1369config SND_SOC_SIMPLE_AMPLIFIER
1370	tristate "Simple Audio Amplifier"
1371	select GPIOLIB
1372
1373config SND_SOC_SIMPLE_MUX
1374	tristate "Simple Audio Mux"
1375	select GPIOLIB
1376
1377config SND_SOC_SPDIF
1378	tristate "S/PDIF CODEC"
1379
1380config SND_SOC_SSM2305
1381	tristate "Analog Devices SSM2305 Class-D Amplifier"
1382	help
1383	  Enable support for Analog Devices SSM2305 filterless
1384	  high-efficiency mono Class-D audio power amplifiers.
1385
1386config SND_SOC_SSM2518
1387	tristate "Analog Devices SSM2518 Class-D Amplifier"
1388	depends on I2C
1389
1390config SND_SOC_SSM2602
1391	tristate
1392
1393config SND_SOC_SSM2602_SPI
1394	tristate "Analog Devices SSM2602 CODEC - SPI"
1395	depends on SPI_MASTER
1396	select SND_SOC_SSM2602
1397	select REGMAP_SPI
1398
1399config SND_SOC_SSM2602_I2C
1400	tristate "Analog Devices SSM2602 CODEC - I2C"
1401	depends on I2C
1402	select SND_SOC_SSM2602
1403	select REGMAP_I2C
1404
1405config SND_SOC_SSM4567
1406	tristate "Analog Devices ssm4567 amplifier driver support"
1407	depends on I2C
1408
1409config SND_SOC_STA32X
1410	tristate "STA326, STA328 and STA329 speaker amplifier"
1411	depends on I2C
1412	select REGMAP_I2C
1413
1414config SND_SOC_STA350
1415	tristate "STA350 speaker amplifier"
1416	depends on I2C
1417
1418config SND_SOC_STA529
1419	tristate
1420	depends on I2C
1421
1422config SND_SOC_STAC9766
1423	tristate
1424	depends on SND_SOC_AC97_BUS
1425
1426config SND_SOC_STI_SAS
1427	tristate "codec Audio support for STI SAS codec"
1428
1429config SND_SOC_TAS2552
1430	tristate "Texas Instruments TAS2552 Mono Audio amplifier"
1431	depends on I2C
1432
1433config SND_SOC_TAS2562
1434	tristate "Texas Instruments TAS2562 Mono Audio amplifier"
1435	depends on I2C
1436
1437config SND_SOC_TAS2764
1438	tristate "Texas Instruments TAS2764 Mono Audio amplifier"
1439	depends on I2C
1440
1441config SND_SOC_TAS2770
1442	tristate "Texas Instruments TAS2770 speaker amplifier"
1443	depends on I2C
1444
1445config SND_SOC_TAS5086
1446	tristate "Texas Instruments TAS5086 speaker amplifier"
1447	depends on I2C
1448
1449config SND_SOC_TAS571X
1450	tristate "Texas Instruments TAS571x power amplifiers"
1451	depends on I2C
1452	help
1453	  Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
1454	  TAS5719 and TAS5721 power amplifiers
1455
1456config SND_SOC_TAS5720
1457	tristate "Texas Instruments TAS5720 Mono Audio amplifier"
1458	depends on I2C
1459	help
1460	  Enable support for Texas Instruments TAS5720L/M high-efficiency mono
1461	  Class-D audio power amplifiers.
1462
1463config SND_SOC_TAS6424
1464	tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
1465	depends on I2C
1466	help
1467	  Enable support for Texas Instruments TAS6424 high-efficiency
1468	  digital input quad-channel Class-D audio power amplifiers.
1469
1470config SND_SOC_TDA7419
1471	tristate "ST TDA7419 audio processor"
1472	depends on I2C
1473	select REGMAP_I2C
1474
1475config SND_SOC_TFA9879
1476	tristate "NXP Semiconductors TFA9879 amplifier"
1477	depends on I2C
1478
1479config SND_SOC_TFA989X
1480	tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
1481	depends on I2C
1482	select REGMAP_I2C
1483	help
1484	  Enable support for NXP (now Goodix) TFA989X (TFA1 family) speaker
1485	  amplifiers, e.g. TFA9895.
1486	  Note that the driver currently bypasses the built-in "CoolFlux DSP"
1487	  and does not support (hardware) volume control.
1488
1489config SND_SOC_TLV320AIC23
1490	tristate
1491
1492config SND_SOC_TLV320AIC23_I2C
1493	tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
1494	depends on I2C
1495	select SND_SOC_TLV320AIC23
1496
1497config SND_SOC_TLV320AIC23_SPI
1498	tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
1499	depends on SPI_MASTER
1500	select SND_SOC_TLV320AIC23
1501
1502config SND_SOC_TLV320AIC26
1503	tristate
1504	depends on SPI
1505
1506config SND_SOC_TLV320AIC31XX
1507	tristate "Texas Instruments TLV320AIC31xx CODECs"
1508	depends on I2C
1509	select REGMAP_I2C
1510
1511config SND_SOC_TLV320AIC32X4
1512	tristate
1513	depends on COMMON_CLK
1514
1515config SND_SOC_TLV320AIC32X4_I2C
1516	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
1517	depends on I2C
1518	depends on COMMON_CLK
1519	select SND_SOC_TLV320AIC32X4
1520
1521config SND_SOC_TLV320AIC32X4_SPI
1522	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
1523	depends on SPI_MASTER
1524	depends on COMMON_CLK
1525	select SND_SOC_TLV320AIC32X4
1526
1527config SND_SOC_TLV320AIC3X
1528	tristate
1529
1530config SND_SOC_TLV320AIC3X_I2C
1531	tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
1532	depends on I2C
1533	select SND_SOC_TLV320AIC3X
1534	select REGMAP_I2C
1535
1536config SND_SOC_TLV320AIC3X_SPI
1537	tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
1538	depends on SPI_MASTER
1539	select SND_SOC_TLV320AIC3X
1540	select REGMAP_SPI
1541
1542config SND_SOC_TLV320DAC33
1543	tristate
1544	depends on I2C
1545
1546config SND_SOC_TLV320ADCX140
1547	tristate "Texas Instruments TLV320ADCX140 CODEC family"
1548	depends on I2C
1549	select REGMAP_I2C
1550	help
1551	  Add support for Texas Instruments tlv320adc3140, tlv320adc5140 and
1552	  tlv320adc6140 quad channel ADCs.
1553
1554config SND_SOC_TS3A227E
1555	tristate "TI Headset/Mic detect and keypress chip"
1556	depends on I2C
1557
1558config SND_SOC_TSCS42XX
1559	tristate "Tempo Semiconductor TSCS42xx CODEC"
1560	depends on I2C
1561	select REGMAP_I2C
1562	help
1563	  Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
1564
1565config SND_SOC_TSCS454
1566	tristate "Tempo Semiconductor TSCS454 CODEC"
1567	depends on I2C
1568	select REGMAP_I2C
1569	help
1570	  Add support for Tempo Semiconductor's TSCS454 audio CODEC.
1571
1572config SND_SOC_TWL4030
1573	tristate
1574	depends on TWL4030_CORE
1575	select MFD_TWL4030_AUDIO
1576
1577config SND_SOC_TWL6040
1578	tristate
1579	depends on TWL6040_CORE
1580
1581config SND_SOC_UDA1334
1582	tristate "NXP UDA1334 DAC"
1583	depends on GPIOLIB
1584	help
1585	  The UDA1334 is an NXP audio codec, supports the I2S-bus data format
1586	  and has basic features such as de-emphasis (at 44.1 kHz sampling
1587	  rate) and mute.
1588
1589config SND_SOC_UDA134X
1590	tristate
1591
1592config SND_SOC_UDA1380
1593	tristate
1594	depends on I2C
1595
1596config SND_SOC_WCD9335
1597	tristate "WCD9335 Codec"
1598	depends on SLIMBUS
1599	select REGMAP_SLIMBUS
1600	select REGMAP_IRQ
1601	help
1602	  The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
1603	  Qualcomm Technologies, Inc. (QTI) multimedia solutions,
1604	  including the MSM8996, MSM8976, and MSM8956 chipsets.
1605
1606config SND_SOC_WCD_MBHC
1607	tristate
1608
1609config SND_SOC_WCD934X
1610	tristate "WCD9340/WCD9341 Codec"
1611	depends on COMMON_CLK
1612	select SND_SOC_WCD_MBHC
1613	depends on MFD_WCD934X
1614	help
1615	  The WCD9340/9341 is a audio codec IC Integrated in
1616	  Qualcomm SoCs like SDM845.
1617
1618config SND_SOC_WCD938X
1619	depends on SND_SOC_WCD938X_SDW
1620	tristate
1621	depends on SOUNDWIRE || !SOUNDWIRE
1622
1623config SND_SOC_WCD938X_SDW
1624	tristate "WCD9380/WCD9385 Codec - SDW"
1625	select SND_SOC_WCD938X
1626	select SND_SOC_WCD_MBHC
1627	select REGMAP_IRQ
1628	depends on SOUNDWIRE
1629	select REGMAP_SOUNDWIRE
1630	help
1631	  The WCD9380/9385 is a audio codec IC Integrated in
1632	  Qualcomm SoCs like SM8250.
1633
1634config SND_SOC_WL1273
1635	tristate
1636
1637config SND_SOC_WM0010
1638	tristate
1639	depends on SPI_MASTER
1640
1641config SND_SOC_WM1250_EV1
1642	tristate
1643	depends on I2C
1644
1645config SND_SOC_WM2000
1646	tristate
1647	depends on I2C
1648
1649config SND_SOC_WM2200
1650	tristate
1651	depends on I2C
1652
1653config SND_SOC_WM5100
1654	tristate
1655	depends on I2C
1656
1657config SND_SOC_WM5102
1658	tristate
1659	depends on MFD_WM5102 && MFD_ARIZONA
1660
1661config SND_SOC_WM5110
1662	tristate
1663	depends on MFD_WM5110 && MFD_ARIZONA
1664
1665config SND_SOC_WM8350
1666	tristate
1667	depends on MFD_WM8350
1668
1669config SND_SOC_WM8400
1670	tristate
1671	# FIXME nothing selects SND_SOC_WM8400??
1672	depends on MFD_WM8400
1673
1674config SND_SOC_WM8510
1675	tristate "Wolfson Microelectronics WM8510 CODEC"
1676	depends on SND_SOC_I2C_AND_SPI
1677
1678config SND_SOC_WM8523
1679	tristate "Wolfson Microelectronics WM8523 DAC"
1680	depends on I2C
1681
1682config SND_SOC_WM8524
1683	tristate "Wolfson Microelectronics WM8524 DAC"
1684	depends on GPIOLIB
1685
1686config SND_SOC_WM8580
1687	tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
1688	depends on I2C
1689
1690config SND_SOC_WM8711
1691	tristate "Wolfson Microelectronics WM8711 CODEC"
1692	depends on SND_SOC_I2C_AND_SPI
1693
1694config SND_SOC_WM8727
1695	tristate
1696
1697config SND_SOC_WM8728
1698	tristate "Wolfson Microelectronics WM8728 DAC"
1699	depends on SND_SOC_I2C_AND_SPI
1700
1701config SND_SOC_WM8731
1702	tristate "Wolfson Microelectronics WM8731 CODEC"
1703	depends on SND_SOC_I2C_AND_SPI
1704
1705config SND_SOC_WM8737
1706	tristate "Wolfson Microelectronics WM8737 ADC"
1707	depends on SND_SOC_I2C_AND_SPI
1708
1709config SND_SOC_WM8741
1710	tristate "Wolfson Microelectronics WM8741 DAC"
1711	depends on SND_SOC_I2C_AND_SPI
1712
1713config SND_SOC_WM8750
1714	tristate "Wolfson Microelectronics WM8750 CODEC"
1715	depends on SND_SOC_I2C_AND_SPI
1716
1717config SND_SOC_WM8753
1718	tristate "Wolfson Microelectronics WM8753 CODEC"
1719	depends on SND_SOC_I2C_AND_SPI
1720
1721config SND_SOC_WM8770
1722	tristate "Wolfson Microelectronics WM8770 CODEC"
1723	depends on SPI_MASTER
1724
1725config SND_SOC_WM8776
1726	tristate "Wolfson Microelectronics WM8776 CODEC"
1727	depends on SND_SOC_I2C_AND_SPI
1728
1729config SND_SOC_WM8782
1730	tristate "Wolfson Microelectronics WM8782 ADC"
1731
1732config SND_SOC_WM8804
1733	tristate
1734
1735config SND_SOC_WM8804_I2C
1736	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
1737	depends on I2C
1738	select SND_SOC_WM8804
1739	select REGMAP_I2C
1740
1741config SND_SOC_WM8804_SPI
1742	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
1743	depends on SPI_MASTER
1744	select SND_SOC_WM8804
1745	select REGMAP_SPI
1746
1747config SND_SOC_WM8900
1748	tristate
1749	depends on SND_SOC_I2C_AND_SPI
1750
1751config SND_SOC_WM8903
1752	tristate "Wolfson Microelectronics WM8903 CODEC"
1753	depends on I2C
1754
1755config SND_SOC_WM8904
1756	tristate "Wolfson Microelectronics WM8904 CODEC"
1757	depends on I2C
1758
1759config SND_SOC_WM8940
1760	tristate
1761	depends on I2C
1762
1763config SND_SOC_WM8955
1764	tristate
1765	depends on I2C
1766
1767config SND_SOC_WM8960
1768	tristate "Wolfson Microelectronics WM8960 CODEC"
1769	depends on I2C
1770
1771config SND_SOC_WM8961
1772	tristate
1773	depends on I2C
1774
1775config SND_SOC_WM8962
1776	tristate "Wolfson Microelectronics WM8962 CODEC"
1777	depends on I2C && INPUT
1778
1779config SND_SOC_WM8971
1780	tristate
1781	depends on I2C
1782
1783config SND_SOC_WM8974
1784	tristate "Wolfson Microelectronics WM8974 codec"
1785	depends on I2C
1786
1787config SND_SOC_WM8978
1788	tristate "Wolfson Microelectronics WM8978 codec"
1789	depends on I2C
1790
1791config SND_SOC_WM8983
1792	tristate
1793	depends on SND_SOC_I2C_AND_SPI
1794
1795config SND_SOC_WM8985
1796	tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
1797	depends on SND_SOC_I2C_AND_SPI
1798
1799config SND_SOC_WM8988
1800	tristate
1801	depends on SND_SOC_I2C_AND_SPI
1802
1803config SND_SOC_WM8990
1804	tristate
1805	depends on I2C
1806
1807config SND_SOC_WM8991
1808	tristate
1809	depends on I2C
1810
1811config SND_SOC_WM8993
1812	tristate
1813	depends on I2C
1814
1815config SND_SOC_WM8994
1816	tristate
1817
1818config SND_SOC_WM8995
1819	tristate
1820	depends on SND_SOC_I2C_AND_SPI
1821
1822config SND_SOC_WM8996
1823	tristate
1824	depends on I2C
1825
1826config SND_SOC_WM8997
1827	tristate
1828	depends on MFD_WM8997 && MFD_ARIZONA
1829
1830config SND_SOC_WM8998
1831	tristate
1832	depends on MFD_WM8998 && MFD_ARIZONA
1833
1834config SND_SOC_WM9081
1835	tristate
1836	depends on I2C
1837
1838config SND_SOC_WM9090
1839	tristate
1840	depends on I2C
1841
1842config SND_SOC_WM9705
1843	tristate
1844	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1845	select REGMAP_AC97
1846	select AC97_BUS_COMPAT if AC97_BUS_NEW
1847
1848config SND_SOC_WM9712
1849	tristate
1850	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1851	select REGMAP_AC97
1852	select AC97_BUS_COMPAT if AC97_BUS_NEW
1853
1854config SND_SOC_WM9713
1855	tristate
1856	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1857	select REGMAP_AC97
1858	select AC97_BUS_COMPAT if AC97_BUS_NEW
1859
1860config SND_SOC_WSA881X
1861	tristate "WSA881X Codec"
1862	depends on SOUNDWIRE
1863	select REGMAP_SOUNDWIRE
1864	tristate
1865	help
1866	  This enables support for Qualcomm WSA8810/WSA8815 Class-D
1867	  Smart Speaker Amplifier.
1868
1869config SND_SOC_ZL38060
1870	tristate "Microsemi ZL38060 Connected Home Audio Processor"
1871	depends on SPI_MASTER
1872	select GPIOLIB
1873	select REGMAP
1874	help
1875	  Support for ZL38060 Connected Home Audio Processor from Microsemi,
1876	  which consists of a Digital Signal Processor (DSP), several Digital
1877	  Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
1878
1879# Amp
1880config SND_SOC_LM4857
1881	tristate
1882	depends on I2C
1883
1884config SND_SOC_MAX9759
1885	tristate "Maxim MAX9759 speaker Amplifier"
1886	select GPIOLIB
1887
1888config SND_SOC_MAX9768
1889	tristate
1890	depends on I2C
1891
1892config SND_SOC_MAX9877
1893	tristate
1894	depends on I2C
1895
1896config SND_SOC_MC13783
1897	tristate
1898	depends on MFD_MC13XXX
1899
1900config SND_SOC_ML26124
1901	tristate
1902	depends on I2C
1903
1904config SND_SOC_MT6351
1905	tristate "MediaTek MT6351 Codec"
1906
1907config SND_SOC_MT6358
1908	tristate "MediaTek MT6358 Codec"
1909	help
1910	  Enable support for the platform which uses MT6358 as
1911	  external codec device.
1912
1913config SND_SOC_MT6359
1914	tristate "MediaTek MT6359 Codec"
1915	depends on MTK_PMIC_WRAP
1916	help
1917	  Enable support for the platform which uses MT6359 as
1918	  external codec device.
1919
1920config SND_SOC_MT6359_ACCDET
1921	tristate "MediaTek MT6359 ACCDET driver"
1922	depends on MTK_PMIC_WRAP
1923	help
1924	  ACCDET means Accessory Detection technology, MediaTek develop it
1925	  for ASoC codec soc-jack detection mechanism.
1926	  Select N if you don't have jack on board.
1927
1928config SND_SOC_MT6660
1929	tristate "Mediatek MT6660 Speaker Amplifier"
1930	depends on I2C
1931	help
1932	  MediaTek MT6660 is a smart power amplifier which contain
1933	  speaker protection, multi-band DRC, equalizer functions.
1934	  Select N if you don't have MT6660 on board.
1935	  Select M to build this as module.
1936
1937config SND_SOC_NAU8315
1938	tristate "Nuvoton Technology Corporation NAU8315 CODEC"
1939	depends on GPIOLIB
1940
1941config SND_SOC_NAU8540
1942	tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
1943	depends on I2C
1944
1945config SND_SOC_NAU8810
1946	tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
1947	depends on I2C
1948
1949config SND_SOC_NAU8821
1950	tristate "Nuvoton Technology Corporation NAU88L21 CODEC"
1951	depends on I2C
1952
1953config SND_SOC_NAU8822
1954	tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
1955	depends on I2C
1956
1957config SND_SOC_NAU8824
1958	tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
1959	depends on I2C
1960
1961config SND_SOC_NAU8825
1962	tristate
1963	depends on I2C
1964
1965config SND_SOC_TPA6130A2
1966	tristate "Texas Instruments TPA6130A2 headphone amplifier"
1967	depends on I2C
1968
1969config SND_SOC_LPASS_WSA_MACRO
1970	depends on COMMON_CLK
1971	select REGMAP_MMIO
1972	tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
1973
1974config SND_SOC_LPASS_VA_MACRO
1975	depends on COMMON_CLK
1976	select REGMAP_MMIO
1977	tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
1978
1979config SND_SOC_LPASS_RX_MACRO
1980	depends on COMMON_CLK
1981	select REGMAP_MMIO
1982	tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
1983
1984config SND_SOC_LPASS_TX_MACRO
1985	depends on COMMON_CLK
1986	select REGMAP_MMIO
1987	tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
1988
1989endmenu
1990