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