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