Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / sound / soc / fsl / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "SoC Audio for Freescale CPUs"
3
4 comment "Common SoC Audio options for Freescale CPUs:"
5
6 config SND_SOC_FSL_ASRC
7         tristate "Asynchronous Sample Rate Converter (ASRC) module support"
8         depends on HAS_DMA
9         select REGMAP_MMIO
10         select SND_SOC_GENERIC_DMAENGINE_PCM
11         help
12           Say Y if you want to add Asynchronous Sample Rate Converter (ASRC)
13           support for the Freescale CPUs.
14           This option is only useful for out-of-tree drivers since
15           in-tree drivers select it automatically.
16
17 config SND_SOC_FSL_SAI
18         tristate "Synchronous Audio Interface (SAI) module support"
19         select REGMAP_MMIO
20         select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
21         select SND_SOC_GENERIC_DMAENGINE_PCM
22         help
23           Say Y if you want to add Synchronous Audio Interface (SAI)
24           support for the Freescale CPUs.
25           This option is only useful for out-of-tree drivers since
26           in-tree drivers select it automatically.
27
28 config SND_SOC_FSL_AUDMIX
29         tristate "Audio Mixer (AUDMIX) module support"
30         select REGMAP_MMIO
31         help
32           Say Y if you want to add Audio Mixer (AUDMIX)
33           support for the NXP iMX CPUs.
34
35 config SND_SOC_FSL_SSI
36         tristate "Synchronous Serial Interface module (SSI) support"
37         select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
38         select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
39         select REGMAP_MMIO
40         help
41           Say Y if you want to add Synchronous Serial Interface (SSI)
42           support for the Freescale CPUs.
43           This option is only useful for out-of-tree drivers since
44           in-tree drivers select it automatically.
45
46 config SND_SOC_FSL_SPDIF
47         tristate "Sony/Philips Digital Interface (S/PDIF) module support"
48         select REGMAP_MMIO
49         select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
50         select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
51         select BITREVERSE
52         help
53           Say Y if you want to add Sony/Philips Digital Interface (SPDIF)
54           support for the Freescale CPUs.
55           This option is only useful for out-of-tree drivers since
56           in-tree drivers select it automatically.
57
58 config SND_SOC_FSL_ESAI
59         tristate "Enhanced Serial Audio Interface (ESAI) module support"
60         select REGMAP_MMIO
61         select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
62         help
63           Say Y if you want to add Enhanced Synchronous Audio Interface
64           (ESAI) support for the Freescale CPUs.
65           This option is only useful for out-of-tree drivers since
66           in-tree drivers select it automatically.
67
68 config SND_SOC_FSL_MICFIL
69         tristate "Pulse Density Modulation Microphone Interface (MICFIL) module support"
70         select REGMAP_MMIO
71         select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
72         select SND_SOC_GENERIC_DMAENGINE_PCM
73         help
74           Say Y if you want to add Pulse Density Modulation microphone
75           interface (MICFIL) support for NXP.
76
77 config SND_SOC_FSL_UTILS
78         tristate
79
80 config SND_SOC_IMX_PCM_DMA
81         tristate
82         select SND_SOC_GENERIC_DMAENGINE_PCM
83
84 config SND_SOC_IMX_AUDMUX
85         tristate "Digital Audio Mux module support"
86         help
87           Say Y if you want to add Digital Audio Mux (AUDMUX) support
88           for the ARM i.MX CPUs.
89           This option is only useful for out-of-tree drivers since
90           in-tree drivers select it automatically.
91
92 config SND_POWERPC_SOC
93         tristate "SoC Audio for Freescale PowerPC CPUs"
94         depends on FSL_SOC || PPC_MPC52xx
95         help
96           Say Y or M if you want to add support for codecs attached to
97           the PowerPC CPUs.
98
99 config SND_IMX_SOC
100         tristate "SoC Audio for Freescale i.MX CPUs"
101         depends on ARCH_MXC || COMPILE_TEST
102         help
103           Say Y or M if you want to add support for codecs attached to
104           the i.MX CPUs.
105
106 if SND_POWERPC_SOC
107
108 config SND_MPC52xx_DMA
109         tristate
110
111 config SND_SOC_POWERPC_DMA
112         tristate
113
114 comment "SoC Audio support for Freescale PPC boards:"
115
116 config SND_SOC_MPC8610_HPCD
117         tristate "ALSA SoC support for the Freescale MPC8610 HPCD board"
118         # I2C is necessary for the CS4270 driver
119         depends on MPC8610_HPCD && I2C
120         select SND_SOC_FSL_SSI
121         select SND_SOC_FSL_UTILS
122         select SND_SOC_POWERPC_DMA
123         select SND_SOC_CS4270
124         select SND_SOC_CS4270_VD33_ERRATA
125         default y if MPC8610_HPCD
126         help
127           Say Y if you want to enable audio on the Freescale MPC8610 HPCD.
128
129 config SND_SOC_P1022_DS
130         tristate "ALSA SoC support for the Freescale P1022 DS board"
131         # I2C is necessary for the WM8776 driver
132         depends on P1022_DS && I2C
133         select SND_SOC_FSL_SSI
134         select SND_SOC_FSL_UTILS
135         select SND_SOC_POWERPC_DMA
136         select SND_SOC_WM8776
137         default y if P1022_DS
138         help
139           Say Y if you want to enable audio on the Freescale P1022 DS board.
140           This will also include the Wolfson Microelectronics WM8776 codec
141           driver.
142
143 config SND_SOC_P1022_RDK
144         tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board"
145         # I2C is necessary for the WM8960 driver
146         depends on P1022_RDK && I2C
147         select SND_SOC_FSL_SSI
148         select SND_SOC_FSL_UTILS
149         select SND_SOC_POWERPC_DMA
150         select SND_SOC_WM8960
151         default y if P1022_RDK
152         help
153           Say Y if you want to enable audio on the Freescale / iVeia
154           P1022 RDK board.  This will also include the Wolfson
155           Microelectronics WM8960 codec driver.
156
157 config SND_SOC_MPC5200_I2S
158         tristate "Freescale MPC5200 PSC in I2S mode driver"
159         depends on PPC_MPC52xx && PPC_BESTCOMM
160         select SND_MPC52xx_DMA
161         select PPC_BESTCOMM_GEN_BD
162         help
163           Say Y here to support the MPC5200 PSCs in I2S mode.
164
165 config SND_SOC_MPC5200_AC97
166         tristate "Freescale MPC5200 PSC in AC97 mode driver"
167         depends on PPC_MPC52xx && PPC_BESTCOMM
168         select SND_SOC_AC97_BUS
169         select SND_MPC52xx_DMA
170         select PPC_BESTCOMM_GEN_BD
171         help
172           Say Y here to support the MPC5200 PSCs in AC97 mode.
173
174 config SND_MPC52xx_SOC_PCM030
175         tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712"
176         depends on PPC_MPC5200_SIMPLE
177         select SND_SOC_MPC5200_AC97
178         select SND_SOC_WM9712
179         help
180           Say Y if you want to add support for sound on the Phytec pcm030
181           baseboard.
182
183 config SND_MPC52xx_SOC_EFIKA
184         tristate "SoC AC97 Audio support for bbplan Efika and STAC9766"
185         depends on PPC_EFIKA
186         select SND_SOC_MPC5200_AC97
187         select SND_SOC_STAC9766
188         help
189           Say Y if you want to add support for sound on the Efika.
190
191 endif # SND_POWERPC_SOC
192
193 config SND_SOC_IMX_PCM_FIQ
194         tristate
195         default y if SND_SOC_IMX_SSI=y && (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC)
196         select FIQ
197
198 if SND_IMX_SOC
199
200 config SND_SOC_IMX_SSI
201         tristate
202         select SND_SOC_FSL_UTILS
203
204 comment "SoC Audio support for Freescale i.MX boards:"
205
206 config SND_MXC_SOC_WM1133_EV1
207         tristate "Audio on the i.MX31ADS with WM1133-EV1 fitted"
208         depends on MACH_MX31ADS_WM1133_EV1
209         select SND_SOC_WM8350
210         select SND_SOC_IMX_PCM_FIQ
211         select SND_SOC_IMX_AUDMUX
212         select SND_SOC_IMX_SSI
213         help
214           Enable support for audio on the i.MX31ADS with the WM1133-EV1
215           PMIC board with WM8835x fitted.
216
217 config SND_SOC_MX27VIS_AIC32X4
218         tristate "SoC audio support for Visstrim M10 boards"
219         depends on MACH_IMX27_VISSTRIM_M10 && I2C
220         select SND_SOC_TLV320AIC32X4
221         select SND_SOC_IMX_PCM_DMA
222         select SND_SOC_IMX_AUDMUX
223         select SND_SOC_IMX_SSI
224         help
225           Say Y if you want to add support for SoC audio on Visstrim SM10
226           board with TLV320AIC32X4 codec.
227
228 config SND_SOC_PHYCORE_AC97
229         tristate "SoC Audio support for Phytec phyCORE (and phyCARD) boards"
230         depends on MACH_PCM043 || MACH_PCA100
231         select SND_SOC_AC97_BUS
232         select SND_SOC_WM9712
233         select SND_SOC_IMX_PCM_FIQ
234         select SND_SOC_IMX_AUDMUX
235         select SND_SOC_IMX_SSI
236         help
237           Say Y if you want to add support for SoC audio on Phytec phyCORE
238           and phyCARD boards in AC97 mode
239
240 config SND_SOC_EUKREA_TLV320
241         tristate "Eukrea TLV320"
242         depends on ARCH_MXC && !ARM64 && I2C
243         select SND_SOC_TLV320AIC23_I2C
244         select SND_SOC_IMX_AUDMUX
245         select SND_SOC_IMX_SSI
246         select SND_SOC_FSL_SSI
247         select SND_SOC_IMX_PCM_DMA
248         help
249           Enable I2S based access to the TLV320AIC23B codec attached
250           to the SSI interface
251
252 config SND_SOC_IMX_ES8328
253         tristate "SoC Audio support for i.MX boards with the ES8328 codec"
254         depends on OF && (I2C || SPI)
255         select SND_SOC_ES8328_I2C if I2C
256         select SND_SOC_ES8328_SPI if SPI_MASTER
257         select SND_SOC_IMX_PCM_DMA
258         select SND_SOC_IMX_AUDMUX
259         select SND_SOC_FSL_SSI
260         help
261           Say Y if you want to add support for the ES8328 audio codec connected
262           via SSI/I2S over either SPI or I2C.
263
264 config SND_SOC_IMX_SGTL5000
265         tristate "SoC Audio support for i.MX boards with sgtl5000"
266         depends on OF && I2C
267         select SND_SOC_SGTL5000
268         select SND_SOC_IMX_PCM_DMA
269         select SND_SOC_IMX_AUDMUX
270         select SND_SOC_FSL_SSI
271         help
272           Say Y if you want to add support for SoC audio on an i.MX board with
273           a sgtl5000 codec.
274
275 config SND_SOC_IMX_SPDIF
276         tristate "SoC Audio support for i.MX boards with S/PDIF"
277         select SND_SOC_IMX_PCM_DMA
278         select SND_SOC_FSL_SPDIF
279         help
280           SoC Audio support for i.MX boards with S/PDIF
281           Say Y if you want to add support for SoC audio on an i.MX board with
282           a S/DPDIF.
283
284 config SND_SOC_IMX_MC13783
285         tristate "SoC Audio support for I.MX boards with mc13783"
286         depends on MFD_MC13XXX && ARM
287         select SND_SOC_IMX_SSI
288         select SND_SOC_IMX_AUDMUX
289         select SND_SOC_MC13783
290         select SND_SOC_IMX_PCM_DMA
291
292 config SND_SOC_FSL_ASOC_CARD
293         tristate "Generic ASoC Sound Card with ASRC support"
294         depends on OF && I2C
295         # enforce SND_SOC_FSL_ASOC_CARD=m if SND_AC97_CODEC=m:
296         depends on SND_AC97_CODEC || SND_AC97_CODEC=n
297         select SND_SOC_IMX_AUDMUX
298         select SND_SOC_IMX_PCM_DMA
299         select SND_SOC_FSL_ESAI
300         select SND_SOC_FSL_SAI
301         select SND_SOC_FSL_SSI
302         help
303          ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
304          ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888,
305          CS4271, CS4272 and SGTL5000.
306          Say Y if you want to add support for Freescale Generic ASoC Sound Card.
307
308 config SND_SOC_IMX_AUDMIX
309         tristate "SoC Audio support for i.MX boards with AUDMIX"
310         select SND_SOC_FSL_AUDMIX
311         select SND_SOC_FSL_SAI
312         help
313           SoC Audio support for i.MX boards with Audio Mixer
314           Say Y if you want to add support for SoC audio on an i.MX board with
315           an Audio Mixer.
316
317 endif # SND_IMX_SOC
318
319 endmenu