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