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