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