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