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