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