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