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