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