xref: /linux/sound/soc/codecs/Kconfig (revision a67c554dbc0fdd7e3c5909cb9f0fff41c51b2e9d)
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_SOUNDWIRE
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 SND_SOC_SDCA
1306	depends on SOUNDWIRE
1307	select REGMAP_SOUNDWIRE
1308	select REGMAP_SOUNDWIRE_MBQ
1309
1310config SND_SOC_FRAMER
1311	tristate "Framer codec"
1312	depends on GENERIC_FRAMER
1313	help
1314	  Enable support for the framer codec.
1315	  The framer codec uses the generic framer infrastructure to transport
1316	  some audio data over an analog E1/T1/J1 line.
1317	  This codec allows to use some of the time slots available on the TDM
1318	  bus on which the framer is connected to transport the audio data.
1319
1320	  To compile this driver as a module, choose M here: the module
1321	  will be called snd-soc-framer.
1322
1323config SND_SOC_FS_AMP_LIB
1324	select CRC16
1325	tristate
1326
1327config SND_SOC_FS210X
1328	tristate 'FourSemi FS2104/5S digital audio amplifier'
1329	depends on I2C
1330	select GPIOLIB
1331	select REGMAP_I2C
1332	select SND_SOC_FS_AMP_LIB
1333	help
1334	  Enable support for FourSemi FS2104/5S digital audio amplifier.
1335	  The FS2104/5S are Inductor-Less, Stereo, Closed-Loop,
1336	  Digital Input Class-D Power Amplifiers with Enhanced Signal Processing.
1337	  The amplifiers support I2C and I2S/TDM.
1338
1339config SND_SOC_GTM601
1340	tristate 'GTM601 UMTS modem audio codec'
1341
1342config SND_SOC_HDAC_HDMI
1343	tristate
1344	select SND_HDA_EXT_CORE
1345	select SND_PCM_ELD
1346	select HDMI
1347
1348config SND_SOC_HDAC_HDA
1349	tristate
1350	select SND_HDA
1351
1352config SND_SOC_HDA
1353	tristate "HD-Audio codec driver"
1354	select SND_HDA_EXT_CORE
1355	select SND_HDA
1356	help
1357	  This enables HD-Audio codec support in ASoC subsystem. Compared
1358	  to SND_SOC_HDAC_HDA, driver's behavior is identical to HD-Audio
1359	  legacy solution - including the dynamic resource allocation
1360	  based on actual codec capabilities.
1361
1362config SND_SOC_ICS43432
1363	tristate "ICS43423 and compatible i2s microphones"
1364
1365config SND_SOC_IDT821034
1366	tristate "Renesas IDT821034 quad PCM codec"
1367	depends on SPI
1368	help
1369	  Enable support for the Renesas IDT821034 quad PCM with
1370	  programmable gain codec.
1371
1372	  To compile this driver as a module, choose M here: the module
1373	  will be called snd-soc-idt821034.
1374
1375config SND_SOC_INNO_RK3036
1376	tristate "Inno codec driver for RK3036 SoC"
1377	depends on ARCH_ROCKCHIP || COMPILE_TEST
1378	select REGMAP_MMIO
1379
1380config SND_SOC_ISABELLE
1381	tristate
1382	depends on I2C
1383
1384config SND_SOC_LM49453
1385	tristate
1386	depends on I2C
1387
1388config SND_SOC_LOCHNAGAR_SC
1389	tristate "Lochnagar Sound Card"
1390	depends on MFD_LOCHNAGAR || COMPILE_TEST
1391	help
1392	  This driver support the sound card functionality of the Cirrus
1393	  Logic Lochnagar audio development board.
1394
1395config SND_SOC_MADERA
1396	tristate
1397	select SND_SOC_WM_ADSP
1398	default y if SND_SOC_CS47L15=y
1399	default y if SND_SOC_CS47L35=y
1400	default y if SND_SOC_CS47L85=y
1401	default y if SND_SOC_CS47L90=y
1402	default y if SND_SOC_CS47L92=y
1403	default m if SND_SOC_CS47L15=m
1404	default m if SND_SOC_CS47L35=m
1405	default m if SND_SOC_CS47L85=m
1406	default m if SND_SOC_CS47L90=m
1407	default m if SND_SOC_CS47L92=m
1408
1409config SND_SOC_MAX98088
1410	tristate "Maxim MAX98088/9 Low-Power, Stereo Audio Codec"
1411	depends on I2C
1412
1413config SND_SOC_MAX98090
1414	tristate "Maxim MAX98090 CODEC"
1415	depends on I2C
1416
1417config SND_SOC_MAX98095
1418	tristate
1419	depends on I2C
1420
1421config SND_SOC_MAX98357A
1422	tristate "Maxim MAX98357A CODEC"
1423
1424config SND_SOC_MAX98371
1425	tristate
1426	depends on I2C
1427
1428config SND_SOC_MAX98504
1429	tristate "Maxim MAX98504 speaker amplifier"
1430	depends on I2C
1431
1432config SND_SOC_MAX9867
1433	tristate "Maxim MAX9867 CODEC"
1434	depends on I2C
1435
1436config SND_SOC_MAX98925
1437	tristate
1438	depends on I2C
1439
1440config SND_SOC_MAX98926
1441	tristate
1442	depends on I2C
1443
1444config SND_SOC_MAX98927
1445	tristate "Maxim Integrated MAX98927 Speaker Amplifier"
1446	depends on I2C
1447
1448config SND_SOC_MAX98520
1449	tristate "Maxim Integrated MAX98520 Speaker Amplifier"
1450	depends on I2C
1451	help
1452	  Enable support for Maxim Integrated MAX98520 audio
1453	  amplifier, which implements a tripler charge pump
1454	  based boost converter and supports sample rates of
1455	  8KHz to 192KHz.
1456
1457	  To compile this driver as a module, choose M here.
1458
1459config SND_SOC_MAX98363
1460	tristate "Analog Devices MAX98363 Soundwire Speaker Amplifier"
1461	depends on SOUNDWIRE
1462	select REGMAP_SOUNDWIRE
1463	help
1464	  Enable support for Analog Devices MAX98363 Soundwire
1465	  amplifier. MAX98363 supports the MIPI SoundWire v1.2
1466	  compatible interface for audio and control data.
1467	  This amplifier does not support I2C and I2S.
1468
1469config SND_SOC_MAX98373
1470	tristate
1471
1472config SND_SOC_MAX98373_I2C
1473	tristate "Maxim Integrated MAX98373 Speaker Amplifier"
1474	depends on I2C
1475	select SND_SOC_MAX98373
1476
1477config SND_SOC_MAX98373_SDW
1478	tristate "Maxim Integrated MAX98373 Speaker Amplifier - SDW"
1479	depends on SOUNDWIRE
1480	select SND_SOC_MAX98373
1481	select REGMAP_SOUNDWIRE
1482	help
1483	  Enable support for Maxim Integrated MAX98373 Soundwire
1484	  amplifier. MAX98373 supports either the MIPI SoundWire
1485	  compatible interface for audio and control data, or
1486	  the PCM interface for audio data and a standard I2C
1487	  interface for control data. Select this if MAX98373 is
1488	  connected via soundwire.
1489
1490config SND_SOC_MAX98388
1491	tristate "Analog Devices MAX98388 Speaker Amplifier"
1492	depends on I2C
1493	help
1494	  Enable support for Analog Devices MAX98388 audio
1495	  amplifier. The device provides a PCM interface for
1496	  audio data and a standard I2C interface for control
1497	  data communication.
1498
1499config SND_SOC_MAX98390
1500	tristate "Maxim Integrated MAX98390 Speaker Amplifier"
1501	depends on I2C
1502
1503config SND_SOC_MAX98396
1504	tristate "Analog Devices MAX98396 Speaker Amplifier"
1505	depends on I2C
1506	help
1507	  Enable support for Analog Devices MAX98396 audio
1508	  amplifier. The device provides a PCM interface for
1509	  audio data and a standard I2C interface for control
1510	  data communication.
1511
1512config SND_SOC_MAX9850
1513	tristate
1514	depends on I2C
1515
1516config SND_SOC_MAX9860
1517	tristate "Maxim MAX9860 Mono Audio Voice Codec"
1518	depends on I2C
1519	select REGMAP_I2C
1520
1521config SND_SOC_MSM8916_WCD_ANALOG
1522	tristate "Qualcomm MSM8916 WCD Analog Codec"
1523	depends on SPMI || COMPILE_TEST
1524
1525config SND_SOC_MSM8916_WCD_DIGITAL
1526	tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
1527	select REGMAP_MMIO
1528
1529config SND_SOC_PCM1681
1530	tristate "Texas Instruments PCM1681 CODEC"
1531	depends on I2C
1532
1533config SND_SOC_PCM1754
1534	tristate "Texas Instruments PCM1754 CODEC"
1535	depends on GPIOLIB
1536
1537config SND_SOC_PCM1789
1538	tristate
1539
1540config SND_SOC_PCM1789_I2C
1541	tristate "Texas Instruments PCM1789 CODEC (I2C)"
1542	depends on I2C
1543	select SND_SOC_PCM1789
1544	help
1545	  Enable support for Texas Instruments PCM1789 CODEC.
1546	  Select this if your PCM1789 is connected via an I2C bus.
1547
1548config SND_SOC_PCM179X
1549	tristate
1550
1551config SND_SOC_PCM179X_I2C
1552	tristate "Texas Instruments PCM179X CODEC (I2C)"
1553	depends on I2C
1554	select SND_SOC_PCM179X
1555	help
1556	  Enable support for Texas Instruments PCM179x CODEC.
1557	  Select this if your PCM179x is connected via an I2C bus.
1558
1559config SND_SOC_PCM179X_SPI
1560	tristate "Texas Instruments PCM179X CODEC (SPI)"
1561	depends on SPI_MASTER
1562	select SND_SOC_PCM179X
1563	help
1564	  Enable support for Texas Instruments PCM179x CODEC.
1565	  Select this if your PCM179x is connected via an SPI bus.
1566
1567config SND_SOC_PCM186X
1568	tristate
1569
1570config SND_SOC_PCM186X_I2C
1571	tristate "Texas Instruments PCM186x CODECs - I2C"
1572	depends on I2C
1573	select SND_SOC_PCM186X
1574	select REGMAP_I2C
1575
1576config SND_SOC_PCM186X_SPI
1577	tristate "Texas Instruments PCM186x CODECs - SPI"
1578	depends on SPI_MASTER
1579	select SND_SOC_PCM186X
1580	select REGMAP_SPI
1581
1582config SND_SOC_PCM3008
1583	tristate
1584
1585config SND_SOC_PCM3060
1586	tristate
1587
1588config SND_SOC_PCM3060_I2C
1589	tristate "Texas Instruments PCM3060 CODEC - I2C"
1590	depends on I2C
1591	select SND_SOC_PCM3060
1592	select REGMAP_I2C
1593
1594config SND_SOC_PCM3060_SPI
1595	tristate "Texas Instruments PCM3060 CODEC - SPI"
1596	depends on SPI_MASTER
1597	select SND_SOC_PCM3060
1598	select REGMAP_SPI
1599
1600config SND_SOC_PCM3168A
1601	tristate
1602
1603config SND_SOC_PCM3168A_I2C
1604	tristate "Texas Instruments PCM3168A CODEC - I2C"
1605	depends on I2C
1606	select SND_SOC_PCM3168A
1607	select REGMAP_I2C
1608
1609config SND_SOC_PCM3168A_SPI
1610	tristate "Texas Instruments PCM3168A CODEC - SPI"
1611	depends on SPI_MASTER
1612	select SND_SOC_PCM3168A
1613	select REGMAP_SPI
1614
1615config SND_SOC_PCM5102A
1616	tristate "Texas Instruments PCM5102A CODEC"
1617
1618config SND_SOC_PCM512x
1619	tristate
1620
1621config SND_SOC_PCM512x_I2C
1622	tristate "Texas Instruments PCM512x CODECs - I2C"
1623	depends on I2C
1624	select SND_SOC_PCM512x
1625	select REGMAP_I2C
1626
1627config SND_SOC_PCM512x_SPI
1628	tristate "Texas Instruments PCM512x CODECs - SPI"
1629	depends on SPI_MASTER
1630	select SND_SOC_PCM512x
1631	select REGMAP_SPI
1632
1633config SND_SOC_PCM6240
1634	tristate "Texas Instruments PCM6240 Family Audio chips based on I2C"
1635	depends on I2C
1636	help
1637	  Enable support for Texas Instruments PCM6240 Family Audio chips.
1638	  Note the PCM6240 driver implements a flexible and configurable
1639	  setting for register and filter coefficients, to one, two or
1640	  even multiple PCM6240 Family Audio chips.
1641
1642config SND_SOC_PEB2466
1643	tristate "Infineon PEB2466 quad PCM codec"
1644	depends on SPI
1645	select REGMAP_SPI
1646	help
1647	  Enable support for the Infineon PEB2466 quad PCM codec,
1648	  also named SICOFI 4-uC.
1649
1650	  To compile this driver as a module, choose M here: the module
1651	  will be called snd-soc-peb2466.
1652
1653config SND_SOC_PM4125
1654	depends on SND_SOC_PM4125_SDW
1655	select SND_SOC_WCD_COMMON
1656	tristate
1657	depends on SOUNDWIRE || !SOUNDWIRE
1658
1659config SND_SOC_PM4125_SDW
1660	tristate "PM4125 audio codec - SDW"
1661	select SND_SOC_PM4125
1662	select SND_SOC_WCD_MBHC
1663	select REGMAP_IRQ
1664	select SND_SOC_WCD_COMMON
1665	depends on SOUNDWIRE
1666	select REGMAP_SOUNDWIRE
1667	help
1668	  The PMIC PM4125 has an in-built audio codec IC used with SoCs
1669	  like QCM2290, and it is connected via soundwire and SPMI.
1670	  To compile this codec driver say Y or m.
1671
1672config SND_SOC_RK3308
1673	tristate "Rockchip RK3308 audio CODEC"
1674	depends on ARM64 || COMPILE_TEST
1675	depends on ARCH_ROCKCHIP || COMPILE_TEST
1676	select REGMAP_MMIO
1677	help
1678	  This is a device driver for the audio codec embedded in the
1679	  Rockchip RK3308 SoC.
1680
1681	  It has 8 24-bit ADCs and 2 24-bit DACs. The maximum supported
1682	  sampling rate is 192 kHz.
1683
1684config SND_SOC_RK3328
1685	tristate "Rockchip RK3328 audio CODEC"
1686	depends on ARCH_ROCKCHIP || COMPILE_TEST
1687	select REGMAP_MMIO
1688
1689config SND_SOC_RK817
1690	tristate "Rockchip RK817 audio CODEC"
1691	depends on MFD_RK8XX || COMPILE_TEST
1692
1693config SND_SOC_RL6231
1694	tristate
1695	default y if SND_SOC_RT5514=y
1696	default y if SND_SOC_RT5616=y
1697	default y if SND_SOC_RT5640=y
1698	default y if SND_SOC_RT5645=y
1699	default y if SND_SOC_RT5651=y
1700	default y if SND_SOC_RT5659=y
1701	default y if SND_SOC_RT5660=y
1702	default y if SND_SOC_RT5663=y
1703	default y if SND_SOC_RT5665=y
1704	default y if SND_SOC_RT5668=y
1705	default y if SND_SOC_RT5670=y
1706	default y if SND_SOC_RT5677=y
1707	default y if SND_SOC_RT5682=y
1708	default y if SND_SOC_RT1011=y
1709	default y if SND_SOC_RT1015=y
1710	default y if SND_SOC_RT1015P=y
1711	default y if SND_SOC_RT1019=y
1712	default y if SND_SOC_RT1305=y
1713	default y if SND_SOC_RT1308=y
1714	default m if SND_SOC_RT5514=m
1715	default m if SND_SOC_RT5616=m
1716	default m if SND_SOC_RT5640=m
1717	default m if SND_SOC_RT5645=m
1718	default m if SND_SOC_RT5651=m
1719	default m if SND_SOC_RT5659=m
1720	default m if SND_SOC_RT5660=m
1721	default m if SND_SOC_RT5663=m
1722	default m if SND_SOC_RT5665=m
1723	default m if SND_SOC_RT5668=m
1724	default m if SND_SOC_RT5670=m
1725	default m if SND_SOC_RT5677=m
1726	default m if SND_SOC_RT5682=m
1727	default m if SND_SOC_RT1011=m
1728	default m if SND_SOC_RT1015=m
1729	default m if SND_SOC_RT1015P=m
1730	default m if SND_SOC_RT1019=m
1731	default m if SND_SOC_RT1305=m
1732	default m if SND_SOC_RT1308=m
1733
1734config SND_SOC_RT_SDW_COMMON
1735	tristate
1736	default y if SND_SOC_RT721_SDCA_SDW=y
1737	default m if SND_SOC_RT721_SDCA_SDW=m
1738
1739config SND_SOC_RL6347A
1740	tristate
1741	default y if SND_SOC_RT274=y
1742	default y if SND_SOC_RT286=y
1743	default y if SND_SOC_RT298=y
1744	default m if SND_SOC_RT274=m
1745	default m if SND_SOC_RT286=m
1746	default m if SND_SOC_RT298=m
1747
1748config SND_SOC_RT274
1749	tristate
1750	depends on I2C
1751
1752config SND_SOC_RT286
1753	tristate
1754	depends on I2C
1755
1756config SND_SOC_RT298
1757	tristate
1758	depends on I2C
1759
1760config SND_SOC_RT1011
1761	tristate
1762	depends on I2C
1763
1764config SND_SOC_RT1015
1765	tristate
1766	depends on I2C
1767
1768config SND_SOC_RT1015P
1769	tristate
1770
1771config SND_SOC_RT1016
1772	tristate
1773	depends on I2C
1774
1775config SND_SOC_RT1017_SDCA_SDW
1776	tristate "Realtek RT1017 SDCA Codec - SDW"
1777	depends on SOUNDWIRE
1778	select REGMAP_SOUNDWIRE
1779
1780config SND_SOC_RT1019
1781	tristate
1782	depends on I2C
1783
1784config SND_SOC_RT1305
1785	tristate
1786	depends on I2C
1787
1788config SND_SOC_RT1308
1789	tristate
1790	depends on I2C
1791
1792config SND_SOC_RT1308_SDW
1793	tristate "Realtek RT1308 Codec - SDW"
1794	depends on I2C && SOUNDWIRE
1795	select REGMAP_SOUNDWIRE
1796
1797config SND_SOC_RT1316_SDW
1798	tristate "Realtek RT1316 Codec - SDW"
1799	depends on SOUNDWIRE
1800	select REGMAP_SOUNDWIRE
1801
1802config SND_SOC_RT1318
1803	tristate
1804	depends on I2C
1805
1806config SND_SOC_RT1318_SDW
1807	tristate "Realtek RT1318 Codec - SDW"
1808	depends on SOUNDWIRE
1809	select REGMAP_SOUNDWIRE
1810
1811config SND_SOC_RT1320_SDW
1812	tristate "Realtek RT1320 Codec - SDW"
1813	depends on SOUNDWIRE
1814	select REGMAP_SOUNDWIRE
1815	select REGMAP_SOUNDWIRE_MBQ
1816
1817config SND_SOC_RT5514
1818	tristate
1819	depends on I2C
1820
1821config SND_SOC_RT5514_SPI
1822	tristate
1823	depends on SPI_MASTER
1824
1825config SND_SOC_RT5514_SPI_BUILTIN
1826	bool # force RT5514_SPI to be built-in to avoid link errors
1827	default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
1828
1829config SND_SOC_RT5575
1830	tristate "Realtek ALC5575 Codec - I2C"
1831	depends on I2C
1832
1833config SND_SOC_RT5575_SPI
1834	bool "Realtek ALC5575 Codec - SPI"
1835	depends on SPI_MASTER && I2C
1836	depends on SND_SOC_RT5575
1837	depends on SPI_MASTER=y || SND_SOC_RT5575=m
1838
1839config SND_SOC_RT5616
1840	tristate "Realtek RT5616 CODEC"
1841	depends on I2C
1842
1843config SND_SOC_RT5631
1844	tristate "Realtek ALC5631/RT5631 CODEC"
1845	depends on I2C
1846
1847config SND_SOC_RT5640
1848	tristate "Realtek RT5640/RT5639 Codec"
1849	depends on I2C
1850
1851config SND_SOC_RT5645
1852	tristate
1853	depends on I2C
1854
1855config SND_SOC_RT5651
1856	tristate
1857	depends on I2C
1858
1859config SND_SOC_RT5659
1860	tristate "Realtek RT5658/RT5659 Codec"
1861	depends on I2C
1862
1863config SND_SOC_RT5660
1864	tristate
1865	depends on I2C
1866
1867config SND_SOC_RT5663
1868	tristate
1869	depends on I2C
1870
1871config SND_SOC_RT5665
1872	tristate
1873	depends on I2C
1874
1875config SND_SOC_RT5668
1876	tristate
1877	depends on I2C
1878
1879config SND_SOC_RT5670
1880	tristate
1881	depends on I2C
1882
1883config SND_SOC_RT5677
1884	tristate
1885	depends on I2C
1886	select REGMAP_I2C
1887	select REGMAP_IRQ
1888
1889config SND_SOC_RT5677_SPI
1890	tristate
1891	default SND_SOC_RT5677 && SPI
1892
1893config SND_SOC_RT5682
1894	tristate
1895
1896config SND_SOC_RT5682_I2C
1897	tristate
1898	depends on I2C
1899	select SND_SOC_RT5682
1900
1901config SND_SOC_RT5682_SDW
1902	tristate "Realtek RT5682 Codec - SDW"
1903	depends on SOUNDWIRE
1904	select SND_SOC_RT5682
1905	select REGMAP_SOUNDWIRE
1906
1907config SND_SOC_RT5682S
1908	tristate
1909	depends on I2C
1910
1911config SND_SOC_RT700
1912	tristate
1913
1914config SND_SOC_RT700_SDW
1915	tristate "Realtek RT700 Codec - SDW"
1916	depends on SOUNDWIRE
1917	select SND_SOC_RT700
1918	select REGMAP_SOUNDWIRE
1919
1920config SND_SOC_RT711
1921	tristate
1922
1923config SND_SOC_RT711_SDW
1924	tristate "Realtek RT711 Codec - SDW"
1925	depends on SOUNDWIRE
1926	select SND_SOC_RT711
1927	select REGMAP_SOUNDWIRE
1928
1929config SND_SOC_RT711_SDCA_SDW
1930	tristate "Realtek RT711 SDCA Codec - SDW"
1931	depends on SOUNDWIRE
1932	select REGMAP_SOUNDWIRE
1933	select REGMAP_SOUNDWIRE_MBQ
1934
1935config SND_SOC_RT712_SDCA_SDW
1936	tristate "Realtek RT712 SDCA Codec - SDW"
1937	depends on SOUNDWIRE
1938	select REGMAP_SOUNDWIRE
1939	select REGMAP_SOUNDWIRE_MBQ
1940
1941config SND_SOC_RT712_SDCA_DMIC_SDW
1942	tristate "Realtek RT712 SDCA DMIC Codec - SDW"
1943	depends on SOUNDWIRE
1944	select REGMAP_SOUNDWIRE
1945	select REGMAP_SOUNDWIRE_MBQ
1946
1947config SND_SOC_RT721_SDCA_SDW
1948	tristate "Realtek RT721 SDCA Codec - SDW"
1949	depends on SOUNDWIRE
1950	select REGMAP_SOUNDWIRE
1951	select REGMAP_SOUNDWIRE_MBQ
1952
1953config SND_SOC_RT722_SDCA_SDW
1954	tristate "Realtek RT722 SDCA Codec - SDW"
1955	depends on SOUNDWIRE
1956	select REGMAP_SOUNDWIRE
1957	select REGMAP_SOUNDWIRE_MBQ
1958
1959config SND_SOC_RT715
1960	tristate
1961
1962config SND_SOC_RT715_SDW
1963	tristate "Realtek RT715 Codec - SDW"
1964	depends on SOUNDWIRE
1965	select SND_SOC_RT715
1966	select REGMAP_SOUNDWIRE
1967
1968config SND_SOC_RT715_SDCA_SDW
1969	tristate "Realtek RT715 SDCA Codec - SDW"
1970	depends on SOUNDWIRE
1971	select REGMAP_SOUNDWIRE
1972	select REGMAP_SOUNDWIRE_MBQ
1973
1974config SND_SOC_RT9120
1975	tristate "Richtek RT9120 Stereo Class-D Amplifier"
1976	depends on I2C
1977	select REGMAP_I2C
1978	help
1979	  Enable support for Richtek RT9120 20W, stereo, inductor-less,
1980	  high-efficiency Class-D audio amplifier.
1981
1982config SND_SOC_RT9123
1983	tristate "Richtek RT9123 Mono Class-D Amplifier"
1984	depends on I2C
1985	select REGMAP_I2C
1986	help
1987	  Enable support for the I2C control mode of Richtek RT9123 3.2W mono
1988	  Class-D audio amplifier.
1989
1990config SND_SOC_RT9123P
1991	tristate "Richtek RT9123P Mono Class-D Amplifier"
1992	help
1993	  Enable support for the HW control mode of Richtek RT9123P 3.2W mono
1994	  Class-D audio amplifier.
1995
1996config SND_SOC_RTQ9124
1997	tristate "Richtek RTQ9124 Mono Class-D Amplifier"
1998	depends on I2C
1999	select REGMAP
2000	help
2001	  Enable support for Richtek RTQ9124 1x30W digital input automotive
2002	  audio amplifier with current sense and real-time load diagnostics.
2003
2004config SND_SOC_RTQ9128
2005	tristate "Richtek RTQ9128 45W Digital Input Amplifier"
2006	depends on I2C
2007	select REGMAP
2008	help
2009	  Enable support for Richtek RTQ9128 digital input 4-channel
2010	  automotive audio amplifier.  It is a ultra-low output noise,
2011	  high-efficiency, four-channel class-D audio power amplifier
2012	  that can deliver over 87% power efficienty at 4x75W into 4Ohm,
2013	  25V supply in automotive applications.
2014
2015	  To compile this driver as a module, choose M here: the module
2016	  will be called snd-soc-rtq9128.
2017
2018config SND_SOC_SDW_MOCKUP
2019	tristate "SoundWire mockup codec"
2020	depends on EXPERT
2021	depends on SOUNDWIRE
2022	help
2023	  This option enables a SoundWire mockup codec that does not drive the
2024	  bus, take part in the command/command protocol or generate data on a
2025	  Source port.
2026	  This option is only intended to be used for tests on a device
2027	  with a connector, in combination with a bus analyzer, or to test new
2028	  topologies that differ from the actual hardware layout.
2029	  This mockup device could be totally virtual but could also be a
2030	  real physical one with one key restriction: it is not allowed by the
2031	  SoundWire specification to be configured via a sideband mechanism and
2032	  generate audio data for capture. However, nothing prevents such a
2033	  peripheral device from snooping the bus.
2034
2035#Freescale sgtl5000 codec
2036config SND_SOC_SGTL5000
2037	tristate "Freescale SGTL5000 CODEC"
2038	depends on I2C
2039
2040config SND_SOC_SI476X
2041	tristate
2042	depends on MFD_SI476X_CORE
2043
2044config SND_SOC_SIGMADSP
2045	tristate
2046	select CRC32
2047
2048config SND_SOC_SIGMADSP_I2C
2049	tristate
2050	select SND_SOC_SIGMADSP
2051
2052config SND_SOC_SIGMADSP_REGMAP
2053	tristate
2054	select SND_SOC_SIGMADSP
2055
2056config SND_SOC_SIMPLE_AMPLIFIER
2057	tristate "Simple Audio Amplifier"
2058
2059config SND_SOC_SIMPLE_MUX
2060	tristate "Simple Audio Mux"
2061	depends on GPIOLIB
2062
2063config SND_SOC_SMA1303
2064	tristate "Iron Device SMA1303 Audio Amplifier"
2065	depends on I2C
2066	help
2067	  Enable support for Iron Device SMA1303 Boosted Class-D amplifier
2068
2069config SND_SOC_SMA1307
2070	tristate "Iron Device SMA1307 Audio Amplifier"
2071	depends on I2C
2072	help
2073	  Enable support for Iron Device SMA1307 boosted digital speaker
2074	  amplifier with feedback-loop.
2075	  If you are using a system with an SMA1307 amplifier connected
2076	  via I2C, enable this option.
2077
2078config SND_SOC_SPDIF
2079	tristate "S/PDIF CODEC"
2080
2081config SND_SOC_SRC4XXX_I2C
2082	tristate "Texas Instruments SRC4XXX DIR/DIT and SRC codecs"
2083	depends on I2C
2084	select SND_SOC_SRC4XXX
2085	help
2086	  Enable support for the TI SRC4XXX family of codecs. These include the
2087	  scr4392 which has digital receivers, transmitters, and
2088	  a sample rate converter, including numerous ports.
2089
2090config SND_SOC_SRC4XXX
2091	tristate
2092
2093config SND_SOC_SSM2305
2094	tristate "Analog Devices SSM2305 Class-D Amplifier"
2095	help
2096	  Enable support for Analog Devices SSM2305 filterless
2097	  high-efficiency mono Class-D audio power amplifiers.
2098
2099config SND_SOC_SSM2518
2100	tristate "Analog Devices SSM2518 Class-D Amplifier"
2101	depends on I2C
2102
2103config SND_SOC_SSM2602
2104	tristate
2105
2106config SND_SOC_SSM2602_SPI
2107	tristate "Analog Devices SSM2602 CODEC - SPI"
2108	depends on SPI_MASTER
2109	select SND_SOC_SSM2602
2110	select REGMAP_SPI
2111
2112config SND_SOC_SSM2602_I2C
2113	tristate "Analog Devices SSM2602 CODEC - I2C"
2114	depends on I2C
2115	select SND_SOC_SSM2602
2116	select REGMAP_I2C
2117
2118config SND_SOC_SSM3515
2119	tristate "Analog Devices SSM3515 amplifier driver"
2120	select REGMAP_I2C
2121	depends on I2C
2122	depends on OF
2123
2124config SND_SOC_SSM4567
2125	tristate "Analog Devices ssm4567 amplifier driver support"
2126	depends on I2C
2127
2128config SND_SOC_STA32X
2129	tristate "STA326, STA328 and STA329 speaker amplifier"
2130	depends on I2C
2131	select REGMAP_I2C
2132
2133config SND_SOC_STA350
2134	tristate "STA350 speaker amplifier"
2135	depends on I2C
2136
2137config SND_SOC_STA529
2138	tristate
2139	depends on I2C
2140
2141config SND_SOC_STAC9766
2142	tristate
2143	depends on SND_SOC_AC97_BUS
2144	select REGMAP_AC97
2145
2146config SND_SOC_STI_SAS
2147	tristate "codec Audio support for STI SAS codec"
2148
2149config SND_SOC_TAC5XX2_SDW
2150	tristate "Texas Instruments TAC5XX2 SoundWire Smart Amplifier"
2151	depends on SOUNDWIRE
2152	depends on SND_SOC_SDCA
2153	help
2154	  This option enables support for Texas Instruments TAC5XX2 family
2155	  of SoundWire Smart Amplifiers. This includes TAC5572, TAC5672,
2156	  TAC5682 and TAS2883. To compile this driver as a module, choose
2157	  M here: the module will be called snd-soc-tac5xx2.
2158
2159config SND_SOC_TAS2552
2160	tristate "Texas Instruments TAS2552 Mono Audio amplifier"
2161	depends on I2C
2162
2163config SND_SOC_TAS2562
2164	tristate "Texas Instruments TAS2562 Mono Audio amplifier"
2165	depends on I2C
2166
2167config SND_SOC_TAS2764
2168	tristate "Texas Instruments TAS2764 Mono Audio amplifier"
2169	depends on I2C
2170
2171config SND_SOC_TAS2770
2172	tristate "Texas Instruments TAS2770 speaker amplifier"
2173	depends on I2C
2174
2175config SND_SOC_TAS2780
2176	tristate "Texas Instruments TAS2780 Mono Audio amplifier"
2177	depends on I2C
2178	help
2179	  Enable support for Texas Instruments TAS2780 high-efficiency
2180	  digital input mono Class-D audio power amplifiers.
2181
2182config SND_SOC_TAS2781_COMLIB
2183	tristate
2184
2185config SND_SOC_TAS2781_COMLIB_I2C
2186	depends on I2C
2187	select CRC8
2188	select REGMAP_I2C
2189	tristate
2190
2191config SND_SOC_TAS2781_FMWLIB
2192	select SND_SOC_TAS2781_COMLIB
2193	select CRC8
2194	tristate
2195	default n
2196
2197config SND_SOC_TAS2781_I2C
2198	tristate "Texas Instruments TAS2781 speaker amplifier based on I2C"
2199	depends on I2C
2200	select SND_SOC_TAS2781_COMLIB_I2C
2201	select SND_SOC_TAS2781_FMWLIB
2202	help
2203	  Enable support for Texas Instruments TAS2781 Smart Amplifier
2204	  Digital input mono Class-D and DSP-inside audio power amplifiers.
2205	  Note the TAS2781 driver implements a flexible and configurable
2206	  algo coefficient setting, for one, two or even multiple TAS2781
2207	  chips.
2208
2209config SND_SOC_TAS2783_SDW
2210	tristate "Texas Instruments TAS2783 speaker amplifier (sdw)"
2211	depends on SOUNDWIRE
2212	depends on SND_SOC_SDCA
2213	depends on EFI
2214	select REGMAP_SOUNDWIRE
2215	select REGMAP_SOUNDWIRE_MBQ
2216	select CRC32
2217	help
2218	  Enable support for Texas Instruments TAS2783A Digital input
2219	  mono Class-D and DSP-inside audio power amplifiers. TAS2783
2220	  driver implements a flexible and configurable algorithm
2221	  cofficient setting, for one, two or multiple TAS2783 chips.
2222
2223config SND_SOC_TAS5086
2224	tristate "Texas Instruments TAS5086 speaker amplifier"
2225	depends on I2C
2226
2227config SND_SOC_TAS571X
2228	tristate "Texas Instruments TAS571x power amplifiers"
2229	depends on I2C
2230	help
2231	  Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
2232	  TAS5719 and TAS5721 power amplifiers
2233
2234config SND_SOC_TAS5720
2235	tristate "Texas Instruments TAS5720 Mono Audio amplifier"
2236	depends on I2C
2237	help
2238	  Enable support for Texas Instruments TAS5720L/M high-efficiency mono
2239	  Class-D audio power amplifiers.
2240
2241config SND_SOC_TAS5805M
2242	tristate "Texas Instruments TAS5805M speaker amplifier"
2243	depends on I2C
2244	help
2245	  Enable support for Texas Instruments TAS5805M Class-D
2246	  amplifiers. This is a speaker amplifier with an integrated
2247	  DSP. DSP configuration for each instance needs to be supplied
2248	  via a device-tree attribute.
2249
2250config SND_SOC_TAS6424
2251	tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
2252	depends on I2C
2253	help
2254	  Enable support for Texas Instruments TAS6424 high-efficiency
2255	  digital input quad-channel Class-D audio power amplifiers.
2256
2257config SND_SOC_TAS675X
2258	tristate "Texas Instruments TAS675x Quad-Channel Audio Amplifier"
2259	depends on I2C
2260	select REGMAP_I2C
2261	help
2262	  Enable support for Texas Instruments TAS675x quad-channel Class-D
2263	  audio power amplifiers (TAS6754, TAS67524). The devices support I2S
2264	  and TDM interfaces with real-time voltage and current sense feedback
2265	  via SDOUT, and provide DC/AC/real-time load diagnostics for speaker
2266	  monitoring.
2267
2268config SND_SOC_TDA7419
2269	tristate "ST TDA7419 audio processor"
2270	depends on I2C
2271	select REGMAP_I2C
2272
2273config SND_SOC_TFA9879
2274	tristate "NXP Semiconductors TFA9879 amplifier"
2275	depends on I2C
2276
2277config SND_SOC_TFA989X
2278	tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
2279	depends on I2C
2280	select REGMAP_I2C
2281	help
2282	  Enable support for NXP (now Goodix) TFA989X (TFA1 family) speaker
2283	  amplifiers, e.g. TFA9895.
2284	  Note that the driver currently bypasses the built-in "CoolFlux DSP"
2285	  and does not support (hardware) volume control.
2286
2287config SND_SOC_TLV320ADC3XXX
2288	tristate "Texas Instruments TLV320ADC3001/3101 audio ADC"
2289	depends on I2C
2290	depends on GPIOLIB
2291	help
2292	 Enable support for Texas Instruments TLV320ADC3001 and TLV320ADC3101
2293	 ADCs.
2294
2295config SND_SOC_TLV320AIC23
2296	tristate
2297
2298config SND_SOC_TLV320AIC23_I2C
2299	tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
2300	depends on I2C
2301	select SND_SOC_TLV320AIC23
2302
2303config SND_SOC_TLV320AIC23_SPI
2304	tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
2305	depends on SPI_MASTER
2306	select SND_SOC_TLV320AIC23
2307
2308config SND_SOC_TLV320AIC26
2309	tristate
2310	depends on SPI
2311
2312config SND_SOC_TLV320AIC31XX
2313	tristate "Texas Instruments TLV320AIC31xx CODECs"
2314	depends on I2C
2315	select REGMAP_I2C
2316
2317config SND_SOC_TLV320AIC32X4
2318	tristate
2319	depends on COMMON_CLK
2320
2321config SND_SOC_TLV320AIC32X4_I2C
2322	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
2323	depends on I2C
2324	depends on COMMON_CLK
2325	select SND_SOC_TLV320AIC32X4
2326
2327config SND_SOC_TLV320AIC32X4_SPI
2328	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
2329	depends on SPI_MASTER
2330	depends on COMMON_CLK
2331	select SND_SOC_TLV320AIC32X4
2332
2333config SND_SOC_TLV320AIC3X
2334	tristate
2335
2336config SND_SOC_TLV320AIC3X_I2C
2337	tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
2338	depends on I2C
2339	select SND_SOC_TLV320AIC3X
2340	select REGMAP_I2C
2341
2342config SND_SOC_TLV320AIC3X_SPI
2343	tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
2344	depends on SPI_MASTER
2345	select SND_SOC_TLV320AIC3X
2346	select REGMAP_SPI
2347
2348config SND_SOC_TLV320DAC33
2349	tristate
2350	depends on I2C
2351	depends on GPIOLIB_LEGACY
2352
2353config SND_SOC_TLV320ADCX140
2354	tristate "Texas Instruments TLV320ADCX140 CODEC family"
2355	depends on I2C
2356	select REGMAP_I2C
2357	help
2358	  Add support for Texas Instruments tlv320adc3140, tlv320adc5140 and
2359	  tlv320adc6140 quad channel ADCs.
2360
2361config SND_SOC_TS3A227E
2362	tristate "TI Headset/Mic detect and keypress chip"
2363	depends on I2C
2364
2365config SND_SOC_TSCS42XX
2366	tristate "Tempo Semiconductor TSCS42xx CODEC"
2367	depends on I2C
2368	select REGMAP_I2C
2369	help
2370	  Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
2371
2372config SND_SOC_TSCS454
2373	tristate "Tempo Semiconductor TSCS454 CODEC"
2374	depends on I2C
2375	select REGMAP_I2C
2376	help
2377	  Add support for Tempo Semiconductor's TSCS454 audio CODEC.
2378
2379config SND_SOC_TWL4030
2380	tristate
2381	depends on TWL4030_CORE
2382	select MFD_TWL4030_AUDIO
2383
2384config SND_SOC_TWL6040
2385	tristate
2386	depends on TWL6040_CORE
2387
2388config SND_SOC_UDA1334
2389	tristate "NXP UDA1334 DAC"
2390	depends on GPIOLIB
2391	help
2392	  The UDA1334 is an NXP audio codec, supports the I2S-bus data format
2393	  and has basic features such as de-emphasis (at 44.1 kHz sampling
2394	  rate) and mute.
2395
2396config SND_SOC_UDA1342
2397	tristate "NXP UDA1342 CODEC"
2398	depends on I2C
2399	help
2400	  The UDA1342 is an NXP audio codec, support 2x Stereo audio ADC (4x PGA
2401	  mic inputs), stereo audio DAC, with basic audio processing.
2402
2403config SND_SOC_UDA1380
2404	tristate "Philips UDA1380 CODEC"
2405	depends on I2C
2406	help
2407	  The UDA1380 codec is used in the HTC Magician and on a number of
2408	  Samsung reference boards, as well as the LPC32xx series.
2409
2410config SND_SOC_WCD_CLASSH
2411	tristate
2412
2413config SND_SOC_WCD_COMMON
2414	tristate
2415
2416config SND_SOC_WCD9335
2417	tristate "WCD9335 Codec"
2418	depends on SLIMBUS
2419	select REGMAP_SLIMBUS
2420	select REGMAP_IRQ
2421	select SND_SOC_WCD_CLASSH
2422	help
2423	  The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
2424	  Qualcomm Technologies, Inc. (QTI) multimedia solutions,
2425	  including the MSM8996, MSM8976, and MSM8956 chipsets.
2426
2427config SND_SOC_WCD_MBHC
2428	tristate
2429
2430config SND_SOC_WCD934X
2431	tristate "WCD9340/WCD9341 Codec"
2432	depends on COMMON_CLK
2433	depends on SLIMBUS
2434	depends on SOUNDWIRE || !SOUNDWIRE
2435	select REGMAP_IRQ
2436	select REGMAP_SLIMBUS
2437	select SND_SOC_WCD_CLASSH
2438	select SND_SOC_WCD_COMMON
2439	select SND_SOC_WCD_MBHC
2440	depends on MFD_WCD934X || COMPILE_TEST
2441	help
2442	  The WCD9340/9341 is a audio codec IC Integrated in
2443	  Qualcomm SoCs like SDM845.
2444
2445config SND_SOC_WCD937X
2446	depends on SND_SOC_WCD937X_SDW
2447	tristate
2448	depends on SOUNDWIRE || !SOUNDWIRE
2449	select SND_SOC_WCD_CLASSH
2450	select SND_SOC_WCD_COMMON
2451
2452config SND_SOC_WCD937X_SDW
2453	tristate "WCD9370/WCD9375 Codec - SDW"
2454	select SND_SOC_WCD937X
2455	select SND_SOC_WCD_MBHC
2456	select REGMAP_IRQ
2457	depends on SOUNDWIRE
2458	select REGMAP_SOUNDWIRE
2459	help
2460	  The WCD9370/9375 is an audio codec IC used with SoCs
2461	  like SC7280 or QCM6490 chipsets, and it connected
2462	  via soundwire.
2463	  To compile this codec driver say Y or m.
2464
2465config SND_SOC_WCD938X
2466	depends on SND_SOC_WCD938X_SDW
2467	tristate
2468	depends on SOUNDWIRE || !SOUNDWIRE
2469	select SND_SOC_WCD_CLASSH
2470	select SND_SOC_WCD_COMMON
2471	select MULTIPLEXER
2472
2473config SND_SOC_WCD938X_SDW
2474	tristate "WCD9380/WCD9385 Codec - SDW"
2475	select SND_SOC_WCD938X
2476	select SND_SOC_WCD_MBHC
2477	select REGMAP_IRQ
2478	depends on SOUNDWIRE
2479	select REGMAP_SOUNDWIRE
2480	help
2481	  The WCD9380/9385 is a audio codec IC Integrated in
2482	  Qualcomm SoCs like SM8250.
2483
2484config SND_SOC_WCD939X
2485	depends on SND_SOC_WCD939X_SDW
2486	tristate
2487	depends on SOUNDWIRE || !SOUNDWIRE
2488	depends on TYPEC || !TYPEC
2489	select SND_SOC_WCD_CLASSH
2490	select SND_SOC_WCD_COMMON
2491
2492config SND_SOC_WCD939X_SDW
2493	tristate "WCD9390/WCD9395 Codec - SDW"
2494	depends on TYPEC || !TYPEC
2495	select SND_SOC_WCD939X
2496	select SND_SOC_WCD_MBHC
2497	select REGMAP_IRQ
2498	depends on SOUNDWIRE
2499	select REGMAP_SOUNDWIRE
2500	help
2501	  The WCD9390/9395 is a audio codec IC Integrated in
2502	  Qualcomm SoCs like SM8650.
2503
2504config SND_SOC_WM0010
2505	tristate
2506	depends on SPI_MASTER
2507
2508config SND_SOC_WM1250_EV1
2509	tristate
2510	depends on I2C
2511
2512config SND_SOC_WM2000
2513	tristate
2514	depends on I2C
2515
2516config SND_SOC_WM2200
2517	tristate
2518	depends on I2C
2519	select SND_SOC_WM_ADSP
2520
2521config SND_SOC_WM5100
2522	tristate
2523	depends on I2C
2524
2525config SND_SOC_WM5102
2526	tristate
2527	depends on MFD_WM5102 && MFD_ARIZONA
2528	select SND_SOC_WM_ADSP
2529
2530config SND_SOC_WM5110
2531	tristate
2532	depends on MFD_WM5110 && MFD_ARIZONA
2533	select SND_SOC_WM_ADSP
2534
2535config SND_SOC_WM8350
2536	tristate
2537	depends on MFD_WM8350
2538
2539config SND_SOC_WM8400
2540	tristate
2541	# FIXME nothing selects SND_SOC_WM8400??
2542	depends on MFD_WM8400
2543
2544config SND_SOC_WM8510
2545	tristate "Wolfson Microelectronics WM8510 CODEC"
2546	depends on SND_SOC_I2C_AND_SPI
2547
2548config SND_SOC_WM8523
2549	tristate "Wolfson Microelectronics WM8523 DAC"
2550	depends on I2C
2551
2552config SND_SOC_WM8524
2553	tristate "Wolfson Microelectronics WM8524 DAC"
2554	depends on GPIOLIB
2555
2556config SND_SOC_WM8580
2557	tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
2558	depends on I2C
2559
2560config SND_SOC_WM8711
2561	tristate "Wolfson Microelectronics WM8711 CODEC"
2562	depends on SND_SOC_I2C_AND_SPI
2563
2564config SND_SOC_WM8727
2565	tristate
2566
2567config SND_SOC_WM8728
2568	tristate "Wolfson Microelectronics WM8728 DAC"
2569	depends on SND_SOC_I2C_AND_SPI
2570
2571config SND_SOC_WM8731
2572	tristate
2573
2574config SND_SOC_WM8731_I2C
2575	tristate "Wolfson Microelectronics WM8731 CODEC with I2C"
2576	depends on I2C
2577	select REGMAP
2578	select SND_SOC_WM8731
2579
2580config SND_SOC_WM8731_SPI
2581	tristate "Wolfson Microelectronics WM8731 CODEC with SPI"
2582	depends on SPI
2583	select REGMAP
2584	select SND_SOC_WM8731
2585
2586config SND_SOC_WM8737
2587	tristate "Wolfson Microelectronics WM8737 ADC"
2588	depends on SND_SOC_I2C_AND_SPI
2589
2590config SND_SOC_WM8741
2591	tristate "Wolfson Microelectronics WM8741 DAC"
2592	depends on SND_SOC_I2C_AND_SPI
2593
2594config SND_SOC_WM8750
2595	tristate "Wolfson Microelectronics WM8750 CODEC"
2596	depends on SND_SOC_I2C_AND_SPI
2597
2598config SND_SOC_WM8753
2599	tristate "Wolfson Microelectronics WM8753 CODEC"
2600	depends on SND_SOC_I2C_AND_SPI
2601
2602config SND_SOC_WM8770
2603	tristate "Wolfson Microelectronics WM8770 CODEC"
2604	depends on SPI_MASTER
2605
2606config SND_SOC_WM8776
2607	tristate "Wolfson Microelectronics WM8776 CODEC"
2608	depends on SND_SOC_I2C_AND_SPI
2609
2610config SND_SOC_WM8782
2611	tristate "Wolfson Microelectronics WM8782 ADC"
2612
2613config SND_SOC_WM8804
2614	tristate
2615
2616config SND_SOC_WM8804_I2C
2617	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
2618	depends on I2C
2619	select SND_SOC_WM8804
2620	select REGMAP_I2C
2621
2622config SND_SOC_WM8804_SPI
2623	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
2624	depends on SPI_MASTER
2625	select SND_SOC_WM8804
2626	select REGMAP_SPI
2627
2628config SND_SOC_WM8900
2629	tristate
2630	depends on SND_SOC_I2C_AND_SPI
2631
2632config SND_SOC_WM8903
2633	tristate "Wolfson Microelectronics WM8903 CODEC"
2634	depends on I2C
2635
2636config SND_SOC_WM8904
2637	tristate "Wolfson Microelectronics WM8904 CODEC"
2638	depends on I2C
2639
2640config SND_SOC_WM8940
2641	tristate "Wolfson Microelectronics WM8940 codec"
2642	depends on I2C
2643
2644config SND_SOC_WM8955
2645	tristate
2646	depends on I2C
2647
2648config SND_SOC_WM8960
2649	tristate "Wolfson Microelectronics WM8960 CODEC"
2650	depends on I2C
2651
2652config SND_SOC_WM8961
2653	tristate "Wolfson Microelectronics WM8961 CODEC"
2654	depends on I2C
2655
2656config SND_SOC_WM8962
2657	tristate "Wolfson Microelectronics WM8962 CODEC"
2658	depends on I2C && INPUT
2659
2660config SND_SOC_WM8971
2661	tristate
2662	depends on I2C
2663
2664config SND_SOC_WM8974
2665	tristate "Wolfson Microelectronics WM8974 codec"
2666	depends on I2C
2667
2668config SND_SOC_WM8978
2669	tristate "Wolfson Microelectronics WM8978 codec"
2670	depends on I2C
2671
2672config SND_SOC_WM8983
2673	tristate
2674	depends on SND_SOC_I2C_AND_SPI
2675
2676config SND_SOC_WM8985
2677	tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
2678	depends on SND_SOC_I2C_AND_SPI
2679
2680config SND_SOC_WM8988
2681	tristate
2682	depends on SND_SOC_I2C_AND_SPI
2683
2684config SND_SOC_WM8990
2685	tristate
2686	depends on I2C
2687
2688config SND_SOC_WM8991
2689	tristate
2690	depends on I2C
2691
2692config SND_SOC_WM8993
2693	tristate
2694	depends on I2C
2695
2696config SND_SOC_WM8994
2697	tristate
2698	depends on MFD_WM8994
2699
2700config SND_SOC_WM8995
2701	tristate
2702	depends on SND_SOC_I2C_AND_SPI
2703
2704config SND_SOC_WM8996
2705	tristate
2706	depends on I2C
2707
2708config SND_SOC_WM8997
2709	tristate
2710	depends on MFD_WM8997 && MFD_ARIZONA
2711
2712config SND_SOC_WM8998
2713	tristate "Wolfson Microelectronics WM8998 codec driver"
2714	depends on MFD_WM8998 && MFD_ARIZONA
2715
2716config SND_SOC_WM9081
2717	tristate
2718	depends on I2C
2719
2720config SND_SOC_WM9090
2721	tristate
2722	depends on I2C
2723
2724config SND_SOC_WM9705
2725	tristate
2726	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2727	select REGMAP_AC97
2728	select AC97_BUS_COMPAT if AC97_BUS_NEW
2729
2730config SND_SOC_WM9712
2731	tristate
2732	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2733	select REGMAP_AC97
2734	select AC97_BUS_COMPAT if AC97_BUS_NEW
2735
2736config SND_SOC_WM9713
2737	tristate
2738	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2739	select REGMAP_AC97
2740	select AC97_BUS_COMPAT if AC97_BUS_NEW
2741
2742config SND_SOC_WSA881X
2743	tristate "WSA881X Codec"
2744	depends on SOUNDWIRE
2745	select REGMAP_SOUNDWIRE
2746	help
2747	  This enables support for Qualcomm WSA8810/WSA8815 Class-D
2748	  Smart Speaker Amplifier.
2749
2750config SND_SOC_WSA883X
2751	tristate "WSA883X Codec"
2752	depends on SOUNDWIRE
2753	select REGMAP_SOUNDWIRE
2754	help
2755	  This enables support for Qualcomm WSA8830/WSA8835 Class-D
2756	  Smart Speaker Amplifier.
2757
2758config SND_SOC_WSA884X
2759	tristate "WSA884X Codec"
2760	depends on SOUNDWIRE
2761	select REGMAP_SOUNDWIRE
2762	help
2763	  This enables support for Qualcomm WSA8840/WSA8845/WSA8845H Class-D
2764	  Smart Speaker Amplifier.
2765
2766config SND_SOC_ZL38060
2767	tristate "Microsemi ZL38060 Connected Home Audio Processor"
2768	depends on SPI_MASTER
2769	depends on GPIOLIB
2770	select REGMAP
2771	help
2772	  Support for ZL38060 Connected Home Audio Processor from Microsemi,
2773	  which consists of a Digital Signal Processor (DSP), several Digital
2774	  Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
2775
2776# Amp
2777config SND_SOC_LM4857
2778	tristate
2779	depends on I2C
2780
2781config SND_SOC_MAX9759
2782	tristate "Maxim MAX9759 speaker Amplifier"
2783	depends on GPIOLIB
2784
2785config SND_SOC_MAX9768
2786	tristate
2787	depends on I2C
2788
2789config SND_SOC_MAX9877
2790	tristate
2791	depends on I2C
2792
2793config SND_SOC_MC13783
2794	tristate
2795	depends on MFD_MC13XXX
2796
2797config SND_SOC_ML26124
2798	tristate
2799	depends on I2C
2800
2801config SND_SOC_MT6351
2802	tristate "MediaTek MT6351 Codec"
2803
2804config SND_SOC_MT6357
2805	tristate "MediaTek MT6357 Codec"
2806	help
2807	  Enable support for the platform which uses MT6357 as
2808	  external codec device.
2809
2810config SND_SOC_MT6358
2811	tristate "MediaTek MT6358 Codec"
2812	help
2813	  Enable support for the platform which uses MT6358 as
2814	  external codec device.
2815
2816config SND_SOC_MT6359
2817	tristate "MediaTek MT6359 Codec"
2818	depends on MTK_PMIC_WRAP
2819	help
2820	  Enable support for the platform which uses MT6359 as
2821	  external codec device.
2822
2823config SND_SOC_MT6359_ACCDET
2824	tristate "MediaTek MT6359 ACCDET driver"
2825	depends on MTK_PMIC_WRAP
2826	help
2827	  ACCDET means Accessory Detection technology, MediaTek develop it
2828	  for ASoC codec soc-jack detection mechanism.
2829	  Select N if you don't have jack on board.
2830
2831config SND_SOC_MT6660
2832	tristate "Mediatek MT6660 Speaker Amplifier"
2833	depends on I2C
2834	help
2835	  MediaTek MT6660 is a smart power amplifier which contain
2836	  speaker protection, multi-band DRC, equalizer functions.
2837	  Select N if you don't have MT6660 on board.
2838	  Select M to build this as module.
2839
2840config SND_SOC_NAU8315
2841	tristate "Nuvoton Technology Corporation NAU8315 CODEC"
2842
2843config SND_SOC_NAU8325
2844	tristate "Nuvoton Technology Corporation NAU8325 CODEC"
2845	depends on I2C
2846
2847config SND_SOC_NAU8540
2848	tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
2849	depends on I2C
2850
2851config SND_SOC_NAU8810
2852	tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
2853	depends on I2C
2854
2855config SND_SOC_NAU8821
2856	tristate "Nuvoton Technology Corporation NAU88L21 CODEC"
2857	depends on I2C
2858
2859config SND_SOC_NAU8822
2860	tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
2861	depends on I2C
2862
2863config SND_SOC_NAU8824
2864	tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
2865	depends on I2C
2866
2867config SND_SOC_NAU8825
2868	tristate
2869	depends on I2C
2870
2871config SND_SOC_NTPFW
2872	tristate
2873
2874config SND_SOC_NTP8918
2875	select SND_SOC_NTPFW
2876	tristate "NeoFidelity NTP8918 amplifier"
2877	depends on I2C
2878
2879config SND_SOC_NTP8835
2880	select SND_SOC_NTPFW
2881	tristate "NeoFidelity NTP8835 and NTP8835C amplifiers"
2882	depends on I2C
2883
2884config SND_SOC_TPA6130A2
2885	tristate "Texas Instruments TPA6130A2 headphone amplifier"
2886	depends on I2C
2887
2888config SND_SOC_LPASS_MACRO_COMMON
2889        tristate
2890
2891config SND_SOC_LPASS_WSA_MACRO
2892	depends on COMMON_CLK
2893	select REGMAP_MMIO
2894	select SND_SOC_LPASS_MACRO_COMMON
2895	tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
2896
2897config SND_SOC_LPASS_VA_MACRO
2898	depends on COMMON_CLK
2899	select REGMAP_MMIO
2900	select SND_SOC_LPASS_MACRO_COMMON
2901	tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
2902
2903config SND_SOC_LPASS_RX_MACRO
2904	depends on COMMON_CLK
2905	select REGMAP_MMIO
2906	select SND_SOC_LPASS_MACRO_COMMON
2907	tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
2908
2909config SND_SOC_LPASS_TX_MACRO
2910	depends on COMMON_CLK
2911	select REGMAP_MMIO
2912	select SND_SOC_LPASS_MACRO_COMMON
2913	tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
2914
2915endmenu
2916