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