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