xref: /linux/sound/soc/codecs/Kconfig (revision 5ab1679d6aab2e7855cd9241d4d832d1cda0ca46)
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_ICS43432
941	tristate "ICS43423 and compatible i2s microphones"
942
943config SND_SOC_INNO_RK3036
944	tristate "Inno codec driver for RK3036 SoC"
945	select REGMAP_MMIO
946
947config SND_SOC_ISABELLE
948	tristate
949	depends on I2C
950
951config SND_SOC_LM49453
952	tristate
953	depends on I2C
954
955config SND_SOC_LOCHNAGAR_SC
956	tristate "Lochnagar Sound Card"
957	depends on MFD_LOCHNAGAR
958	help
959	  This driver support the sound card functionality of the Cirrus
960	  Logic Lochnagar audio development board.
961
962config SND_SOC_MADERA
963	tristate
964	default y if SND_SOC_CS47L15=y
965	default y if SND_SOC_CS47L35=y
966	default y if SND_SOC_CS47L85=y
967	default y if SND_SOC_CS47L90=y
968	default y if SND_SOC_CS47L92=y
969	default m if SND_SOC_CS47L15=m
970	default m if SND_SOC_CS47L35=m
971	default m if SND_SOC_CS47L85=m
972	default m if SND_SOC_CS47L90=m
973	default m if SND_SOC_CS47L92=m
974
975config SND_SOC_MAX98088
976	tristate "Maxim MAX98088/9 Low-Power, Stereo Audio Codec"
977	depends on I2C
978
979config SND_SOC_MAX98090
980	tristate
981	depends on I2C
982
983config SND_SOC_MAX98095
984	tristate
985	depends on I2C
986
987config SND_SOC_MAX98357A
988	tristate "Maxim MAX98357A CODEC"
989	depends on GPIOLIB
990
991config SND_SOC_MAX98371
992	tristate
993	depends on I2C
994
995config SND_SOC_MAX98504
996	tristate "Maxim MAX98504 speaker amplifier"
997	depends on I2C
998
999config SND_SOC_MAX9867
1000	tristate "Maxim MAX9867 CODEC"
1001	depends on I2C
1002
1003config SND_SOC_MAX98925
1004	tristate
1005	depends on I2C
1006
1007config SND_SOC_MAX98926
1008	tristate
1009	depends on I2C
1010
1011config SND_SOC_MAX98927
1012	tristate "Maxim Integrated MAX98927 Speaker Amplifier"
1013	depends on I2C
1014
1015config SND_SOC_MAX98520
1016	tristate "Maxim Integrated MAX98520 Speaker Amplifier"
1017	depends on I2C
1018	help
1019	  Enable support for Maxim Integrated MAX98520 audio
1020	  amplifier, which implements a tripler charge pump
1021	  based boost converter and supports sample rates of
1022	  8KHz to 192KHz.
1023
1024	  To compile this driver as a module, choose M here.
1025
1026config SND_SOC_MAX98373
1027	tristate
1028
1029config SND_SOC_MAX98373_I2C
1030	tristate "Maxim Integrated MAX98373 Speaker Amplifier"
1031	depends on I2C
1032	select SND_SOC_MAX98373
1033
1034config SND_SOC_MAX98373_SDW
1035	tristate "Maxim Integrated MAX98373 Speaker Amplifier - SDW"
1036	depends on SOUNDWIRE
1037	select SND_SOC_MAX98373
1038	select REGMAP_SOUNDWIRE
1039	help
1040	  Enable support for Maxim Integrated MAX98373 Soundwire
1041	  amplifier. MAX98373 supports either the MIPI SoundWire
1042	  compatible interface for audio and control data, or
1043	  the PCM interface for audio data and a standard I2C
1044	  interface for control data. Select this if MAX98373 is
1045	  connected via soundwire.
1046
1047config SND_SOC_MAX98390
1048	tristate "Maxim Integrated MAX98390 Speaker Amplifier"
1049	depends on I2C
1050
1051config SND_SOC_MAX98396
1052	tristate "Analog Devices MAX98396 Speaker Amplifier"
1053	depends on I2C
1054	help
1055	  Enable support for Analog Devices MAX98396 audio
1056	  amplifier. The device provides a PCM interface for
1057	  audio data and a standard I2C interface for control
1058	  data communication.
1059
1060config SND_SOC_MAX9850
1061	tristate
1062	depends on I2C
1063
1064config SND_SOC_MAX9860
1065	tristate "Maxim MAX9860 Mono Audio Voice Codec"
1066	depends on I2C
1067	select REGMAP_I2C
1068
1069config SND_SOC_MSM8916_WCD_ANALOG
1070	tristate "Qualcomm MSM8916 WCD Analog Codec"
1071	depends on SPMI || COMPILE_TEST
1072
1073config SND_SOC_MSM8916_WCD_DIGITAL
1074	tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
1075	select REGMAP_MMIO
1076
1077config SND_SOC_PCM1681
1078	tristate "Texas Instruments PCM1681 CODEC"
1079	depends on I2C
1080
1081config SND_SOC_PCM1789
1082	tristate
1083
1084config SND_SOC_PCM1789_I2C
1085	tristate "Texas Instruments PCM1789 CODEC (I2C)"
1086	depends on I2C
1087	select SND_SOC_PCM1789
1088	help
1089	  Enable support for Texas Instruments PCM1789 CODEC.
1090	  Select this if your PCM1789 is connected via an I2C bus.
1091
1092config SND_SOC_PCM179X
1093	tristate
1094
1095config SND_SOC_PCM179X_I2C
1096	tristate "Texas Instruments PCM179X CODEC (I2C)"
1097	depends on I2C
1098	select SND_SOC_PCM179X
1099	help
1100	  Enable support for Texas Instruments PCM179x CODEC.
1101	  Select this if your PCM179x is connected via an I2C bus.
1102
1103config SND_SOC_PCM179X_SPI
1104	tristate "Texas Instruments PCM179X CODEC (SPI)"
1105	depends on SPI_MASTER
1106	select SND_SOC_PCM179X
1107	help
1108	  Enable support for Texas Instruments PCM179x CODEC.
1109	  Select this if your PCM179x is connected via an SPI bus.
1110
1111config SND_SOC_PCM186X
1112	tristate
1113
1114config SND_SOC_PCM186X_I2C
1115	tristate "Texas Instruments PCM186x CODECs - I2C"
1116	depends on I2C
1117	select SND_SOC_PCM186X
1118	select REGMAP_I2C
1119
1120config SND_SOC_PCM186X_SPI
1121	tristate "Texas Instruments PCM186x CODECs - SPI"
1122	depends on SPI_MASTER
1123	select SND_SOC_PCM186X
1124	select REGMAP_SPI
1125
1126config SND_SOC_PCM3008
1127	tristate
1128
1129config SND_SOC_PCM3060
1130	tristate
1131
1132config SND_SOC_PCM3060_I2C
1133	tristate "Texas Instruments PCM3060 CODEC - I2C"
1134	depends on I2C
1135	select SND_SOC_PCM3060
1136	select REGMAP_I2C
1137
1138config SND_SOC_PCM3060_SPI
1139	tristate "Texas Instruments PCM3060 CODEC - SPI"
1140	depends on SPI_MASTER
1141	select SND_SOC_PCM3060
1142	select REGMAP_SPI
1143
1144config SND_SOC_PCM3168A
1145	tristate
1146
1147config SND_SOC_PCM3168A_I2C
1148	tristate "Texas Instruments PCM3168A CODEC - I2C"
1149	depends on I2C
1150	select SND_SOC_PCM3168A
1151	select REGMAP_I2C
1152
1153config SND_SOC_PCM3168A_SPI
1154	tristate "Texas Instruments PCM3168A CODEC - SPI"
1155	depends on SPI_MASTER
1156	select SND_SOC_PCM3168A
1157	select REGMAP_SPI
1158
1159config SND_SOC_PCM5102A
1160	tristate "Texas Instruments PCM5102A CODEC"
1161
1162config SND_SOC_PCM512x
1163	tristate
1164
1165config SND_SOC_PCM512x_I2C
1166	tristate "Texas Instruments PCM512x CODECs - I2C"
1167	depends on I2C
1168	select SND_SOC_PCM512x
1169	select REGMAP_I2C
1170
1171config SND_SOC_PCM512x_SPI
1172	tristate "Texas Instruments PCM512x CODECs - SPI"
1173	depends on SPI_MASTER
1174	select SND_SOC_PCM512x
1175	select REGMAP_SPI
1176
1177config SND_SOC_RK3328
1178	tristate "Rockchip RK3328 audio CODEC"
1179	select REGMAP_MMIO
1180
1181config SND_SOC_RK817
1182	tristate "Rockchip RK817 audio CODEC"
1183	depends on MFD_RK808
1184	select REGMAP_I2C
1185
1186config SND_SOC_RL6231
1187	tristate
1188	default y if SND_SOC_RT5514=y
1189	default y if SND_SOC_RT5616=y
1190	default y if SND_SOC_RT5640=y
1191	default y if SND_SOC_RT5645=y
1192	default y if SND_SOC_RT5651=y
1193	default y if SND_SOC_RT5659=y
1194	default y if SND_SOC_RT5660=y
1195	default y if SND_SOC_RT5663=y
1196	default y if SND_SOC_RT5665=y
1197	default y if SND_SOC_RT5668=y
1198	default y if SND_SOC_RT5670=y
1199	default y if SND_SOC_RT5677=y
1200	default y if SND_SOC_RT5682=y
1201	default y if SND_SOC_RT1011=y
1202	default y if SND_SOC_RT1015=y
1203	default y if SND_SOC_RT1015P=y
1204	default y if SND_SOC_RT1019=y
1205	default y if SND_SOC_RT1305=y
1206	default y if SND_SOC_RT1308=y
1207	default m if SND_SOC_RT5514=m
1208	default m if SND_SOC_RT5616=m
1209	default m if SND_SOC_RT5640=m
1210	default m if SND_SOC_RT5645=m
1211	default m if SND_SOC_RT5651=m
1212	default m if SND_SOC_RT5659=m
1213	default m if SND_SOC_RT5660=m
1214	default m if SND_SOC_RT5663=m
1215	default m if SND_SOC_RT5665=m
1216	default m if SND_SOC_RT5668=m
1217	default m if SND_SOC_RT5670=m
1218	default m if SND_SOC_RT5677=m
1219	default m if SND_SOC_RT5682=m
1220	default m if SND_SOC_RT1011=m
1221	default m if SND_SOC_RT1015=m
1222	default m if SND_SOC_RT1015P=m
1223	default m if SND_SOC_RT1019=m
1224	default m if SND_SOC_RT1305=m
1225	default m if SND_SOC_RT1308=m
1226
1227config SND_SOC_RL6347A
1228	tristate
1229	default y if SND_SOC_RT274=y
1230	default y if SND_SOC_RT286=y
1231	default y if SND_SOC_RT298=y
1232	default m if SND_SOC_RT274=m
1233	default m if SND_SOC_RT286=m
1234	default m if SND_SOC_RT298=m
1235
1236config SND_SOC_RT274
1237	tristate
1238	depends on I2C
1239
1240config SND_SOC_RT286
1241	tristate
1242	depends on I2C
1243
1244config SND_SOC_RT298
1245	tristate
1246	depends on I2C
1247
1248config SND_SOC_RT1011
1249	tristate
1250	depends on I2C
1251
1252config SND_SOC_RT1015
1253	tristate
1254	depends on I2C
1255
1256config SND_SOC_RT1015P
1257	tristate
1258	depends on GPIOLIB
1259
1260config SND_SOC_RT1016
1261	tristate
1262	depends on I2C
1263
1264config SND_SOC_RT1019
1265	tristate
1266	depends on I2C
1267
1268config SND_SOC_RT1305
1269	tristate
1270	depends on I2C
1271
1272config SND_SOC_RT1308
1273	tristate
1274	depends on I2C
1275
1276config SND_SOC_RT1308_SDW
1277	tristate "Realtek RT1308 Codec - SDW"
1278	depends on I2C && SOUNDWIRE
1279	select REGMAP_SOUNDWIRE
1280
1281config SND_SOC_RT1316_SDW
1282	tristate "Realtek RT1316 Codec - SDW"
1283	depends on SOUNDWIRE
1284	select REGMAP_SOUNDWIRE
1285
1286config SND_SOC_RT5514
1287	tristate
1288	depends on I2C
1289
1290config SND_SOC_RT5514_SPI
1291	tristate
1292	depends on SPI_MASTER
1293
1294config SND_SOC_RT5514_SPI_BUILTIN
1295	bool # force RT5514_SPI to be built-in to avoid link errors
1296	default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
1297
1298config SND_SOC_RT5616
1299	tristate "Realtek RT5616 CODEC"
1300	depends on I2C
1301
1302config SND_SOC_RT5631
1303	tristate "Realtek ALC5631/RT5631 CODEC"
1304	depends on I2C
1305
1306config SND_SOC_RT5640
1307	tristate "Realtek RT5640/RT5639 Codec"
1308	depends on I2C
1309
1310config SND_SOC_RT5645
1311	tristate
1312	depends on I2C
1313
1314config SND_SOC_RT5651
1315	tristate
1316	depends on I2C
1317
1318config SND_SOC_RT5659
1319	tristate "Realtek RT5658/RT5659 Codec"
1320	depends on I2C
1321
1322config SND_SOC_RT5660
1323	tristate
1324	depends on I2C
1325
1326config SND_SOC_RT5663
1327	tristate
1328	depends on I2C
1329
1330config SND_SOC_RT5665
1331	tristate
1332	depends on I2C
1333
1334config SND_SOC_RT5668
1335	tristate
1336	depends on I2C
1337
1338config SND_SOC_RT5670
1339	tristate
1340	depends on I2C
1341
1342config SND_SOC_RT5677
1343	tristate
1344	depends on I2C
1345	select REGMAP_I2C
1346	select REGMAP_IRQ
1347
1348config SND_SOC_RT5677_SPI
1349	tristate
1350	default SND_SOC_RT5677 && SPI
1351
1352config SND_SOC_RT5682
1353	tristate
1354
1355config SND_SOC_RT5682_I2C
1356	tristate
1357	depends on I2C
1358	select SND_SOC_RT5682
1359
1360config SND_SOC_RT5682_SDW
1361	tristate "Realtek RT5682 Codec - SDW"
1362	depends on SOUNDWIRE
1363	select SND_SOC_RT5682
1364	select REGMAP_SOUNDWIRE
1365
1366config SND_SOC_RT5682S
1367	tristate
1368	depends on I2C
1369
1370config SND_SOC_RT700
1371	tristate
1372
1373config SND_SOC_RT700_SDW
1374	tristate "Realtek RT700 Codec - SDW"
1375	depends on SOUNDWIRE
1376	select SND_SOC_RT700
1377	select REGMAP_SOUNDWIRE
1378
1379config SND_SOC_RT711
1380	tristate
1381
1382config SND_SOC_RT711_SDW
1383	tristate "Realtek RT711 Codec - SDW"
1384	depends on SOUNDWIRE
1385	select SND_SOC_RT711
1386	select REGMAP_SOUNDWIRE
1387
1388config SND_SOC_RT711_SDCA_SDW
1389	tristate "Realtek RT711 SDCA Codec - SDW"
1390	depends on SOUNDWIRE
1391	select REGMAP_SOUNDWIRE
1392	select REGMAP_SOUNDWIRE_MBQ
1393
1394config SND_SOC_RT715
1395	tristate
1396
1397config SND_SOC_RT715_SDW
1398	tristate "Realtek RT715 Codec - SDW"
1399	depends on SOUNDWIRE
1400	select SND_SOC_RT715
1401	select REGMAP_SOUNDWIRE
1402
1403config SND_SOC_RT715_SDCA_SDW
1404	tristate "Realtek RT715 SDCA Codec - SDW"
1405	depends on SOUNDWIRE
1406	select REGMAP_SOUNDWIRE
1407	select REGMAP_SOUNDWIRE_MBQ
1408
1409config SND_SOC_RT9120
1410	tristate "Richtek RT9120 Stereo Class-D Amplifier"
1411	depends on I2C
1412	select REGMAP_I2C
1413	help
1414	  Enable support for Richtek RT9120 20W, stereo, inductor-less,
1415	  high-efficiency Class-D audio amplifier.
1416
1417config SND_SOC_SDW_MOCKUP
1418	tristate "SoundWire mockup codec"
1419	depends on EXPERT
1420	depends on SOUNDWIRE
1421	help
1422	  This option enables a SoundWire mockup codec that does not drive the
1423	  bus, take part in the command/command protocol or generate data on a
1424	  Source port.
1425	  This option is only intended to be used for tests on a device
1426	  with a connector, in combination with a bus analyzer, or to test new
1427	  topologies that differ from the actual hardware layout.
1428	  This mockup device could be totally virtual but could also be a
1429	  real physical one with one key restriction: it is not allowed by the
1430	  SoundWire specification to be configured via a sideband mechanism and
1431	  generate audio data for capture. However, nothing prevents such a
1432	  peripheral device from snooping the bus.
1433
1434#Freescale sgtl5000 codec
1435config SND_SOC_SGTL5000
1436	tristate "Freescale SGTL5000 CODEC"
1437	depends on I2C
1438
1439config SND_SOC_SI476X
1440	tristate
1441
1442config SND_SOC_SIGMADSP
1443	tristate
1444	select CRC32
1445
1446config SND_SOC_SIGMADSP_I2C
1447	tristate
1448	select SND_SOC_SIGMADSP
1449
1450config SND_SOC_SIGMADSP_REGMAP
1451	tristate
1452	select SND_SOC_SIGMADSP
1453
1454config SND_SOC_SIMPLE_AMPLIFIER
1455	tristate "Simple Audio Amplifier"
1456
1457config SND_SOC_SIMPLE_MUX
1458	tristate "Simple Audio Mux"
1459	depends on GPIOLIB
1460
1461config SND_SOC_SPDIF
1462	tristate "S/PDIF CODEC"
1463
1464config SND_SOC_SSM2305
1465	tristate "Analog Devices SSM2305 Class-D Amplifier"
1466	help
1467	  Enable support for Analog Devices SSM2305 filterless
1468	  high-efficiency mono Class-D audio power amplifiers.
1469
1470config SND_SOC_SSM2518
1471	tristate "Analog Devices SSM2518 Class-D Amplifier"
1472	depends on I2C
1473
1474config SND_SOC_SSM2602
1475	tristate
1476
1477config SND_SOC_SSM2602_SPI
1478	tristate "Analog Devices SSM2602 CODEC - SPI"
1479	depends on SPI_MASTER
1480	select SND_SOC_SSM2602
1481	select REGMAP_SPI
1482
1483config SND_SOC_SSM2602_I2C
1484	tristate "Analog Devices SSM2602 CODEC - I2C"
1485	depends on I2C
1486	select SND_SOC_SSM2602
1487	select REGMAP_I2C
1488
1489config SND_SOC_SSM4567
1490	tristate "Analog Devices ssm4567 amplifier driver support"
1491	depends on I2C
1492
1493config SND_SOC_STA32X
1494	tristate "STA326, STA328 and STA329 speaker amplifier"
1495	depends on I2C
1496	select REGMAP_I2C
1497
1498config SND_SOC_STA350
1499	tristate "STA350 speaker amplifier"
1500	depends on I2C
1501
1502config SND_SOC_STA529
1503	tristate
1504	depends on I2C
1505
1506config SND_SOC_STAC9766
1507	tristate
1508	depends on SND_SOC_AC97_BUS
1509
1510config SND_SOC_STI_SAS
1511	tristate "codec Audio support for STI SAS codec"
1512
1513config SND_SOC_TAS2552
1514	tristate "Texas Instruments TAS2552 Mono Audio amplifier"
1515	depends on I2C
1516
1517config SND_SOC_TAS2562
1518	tristate "Texas Instruments TAS2562 Mono Audio amplifier"
1519	depends on I2C
1520
1521config SND_SOC_TAS2764
1522	tristate "Texas Instruments TAS2764 Mono Audio amplifier"
1523	depends on I2C
1524
1525config SND_SOC_TAS2770
1526	tristate "Texas Instruments TAS2770 speaker amplifier"
1527	depends on I2C
1528
1529config SND_SOC_TAS5086
1530	tristate "Texas Instruments TAS5086 speaker amplifier"
1531	depends on I2C
1532
1533config SND_SOC_TAS571X
1534	tristate "Texas Instruments TAS571x power amplifiers"
1535	depends on I2C
1536	help
1537	  Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
1538	  TAS5719 and TAS5721 power amplifiers
1539
1540config SND_SOC_TAS5720
1541	tristate "Texas Instruments TAS5720 Mono Audio amplifier"
1542	depends on I2C
1543	help
1544	  Enable support for Texas Instruments TAS5720L/M high-efficiency mono
1545	  Class-D audio power amplifiers.
1546
1547config SND_SOC_TAS5805M
1548	tristate "Texas Instruments TAS5805M speaker amplifier"
1549	depends on I2C
1550	help
1551	  Enable support for Texas Instruments TAS5805M Class-D
1552	  amplifiers. This is a speaker amplifier with an integrated
1553	  DSP. DSP configuration for each instance needs to be supplied
1554	  via a device-tree attribute.
1555
1556config SND_SOC_TAS6424
1557	tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
1558	depends on I2C
1559	help
1560	  Enable support for Texas Instruments TAS6424 high-efficiency
1561	  digital input quad-channel Class-D audio power amplifiers.
1562
1563config SND_SOC_TDA7419
1564	tristate "ST TDA7419 audio processor"
1565	depends on I2C
1566	select REGMAP_I2C
1567
1568config SND_SOC_TFA9879
1569	tristate "NXP Semiconductors TFA9879 amplifier"
1570	depends on I2C
1571
1572config SND_SOC_TFA989X
1573	tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
1574	depends on I2C
1575	select REGMAP_I2C
1576	help
1577	  Enable support for NXP (now Goodix) TFA989X (TFA1 family) speaker
1578	  amplifiers, e.g. TFA9895.
1579	  Note that the driver currently bypasses the built-in "CoolFlux DSP"
1580	  and does not support (hardware) volume control.
1581
1582config SND_SOC_TLV320ADC3XXX
1583	tristate "Texas Instruments TLV320ADC3001/3101 audio ADC"
1584	depends on I2C
1585	help
1586	 Enable support for Texas Instruments TLV320ADC3001 and TLV320ADC3101
1587	 ADCs.
1588
1589config SND_SOC_TLV320AIC23
1590	tristate
1591
1592config SND_SOC_TLV320AIC23_I2C
1593	tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
1594	depends on I2C
1595	select SND_SOC_TLV320AIC23
1596
1597config SND_SOC_TLV320AIC23_SPI
1598	tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
1599	depends on SPI_MASTER
1600	select SND_SOC_TLV320AIC23
1601
1602config SND_SOC_TLV320AIC26
1603	tristate
1604	depends on SPI
1605
1606config SND_SOC_TLV320AIC31XX
1607	tristate "Texas Instruments TLV320AIC31xx CODECs"
1608	depends on I2C
1609	select REGMAP_I2C
1610
1611config SND_SOC_TLV320AIC32X4
1612	tristate
1613	depends on COMMON_CLK
1614
1615config SND_SOC_TLV320AIC32X4_I2C
1616	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
1617	depends on I2C
1618	depends on COMMON_CLK
1619	select SND_SOC_TLV320AIC32X4
1620
1621config SND_SOC_TLV320AIC32X4_SPI
1622	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
1623	depends on SPI_MASTER
1624	depends on COMMON_CLK
1625	select SND_SOC_TLV320AIC32X4
1626
1627config SND_SOC_TLV320AIC3X
1628	tristate
1629
1630config SND_SOC_TLV320AIC3X_I2C
1631	tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
1632	depends on I2C
1633	select SND_SOC_TLV320AIC3X
1634	select REGMAP_I2C
1635
1636config SND_SOC_TLV320AIC3X_SPI
1637	tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
1638	depends on SPI_MASTER
1639	select SND_SOC_TLV320AIC3X
1640	select REGMAP_SPI
1641
1642config SND_SOC_TLV320DAC33
1643	tristate
1644	depends on I2C
1645
1646config SND_SOC_TLV320ADCX140
1647	tristate "Texas Instruments TLV320ADCX140 CODEC family"
1648	depends on I2C
1649	select REGMAP_I2C
1650	help
1651	  Add support for Texas Instruments tlv320adc3140, tlv320adc5140 and
1652	  tlv320adc6140 quad channel ADCs.
1653
1654config SND_SOC_TS3A227E
1655	tristate "TI Headset/Mic detect and keypress chip"
1656	depends on I2C
1657
1658config SND_SOC_TSCS42XX
1659	tristate "Tempo Semiconductor TSCS42xx CODEC"
1660	depends on I2C
1661	select REGMAP_I2C
1662	help
1663	  Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
1664
1665config SND_SOC_TSCS454
1666	tristate "Tempo Semiconductor TSCS454 CODEC"
1667	depends on I2C
1668	select REGMAP_I2C
1669	help
1670	  Add support for Tempo Semiconductor's TSCS454 audio CODEC.
1671
1672config SND_SOC_TWL4030
1673	tristate
1674	depends on TWL4030_CORE
1675	select MFD_TWL4030_AUDIO
1676
1677config SND_SOC_TWL6040
1678	tristate
1679	depends on TWL6040_CORE
1680
1681config SND_SOC_UDA1334
1682	tristate "NXP UDA1334 DAC"
1683	depends on GPIOLIB
1684	help
1685	  The UDA1334 is an NXP audio codec, supports the I2S-bus data format
1686	  and has basic features such as de-emphasis (at 44.1 kHz sampling
1687	  rate) and mute.
1688
1689config SND_SOC_UDA134X
1690	tristate
1691
1692config SND_SOC_UDA1380
1693	tristate
1694	depends on I2C
1695
1696config SND_SOC_WCD9335
1697	tristate "WCD9335 Codec"
1698	depends on SLIMBUS
1699	select REGMAP_SLIMBUS
1700	select REGMAP_IRQ
1701	help
1702	  The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
1703	  Qualcomm Technologies, Inc. (QTI) multimedia solutions,
1704	  including the MSM8996, MSM8976, and MSM8956 chipsets.
1705
1706config SND_SOC_WCD_MBHC
1707	tristate
1708
1709config SND_SOC_WCD934X
1710	tristate "WCD9340/WCD9341 Codec"
1711	depends on COMMON_CLK
1712	select SND_SOC_WCD_MBHC
1713	depends on MFD_WCD934X
1714	help
1715	  The WCD9340/9341 is a audio codec IC Integrated in
1716	  Qualcomm SoCs like SDM845.
1717
1718config SND_SOC_WCD938X
1719	depends on SND_SOC_WCD938X_SDW
1720	tristate
1721	depends on SOUNDWIRE || !SOUNDWIRE
1722
1723config SND_SOC_WCD938X_SDW
1724	tristate "WCD9380/WCD9385 Codec - SDW"
1725	select SND_SOC_WCD938X
1726	select SND_SOC_WCD_MBHC
1727	select REGMAP_IRQ
1728	depends on SOUNDWIRE
1729	select REGMAP_SOUNDWIRE
1730	help
1731	  The WCD9380/9385 is a audio codec IC Integrated in
1732	  Qualcomm SoCs like SM8250.
1733
1734config SND_SOC_WL1273
1735	tristate
1736
1737config SND_SOC_WM0010
1738	tristate
1739	depends on SPI_MASTER
1740
1741config SND_SOC_WM1250_EV1
1742	tristate
1743	depends on I2C
1744
1745config SND_SOC_WM2000
1746	tristate
1747	depends on I2C
1748
1749config SND_SOC_WM2200
1750	tristate
1751	depends on I2C
1752
1753config SND_SOC_WM5100
1754	tristate
1755	depends on I2C
1756
1757config SND_SOC_WM5102
1758	tristate
1759	depends on MFD_WM5102 && MFD_ARIZONA
1760
1761config SND_SOC_WM5110
1762	tristate
1763	depends on MFD_WM5110 && MFD_ARIZONA
1764
1765config SND_SOC_WM8350
1766	tristate
1767	depends on MFD_WM8350
1768
1769config SND_SOC_WM8400
1770	tristate
1771	# FIXME nothing selects SND_SOC_WM8400??
1772	depends on MFD_WM8400
1773
1774config SND_SOC_WM8510
1775	tristate "Wolfson Microelectronics WM8510 CODEC"
1776	depends on SND_SOC_I2C_AND_SPI
1777
1778config SND_SOC_WM8523
1779	tristate "Wolfson Microelectronics WM8523 DAC"
1780	depends on I2C
1781
1782config SND_SOC_WM8524
1783	tristate "Wolfson Microelectronics WM8524 DAC"
1784	depends on GPIOLIB
1785
1786config SND_SOC_WM8580
1787	tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
1788	depends on I2C
1789
1790config SND_SOC_WM8711
1791	tristate "Wolfson Microelectronics WM8711 CODEC"
1792	depends on SND_SOC_I2C_AND_SPI
1793
1794config SND_SOC_WM8727
1795	tristate
1796
1797config SND_SOC_WM8728
1798	tristate "Wolfson Microelectronics WM8728 DAC"
1799	depends on SND_SOC_I2C_AND_SPI
1800
1801config SND_SOC_WM8731
1802	tristate
1803
1804config SND_SOC_WM8731_I2C
1805	tristate "Wolfson Microelectronics WM8731 CODEC with I2C"
1806	depends on I2C
1807	select REGMAP
1808	select SND_SOC_WM8731
1809
1810config SND_SOC_WM8731_SPI
1811	tristate "Wolfson Microelectronics WM8731 CODEC with SPI"
1812	depends on SPI
1813	select REGMAP
1814	select SND_SOC_WM8731
1815
1816config SND_SOC_WM8737
1817	tristate "Wolfson Microelectronics WM8737 ADC"
1818	depends on SND_SOC_I2C_AND_SPI
1819
1820config SND_SOC_WM8741
1821	tristate "Wolfson Microelectronics WM8741 DAC"
1822	depends on SND_SOC_I2C_AND_SPI
1823
1824config SND_SOC_WM8750
1825	tristate "Wolfson Microelectronics WM8750 CODEC"
1826	depends on SND_SOC_I2C_AND_SPI
1827
1828config SND_SOC_WM8753
1829	tristate "Wolfson Microelectronics WM8753 CODEC"
1830	depends on SND_SOC_I2C_AND_SPI
1831
1832config SND_SOC_WM8770
1833	tristate "Wolfson Microelectronics WM8770 CODEC"
1834	depends on SPI_MASTER
1835
1836config SND_SOC_WM8776
1837	tristate "Wolfson Microelectronics WM8776 CODEC"
1838	depends on SND_SOC_I2C_AND_SPI
1839
1840config SND_SOC_WM8782
1841	tristate "Wolfson Microelectronics WM8782 ADC"
1842
1843config SND_SOC_WM8804
1844	tristate
1845
1846config SND_SOC_WM8804_I2C
1847	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
1848	depends on I2C
1849	select SND_SOC_WM8804
1850	select REGMAP_I2C
1851
1852config SND_SOC_WM8804_SPI
1853	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
1854	depends on SPI_MASTER
1855	select SND_SOC_WM8804
1856	select REGMAP_SPI
1857
1858config SND_SOC_WM8900
1859	tristate
1860	depends on SND_SOC_I2C_AND_SPI
1861
1862config SND_SOC_WM8903
1863	tristate "Wolfson Microelectronics WM8903 CODEC"
1864	depends on I2C
1865
1866config SND_SOC_WM8904
1867	tristate "Wolfson Microelectronics WM8904 CODEC"
1868	depends on I2C
1869
1870config SND_SOC_WM8940
1871	tristate
1872	depends on I2C
1873
1874config SND_SOC_WM8955
1875	tristate
1876	depends on I2C
1877
1878config SND_SOC_WM8960
1879	tristate "Wolfson Microelectronics WM8960 CODEC"
1880	depends on I2C
1881
1882config SND_SOC_WM8961
1883	tristate
1884	depends on I2C
1885
1886config SND_SOC_WM8962
1887	tristate "Wolfson Microelectronics WM8962 CODEC"
1888	depends on I2C && INPUT
1889
1890config SND_SOC_WM8971
1891	tristate
1892	depends on I2C
1893
1894config SND_SOC_WM8974
1895	tristate "Wolfson Microelectronics WM8974 codec"
1896	depends on I2C
1897
1898config SND_SOC_WM8978
1899	tristate "Wolfson Microelectronics WM8978 codec"
1900	depends on I2C
1901
1902config SND_SOC_WM8983
1903	tristate
1904	depends on SND_SOC_I2C_AND_SPI
1905
1906config SND_SOC_WM8985
1907	tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
1908	depends on SND_SOC_I2C_AND_SPI
1909
1910config SND_SOC_WM8988
1911	tristate
1912	depends on SND_SOC_I2C_AND_SPI
1913
1914config SND_SOC_WM8990
1915	tristate
1916	depends on I2C
1917
1918config SND_SOC_WM8991
1919	tristate
1920	depends on I2C
1921
1922config SND_SOC_WM8993
1923	tristate
1924	depends on I2C
1925
1926config SND_SOC_WM8994
1927	tristate
1928
1929config SND_SOC_WM8995
1930	tristate
1931	depends on SND_SOC_I2C_AND_SPI
1932
1933config SND_SOC_WM8996
1934	tristate
1935	depends on I2C
1936
1937config SND_SOC_WM8997
1938	tristate
1939	depends on MFD_WM8997 && MFD_ARIZONA
1940
1941config SND_SOC_WM8998
1942	tristate
1943	depends on MFD_WM8998 && MFD_ARIZONA
1944
1945config SND_SOC_WM9081
1946	tristate
1947	depends on I2C
1948
1949config SND_SOC_WM9090
1950	tristate
1951	depends on I2C
1952
1953config SND_SOC_WM9705
1954	tristate
1955	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1956	select REGMAP_AC97
1957	select AC97_BUS_COMPAT if AC97_BUS_NEW
1958
1959config SND_SOC_WM9712
1960	tristate
1961	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1962	select REGMAP_AC97
1963	select AC97_BUS_COMPAT if AC97_BUS_NEW
1964
1965config SND_SOC_WM9713
1966	tristate
1967	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1968	select REGMAP_AC97
1969	select AC97_BUS_COMPAT if AC97_BUS_NEW
1970
1971config SND_SOC_WSA881X
1972	tristate "WSA881X Codec"
1973	depends on SOUNDWIRE
1974	select REGMAP_SOUNDWIRE
1975	tristate
1976	help
1977	  This enables support for Qualcomm WSA8810/WSA8815 Class-D
1978	  Smart Speaker Amplifier.
1979
1980config SND_SOC_ZL38060
1981	tristate "Microsemi ZL38060 Connected Home Audio Processor"
1982	depends on SPI_MASTER
1983	select REGMAP
1984	help
1985	  Support for ZL38060 Connected Home Audio Processor from Microsemi,
1986	  which consists of a Digital Signal Processor (DSP), several Digital
1987	  Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
1988
1989# Amp
1990config SND_SOC_LM4857
1991	tristate
1992	depends on I2C
1993
1994config SND_SOC_MAX9759
1995	tristate "Maxim MAX9759 speaker Amplifier"
1996	depends on GPIOLIB
1997
1998config SND_SOC_MAX9768
1999	tristate
2000	depends on I2C
2001
2002config SND_SOC_MAX9877
2003	tristate
2004	depends on I2C
2005
2006config SND_SOC_MC13783
2007	tristate
2008	depends on MFD_MC13XXX
2009
2010config SND_SOC_ML26124
2011	tristate
2012	depends on I2C
2013
2014config SND_SOC_MT6351
2015	tristate "MediaTek MT6351 Codec"
2016
2017config SND_SOC_MT6358
2018	tristate "MediaTek MT6358 Codec"
2019	help
2020	  Enable support for the platform which uses MT6358 as
2021	  external codec device.
2022
2023config SND_SOC_MT6359
2024	tristate "MediaTek MT6359 Codec"
2025	depends on MTK_PMIC_WRAP
2026	help
2027	  Enable support for the platform which uses MT6359 as
2028	  external codec device.
2029
2030config SND_SOC_MT6359_ACCDET
2031	tristate "MediaTek MT6359 ACCDET driver"
2032	depends on MTK_PMIC_WRAP
2033	help
2034	  ACCDET means Accessory Detection technology, MediaTek develop it
2035	  for ASoC codec soc-jack detection mechanism.
2036	  Select N if you don't have jack on board.
2037
2038config SND_SOC_MT6660
2039	tristate "Mediatek MT6660 Speaker Amplifier"
2040	depends on I2C
2041	help
2042	  MediaTek MT6660 is a smart power amplifier which contain
2043	  speaker protection, multi-band DRC, equalizer functions.
2044	  Select N if you don't have MT6660 on board.
2045	  Select M to build this as module.
2046
2047config SND_SOC_NAU8315
2048	tristate "Nuvoton Technology Corporation NAU8315 CODEC"
2049	depends on GPIOLIB
2050
2051config SND_SOC_NAU8540
2052	tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
2053	depends on I2C
2054
2055config SND_SOC_NAU8810
2056	tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
2057	depends on I2C
2058
2059config SND_SOC_NAU8821
2060	tristate "Nuvoton Technology Corporation NAU88L21 CODEC"
2061	depends on I2C
2062
2063config SND_SOC_NAU8822
2064	tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
2065	depends on I2C
2066
2067config SND_SOC_NAU8824
2068	tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
2069	depends on I2C
2070
2071config SND_SOC_NAU8825
2072	tristate
2073	depends on I2C
2074
2075config SND_SOC_TPA6130A2
2076	tristate "Texas Instruments TPA6130A2 headphone amplifier"
2077	depends on I2C
2078
2079config SND_SOC_LPASS_MACRO_COMMON
2080        tristate
2081
2082config SND_SOC_LPASS_WSA_MACRO
2083	depends on COMMON_CLK
2084	select REGMAP_MMIO
2085	tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
2086
2087config SND_SOC_LPASS_VA_MACRO
2088	depends on COMMON_CLK
2089	select REGMAP_MMIO
2090	select SND_SOC_LPASS_MACRO_COMMON
2091	tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
2092
2093config SND_SOC_LPASS_RX_MACRO
2094	depends on COMMON_CLK
2095	select REGMAP_MMIO
2096	select SND_SOC_LPASS_MACRO_COMMON
2097	tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
2098
2099config SND_SOC_LPASS_TX_MACRO
2100	depends on COMMON_CLK
2101	select REGMAP_MMIO
2102	select SND_SOC_LPASS_MACRO_COMMON
2103	tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
2104
2105endmenu
2106