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