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