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