xref: /linux/sound/soc/codecs/Kconfig (revision 5ea5880764cbb164afb17a62e76ca75dc371409d)
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	default N
902	depends on DEBUG_FS
903	select SND_SOC_CS35L56_CAL_DEBUGFS_COMMON
904	help
905	  Create debugfs entries used during factory-line manufacture
906	  for factory calibration.
907
908	  If unsure select "N".
909
910config SND_SOC_CS35L56_CAL_SET_CTRL
911	bool "CS35L56 ALSA control to restore factory calibration"
912	default N
913	select SND_SOC_CS35L56_CAL_DEBUGFS_COMMON
914	help
915	  Allow restoring factory calibration data through an ALSA
916	  control. This is only needed on platforms without UEFI or
917	  some other method of non-volatile storage that the driver
918	  can access directly.
919
920	  On most platforms this is not needed.
921
922	  If unsure select "N".
923
924config SND_SOC_CS35L56_CAL_PERFORM_CTRL
925	bool "CS35L56 ALSA control to perform factory calibration"
926	default N
927	select SND_SOC_CS35L56_CAL_DEBUGFS_COMMON
928	help
929	  Allow performing factory calibration data through an ALSA
930	  control. It is recommended to use the debugfs method instead
931	  because debugfs has restricted access permissions.
932
933	  On most platforms this is not needed.
934
935	  If unsure select "N".
936
937config SND_SOC_CS35L56_TEST
938	tristate "KUnit test for Cirrus Logic cs35l56 driver" if !KUNIT_ALL_TESTS
939	depends on SND_SOC_CS35L56 && KUNIT
940	default KUNIT_ALL_TESTS
941	select SND_SOC_CS_AMP_LIB_TEST_HOOKS
942	help
943	  This builds KUnit tests for the Cirrus Logic cs35l56
944	  codec driver.
945
946	  For more information on KUnit and unit tests in general,
947	  please refer to the KUnit documentation in
948	  Documentation/dev-tools/kunit/.
949	  If in doubt, say "N".
950
951config SND_SOC_CS35L56_SHARED_TEST
952	tristate "KUnit test for Cirrus Logic cs35l56-shared" if !KUNIT_ALL_TESTS
953	depends on SND_SOC_CS35L56_SHARED && KUNIT
954	default KUNIT_ALL_TESTS
955	help
956	  This builds KUnit tests for the Cirrus Logic cs35l56-shared
957	  module.
958
959	  For more information on KUnit and unit tests in general,
960	  please refer to the KUnit documentation in
961	  Documentation/dev-tools/kunit/.
962	  If in doubt, say "N".
963endmenu
964
965config SND_SOC_CS40L50
966	tristate "Cirrus Logic CS40L50 CODEC"
967	depends on MFD_CS40L50_CORE
968	help
969	  This option enables support for I2S streaming to Cirrus Logic CS40L50.
970
971	  CS40L50 is a haptic driver with waveform memory, an integrated
972	  DSP, and closed-loop algorithms. If built as a module, it will be
973	  called snd-soc-cs40l50.
974
975config SND_SOC_CS42L42_CORE
976	tristate
977
978config SND_SOC_CS42L42
979	tristate "Cirrus Logic CS42L42 CODEC (I2C)"
980	depends on I2C
981	select REGMAP
982	select REGMAP_I2C
983	select SND_SOC_CS42L42_CORE
984
985config SND_SOC_CS42L42_SDW
986	tristate "Cirrus Logic CS42L42 CODEC on Soundwire"
987	depends on SOUNDWIRE
988	select SND_SOC_CS42L42_CORE
989	help
990	  Enable support for Cirrus Logic CS42L42 codec with Soundwire control
991
992config SND_SOC_CS42L43
993	tristate "Cirrus Logic CS42L43 CODEC"
994	depends on MFD_CS42L43
995	help
996	  Select this to support the audio functions of the Cirrus Logic
997	  CS42L43 PC CODEC.
998
999config SND_SOC_CS42L43_SDW
1000	tristate "Cirrus Logic CS42L43 CODEC (SoundWire)"
1001	depends on SND_SOC_CS42L43 && MFD_CS42L43_SDW
1002	help
1003	  Select this to support the audio functions of the Cirrus Logic
1004	  CS42L43 PC CODEC over SoundWire.
1005
1006config SND_SOC_CS42L51
1007	tristate
1008
1009config SND_SOC_CS42L51_I2C
1010	tristate "Cirrus Logic CS42L51 CODEC (I2C)"
1011	depends on I2C
1012	select SND_SOC_CS42L51
1013
1014config SND_SOC_CS42L52
1015	tristate "Cirrus Logic CS42L52 CODEC"
1016	depends on I2C && INPUT
1017
1018config SND_SOC_CS42L56
1019	tristate "Cirrus Logic CS42L56 CODEC"
1020	depends on I2C && INPUT
1021
1022config SND_SOC_CS42L73
1023	tristate "Cirrus Logic CS42L73 CODEC"
1024	depends on I2C
1025
1026config SND_SOC_CS42L83
1027	tristate "Cirrus Logic CS42L83 CODEC"
1028	depends on I2C
1029	select REGMAP
1030	select REGMAP_I2C
1031	select SND_SOC_CS42L42_CORE
1032
1033config SND_SOC_CS42L84
1034	tristate "Cirrus Logic CS42L84 CODEC"
1035	depends on I2C
1036	select REGMAP
1037	select REGMAP_I2C
1038
1039config SND_SOC_CS4234
1040	tristate "Cirrus Logic CS4234 CODEC"
1041	depends on I2C
1042	select REGMAP_I2C
1043
1044config SND_SOC_CS4265
1045	tristate "Cirrus Logic CS4265 CODEC"
1046	depends on I2C
1047	select REGMAP_I2C
1048
1049# Cirrus Logic CS4270 Codec
1050config SND_SOC_CS4270
1051	tristate "Cirrus Logic CS4270 CODEC"
1052	depends on I2C
1053
1054# Cirrus Logic CS4270 Codec VD = 3.3V Errata
1055# Select if you are affected by the errata where the part will not function
1056# if MCLK divide-by-1.5 is selected and VD is set to 3.3V.  The driver will
1057# not select any sample rates that require MCLK to be divided by 1.5.
1058config SND_SOC_CS4270_VD33_ERRATA
1059	bool
1060	depends on SND_SOC_CS4270
1061
1062config SND_SOC_CS4271
1063	tristate
1064
1065config SND_SOC_CS4271_I2C
1066	tristate "Cirrus Logic CS4271 CODEC (I2C)"
1067	depends on I2C
1068	select SND_SOC_CS4271
1069	select REGMAP_I2C
1070
1071config SND_SOC_CS4271_SPI
1072	tristate "Cirrus Logic CS4271 CODEC (SPI)"
1073	depends on SPI_MASTER
1074	select SND_SOC_CS4271
1075	select REGMAP_SPI
1076
1077config SND_SOC_CS42XX8
1078	tristate
1079
1080config SND_SOC_CS42XX8_I2C
1081	tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)"
1082	depends on I2C
1083	select SND_SOC_CS42XX8
1084	select REGMAP_I2C
1085
1086# Cirrus Logic CS43130 HiFi DAC
1087config SND_SOC_CS43130
1088	tristate "Cirrus Logic CS43130 CODEC"
1089	depends on I2C
1090
1091config SND_SOC_CS4341
1092	tristate "Cirrus Logic CS4341 CODEC"
1093	depends on SND_SOC_I2C_AND_SPI
1094	select REGMAP_I2C if I2C
1095	select REGMAP_SPI if SPI_MASTER
1096
1097# Cirrus Logic CS4349 HiFi DAC
1098config SND_SOC_CS4349
1099	tristate "Cirrus Logic CS4349 CODEC"
1100	depends on I2C
1101
1102config SND_SOC_CS47L15
1103	tristate
1104	depends on MFD_CS47L15
1105
1106config SND_SOC_CS47L24
1107	tristate
1108	depends on MFD_CS47L24 && MFD_ARIZONA
1109	select SND_SOC_WM_ADSP
1110
1111config SND_SOC_CS47L35
1112	tristate
1113	depends on MFD_CS47L35
1114
1115config SND_SOC_CS47L85
1116	tristate
1117	depends on MFD_CS47L85
1118
1119config SND_SOC_CS47L90
1120	tristate
1121	depends on MFD_CS47L90
1122
1123config SND_SOC_CS47L92
1124	tristate
1125	depends on MFD_CS47L92
1126
1127config SND_SOC_CS48L32
1128	tristate "Cirrus Logic CS48L32 audio DSP"
1129	depends on SPI_MASTER
1130	select REGMAP_SPI
1131	select SND_SOC_WM_ADSP
1132	help
1133	  Build the codec driver for the Cirrus Logic CS48L32 audio DSP.
1134
1135# Cirrus Logic Quad-Channel ADC
1136config SND_SOC_CS53L30
1137	tristate "Cirrus Logic CS53L30 CODEC"
1138	depends on I2C
1139
1140config SND_SOC_CS530X
1141	tristate
1142
1143config SND_SOC_CS530X_I2C
1144	tristate "Cirrus Logic CS530x ADCs (I2C)"
1145	depends on I2C
1146	select REGMAP
1147	select REGMAP_I2C
1148	select SND_SOC_CS530X
1149	help
1150	  Enable support for Cirrus Logic CS530X ADCs
1151	  with I2C control.
1152
1153config SND_SOC_CS530X_SPI
1154	tristate "Cirrus Logic CS530x ADCs (SPI)"
1155	depends on SPI_MASTER
1156	select REGMAP_SPI
1157	select SND_SOC_CS530X
1158	help
1159	  Enable support for Cirrus Logic CS530X ADCs
1160	  with SPI control.
1161
1162config SND_SOC_CX20442
1163	tristate
1164	depends on TTY
1165
1166config SND_SOC_CX2072X
1167	tristate "Conexant CX2072X CODEC"
1168	depends on I2C
1169	help
1170	  Enable support for Conexant CX20721 and CX20723 codec chips.
1171
1172config SND_SOC_JZ4740_CODEC
1173	depends on MACH_INGENIC || COMPILE_TEST
1174	depends on OF
1175	select REGMAP_MMIO
1176	tristate "Ingenic JZ4740 internal CODEC"
1177	help
1178	  Enable support for the internal CODEC found in the JZ4740 SoC
1179	  from Ingenic.
1180
1181	  This driver can also be built as a module. If so, the module
1182	  will be called snd-soc-jz4740-codec.
1183
1184config SND_SOC_JZ4725B_CODEC
1185	depends on MACH_INGENIC || COMPILE_TEST
1186	depends on OF
1187	select REGMAP
1188	tristate "Ingenic JZ4725B internal CODEC"
1189	help
1190	  Enable support for the internal CODEC found in the JZ4725B SoC
1191	  from Ingenic.
1192
1193	  This driver can also be built as a module. If so, the module
1194	  will be called snd-soc-jz4725b-codec.
1195
1196config SND_SOC_JZ4760_CODEC
1197        depends on MACH_INGENIC || COMPILE_TEST
1198        depends on OF
1199        select REGMAP
1200        tristate "Ingenic JZ4760 internal CODEC"
1201        help
1202          Enable support for the internal CODEC found in the JZ4760 SoC
1203          from Ingenic.
1204
1205          This driver can also be built as a module. If so, the module
1206          will be called snd-soc-jz4760-codec.
1207
1208config SND_SOC_JZ4770_CODEC
1209	depends on MACH_INGENIC || COMPILE_TEST
1210	depends on OF
1211	select REGMAP
1212	tristate "Ingenic JZ4770 internal CODEC"
1213	help
1214	  Enable support for the internal CODEC found in the JZ4770 SoC
1215	  from Ingenic.
1216
1217	  This driver can also be built as a module. If so, the module
1218	  will be called snd-soc-jz4770-codec.
1219
1220config SND_SOC_DA7210
1221	tristate
1222	depends on SND_SOC_I2C_AND_SPI
1223
1224config SND_SOC_DA7213
1225	tristate "Dialog DA7213 CODEC"
1226	depends on I2C
1227
1228config SND_SOC_DA7218
1229	tristate
1230	depends on I2C
1231
1232config SND_SOC_DA7219
1233	tristate
1234	depends on I2C
1235
1236config SND_SOC_DA732X
1237	tristate
1238	depends on I2C
1239
1240config SND_SOC_DA9055
1241	tristate
1242	depends on I2C
1243
1244config SND_SOC_DMIC
1245	tristate "Generic Digital Microphone CODEC"
1246	help
1247	  Enable support for the Generic Digital Microphone CODEC.
1248	  Select this if your sound card has DMICs.
1249
1250config SND_SOC_HDMI_CODEC
1251	tristate
1252	select SND_PCM_ELD
1253	select SND_PCM_IEC958
1254	select HDMI
1255
1256config SND_SOC_ES7134
1257	tristate "Everest Semi ES7134 CODEC"
1258
1259config SND_SOC_ES7241
1260	tristate "Everest Semi ES7241 CODEC"
1261
1262config SND_SOC_ES83XX_DSM_COMMON
1263	depends on ACPI
1264	tristate
1265
1266config SND_SOC_ES8311
1267	tristate "Everest Semi ES8311 CODEC"
1268	depends on I2C
1269
1270config SND_SOC_ES8316
1271	tristate "Everest Semi ES8316 CODEC"
1272	depends on I2C
1273
1274config SND_SOC_ES8323
1275	tristate "Everest Semi ES8323 CODEC"
1276	depends on I2C
1277
1278config SND_SOC_ES8326
1279	tristate "Everest Semi ES8326 CODEC"
1280	depends on I2C
1281
1282config SND_SOC_ES8328
1283	tristate
1284
1285config SND_SOC_ES8328_I2C
1286	tristate "Everest Semi ES8328 CODEC (I2C)"
1287	depends on I2C
1288	select SND_SOC_ES8328
1289
1290config SND_SOC_ES8328_SPI
1291	tristate "Everest Semi ES8328 CODEC (SPI)"
1292	depends on SPI_MASTER
1293	select SND_SOC_ES8328
1294
1295config SND_SOC_ES8375
1296	tristate "Everest Semi ES8375 CODEC"
1297	depends on I2C
1298
1299config SND_SOC_ES8389
1300	tristate "Everest Semi ES8389 CODEC"
1301	depends on I2C
1302
1303config SND_SOC_FRAMER
1304	tristate "Framer codec"
1305	depends on GENERIC_FRAMER
1306	help
1307	  Enable support for the framer codec.
1308	  The framer codec uses the generic framer infrastructure to transport
1309	  some audio data over an analog E1/T1/J1 line.
1310	  This codec allows to use some of the time slots available on the TDM
1311	  bus on which the framer is connected to transport the audio data.
1312
1313	  To compile this driver as a module, choose M here: the module
1314	  will be called snd-soc-framer.
1315
1316config SND_SOC_FS_AMP_LIB
1317	select CRC16
1318	tristate
1319
1320config SND_SOC_FS210X
1321	tristate 'FourSemi FS2104/5S digital audio amplifier'
1322	depends on I2C
1323	select GPIOLIB
1324	select REGMAP_I2C
1325	select SND_SOC_FS_AMP_LIB
1326	help
1327	  Enable support for FourSemi FS2104/5S digital audio amplifier.
1328	  The FS2104/5S are Inductor-Less, Stereo, Closed-Loop,
1329	  Digital Input Class-D Power Amplifiers with Enhanced Signal Processing.
1330	  The amplifiers support I2C and I2S/TDM.
1331
1332config SND_SOC_GTM601
1333	tristate 'GTM601 UMTS modem audio codec'
1334
1335config SND_SOC_HDAC_HDMI
1336	tristate
1337	select SND_HDA_EXT_CORE
1338	select SND_PCM_ELD
1339	select HDMI
1340
1341config SND_SOC_HDAC_HDA
1342	tristate
1343	select SND_HDA
1344
1345config SND_SOC_HDA
1346	tristate "HD-Audio codec driver"
1347	select SND_HDA_EXT_CORE
1348	select SND_HDA
1349	help
1350	  This enables HD-Audio codec support in ASoC subsystem. Compared
1351	  to SND_SOC_HDAC_HDA, driver's behavior is identical to HD-Audio
1352	  legacy solution - including the dynamic resource allocation
1353	  based on actual codec capabilities.
1354
1355config SND_SOC_ICS43432
1356	tristate "ICS43423 and compatible i2s microphones"
1357
1358config SND_SOC_IDT821034
1359	tristate "Renesas IDT821034 quad PCM codec"
1360	depends on SPI
1361	help
1362	  Enable support for the Renesas IDT821034 quad PCM with
1363	  programmable gain codec.
1364
1365	  To compile this driver as a module, choose M here: the module
1366	  will be called snd-soc-idt821034.
1367
1368config SND_SOC_INNO_RK3036
1369	tristate "Inno codec driver for RK3036 SoC"
1370	depends on ARCH_ROCKCHIP || COMPILE_TEST
1371	select REGMAP_MMIO
1372
1373config SND_SOC_ISABELLE
1374	tristate
1375	depends on I2C
1376
1377config SND_SOC_LM49453
1378	tristate
1379	depends on I2C
1380
1381config SND_SOC_LOCHNAGAR_SC
1382	tristate "Lochnagar Sound Card"
1383	depends on MFD_LOCHNAGAR || COMPILE_TEST
1384	help
1385	  This driver support the sound card functionality of the Cirrus
1386	  Logic Lochnagar audio development board.
1387
1388config SND_SOC_MADERA
1389	tristate
1390	select SND_SOC_WM_ADSP
1391	default y if SND_SOC_CS47L15=y
1392	default y if SND_SOC_CS47L35=y
1393	default y if SND_SOC_CS47L85=y
1394	default y if SND_SOC_CS47L90=y
1395	default y if SND_SOC_CS47L92=y
1396	default m if SND_SOC_CS47L15=m
1397	default m if SND_SOC_CS47L35=m
1398	default m if SND_SOC_CS47L85=m
1399	default m if SND_SOC_CS47L90=m
1400	default m if SND_SOC_CS47L92=m
1401
1402config SND_SOC_MAX98088
1403	tristate "Maxim MAX98088/9 Low-Power, Stereo Audio Codec"
1404	depends on I2C
1405
1406config SND_SOC_MAX98090
1407	tristate "Maxim MAX98090 CODEC"
1408	depends on I2C
1409
1410config SND_SOC_MAX98095
1411	tristate
1412	depends on I2C
1413
1414config SND_SOC_MAX98357A
1415	tristate "Maxim MAX98357A CODEC"
1416
1417config SND_SOC_MAX98371
1418	tristate
1419	depends on I2C
1420
1421config SND_SOC_MAX98504
1422	tristate "Maxim MAX98504 speaker amplifier"
1423	depends on I2C
1424
1425config SND_SOC_MAX9867
1426	tristate "Maxim MAX9867 CODEC"
1427	depends on I2C
1428
1429config SND_SOC_MAX98925
1430	tristate
1431	depends on I2C
1432
1433config SND_SOC_MAX98926
1434	tristate
1435	depends on I2C
1436
1437config SND_SOC_MAX98927
1438	tristate "Maxim Integrated MAX98927 Speaker Amplifier"
1439	depends on I2C
1440
1441config SND_SOC_MAX98520
1442	tristate "Maxim Integrated MAX98520 Speaker Amplifier"
1443	depends on I2C
1444	help
1445	  Enable support for Maxim Integrated MAX98520 audio
1446	  amplifier, which implements a tripler charge pump
1447	  based boost converter and supports sample rates of
1448	  8KHz to 192KHz.
1449
1450	  To compile this driver as a module, choose M here.
1451
1452config SND_SOC_MAX98363
1453	tristate "Analog Devices MAX98363 Soundwire Speaker Amplifier"
1454	depends on SOUNDWIRE
1455	select REGMAP_SOUNDWIRE
1456	help
1457	  Enable support for Analog Devices MAX98363 Soundwire
1458	  amplifier. MAX98363 supports the MIPI SoundWire v1.2
1459	  compatible interface for audio and control data.
1460	  This amplifier does not support I2C and I2S.
1461
1462config SND_SOC_MAX98373
1463	tristate
1464
1465config SND_SOC_MAX98373_I2C
1466	tristate "Maxim Integrated MAX98373 Speaker Amplifier"
1467	depends on I2C
1468	select SND_SOC_MAX98373
1469
1470config SND_SOC_MAX98373_SDW
1471	tristate "Maxim Integrated MAX98373 Speaker Amplifier - SDW"
1472	depends on SOUNDWIRE
1473	select SND_SOC_MAX98373
1474	select REGMAP_SOUNDWIRE
1475	help
1476	  Enable support for Maxim Integrated MAX98373 Soundwire
1477	  amplifier. MAX98373 supports either the MIPI SoundWire
1478	  compatible interface for audio and control data, or
1479	  the PCM interface for audio data and a standard I2C
1480	  interface for control data. Select this if MAX98373 is
1481	  connected via soundwire.
1482
1483config SND_SOC_MAX98388
1484	tristate "Analog Devices MAX98388 Speaker Amplifier"
1485	depends on I2C
1486	help
1487	  Enable support for Analog Devices MAX98388 audio
1488	  amplifier. The device provides a PCM interface for
1489	  audio data and a standard I2C interface for control
1490	  data communication.
1491
1492config SND_SOC_MAX98390
1493	tristate "Maxim Integrated MAX98390 Speaker Amplifier"
1494	depends on I2C
1495
1496config SND_SOC_MAX98396
1497	tristate "Analog Devices MAX98396 Speaker Amplifier"
1498	depends on I2C
1499	help
1500	  Enable support for Analog Devices MAX98396 audio
1501	  amplifier. The device provides a PCM interface for
1502	  audio data and a standard I2C interface for control
1503	  data communication.
1504
1505config SND_SOC_MAX9850
1506	tristate
1507	depends on I2C
1508
1509config SND_SOC_MAX9860
1510	tristate "Maxim MAX9860 Mono Audio Voice Codec"
1511	depends on I2C
1512	select REGMAP_I2C
1513
1514config SND_SOC_MSM8916_WCD_ANALOG
1515	tristate "Qualcomm MSM8916 WCD Analog Codec"
1516	depends on SPMI || COMPILE_TEST
1517
1518config SND_SOC_MSM8916_WCD_DIGITAL
1519	tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
1520	select REGMAP_MMIO
1521
1522config SND_SOC_PCM1681
1523	tristate "Texas Instruments PCM1681 CODEC"
1524	depends on I2C
1525
1526config SND_SOC_PCM1754
1527	tristate "Texas Instruments PCM1754 CODEC"
1528	depends on GPIOLIB
1529
1530config SND_SOC_PCM1789
1531	tristate
1532
1533config SND_SOC_PCM1789_I2C
1534	tristate "Texas Instruments PCM1789 CODEC (I2C)"
1535	depends on I2C
1536	select SND_SOC_PCM1789
1537	help
1538	  Enable support for Texas Instruments PCM1789 CODEC.
1539	  Select this if your PCM1789 is connected via an I2C bus.
1540
1541config SND_SOC_PCM179X
1542	tristate
1543
1544config SND_SOC_PCM179X_I2C
1545	tristate "Texas Instruments PCM179X CODEC (I2C)"
1546	depends on I2C
1547	select SND_SOC_PCM179X
1548	help
1549	  Enable support for Texas Instruments PCM179x CODEC.
1550	  Select this if your PCM179x is connected via an I2C bus.
1551
1552config SND_SOC_PCM179X_SPI
1553	tristate "Texas Instruments PCM179X CODEC (SPI)"
1554	depends on SPI_MASTER
1555	select SND_SOC_PCM179X
1556	help
1557	  Enable support for Texas Instruments PCM179x CODEC.
1558	  Select this if your PCM179x is connected via an SPI bus.
1559
1560config SND_SOC_PCM186X
1561	tristate
1562
1563config SND_SOC_PCM186X_I2C
1564	tristate "Texas Instruments PCM186x CODECs - I2C"
1565	depends on I2C
1566	select SND_SOC_PCM186X
1567	select REGMAP_I2C
1568
1569config SND_SOC_PCM186X_SPI
1570	tristate "Texas Instruments PCM186x CODECs - SPI"
1571	depends on SPI_MASTER
1572	select SND_SOC_PCM186X
1573	select REGMAP_SPI
1574
1575config SND_SOC_PCM3008
1576	tristate
1577
1578config SND_SOC_PCM3060
1579	tristate
1580
1581config SND_SOC_PCM3060_I2C
1582	tristate "Texas Instruments PCM3060 CODEC - I2C"
1583	depends on I2C
1584	select SND_SOC_PCM3060
1585	select REGMAP_I2C
1586
1587config SND_SOC_PCM3060_SPI
1588	tristate "Texas Instruments PCM3060 CODEC - SPI"
1589	depends on SPI_MASTER
1590	select SND_SOC_PCM3060
1591	select REGMAP_SPI
1592
1593config SND_SOC_PCM3168A
1594	tristate
1595
1596config SND_SOC_PCM3168A_I2C
1597	tristate "Texas Instruments PCM3168A CODEC - I2C"
1598	depends on I2C
1599	select SND_SOC_PCM3168A
1600	select REGMAP_I2C
1601
1602config SND_SOC_PCM3168A_SPI
1603	tristate "Texas Instruments PCM3168A CODEC - SPI"
1604	depends on SPI_MASTER
1605	select SND_SOC_PCM3168A
1606	select REGMAP_SPI
1607
1608config SND_SOC_PCM5102A
1609	tristate "Texas Instruments PCM5102A CODEC"
1610
1611config SND_SOC_PCM512x
1612	tristate
1613
1614config SND_SOC_PCM512x_I2C
1615	tristate "Texas Instruments PCM512x CODECs - I2C"
1616	depends on I2C
1617	select SND_SOC_PCM512x
1618	select REGMAP_I2C
1619
1620config SND_SOC_PCM512x_SPI
1621	tristate "Texas Instruments PCM512x CODECs - SPI"
1622	depends on SPI_MASTER
1623	select SND_SOC_PCM512x
1624	select REGMAP_SPI
1625
1626config SND_SOC_PCM6240
1627	tristate "Texas Instruments PCM6240 Family Audio chips based on I2C"
1628	depends on I2C
1629	help
1630	  Enable support for Texas Instruments PCM6240 Family Audio chips.
1631	  Note the PCM6240 driver implements a flexible and configurable
1632	  setting for register and filter coefficients, to one, two or
1633	  even multiple PCM6240 Family Audio chips.
1634
1635config SND_SOC_PEB2466
1636	tristate "Infineon PEB2466 quad PCM codec"
1637	depends on SPI
1638	select REGMAP_SPI
1639	help
1640	  Enable support for the Infineon PEB2466 quad PCM codec,
1641	  also named SICOFI 4-uC.
1642
1643	  To compile this driver as a module, choose M here: the module
1644	  will be called snd-soc-peb2466.
1645
1646config SND_SOC_PM4125
1647	depends on SND_SOC_PM4125_SDW
1648	select SND_SOC_WCD_COMMON
1649	tristate
1650	depends on SOUNDWIRE || !SOUNDWIRE
1651
1652config SND_SOC_PM4125_SDW
1653	tristate "PM4125 audio codec - SDW"
1654	select SND_SOC_PM4125
1655	select SND_SOC_WCD_MBHC
1656	select REGMAP_IRQ
1657	select SND_SOC_WCD_COMMON
1658	depends on SOUNDWIRE
1659	select REGMAP_SOUNDWIRE
1660	help
1661	  The PMIC PM4125 has an in-built audio codec IC used with SoCs
1662	  like QCM2290, and it is connected via soundwire and SPMI.
1663	  To compile this codec driver say Y or m.
1664
1665config SND_SOC_RK3308
1666	tristate "Rockchip RK3308 audio CODEC"
1667	depends on ARM64 || COMPILE_TEST
1668	depends on ARCH_ROCKCHIP || COMPILE_TEST
1669	select REGMAP_MMIO
1670	help
1671	  This is a device driver for the audio codec embedded in the
1672	  Rockchip RK3308 SoC.
1673
1674	  It has 8 24-bit ADCs and 2 24-bit DACs. The maximum supported
1675	  sampling rate is 192 kHz.
1676
1677config SND_SOC_RK3328
1678	tristate "Rockchip RK3328 audio CODEC"
1679	depends on ARCH_ROCKCHIP || COMPILE_TEST
1680	select REGMAP_MMIO
1681
1682config SND_SOC_RK817
1683	tristate "Rockchip RK817 audio CODEC"
1684	depends on MFD_RK8XX || COMPILE_TEST
1685
1686config SND_SOC_RL6231
1687	tristate
1688	default y if SND_SOC_RT5514=y
1689	default y if SND_SOC_RT5616=y
1690	default y if SND_SOC_RT5640=y
1691	default y if SND_SOC_RT5645=y
1692	default y if SND_SOC_RT5651=y
1693	default y if SND_SOC_RT5659=y
1694	default y if SND_SOC_RT5660=y
1695	default y if SND_SOC_RT5663=y
1696	default y if SND_SOC_RT5665=y
1697	default y if SND_SOC_RT5668=y
1698	default y if SND_SOC_RT5670=y
1699	default y if SND_SOC_RT5677=y
1700	default y if SND_SOC_RT5682=y
1701	default y if SND_SOC_RT1011=y
1702	default y if SND_SOC_RT1015=y
1703	default y if SND_SOC_RT1015P=y
1704	default y if SND_SOC_RT1019=y
1705	default y if SND_SOC_RT1305=y
1706	default y if SND_SOC_RT1308=y
1707	default m if SND_SOC_RT5514=m
1708	default m if SND_SOC_RT5616=m
1709	default m if SND_SOC_RT5640=m
1710	default m if SND_SOC_RT5645=m
1711	default m if SND_SOC_RT5651=m
1712	default m if SND_SOC_RT5659=m
1713	default m if SND_SOC_RT5660=m
1714	default m if SND_SOC_RT5663=m
1715	default m if SND_SOC_RT5665=m
1716	default m if SND_SOC_RT5668=m
1717	default m if SND_SOC_RT5670=m
1718	default m if SND_SOC_RT5677=m
1719	default m if SND_SOC_RT5682=m
1720	default m if SND_SOC_RT1011=m
1721	default m if SND_SOC_RT1015=m
1722	default m if SND_SOC_RT1015P=m
1723	default m if SND_SOC_RT1019=m
1724	default m if SND_SOC_RT1305=m
1725	default m if SND_SOC_RT1308=m
1726
1727config SND_SOC_RT_SDW_COMMON
1728	tristate
1729	default y if SND_SOC_RT721_SDCA_SDW=y
1730	default m if SND_SOC_RT721_SDCA_SDW=m
1731
1732config SND_SOC_RL6347A
1733	tristate
1734	default y if SND_SOC_RT274=y
1735	default y if SND_SOC_RT286=y
1736	default y if SND_SOC_RT298=y
1737	default m if SND_SOC_RT274=m
1738	default m if SND_SOC_RT286=m
1739	default m if SND_SOC_RT298=m
1740
1741config SND_SOC_RT274
1742	tristate
1743	depends on I2C
1744
1745config SND_SOC_RT286
1746	tristate
1747	depends on I2C
1748
1749config SND_SOC_RT298
1750	tristate
1751	depends on I2C
1752
1753config SND_SOC_RT1011
1754	tristate
1755	depends on I2C
1756
1757config SND_SOC_RT1015
1758	tristate
1759	depends on I2C
1760
1761config SND_SOC_RT1015P
1762	tristate
1763
1764config SND_SOC_RT1016
1765	tristate
1766	depends on I2C
1767
1768config SND_SOC_RT1017_SDCA_SDW
1769	tristate "Realtek RT1017 SDCA Codec - SDW"
1770	depends on SOUNDWIRE
1771	select REGMAP_SOUNDWIRE
1772
1773config SND_SOC_RT1019
1774	tristate
1775	depends on I2C
1776
1777config SND_SOC_RT1305
1778	tristate
1779	depends on I2C
1780
1781config SND_SOC_RT1308
1782	tristate
1783	depends on I2C
1784
1785config SND_SOC_RT1308_SDW
1786	tristate "Realtek RT1308 Codec - SDW"
1787	depends on I2C && SOUNDWIRE
1788	select REGMAP_SOUNDWIRE
1789
1790config SND_SOC_RT1316_SDW
1791	tristate "Realtek RT1316 Codec - SDW"
1792	depends on SOUNDWIRE
1793	select REGMAP_SOUNDWIRE
1794
1795config SND_SOC_RT1318
1796	tristate
1797	depends on I2C
1798
1799config SND_SOC_RT1318_SDW
1800	tristate "Realtek RT1318 Codec - SDW"
1801	depends on SOUNDWIRE
1802	select REGMAP_SOUNDWIRE
1803
1804config SND_SOC_RT1320_SDW
1805	tristate "Realtek RT1320 Codec - SDW"
1806	depends on SOUNDWIRE
1807	select REGMAP_SOUNDWIRE
1808	select REGMAP_SOUNDWIRE_MBQ
1809
1810config SND_SOC_RT5514
1811	tristate
1812	depends on I2C
1813
1814config SND_SOC_RT5514_SPI
1815	tristate
1816	depends on SPI_MASTER
1817
1818config SND_SOC_RT5514_SPI_BUILTIN
1819	bool # force RT5514_SPI to be built-in to avoid link errors
1820	default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
1821
1822config SND_SOC_RT5575
1823	tristate "Realtek ALC5575 Codec - I2C"
1824	depends on I2C
1825
1826config SND_SOC_RT5575_SPI
1827	bool "Realtek ALC5575 Codec - SPI"
1828	depends on SPI_MASTER && I2C
1829	depends on SND_SOC_RT5575
1830	depends on SPI_MASTER=y || SND_SOC_RT5575=m
1831
1832config SND_SOC_RT5616
1833	tristate "Realtek RT5616 CODEC"
1834	depends on I2C
1835
1836config SND_SOC_RT5631
1837	tristate "Realtek ALC5631/RT5631 CODEC"
1838	depends on I2C
1839
1840config SND_SOC_RT5640
1841	tristate "Realtek RT5640/RT5639 Codec"
1842	depends on I2C
1843
1844config SND_SOC_RT5645
1845	tristate
1846	depends on I2C
1847
1848config SND_SOC_RT5651
1849	tristate
1850	depends on I2C
1851
1852config SND_SOC_RT5659
1853	tristate "Realtek RT5658/RT5659 Codec"
1854	depends on I2C
1855
1856config SND_SOC_RT5660
1857	tristate
1858	depends on I2C
1859
1860config SND_SOC_RT5663
1861	tristate
1862	depends on I2C
1863
1864config SND_SOC_RT5665
1865	tristate
1866	depends on I2C
1867
1868config SND_SOC_RT5668
1869	tristate
1870	depends on I2C
1871
1872config SND_SOC_RT5670
1873	tristate
1874	depends on I2C
1875
1876config SND_SOC_RT5677
1877	tristate
1878	depends on I2C
1879	select REGMAP_I2C
1880	select REGMAP_IRQ
1881
1882config SND_SOC_RT5677_SPI
1883	tristate
1884	default SND_SOC_RT5677 && SPI
1885
1886config SND_SOC_RT5682
1887	tristate
1888
1889config SND_SOC_RT5682_I2C
1890	tristate
1891	depends on I2C
1892	select SND_SOC_RT5682
1893
1894config SND_SOC_RT5682_SDW
1895	tristate "Realtek RT5682 Codec - SDW"
1896	depends on SOUNDWIRE
1897	select SND_SOC_RT5682
1898	select REGMAP_SOUNDWIRE
1899
1900config SND_SOC_RT5682S
1901	tristate
1902	depends on I2C
1903
1904config SND_SOC_RT700
1905	tristate
1906
1907config SND_SOC_RT700_SDW
1908	tristate "Realtek RT700 Codec - SDW"
1909	depends on SOUNDWIRE
1910	select SND_SOC_RT700
1911	select REGMAP_SOUNDWIRE
1912
1913config SND_SOC_RT711
1914	tristate
1915
1916config SND_SOC_RT711_SDW
1917	tristate "Realtek RT711 Codec - SDW"
1918	depends on SOUNDWIRE
1919	select SND_SOC_RT711
1920	select REGMAP_SOUNDWIRE
1921
1922config SND_SOC_RT711_SDCA_SDW
1923	tristate "Realtek RT711 SDCA Codec - SDW"
1924	depends on SOUNDWIRE
1925	select REGMAP_SOUNDWIRE
1926	select REGMAP_SOUNDWIRE_MBQ
1927
1928config SND_SOC_RT712_SDCA_SDW
1929	tristate "Realtek RT712 SDCA Codec - SDW"
1930	depends on SOUNDWIRE
1931	select REGMAP_SOUNDWIRE
1932	select REGMAP_SOUNDWIRE_MBQ
1933
1934config SND_SOC_RT712_SDCA_DMIC_SDW
1935	tristate "Realtek RT712 SDCA DMIC Codec - SDW"
1936	depends on SOUNDWIRE
1937	select REGMAP_SOUNDWIRE
1938	select REGMAP_SOUNDWIRE_MBQ
1939
1940config SND_SOC_RT721_SDCA_SDW
1941	tristate "Realtek RT721 SDCA Codec - SDW"
1942	depends on SOUNDWIRE
1943	select REGMAP_SOUNDWIRE
1944	select REGMAP_SOUNDWIRE_MBQ
1945
1946config SND_SOC_RT722_SDCA_SDW
1947	tristate "Realtek RT722 SDCA Codec - SDW"
1948	depends on SOUNDWIRE
1949	select REGMAP_SOUNDWIRE
1950	select REGMAP_SOUNDWIRE_MBQ
1951
1952config SND_SOC_RT715
1953	tristate
1954
1955config SND_SOC_RT715_SDW
1956	tristate "Realtek RT715 Codec - SDW"
1957	depends on SOUNDWIRE
1958	select SND_SOC_RT715
1959	select REGMAP_SOUNDWIRE
1960
1961config SND_SOC_RT715_SDCA_SDW
1962	tristate "Realtek RT715 SDCA Codec - SDW"
1963	depends on SOUNDWIRE
1964	select REGMAP_SOUNDWIRE
1965	select REGMAP_SOUNDWIRE_MBQ
1966
1967config SND_SOC_RT9120
1968	tristate "Richtek RT9120 Stereo Class-D Amplifier"
1969	depends on I2C
1970	select REGMAP_I2C
1971	help
1972	  Enable support for Richtek RT9120 20W, stereo, inductor-less,
1973	  high-efficiency Class-D audio amplifier.
1974
1975config SND_SOC_RT9123
1976	tristate "Richtek RT9123 Mono Class-D Amplifier"
1977	depends on I2C
1978	select REGMAP_I2C
1979	help
1980	  Enable support for the I2C control mode of Richtek RT9123 3.2W mono
1981	  Class-D audio amplifier.
1982
1983config SND_SOC_RT9123P
1984	tristate "Richtek RT9123P Mono Class-D Amplifier"
1985	help
1986	  Enable support for the HW control mode of Richtek RT9123P 3.2W mono
1987	  Class-D audio amplifier.
1988
1989config SND_SOC_RTQ9124
1990	tristate "Richtek RTQ9124 Mono Class-D Amplifier"
1991	depends on I2C
1992	select REGMAP
1993	help
1994	  Enable support for Richtek RTQ9124 1x30W digital input automotive
1995	  audio amplifier with current sense and real-time load diagnostics.
1996
1997config SND_SOC_RTQ9128
1998	tristate "Richtek RTQ9128 45W Digital Input Amplifier"
1999	depends on I2C
2000	select REGMAP
2001	help
2002	  Enable support for Richtek RTQ9128 digital input 4-channel
2003	  automotive audio amplifier.  It is a ultra-low output noise,
2004	  high-efficiency, four-channel class-D audio power amplifier
2005	  that can deliver over 87% power efficienty at 4x75W into 4Ohm,
2006	  25V supply in automotive applications.
2007
2008	  To compile this driver as a module, choose M here: the module
2009	  will be called snd-soc-rtq9128.
2010
2011config SND_SOC_SDW_MOCKUP
2012	tristate "SoundWire mockup codec"
2013	depends on EXPERT
2014	depends on SOUNDWIRE
2015	help
2016	  This option enables a SoundWire mockup codec that does not drive the
2017	  bus, take part in the command/command protocol or generate data on a
2018	  Source port.
2019	  This option is only intended to be used for tests on a device
2020	  with a connector, in combination with a bus analyzer, or to test new
2021	  topologies that differ from the actual hardware layout.
2022	  This mockup device could be totally virtual but could also be a
2023	  real physical one with one key restriction: it is not allowed by the
2024	  SoundWire specification to be configured via a sideband mechanism and
2025	  generate audio data for capture. However, nothing prevents such a
2026	  peripheral device from snooping the bus.
2027
2028#Freescale sgtl5000 codec
2029config SND_SOC_SGTL5000
2030	tristate "Freescale SGTL5000 CODEC"
2031	depends on I2C
2032
2033config SND_SOC_SI476X
2034	tristate
2035	depends on MFD_SI476X_CORE
2036
2037config SND_SOC_SIGMADSP
2038	tristate
2039	select CRC32
2040
2041config SND_SOC_SIGMADSP_I2C
2042	tristate
2043	select SND_SOC_SIGMADSP
2044
2045config SND_SOC_SIGMADSP_REGMAP
2046	tristate
2047	select SND_SOC_SIGMADSP
2048
2049config SND_SOC_SIMPLE_AMPLIFIER
2050	tristate "Simple Audio Amplifier"
2051
2052config SND_SOC_SIMPLE_MUX
2053	tristate "Simple Audio Mux"
2054	depends on GPIOLIB
2055
2056config SND_SOC_SMA1303
2057	tristate "Iron Device SMA1303 Audio Amplifier"
2058	depends on I2C
2059	help
2060	  Enable support for Iron Device SMA1303 Boosted Class-D amplifier
2061
2062config SND_SOC_SMA1307
2063	tristate "Iron Device SMA1307 Audio Amplifier"
2064	depends on I2C
2065	help
2066	  Enable support for Iron Device SMA1307 boosted digital speaker
2067	  amplifier with feedback-loop.
2068	  If you are using a system with an SMA1307 amplifier connected
2069	  via I2C, enable this option.
2070
2071config SND_SOC_SPDIF
2072	tristate "S/PDIF CODEC"
2073
2074config SND_SOC_SRC4XXX_I2C
2075	tristate "Texas Instruments SRC4XXX DIR/DIT and SRC codecs"
2076	depends on I2C
2077	select SND_SOC_SRC4XXX
2078	help
2079	  Enable support for the TI SRC4XXX family of codecs. These include the
2080	  scr4392 which has digital receivers, transmitters, and
2081	  a sample rate converter, including numerous ports.
2082
2083config SND_SOC_SRC4XXX
2084	tristate
2085
2086config SND_SOC_SSM2305
2087	tristate "Analog Devices SSM2305 Class-D Amplifier"
2088	help
2089	  Enable support for Analog Devices SSM2305 filterless
2090	  high-efficiency mono Class-D audio power amplifiers.
2091
2092config SND_SOC_SSM2518
2093	tristate "Analog Devices SSM2518 Class-D Amplifier"
2094	depends on I2C
2095
2096config SND_SOC_SSM2602
2097	tristate
2098
2099config SND_SOC_SSM2602_SPI
2100	tristate "Analog Devices SSM2602 CODEC - SPI"
2101	depends on SPI_MASTER
2102	select SND_SOC_SSM2602
2103	select REGMAP_SPI
2104
2105config SND_SOC_SSM2602_I2C
2106	tristate "Analog Devices SSM2602 CODEC - I2C"
2107	depends on I2C
2108	select SND_SOC_SSM2602
2109	select REGMAP_I2C
2110
2111config SND_SOC_SSM3515
2112	tristate "Analog Devices SSM3515 amplifier driver"
2113	select REGMAP_I2C
2114	depends on I2C
2115	depends on OF
2116
2117config SND_SOC_SSM4567
2118	tristate "Analog Devices ssm4567 amplifier driver support"
2119	depends on I2C
2120
2121config SND_SOC_STA32X
2122	tristate "STA326, STA328 and STA329 speaker amplifier"
2123	depends on I2C
2124	select REGMAP_I2C
2125
2126config SND_SOC_STA350
2127	tristate "STA350 speaker amplifier"
2128	depends on I2C
2129
2130config SND_SOC_STA529
2131	tristate
2132	depends on I2C
2133
2134config SND_SOC_STAC9766
2135	tristate
2136	depends on SND_SOC_AC97_BUS
2137	select REGMAP_AC97
2138
2139config SND_SOC_STI_SAS
2140	tristate "codec Audio support for STI SAS codec"
2141
2142config SND_SOC_TAS2552
2143	tristate "Texas Instruments TAS2552 Mono Audio amplifier"
2144	depends on I2C
2145
2146config SND_SOC_TAS2562
2147	tristate "Texas Instruments TAS2562 Mono Audio amplifier"
2148	depends on I2C
2149
2150config SND_SOC_TAS2764
2151	tristate "Texas Instruments TAS2764 Mono Audio amplifier"
2152	depends on I2C
2153
2154config SND_SOC_TAS2770
2155	tristate "Texas Instruments TAS2770 speaker amplifier"
2156	depends on I2C
2157
2158config SND_SOC_TAS2780
2159	tristate "Texas Instruments TAS2780 Mono Audio amplifier"
2160	depends on I2C
2161	help
2162	  Enable support for Texas Instruments TAS2780 high-efficiency
2163	  digital input mono Class-D audio power amplifiers.
2164
2165config SND_SOC_TAS2781_COMLIB
2166	tristate
2167
2168config SND_SOC_TAS2781_COMLIB_I2C
2169	depends on I2C
2170	select CRC8
2171	select REGMAP_I2C
2172	tristate
2173
2174config SND_SOC_TAS2781_FMWLIB
2175	select SND_SOC_TAS2781_COMLIB
2176	select CRC8
2177	tristate
2178	default n
2179
2180config SND_SOC_TAS2781_I2C
2181	tristate "Texas Instruments TAS2781 speaker amplifier based on I2C"
2182	depends on I2C
2183	select SND_SOC_TAS2781_COMLIB_I2C
2184	select SND_SOC_TAS2781_FMWLIB
2185	help
2186	  Enable support for Texas Instruments TAS2781 Smart Amplifier
2187	  Digital input mono Class-D and DSP-inside audio power amplifiers.
2188	  Note the TAS2781 driver implements a flexible and configurable
2189	  algo coefficient setting, for one, two or even multiple TAS2781
2190	  chips.
2191
2192config SND_SOC_TAS2783_SDW
2193	tristate "Texas Instruments TAS2783 speaker amplifier (sdw)"
2194	depends on SOUNDWIRE
2195	depends on SND_SOC_SDCA
2196	depends on EFI
2197	select REGMAP_SOUNDWIRE
2198	select REGMAP_SOUNDWIRE_MBQ
2199	select CRC32
2200	help
2201	  Enable support for Texas Instruments TAS2783A Digital input
2202	  mono Class-D and DSP-inside audio power amplifiers. TAS2783
2203	  driver implements a flexible and configurable algorithm
2204	  cofficient setting, for one, two or multiple TAS2783 chips.
2205
2206config SND_SOC_TAS5086
2207	tristate "Texas Instruments TAS5086 speaker amplifier"
2208	depends on I2C
2209
2210config SND_SOC_TAS571X
2211	tristate "Texas Instruments TAS571x power amplifiers"
2212	depends on I2C
2213	help
2214	  Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
2215	  TAS5719 and TAS5721 power amplifiers
2216
2217config SND_SOC_TAS5720
2218	tristate "Texas Instruments TAS5720 Mono Audio amplifier"
2219	depends on I2C
2220	help
2221	  Enable support for Texas Instruments TAS5720L/M high-efficiency mono
2222	  Class-D audio power amplifiers.
2223
2224config SND_SOC_TAS5805M
2225	tristate "Texas Instruments TAS5805M speaker amplifier"
2226	depends on I2C
2227	help
2228	  Enable support for Texas Instruments TAS5805M Class-D
2229	  amplifiers. This is a speaker amplifier with an integrated
2230	  DSP. DSP configuration for each instance needs to be supplied
2231	  via a device-tree attribute.
2232
2233config SND_SOC_TAS6424
2234	tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
2235	depends on I2C
2236	help
2237	  Enable support for Texas Instruments TAS6424 high-efficiency
2238	  digital input quad-channel Class-D audio power amplifiers.
2239
2240config SND_SOC_TDA7419
2241	tristate "ST TDA7419 audio processor"
2242	depends on I2C
2243	select REGMAP_I2C
2244
2245config SND_SOC_TFA9879
2246	tristate "NXP Semiconductors TFA9879 amplifier"
2247	depends on I2C
2248
2249config SND_SOC_TFA989X
2250	tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
2251	depends on I2C
2252	select REGMAP_I2C
2253	help
2254	  Enable support for NXP (now Goodix) TFA989X (TFA1 family) speaker
2255	  amplifiers, e.g. TFA9895.
2256	  Note that the driver currently bypasses the built-in "CoolFlux DSP"
2257	  and does not support (hardware) volume control.
2258
2259config SND_SOC_TLV320ADC3XXX
2260	tristate "Texas Instruments TLV320ADC3001/3101 audio ADC"
2261	depends on I2C
2262	depends on GPIOLIB
2263	help
2264	 Enable support for Texas Instruments TLV320ADC3001 and TLV320ADC3101
2265	 ADCs.
2266
2267config SND_SOC_TLV320AIC23
2268	tristate
2269
2270config SND_SOC_TLV320AIC23_I2C
2271	tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
2272	depends on I2C
2273	select SND_SOC_TLV320AIC23
2274
2275config SND_SOC_TLV320AIC23_SPI
2276	tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
2277	depends on SPI_MASTER
2278	select SND_SOC_TLV320AIC23
2279
2280config SND_SOC_TLV320AIC26
2281	tristate
2282	depends on SPI
2283
2284config SND_SOC_TLV320AIC31XX
2285	tristate "Texas Instruments TLV320AIC31xx CODECs"
2286	depends on I2C
2287	select REGMAP_I2C
2288
2289config SND_SOC_TLV320AIC32X4
2290	tristate
2291	depends on COMMON_CLK
2292
2293config SND_SOC_TLV320AIC32X4_I2C
2294	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
2295	depends on I2C
2296	depends on COMMON_CLK
2297	select SND_SOC_TLV320AIC32X4
2298
2299config SND_SOC_TLV320AIC32X4_SPI
2300	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
2301	depends on SPI_MASTER
2302	depends on COMMON_CLK
2303	select SND_SOC_TLV320AIC32X4
2304
2305config SND_SOC_TLV320AIC3X
2306	tristate
2307
2308config SND_SOC_TLV320AIC3X_I2C
2309	tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
2310	depends on I2C
2311	select SND_SOC_TLV320AIC3X
2312	select REGMAP_I2C
2313
2314config SND_SOC_TLV320AIC3X_SPI
2315	tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
2316	depends on SPI_MASTER
2317	select SND_SOC_TLV320AIC3X
2318	select REGMAP_SPI
2319
2320config SND_SOC_TLV320DAC33
2321	tristate
2322	depends on I2C
2323	depends on GPIOLIB_LEGACY
2324
2325config SND_SOC_TLV320ADCX140
2326	tristate "Texas Instruments TLV320ADCX140 CODEC family"
2327	depends on I2C
2328	select REGMAP_I2C
2329	help
2330	  Add support for Texas Instruments tlv320adc3140, tlv320adc5140 and
2331	  tlv320adc6140 quad channel ADCs.
2332
2333config SND_SOC_TS3A227E
2334	tristate "TI Headset/Mic detect and keypress chip"
2335	depends on I2C
2336
2337config SND_SOC_TSCS42XX
2338	tristate "Tempo Semiconductor TSCS42xx CODEC"
2339	depends on I2C
2340	select REGMAP_I2C
2341	help
2342	  Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
2343
2344config SND_SOC_TSCS454
2345	tristate "Tempo Semiconductor TSCS454 CODEC"
2346	depends on I2C
2347	select REGMAP_I2C
2348	help
2349	  Add support for Tempo Semiconductor's TSCS454 audio CODEC.
2350
2351config SND_SOC_TWL4030
2352	tristate
2353	depends on TWL4030_CORE
2354	select MFD_TWL4030_AUDIO
2355
2356config SND_SOC_TWL6040
2357	tristate
2358	depends on TWL6040_CORE
2359
2360config SND_SOC_UDA1334
2361	tristate "NXP UDA1334 DAC"
2362	depends on GPIOLIB
2363	help
2364	  The UDA1334 is an NXP audio codec, supports the I2S-bus data format
2365	  and has basic features such as de-emphasis (at 44.1 kHz sampling
2366	  rate) and mute.
2367
2368config SND_SOC_UDA1342
2369	tristate "NXP UDA1342 CODEC"
2370	depends on I2C
2371	help
2372	  The UDA1342 is an NXP audio codec, support 2x Stereo audio ADC (4x PGA
2373	  mic inputs), stereo audio DAC, with basic audio processing.
2374
2375config SND_SOC_UDA1380
2376	tristate "Philips UDA1380 CODEC"
2377	depends on I2C
2378	help
2379	  The UDA1380 codec is used in the HTC Magician and on a number of
2380	  Samsung reference boards, as well as the LPC32xx series.
2381
2382config SND_SOC_WCD_CLASSH
2383	tristate
2384
2385config SND_SOC_WCD_COMMON
2386	tristate
2387
2388config SND_SOC_WCD9335
2389	tristate "WCD9335 Codec"
2390	depends on SLIMBUS
2391	select REGMAP_SLIMBUS
2392	select REGMAP_IRQ
2393	select SND_SOC_WCD_CLASSH
2394	help
2395	  The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
2396	  Qualcomm Technologies, Inc. (QTI) multimedia solutions,
2397	  including the MSM8996, MSM8976, and MSM8956 chipsets.
2398
2399config SND_SOC_WCD_MBHC
2400	tristate
2401
2402config SND_SOC_WCD934X
2403	tristate "WCD9340/WCD9341 Codec"
2404	depends on COMMON_CLK
2405	depends on SLIMBUS
2406	depends on SOUNDWIRE || !SOUNDWIRE
2407	select REGMAP_IRQ
2408	select REGMAP_SLIMBUS
2409	select SND_SOC_WCD_CLASSH
2410	select SND_SOC_WCD_COMMON
2411	select SND_SOC_WCD_MBHC
2412	depends on MFD_WCD934X || COMPILE_TEST
2413	help
2414	  The WCD9340/9341 is a audio codec IC Integrated in
2415	  Qualcomm SoCs like SDM845.
2416
2417config SND_SOC_WCD937X
2418	depends on SND_SOC_WCD937X_SDW
2419	tristate
2420	depends on SOUNDWIRE || !SOUNDWIRE
2421	select SND_SOC_WCD_CLASSH
2422	select SND_SOC_WCD_COMMON
2423
2424config SND_SOC_WCD937X_SDW
2425	tristate "WCD9370/WCD9375 Codec - SDW"
2426	select SND_SOC_WCD937X
2427	select SND_SOC_WCD_MBHC
2428	select REGMAP_IRQ
2429	depends on SOUNDWIRE
2430	select REGMAP_SOUNDWIRE
2431	help
2432	  The WCD9370/9375 is an audio codec IC used with SoCs
2433	  like SC7280 or QCM6490 chipsets, and it connected
2434	  via soundwire.
2435	  To compile this codec driver say Y or m.
2436
2437config SND_SOC_WCD938X
2438	depends on SND_SOC_WCD938X_SDW
2439	tristate
2440	depends on SOUNDWIRE || !SOUNDWIRE
2441	select SND_SOC_WCD_CLASSH
2442	select SND_SOC_WCD_COMMON
2443	select MULTIPLEXER
2444
2445config SND_SOC_WCD938X_SDW
2446	tristate "WCD9380/WCD9385 Codec - SDW"
2447	select SND_SOC_WCD938X
2448	select SND_SOC_WCD_MBHC
2449	select REGMAP_IRQ
2450	depends on SOUNDWIRE
2451	select REGMAP_SOUNDWIRE
2452	help
2453	  The WCD9380/9385 is a audio codec IC Integrated in
2454	  Qualcomm SoCs like SM8250.
2455
2456config SND_SOC_WCD939X
2457	depends on SND_SOC_WCD939X_SDW
2458	tristate
2459	depends on SOUNDWIRE || !SOUNDWIRE
2460	depends on TYPEC || !TYPEC
2461	select SND_SOC_WCD_CLASSH
2462	select SND_SOC_WCD_COMMON
2463
2464config SND_SOC_WCD939X_SDW
2465	tristate "WCD9390/WCD9395 Codec - SDW"
2466	depends on TYPEC || !TYPEC
2467	select SND_SOC_WCD939X
2468	select SND_SOC_WCD_MBHC
2469	select REGMAP_IRQ
2470	depends on SOUNDWIRE
2471	select REGMAP_SOUNDWIRE
2472	help
2473	  The WCD9390/9395 is a audio codec IC Integrated in
2474	  Qualcomm SoCs like SM8650.
2475
2476config SND_SOC_WM0010
2477	tristate
2478	depends on SPI_MASTER
2479
2480config SND_SOC_WM1250_EV1
2481	tristate
2482	depends on I2C
2483
2484config SND_SOC_WM2000
2485	tristate
2486	depends on I2C
2487
2488config SND_SOC_WM2200
2489	tristate
2490	depends on I2C
2491	select SND_SOC_WM_ADSP
2492
2493config SND_SOC_WM5100
2494	tristate
2495	depends on I2C
2496
2497config SND_SOC_WM5102
2498	tristate
2499	depends on MFD_WM5102 && MFD_ARIZONA
2500	select SND_SOC_WM_ADSP
2501
2502config SND_SOC_WM5110
2503	tristate
2504	depends on MFD_WM5110 && MFD_ARIZONA
2505	select SND_SOC_WM_ADSP
2506
2507config SND_SOC_WM8350
2508	tristate
2509	depends on MFD_WM8350
2510
2511config SND_SOC_WM8400
2512	tristate
2513	# FIXME nothing selects SND_SOC_WM8400??
2514	depends on MFD_WM8400
2515
2516config SND_SOC_WM8510
2517	tristate "Wolfson Microelectronics WM8510 CODEC"
2518	depends on SND_SOC_I2C_AND_SPI
2519
2520config SND_SOC_WM8523
2521	tristate "Wolfson Microelectronics WM8523 DAC"
2522	depends on I2C
2523
2524config SND_SOC_WM8524
2525	tristate "Wolfson Microelectronics WM8524 DAC"
2526	depends on GPIOLIB
2527
2528config SND_SOC_WM8580
2529	tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
2530	depends on I2C
2531
2532config SND_SOC_WM8711
2533	tristate "Wolfson Microelectronics WM8711 CODEC"
2534	depends on SND_SOC_I2C_AND_SPI
2535
2536config SND_SOC_WM8727
2537	tristate
2538
2539config SND_SOC_WM8728
2540	tristate "Wolfson Microelectronics WM8728 DAC"
2541	depends on SND_SOC_I2C_AND_SPI
2542
2543config SND_SOC_WM8731
2544	tristate
2545
2546config SND_SOC_WM8731_I2C
2547	tristate "Wolfson Microelectronics WM8731 CODEC with I2C"
2548	depends on I2C
2549	select REGMAP
2550	select SND_SOC_WM8731
2551
2552config SND_SOC_WM8731_SPI
2553	tristate "Wolfson Microelectronics WM8731 CODEC with SPI"
2554	depends on SPI
2555	select REGMAP
2556	select SND_SOC_WM8731
2557
2558config SND_SOC_WM8737
2559	tristate "Wolfson Microelectronics WM8737 ADC"
2560	depends on SND_SOC_I2C_AND_SPI
2561
2562config SND_SOC_WM8741
2563	tristate "Wolfson Microelectronics WM8741 DAC"
2564	depends on SND_SOC_I2C_AND_SPI
2565
2566config SND_SOC_WM8750
2567	tristate "Wolfson Microelectronics WM8750 CODEC"
2568	depends on SND_SOC_I2C_AND_SPI
2569
2570config SND_SOC_WM8753
2571	tristate "Wolfson Microelectronics WM8753 CODEC"
2572	depends on SND_SOC_I2C_AND_SPI
2573
2574config SND_SOC_WM8770
2575	tristate "Wolfson Microelectronics WM8770 CODEC"
2576	depends on SPI_MASTER
2577
2578config SND_SOC_WM8776
2579	tristate "Wolfson Microelectronics WM8776 CODEC"
2580	depends on SND_SOC_I2C_AND_SPI
2581
2582config SND_SOC_WM8782
2583	tristate "Wolfson Microelectronics WM8782 ADC"
2584
2585config SND_SOC_WM8804
2586	tristate
2587
2588config SND_SOC_WM8804_I2C
2589	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
2590	depends on I2C
2591	select SND_SOC_WM8804
2592	select REGMAP_I2C
2593
2594config SND_SOC_WM8804_SPI
2595	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
2596	depends on SPI_MASTER
2597	select SND_SOC_WM8804
2598	select REGMAP_SPI
2599
2600config SND_SOC_WM8900
2601	tristate
2602	depends on SND_SOC_I2C_AND_SPI
2603
2604config SND_SOC_WM8903
2605	tristate "Wolfson Microelectronics WM8903 CODEC"
2606	depends on I2C
2607
2608config SND_SOC_WM8904
2609	tristate "Wolfson Microelectronics WM8904 CODEC"
2610	depends on I2C
2611
2612config SND_SOC_WM8940
2613	tristate "Wolfson Microelectronics WM8940 codec"
2614	depends on I2C
2615
2616config SND_SOC_WM8955
2617	tristate
2618	depends on I2C
2619
2620config SND_SOC_WM8960
2621	tristate "Wolfson Microelectronics WM8960 CODEC"
2622	depends on I2C
2623
2624config SND_SOC_WM8961
2625	tristate "Wolfson Microelectronics WM8961 CODEC"
2626	depends on I2C
2627
2628config SND_SOC_WM8962
2629	tristate "Wolfson Microelectronics WM8962 CODEC"
2630	depends on I2C && INPUT
2631
2632config SND_SOC_WM8971
2633	tristate
2634	depends on I2C
2635
2636config SND_SOC_WM8974
2637	tristate "Wolfson Microelectronics WM8974 codec"
2638	depends on I2C
2639
2640config SND_SOC_WM8978
2641	tristate "Wolfson Microelectronics WM8978 codec"
2642	depends on I2C
2643
2644config SND_SOC_WM8983
2645	tristate
2646	depends on SND_SOC_I2C_AND_SPI
2647
2648config SND_SOC_WM8985
2649	tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
2650	depends on SND_SOC_I2C_AND_SPI
2651
2652config SND_SOC_WM8988
2653	tristate
2654	depends on SND_SOC_I2C_AND_SPI
2655
2656config SND_SOC_WM8990
2657	tristate
2658	depends on I2C
2659
2660config SND_SOC_WM8991
2661	tristate
2662	depends on I2C
2663
2664config SND_SOC_WM8993
2665	tristate
2666	depends on I2C
2667
2668config SND_SOC_WM8994
2669	tristate
2670	depends on MFD_WM8994
2671
2672config SND_SOC_WM8995
2673	tristate
2674	depends on SND_SOC_I2C_AND_SPI
2675
2676config SND_SOC_WM8996
2677	tristate
2678	depends on I2C
2679
2680config SND_SOC_WM8997
2681	tristate
2682	depends on MFD_WM8997 && MFD_ARIZONA
2683
2684config SND_SOC_WM8998
2685	tristate "Wolfson Microelectronics WM8998 codec driver"
2686	depends on MFD_WM8998 && MFD_ARIZONA
2687
2688config SND_SOC_WM9081
2689	tristate
2690	depends on I2C
2691
2692config SND_SOC_WM9090
2693	tristate
2694	depends on I2C
2695
2696config SND_SOC_WM9705
2697	tristate
2698	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2699	select REGMAP_AC97
2700	select AC97_BUS_COMPAT if AC97_BUS_NEW
2701
2702config SND_SOC_WM9712
2703	tristate
2704	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2705	select REGMAP_AC97
2706	select AC97_BUS_COMPAT if AC97_BUS_NEW
2707
2708config SND_SOC_WM9713
2709	tristate
2710	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2711	select REGMAP_AC97
2712	select AC97_BUS_COMPAT if AC97_BUS_NEW
2713
2714config SND_SOC_WSA881X
2715	tristate "WSA881X Codec"
2716	depends on SOUNDWIRE
2717	select REGMAP_SOUNDWIRE
2718	help
2719	  This enables support for Qualcomm WSA8810/WSA8815 Class-D
2720	  Smart Speaker Amplifier.
2721
2722config SND_SOC_WSA883X
2723	tristate "WSA883X Codec"
2724	depends on SOUNDWIRE
2725	select REGMAP_SOUNDWIRE
2726	help
2727	  This enables support for Qualcomm WSA8830/WSA8835 Class-D
2728	  Smart Speaker Amplifier.
2729
2730config SND_SOC_WSA884X
2731	tristate "WSA884X Codec"
2732	depends on SOUNDWIRE
2733	select REGMAP_SOUNDWIRE
2734	help
2735	  This enables support for Qualcomm WSA8840/WSA8845/WSA8845H Class-D
2736	  Smart Speaker Amplifier.
2737
2738config SND_SOC_ZL38060
2739	tristate "Microsemi ZL38060 Connected Home Audio Processor"
2740	depends on SPI_MASTER
2741	depends on GPIOLIB
2742	select REGMAP
2743	help
2744	  Support for ZL38060 Connected Home Audio Processor from Microsemi,
2745	  which consists of a Digital Signal Processor (DSP), several Digital
2746	  Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
2747
2748# Amp
2749config SND_SOC_LM4857
2750	tristate
2751	depends on I2C
2752
2753config SND_SOC_MAX9759
2754	tristate "Maxim MAX9759 speaker Amplifier"
2755	depends on GPIOLIB
2756
2757config SND_SOC_MAX9768
2758	tristate
2759	depends on I2C
2760
2761config SND_SOC_MAX9877
2762	tristate
2763	depends on I2C
2764
2765config SND_SOC_MC13783
2766	tristate
2767	depends on MFD_MC13XXX
2768
2769config SND_SOC_ML26124
2770	tristate
2771	depends on I2C
2772
2773config SND_SOC_MT6351
2774	tristate "MediaTek MT6351 Codec"
2775
2776config SND_SOC_MT6357
2777	tristate "MediaTek MT6357 Codec"
2778	help
2779	  Enable support for the platform which uses MT6357 as
2780	  external codec device.
2781
2782config SND_SOC_MT6358
2783	tristate "MediaTek MT6358 Codec"
2784	help
2785	  Enable support for the platform which uses MT6358 as
2786	  external codec device.
2787
2788config SND_SOC_MT6359
2789	tristate "MediaTek MT6359 Codec"
2790	depends on MTK_PMIC_WRAP
2791	help
2792	  Enable support for the platform which uses MT6359 as
2793	  external codec device.
2794
2795config SND_SOC_MT6359_ACCDET
2796	tristate "MediaTek MT6359 ACCDET driver"
2797	depends on MTK_PMIC_WRAP
2798	help
2799	  ACCDET means Accessory Detection technology, MediaTek develop it
2800	  for ASoC codec soc-jack detection mechanism.
2801	  Select N if you don't have jack on board.
2802
2803config SND_SOC_MT6660
2804	tristate "Mediatek MT6660 Speaker Amplifier"
2805	depends on I2C
2806	help
2807	  MediaTek MT6660 is a smart power amplifier which contain
2808	  speaker protection, multi-band DRC, equalizer functions.
2809	  Select N if you don't have MT6660 on board.
2810	  Select M to build this as module.
2811
2812config SND_SOC_NAU8315
2813	tristate "Nuvoton Technology Corporation NAU8315 CODEC"
2814
2815config SND_SOC_NAU8325
2816	tristate "Nuvoton Technology Corporation NAU8325 CODEC"
2817	depends on I2C
2818
2819config SND_SOC_NAU8540
2820	tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
2821	depends on I2C
2822
2823config SND_SOC_NAU8810
2824	tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
2825	depends on I2C
2826
2827config SND_SOC_NAU8821
2828	tristate "Nuvoton Technology Corporation NAU88L21 CODEC"
2829	depends on I2C
2830
2831config SND_SOC_NAU8822
2832	tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
2833	depends on I2C
2834
2835config SND_SOC_NAU8824
2836	tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
2837	depends on I2C
2838
2839config SND_SOC_NAU8825
2840	tristate
2841	depends on I2C
2842
2843config SND_SOC_NTPFW
2844	tristate
2845
2846config SND_SOC_NTP8918
2847	select SND_SOC_NTPFW
2848	tristate "NeoFidelity NTP8918 amplifier"
2849	depends on I2C
2850
2851config SND_SOC_NTP8835
2852	select SND_SOC_NTPFW
2853	tristate "NeoFidelity NTP8835 and NTP8835C amplifiers"
2854	depends on I2C
2855
2856config SND_SOC_TPA6130A2
2857	tristate "Texas Instruments TPA6130A2 headphone amplifier"
2858	depends on I2C
2859
2860config SND_SOC_LPASS_MACRO_COMMON
2861        tristate
2862
2863config SND_SOC_LPASS_WSA_MACRO
2864	depends on COMMON_CLK
2865	select REGMAP_MMIO
2866	select SND_SOC_LPASS_MACRO_COMMON
2867	tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
2868
2869config SND_SOC_LPASS_VA_MACRO
2870	depends on COMMON_CLK
2871	select REGMAP_MMIO
2872	select SND_SOC_LPASS_MACRO_COMMON
2873	tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
2874
2875config SND_SOC_LPASS_RX_MACRO
2876	depends on COMMON_CLK
2877	select REGMAP_MMIO
2878	select SND_SOC_LPASS_MACRO_COMMON
2879	tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
2880
2881config SND_SOC_LPASS_TX_MACRO
2882	depends on COMMON_CLK
2883	select REGMAP_MMIO
2884	select SND_SOC_LPASS_MACRO_COMMON
2885	tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
2886
2887endmenu
2888