xref: /linux/sound/soc/codecs/Kconfig (revision fab183d632628381b466a41479489541ac0e29a0)
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	select REGMAP_SOUNDWIRE_MBQ
2178	help
2179	  This option enables support for Texas Instruments TAC5XX2 family
2180	  of SoundWire Smart Amplifiers. This includes TAC5572, TAC5672,
2181	  TAC5682 and TAS2883. To compile this driver as a module, choose
2182	  M here: the module will be called snd-soc-tac5xx2.
2183
2184config SND_SOC_TAS2552
2185	tristate "Texas Instruments TAS2552 Mono Audio amplifier"
2186	depends on I2C
2187
2188config SND_SOC_TAS2562
2189	tristate "Texas Instruments TAS2562 Mono Audio amplifier"
2190	depends on I2C
2191
2192config SND_SOC_TAS2764
2193	tristate "Texas Instruments TAS2764 Mono Audio amplifier"
2194	depends on I2C
2195
2196config SND_SOC_TAS2770
2197	tristate "Texas Instruments TAS2770 speaker amplifier"
2198	depends on I2C
2199
2200config SND_SOC_TAS2780
2201	tristate "Texas Instruments TAS2780 Mono Audio amplifier"
2202	depends on I2C
2203	help
2204	  Enable support for Texas Instruments TAS2780 high-efficiency
2205	  digital input mono Class-D audio power amplifiers.
2206
2207config SND_SOC_TAS2781_COMLIB
2208	tristate
2209
2210config SND_SOC_TAS2781_COMLIB_I2C
2211	depends on I2C
2212	select CRC8
2213	select REGMAP_I2C
2214	tristate
2215
2216config SND_SOC_TAS2781_FMWLIB
2217	select SND_SOC_TAS2781_COMLIB
2218	select CRC8
2219	tristate
2220	default n
2221
2222config SND_SOC_TAS2781_I2C
2223	tristate "Texas Instruments TAS2781 speaker amplifier based on I2C"
2224	depends on I2C
2225	select SND_SOC_TAS2781_COMLIB_I2C
2226	select SND_SOC_TAS2781_FMWLIB
2227	help
2228	  Enable support for Texas Instruments TAS2781 Smart Amplifier
2229	  Digital input mono Class-D and DSP-inside audio power amplifiers.
2230	  Note the TAS2781 driver implements a flexible and configurable
2231	  algo coefficient setting, for one, two or even multiple TAS2781
2232	  chips.
2233
2234config SND_SOC_TAS2783_SDW
2235	tristate "Texas Instruments TAS2783 speaker amplifier (sdw)"
2236	depends on SOUNDWIRE
2237	depends on SND_SOC_SDCA
2238	depends on EFI
2239	select REGMAP_SOUNDWIRE
2240	select REGMAP_SOUNDWIRE_MBQ
2241	select CRC32
2242	help
2243	  Enable support for Texas Instruments TAS2783A Digital input
2244	  mono Class-D and DSP-inside audio power amplifiers. TAS2783
2245	  driver implements a flexible and configurable algorithm
2246	  cofficient setting, for one, two or multiple TAS2783 chips.
2247
2248config SND_SOC_TAS5086
2249	tristate "Texas Instruments TAS5086 speaker amplifier"
2250	depends on I2C
2251
2252config SND_SOC_TAS571X
2253	tristate "Texas Instruments TAS571x power amplifiers"
2254	depends on I2C
2255	help
2256	  Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
2257	  TAS5719 and TAS5721 power amplifiers
2258
2259config SND_SOC_TAS5720
2260	tristate "Texas Instruments TAS5720 Mono Audio amplifier"
2261	depends on I2C
2262	help
2263	  Enable support for Texas Instruments TAS5720L/M high-efficiency mono
2264	  Class-D audio power amplifiers.
2265
2266config SND_SOC_TAS5805M
2267	tristate "Texas Instruments TAS5805M speaker amplifier"
2268	depends on I2C
2269	help
2270	  Enable support for Texas Instruments TAS5805M Class-D
2271	  amplifiers. This is a speaker amplifier with an integrated
2272	  DSP. DSP configuration for each instance needs to be supplied
2273	  via a device-tree attribute.
2274
2275config SND_SOC_TAS6424
2276	tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
2277	depends on I2C
2278	help
2279	  Enable support for Texas Instruments TAS6424 high-efficiency
2280	  digital input quad-channel Class-D audio power amplifiers.
2281
2282config SND_SOC_TAS675X
2283	tristate "Texas Instruments TAS675x Quad-Channel Audio Amplifier"
2284	depends on I2C
2285	select REGMAP_I2C
2286	help
2287	  Enable support for Texas Instruments TAS675x quad-channel Class-D
2288	  audio power amplifiers (TAS6754, TAS67524). The devices support I2S
2289	  and TDM interfaces with real-time voltage and current sense feedback
2290	  via SDOUT, and provide DC/AC/real-time load diagnostics for speaker
2291	  monitoring.
2292
2293config SND_SOC_TDA7419
2294	tristate "ST TDA7419 audio processor"
2295	depends on I2C
2296	select REGMAP_I2C
2297
2298config SND_SOC_TFA9879
2299	tristate "NXP Semiconductors TFA9879 amplifier"
2300	depends on I2C
2301
2302config SND_SOC_TFA989X
2303	tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
2304	depends on I2C
2305	select REGMAP_I2C
2306	help
2307	  Enable support for NXP (now Goodix) TFA989X (TFA1 family) speaker
2308	  amplifiers, e.g. TFA9895.
2309	  Note that the driver currently bypasses the built-in "CoolFlux DSP"
2310	  and does not support (hardware) volume control.
2311
2312config SND_SOC_TLV320ADC3XXX
2313	tristate "Texas Instruments TLV320ADC3001/3101 audio ADC"
2314	depends on I2C
2315	depends on GPIOLIB
2316	help
2317	  Enable support for Texas Instruments TLV320ADC3001 and TLV320ADC3101
2318	  ADCs.
2319
2320config SND_SOC_TLV320AIC23
2321	tristate
2322
2323config SND_SOC_TLV320AIC23_I2C
2324	tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
2325	depends on I2C
2326	select SND_SOC_TLV320AIC23
2327
2328config SND_SOC_TLV320AIC23_SPI
2329	tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
2330	depends on SPI_MASTER
2331	select SND_SOC_TLV320AIC23
2332
2333config SND_SOC_TLV320AIC26
2334	tristate
2335	depends on SPI
2336
2337config SND_SOC_TLV320AIC31XX
2338	tristate "Texas Instruments TLV320AIC31xx CODECs"
2339	depends on I2C
2340	select REGMAP_I2C
2341
2342config SND_SOC_TLV320AIC32X4
2343	tristate
2344	depends on COMMON_CLK
2345
2346config SND_SOC_TLV320AIC32X4_I2C
2347	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
2348	depends on I2C
2349	depends on COMMON_CLK
2350	select SND_SOC_TLV320AIC32X4
2351
2352config SND_SOC_TLV320AIC32X4_SPI
2353	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
2354	depends on SPI_MASTER
2355	depends on COMMON_CLK
2356	select SND_SOC_TLV320AIC32X4
2357
2358config SND_SOC_TLV320AIC3X
2359	tristate
2360
2361config SND_SOC_TLV320AIC3X_I2C
2362	tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
2363	depends on I2C
2364	select SND_SOC_TLV320AIC3X
2365	select REGMAP_I2C
2366
2367config SND_SOC_TLV320AIC3X_SPI
2368	tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
2369	depends on SPI_MASTER
2370	select SND_SOC_TLV320AIC3X
2371	select REGMAP_SPI
2372
2373config SND_SOC_TLV320DAC33
2374	tristate
2375	depends on I2C
2376	depends on GPIOLIB_LEGACY
2377
2378config SND_SOC_TLV320ADCX140
2379	tristate "Texas Instruments TLV320ADCX140 CODEC family"
2380	depends on I2C
2381	select REGMAP_I2C
2382	help
2383	  Add support for Texas Instruments tlv320adc3140, tlv320adc5140 and
2384	  tlv320adc6140 quad channel ADCs.
2385
2386config SND_SOC_TS3A227E
2387	tristate "TI Headset/Mic detect and keypress chip"
2388	depends on I2C
2389
2390config SND_SOC_TSCS42XX
2391	tristate "Tempo Semiconductor TSCS42xx CODEC"
2392	depends on I2C
2393	select REGMAP_I2C
2394	help
2395	  Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
2396
2397config SND_SOC_TSCS454
2398	tristate "Tempo Semiconductor TSCS454 CODEC"
2399	depends on I2C
2400	select REGMAP_I2C
2401	help
2402	  Add support for Tempo Semiconductor's TSCS454 audio CODEC.
2403
2404config SND_SOC_TWL4030
2405	tristate
2406	depends on TWL4030_CORE
2407	select MFD_TWL4030_AUDIO
2408
2409config SND_SOC_TWL6040
2410	tristate
2411	depends on TWL6040_CORE
2412
2413config SND_SOC_UDA1334
2414	tristate "NXP UDA1334 DAC"
2415	depends on GPIOLIB
2416	help
2417	  The UDA1334 is an NXP audio codec, supports the I2S-bus data format
2418	  and has basic features such as de-emphasis (at 44.1 kHz sampling
2419	  rate) and mute.
2420
2421config SND_SOC_UDA1342
2422	tristate "NXP UDA1342 CODEC"
2423	depends on I2C
2424	help
2425	  The UDA1342 is an NXP audio codec, support 2x Stereo audio ADC (4x PGA
2426	  mic inputs), stereo audio DAC, with basic audio processing.
2427
2428config SND_SOC_UDA1380
2429	tristate "Philips UDA1380 CODEC"
2430	depends on I2C
2431	help
2432	  The UDA1380 codec is used in the HTC Magician and on a number of
2433	  Samsung reference boards, as well as the LPC32xx series.
2434
2435config SND_SOC_WCD_CLASSH
2436	tristate
2437
2438config SND_SOC_WCD_COMMON
2439	tristate
2440
2441config SND_SOC_WCD9335
2442	tristate "WCD9335 Codec"
2443	depends on SLIMBUS
2444	select REGMAP_SLIMBUS
2445	select REGMAP_IRQ
2446	select SND_SOC_WCD_CLASSH
2447	help
2448	  The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
2449	  Qualcomm Technologies, Inc. (QTI) multimedia solutions,
2450	  including the MSM8996, MSM8976, and MSM8956 chipsets.
2451
2452config SND_SOC_WCD_MBHC
2453	tristate
2454
2455config SND_SOC_WCD934X
2456	tristate "WCD9340/WCD9341 Codec"
2457	depends on COMMON_CLK
2458	depends on SLIMBUS
2459	depends on SOUNDWIRE || !SOUNDWIRE
2460	select REGMAP_IRQ
2461	select REGMAP_SLIMBUS
2462	select SND_SOC_WCD_CLASSH
2463	select SND_SOC_WCD_COMMON
2464	select SND_SOC_WCD_MBHC
2465	depends on MFD_WCD934X || COMPILE_TEST
2466	help
2467	  The WCD9340/9341 is a audio codec IC Integrated in
2468	  Qualcomm SoCs like SDM845.
2469
2470config SND_SOC_WCD937X
2471	depends on SND_SOC_WCD937X_SDW
2472	tristate
2473	depends on SOUNDWIRE || !SOUNDWIRE
2474	select SND_SOC_WCD_CLASSH
2475	select SND_SOC_WCD_COMMON
2476
2477config SND_SOC_WCD937X_SDW
2478	tristate "WCD9370/WCD9375 Codec - SDW"
2479	select SND_SOC_WCD937X
2480	select SND_SOC_WCD_MBHC
2481	select REGMAP_IRQ
2482	depends on SOUNDWIRE
2483	select REGMAP_SOUNDWIRE
2484	help
2485	  The WCD9370/9375 is an audio codec IC used with SoCs
2486	  like SC7280 or QCM6490 chipsets, and it connected
2487	  via soundwire.
2488	  To compile this codec driver say Y or m.
2489
2490config SND_SOC_WCD938X
2491	depends on SND_SOC_WCD938X_SDW
2492	tristate
2493	depends on SOUNDWIRE || !SOUNDWIRE
2494	select SND_SOC_WCD_CLASSH
2495	select SND_SOC_WCD_COMMON
2496	select MULTIPLEXER
2497
2498config SND_SOC_WCD938X_SDW
2499	tristate "WCD9380/WCD9385 Codec - SDW"
2500	select SND_SOC_WCD938X
2501	select SND_SOC_WCD_MBHC
2502	select REGMAP_IRQ
2503	depends on SOUNDWIRE
2504	select REGMAP_SOUNDWIRE
2505	help
2506	  The WCD9380/9385 is a audio codec IC Integrated in
2507	  Qualcomm SoCs like SM8250.
2508
2509config SND_SOC_WCD939X
2510	depends on SND_SOC_WCD939X_SDW
2511	tristate
2512	depends on SOUNDWIRE || !SOUNDWIRE
2513	depends on TYPEC || !TYPEC
2514	select SND_SOC_WCD_CLASSH
2515	select SND_SOC_WCD_COMMON
2516
2517config SND_SOC_WCD939X_SDW
2518	tristate "WCD9390/WCD9395 Codec - SDW"
2519	depends on TYPEC || !TYPEC
2520	select SND_SOC_WCD939X
2521	select SND_SOC_WCD_MBHC
2522	select REGMAP_IRQ
2523	depends on SOUNDWIRE
2524	select REGMAP_SOUNDWIRE
2525	help
2526	  The WCD9390/9395 is a audio codec IC Integrated in
2527	  Qualcomm SoCs like SM8650.
2528
2529config SND_SOC_WM0010
2530	tristate
2531	depends on SPI_MASTER
2532
2533config SND_SOC_WM1250_EV1
2534	tristate
2535	depends on I2C
2536
2537config SND_SOC_WM2000
2538	tristate
2539	depends on I2C
2540
2541config SND_SOC_WM2200
2542	tristate
2543	depends on I2C
2544	select SND_SOC_WM_ADSP
2545
2546config SND_SOC_WM5100
2547	tristate
2548	depends on I2C
2549
2550config SND_SOC_WM5102
2551	tristate
2552	depends on MFD_WM5102 && MFD_ARIZONA
2553	select SND_SOC_WM_ADSP
2554
2555config SND_SOC_WM5110
2556	tristate
2557	depends on MFD_WM5110 && MFD_ARIZONA
2558	select SND_SOC_WM_ADSP
2559
2560config SND_SOC_WM8350
2561	tristate
2562	depends on MFD_WM8350
2563
2564config SND_SOC_WM8400
2565	tristate
2566	# FIXME nothing selects SND_SOC_WM8400??
2567	depends on MFD_WM8400
2568
2569config SND_SOC_WM8510
2570	tristate "Wolfson Microelectronics WM8510 CODEC"
2571	depends on SND_SOC_I2C_AND_SPI
2572
2573config SND_SOC_WM8523
2574	tristate "Wolfson Microelectronics WM8523 DAC"
2575	depends on I2C
2576
2577config SND_SOC_WM8524
2578	tristate "Wolfson Microelectronics WM8524 DAC"
2579	depends on GPIOLIB
2580
2581config SND_SOC_WM8580
2582	tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
2583	depends on I2C
2584
2585config SND_SOC_WM8711
2586	tristate "Wolfson Microelectronics WM8711 CODEC"
2587	depends on SND_SOC_I2C_AND_SPI
2588
2589config SND_SOC_WM8727
2590	tristate
2591
2592config SND_SOC_WM8728
2593	tristate "Wolfson Microelectronics WM8728 DAC"
2594	depends on SND_SOC_I2C_AND_SPI
2595
2596config SND_SOC_WM8731
2597	tristate
2598
2599config SND_SOC_WM8731_I2C
2600	tristate "Wolfson Microelectronics WM8731 CODEC with I2C"
2601	depends on I2C
2602	select REGMAP
2603	select SND_SOC_WM8731
2604
2605config SND_SOC_WM8731_SPI
2606	tristate "Wolfson Microelectronics WM8731 CODEC with SPI"
2607	depends on SPI
2608	select REGMAP
2609	select SND_SOC_WM8731
2610
2611config SND_SOC_WM8737
2612	tristate "Wolfson Microelectronics WM8737 ADC"
2613	depends on SND_SOC_I2C_AND_SPI
2614
2615config SND_SOC_WM8741
2616	tristate "Wolfson Microelectronics WM8741 DAC"
2617	depends on SND_SOC_I2C_AND_SPI
2618
2619config SND_SOC_WM8750
2620	tristate "Wolfson Microelectronics WM8750 CODEC"
2621	depends on SND_SOC_I2C_AND_SPI
2622
2623config SND_SOC_WM8753
2624	tristate "Wolfson Microelectronics WM8753 CODEC"
2625	depends on SND_SOC_I2C_AND_SPI
2626
2627config SND_SOC_WM8770
2628	tristate "Wolfson Microelectronics WM8770 CODEC"
2629	depends on SPI_MASTER
2630
2631config SND_SOC_WM8776
2632	tristate "Wolfson Microelectronics WM8776 CODEC"
2633	depends on SND_SOC_I2C_AND_SPI
2634
2635config SND_SOC_WM8782
2636	tristate "Wolfson Microelectronics WM8782 ADC"
2637
2638config SND_SOC_WM8804
2639	tristate
2640
2641config SND_SOC_WM8804_I2C
2642	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
2643	depends on I2C
2644	select SND_SOC_WM8804
2645	select REGMAP_I2C
2646
2647config SND_SOC_WM8804_SPI
2648	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
2649	depends on SPI_MASTER
2650	select SND_SOC_WM8804
2651	select REGMAP_SPI
2652
2653config SND_SOC_WM8900
2654	tristate
2655	depends on SND_SOC_I2C_AND_SPI
2656
2657config SND_SOC_WM8903
2658	tristate "Wolfson Microelectronics WM8903 CODEC"
2659	depends on I2C
2660
2661config SND_SOC_WM8904
2662	tristate "Wolfson Microelectronics WM8904 CODEC"
2663	depends on I2C
2664
2665config SND_SOC_WM8940
2666	tristate "Wolfson Microelectronics WM8940 codec"
2667	depends on I2C
2668
2669config SND_SOC_WM8955
2670	tristate
2671	depends on I2C
2672
2673config SND_SOC_WM8960
2674	tristate "Wolfson Microelectronics WM8960 CODEC"
2675	depends on I2C
2676
2677config SND_SOC_WM8961
2678	tristate "Wolfson Microelectronics WM8961 CODEC"
2679	depends on I2C
2680
2681config SND_SOC_WM8962
2682	tristate "Wolfson Microelectronics WM8962 CODEC"
2683	depends on I2C && INPUT
2684
2685config SND_SOC_WM8971
2686	tristate
2687	depends on I2C
2688
2689config SND_SOC_WM8974
2690	tristate "Wolfson Microelectronics WM8974 codec"
2691	depends on I2C
2692
2693config SND_SOC_WM8978
2694	tristate "Wolfson Microelectronics WM8978 codec"
2695	depends on I2C
2696
2697config SND_SOC_WM8983
2698	tristate
2699	depends on SND_SOC_I2C_AND_SPI
2700
2701config SND_SOC_WM8985
2702	tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
2703	depends on SND_SOC_I2C_AND_SPI
2704
2705config SND_SOC_WM8988
2706	tristate
2707	depends on SND_SOC_I2C_AND_SPI
2708
2709config SND_SOC_WM8990
2710	tristate
2711	depends on I2C
2712
2713config SND_SOC_WM8991
2714	tristate
2715	depends on I2C
2716
2717config SND_SOC_WM8993
2718	tristate
2719	depends on I2C
2720
2721config SND_SOC_WM8994
2722	tristate
2723	depends on MFD_WM8994
2724
2725config SND_SOC_WM8995
2726	tristate
2727	depends on SND_SOC_I2C_AND_SPI
2728
2729config SND_SOC_WM8996
2730	tristate
2731	depends on I2C
2732
2733config SND_SOC_WM8997
2734	tristate
2735	depends on MFD_WM8997 && MFD_ARIZONA
2736
2737config SND_SOC_WM8998
2738	tristate "Wolfson Microelectronics WM8998 codec driver"
2739	depends on MFD_WM8998 && MFD_ARIZONA
2740
2741config SND_SOC_WM9081
2742	tristate
2743	depends on I2C
2744
2745config SND_SOC_WM9090
2746	tristate
2747	depends on I2C
2748
2749config SND_SOC_WM9705
2750	tristate
2751	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2752	select REGMAP_AC97
2753	select AC97_BUS_COMPAT if AC97_BUS_NEW
2754
2755config SND_SOC_WM9712
2756	tristate
2757	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2758	select REGMAP_AC97
2759	select AC97_BUS_COMPAT if AC97_BUS_NEW
2760
2761config SND_SOC_WM9713
2762	tristate
2763	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2764	select REGMAP_AC97
2765	select AC97_BUS_COMPAT if AC97_BUS_NEW
2766
2767config SND_SOC_WSA881X
2768	tristate "WSA881X Codec"
2769	depends on SOUNDWIRE
2770	select REGMAP_SOUNDWIRE
2771	help
2772	  This enables support for Qualcomm WSA8810/WSA8815 Class-D
2773	  Smart Speaker Amplifier.
2774
2775config SND_SOC_WSA883X
2776	tristate "WSA883X Codec"
2777	depends on SOUNDWIRE
2778	select REGMAP_SOUNDWIRE
2779	help
2780	  This enables support for Qualcomm WSA8830/WSA8835 Class-D
2781	  Smart Speaker Amplifier.
2782
2783config SND_SOC_WSA884X
2784	tristate "WSA884X Codec"
2785	depends on SOUNDWIRE
2786	select REGMAP_SOUNDWIRE
2787	help
2788	  This enables support for Qualcomm WSA8840/WSA8845/WSA8845H Class-D
2789	  Smart Speaker Amplifier.
2790
2791config SND_SOC_WSA885X
2792	tristate "WSA885X Codec"
2793	depends on I2C
2794	select REGMAP_I2C
2795	help
2796	  This enables support for Qualcomm WSA885X Stereo Smart Speaker
2797	  Amplifier. The codec driver programs the amplifier register
2798	  map and exposes the DAI and mixer controls used by Qualcomm
2799	  audio machine drivers.
2800
2801config SND_SOC_ZL38060
2802	tristate "Microsemi ZL38060 Connected Home Audio Processor"
2803	depends on SPI_MASTER
2804	depends on GPIOLIB
2805	select REGMAP
2806	help
2807	  Support for ZL38060 Connected Home Audio Processor from Microsemi,
2808	  which consists of a Digital Signal Processor (DSP), several Digital
2809	  Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
2810
2811# Amp
2812config SND_SOC_LM4857
2813	tristate
2814	depends on I2C
2815
2816config SND_SOC_MAX9759
2817	tristate "Maxim MAX9759 speaker Amplifier"
2818	depends on GPIOLIB
2819
2820config SND_SOC_MAX9768
2821	tristate
2822	depends on I2C
2823
2824config SND_SOC_MAX9877
2825	tristate
2826	depends on I2C
2827
2828config SND_SOC_MC13783
2829	tristate
2830	depends on MFD_MC13XXX
2831
2832config SND_SOC_ML26124
2833	tristate
2834	depends on I2C
2835
2836config SND_SOC_MT6351
2837	tristate "MediaTek MT6351 Codec"
2838
2839config SND_SOC_MT6357
2840	tristate "MediaTek MT6357 Codec"
2841	help
2842	  Enable support for the platform which uses MT6357 as
2843	  external codec device.
2844
2845config SND_SOC_MT6358
2846	tristate "MediaTek MT6358 Codec"
2847	help
2848	  Enable support for the platform which uses MT6358 as
2849	  external codec device.
2850
2851config SND_SOC_MT6359
2852	tristate "MediaTek MT6359 Codec"
2853	depends on MTK_PMIC_WRAP
2854	help
2855	  Enable support for the platform which uses MT6359 as
2856	  external codec device.
2857
2858config SND_SOC_MT6359_ACCDET
2859	tristate "MediaTek MT6359 ACCDET driver"
2860	depends on MTK_PMIC_WRAP
2861	help
2862	  ACCDET means Accessory Detection technology, MediaTek develop it
2863	  for ASoC codec soc-jack detection mechanism.
2864	  Select N if you don't have jack on board.
2865
2866config SND_SOC_MT6660
2867	tristate "Mediatek MT6660 Speaker Amplifier"
2868	depends on I2C
2869	help
2870	  MediaTek MT6660 is a smart power amplifier which contain
2871	  speaker protection, multi-band DRC, equalizer functions.
2872	  Select N if you don't have MT6660 on board.
2873	  Select M to build this as module.
2874
2875config SND_SOC_NAU8315
2876	tristate "Nuvoton Technology Corporation NAU8315 CODEC"
2877
2878config SND_SOC_NAU8325
2879	tristate "Nuvoton Technology Corporation NAU8325 CODEC"
2880	depends on I2C
2881
2882config SND_SOC_NAU8540
2883	tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
2884	depends on I2C
2885
2886config SND_SOC_NAU8810
2887	tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
2888	depends on I2C
2889
2890config SND_SOC_NAU8821
2891	tristate "Nuvoton Technology Corporation NAU88L21 CODEC"
2892	depends on I2C
2893
2894config SND_SOC_NAU8822
2895	tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
2896	depends on I2C
2897
2898config SND_SOC_NAU8824
2899	tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
2900	depends on I2C
2901
2902config SND_SOC_NAU8825
2903	tristate
2904	depends on I2C
2905
2906config SND_SOC_NTPFW
2907	tristate
2908
2909config SND_SOC_NTP8918
2910	select SND_SOC_NTPFW
2911	tristate "NeoFidelity NTP8918 amplifier"
2912	depends on I2C
2913
2914config SND_SOC_NTP8835
2915	select SND_SOC_NTPFW
2916	tristate "NeoFidelity NTP8835 and NTP8835C amplifiers"
2917	depends on I2C
2918
2919config SND_SOC_TPA6130A2
2920	tristate "Texas Instruments TPA6130A2 headphone amplifier"
2921	depends on I2C
2922
2923config SND_SOC_LPASS_MACRO_COMMON
2924	tristate
2925
2926config SND_SOC_LPASS_WSA_MACRO
2927	depends on COMMON_CLK
2928	depends on PM_CLK
2929	select REGMAP_MMIO
2930	select SND_SOC_LPASS_MACRO_COMMON
2931	tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
2932
2933config SND_SOC_LPASS_VA_MACRO
2934	depends on COMMON_CLK
2935	depends on PM_CLK
2936	select REGMAP_MMIO
2937	select SND_SOC_LPASS_MACRO_COMMON
2938	tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
2939
2940config SND_SOC_LPASS_RX_MACRO
2941	depends on COMMON_CLK
2942	depends on PM_CLK
2943	select REGMAP_MMIO
2944	select SND_SOC_LPASS_MACRO_COMMON
2945	tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
2946
2947config SND_SOC_LPASS_TX_MACRO
2948	depends on COMMON_CLK
2949	depends on PM_CLK
2950	select REGMAP_MMIO
2951	select SND_SOC_LPASS_MACRO_COMMON
2952	tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
2953
2954endmenu
2955