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