0917d65d69213f57f380e523fda6e509ee74901e
[linux-2.6-microblaze.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_MQS
29         tristate "Medium Quality Sound (MQS) module support"
30         depends on SND_SOC_FSL_SAI
31         select REGMAP_MMIO
32         help
33           Say Y if you want to add Medium Quality Sound (MQS)
34           support for the Freescale CPUs.
35           This option is only useful for out-of-tree drivers since
36           in-tree drivers select it automatically.
37
38 config SND_SOC_FSL_AUDMIX
39         tristate "Audio Mixer (AUDMIX) module support"
40         select REGMAP_MMIO
41         help
42           Say Y if you want to add Audio Mixer (AUDMIX)
43           support for the NXP iMX CPUs.
44
45 config SND_SOC_FSL_SSI
46         tristate "Synchronous Serial Interface module (SSI) support"
47         select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
48         select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
49         select REGMAP_MMIO
50         help
51           Say Y if you want to add Synchronous Serial Interface (SSI)
52           support for the Freescale CPUs.
53           This option is only useful for out-of-tree drivers since
54           in-tree drivers select it automatically.
55
56 config SND_SOC_FSL_SPDIF
57         tristate "Sony/Philips Digital Interface (S/PDIF) module support"
58         select REGMAP_MMIO
59         select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
60         select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
61         select BITREVERSE
62         help
63           Say Y if you want to add Sony/Philips Digital Interface (SPDIF)
64           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_ESAI
69         tristate "Enhanced Serial Audio Interface (ESAI) module support"
70         select REGMAP_MMIO
71         select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
72         help
73           Say Y if you want to add Enhanced Synchronous Audio Interface
74           (ESAI) support for the Freescale CPUs.
75           This option is only useful for out-of-tree drivers since
76           in-tree drivers select it automatically.
77
78 config SND_SOC_FSL_MICFIL
79         tristate "Pulse Density Modulation Microphone Interface (MICFIL) module support"
80         select REGMAP_MMIO
81         select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
82         select SND_SOC_GENERIC_DMAENGINE_PCM
83         help
84           Say Y if you want to add Pulse Density Modulation microphone
85           interface (MICFIL) support for NXP.
86
87 config SND_SOC_FSL_EASRC
88         tristate "Enhanced Asynchronous Sample Rate Converter (EASRC) module support"
89         depends on SND_SOC_FSL_ASRC
90         select REGMAP_MMIO
91         select SND_SOC_GENERIC_DMAENGINE_PCM
92         help
93           Say Y if you want to add Enhanced ASRC support for NXP. The ASRC is
94           a digital module that converts audio from a source sample rate to a
95           destination sample rate. It is a new design module compare with the
96           old ASRC.
97
98 config SND_SOC_FSL_XCVR
99         tristate "NXP Audio Transceiver (XCVR) module support"
100         select REGMAP_MMIO
101         select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
102         select SND_SOC_GENERIC_DMAENGINE_PCM
103         help
104           Say Y if you want to add Audio Transceiver (XCVR) support for NXP
105           iMX CPUs. XCVR is a digital module that supports HDMI2.1 eARC,
106           HDMI1.4 ARC and SPDIF.
107
108 config SND_SOC_FSL_AUD2HTX
109         tristate "AUDIO TO HDMI TX module support"
110         depends on ARCH_MXC || COMPILE_TEST
111         select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
112         help
113           Say Y if you want to add AUDIO TO HDMI TX support for NXP.
114
115 config SND_SOC_FSL_UTILS
116         tristate
117
118 config SND_SOC_FSL_RPMSG
119         tristate "NXP Audio Base On RPMSG support"
120         depends on COMMON_CLK
121         depends on RPMSG
122         select SND_SOC_IMX_RPMSG if SND_IMX_SOC != n
123         help
124           Say Y if you want to add rpmsg audio support for the Freescale CPUs.
125           This option is only useful for out-of-tree drivers since
126           in-tree drivers select it automatically.
127
128 config SND_SOC_IMX_PCM_DMA
129         tristate
130         select SND_SOC_GENERIC_DMAENGINE_PCM
131
132 config SND_SOC_IMX_AUDIO_RPMSG
133         tristate
134         depends on RPMSG
135
136 config SND_SOC_IMX_PCM_RPMSG
137         tristate
138         depends on SND_SOC_IMX_AUDIO_RPMSG
139         select SND_SOC_GENERIC_DMAENGINE_PCM
140
141 config SND_SOC_IMX_AUDMUX
142         tristate "Digital Audio Mux module support"
143         help
144           Say Y if you want to add Digital Audio Mux (AUDMUX) support
145           for the ARM i.MX CPUs.
146           This option is only useful for out-of-tree drivers since
147           in-tree drivers select it automatically.
148
149 config SND_POWERPC_SOC
150         tristate "SoC Audio for Freescale PowerPC CPUs"
151         depends on FSL_SOC || PPC_MPC52xx
152         help
153           Say Y or M if you want to add support for codecs attached to
154           the PowerPC CPUs.
155
156 config SND_IMX_SOC
157         tristate "SoC Audio for Freescale i.MX CPUs"
158         depends on ARCH_MXC || COMPILE_TEST
159         help
160           Say Y or M if you want to add support for codecs attached to
161           the i.MX CPUs.
162
163 if SND_POWERPC_SOC
164
165 config SND_MPC52xx_DMA
166         tristate
167
168 config SND_SOC_POWERPC_DMA
169         tristate
170
171 comment "SoC Audio support for Freescale PPC boards:"
172
173 config SND_SOC_MPC8610_HPCD
174         tristate "ALSA SoC support for the Freescale MPC8610 HPCD board"
175         # I2C is necessary for the CS4270 driver
176         depends on MPC8610_HPCD && I2C
177         select SND_SOC_FSL_SSI
178         select SND_SOC_FSL_UTILS
179         select SND_SOC_POWERPC_DMA
180         select SND_SOC_CS4270
181         select SND_SOC_CS4270_VD33_ERRATA
182         default y if MPC8610_HPCD
183         help
184           Say Y if you want to enable audio on the Freescale MPC8610 HPCD.
185
186 config SND_SOC_P1022_DS
187         tristate "ALSA SoC support for the Freescale P1022 DS board"
188         # I2C is necessary for the WM8776 driver
189         depends on P1022_DS && I2C
190         select SND_SOC_FSL_SSI
191         select SND_SOC_FSL_UTILS
192         select SND_SOC_POWERPC_DMA
193         select SND_SOC_WM8776
194         default y if P1022_DS
195         help
196           Say Y if you want to enable audio on the Freescale P1022 DS board.
197           This will also include the Wolfson Microelectronics WM8776 codec
198           driver.
199
200 config SND_SOC_P1022_RDK
201         tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board"
202         # I2C is necessary for the WM8960 driver
203         depends on P1022_RDK && I2C
204         select SND_SOC_FSL_SSI
205         select SND_SOC_FSL_UTILS
206         select SND_SOC_POWERPC_DMA
207         select SND_SOC_WM8960
208         default y if P1022_RDK
209         help
210           Say Y if you want to enable audio on the Freescale / iVeia
211           P1022 RDK board.  This will also include the Wolfson
212           Microelectronics WM8960 codec driver.
213
214 config SND_SOC_MPC5200_I2S
215         tristate "Freescale MPC5200 PSC in I2S mode driver"
216         depends on PPC_MPC52xx && PPC_BESTCOMM
217         select SND_MPC52xx_DMA
218         select PPC_BESTCOMM_GEN_BD
219         help
220           Say Y here to support the MPC5200 PSCs in I2S mode.
221
222 config SND_SOC_MPC5200_AC97
223         tristate "Freescale MPC5200 PSC in AC97 mode driver"
224         depends on PPC_MPC52xx && PPC_BESTCOMM
225         select SND_SOC_AC97_BUS
226         select SND_MPC52xx_DMA
227         select PPC_BESTCOMM_GEN_BD
228         help
229           Say Y here to support the MPC5200 PSCs in AC97 mode.
230
231 config SND_MPC52xx_SOC_PCM030
232         tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712"
233         depends on PPC_MPC5200_SIMPLE
234         select SND_SOC_MPC5200_AC97
235         select SND_SOC_WM9712
236         help
237           Say Y if you want to add support for sound on the Phytec pcm030
238           baseboard.
239
240 config SND_MPC52xx_SOC_EFIKA
241         tristate "SoC AC97 Audio support for bbplan Efika and STAC9766"
242         depends on PPC_EFIKA
243         select SND_SOC_MPC5200_AC97
244         select SND_SOC_STAC9766
245         help
246           Say Y if you want to add support for sound on the Efika.
247
248 endif # SND_POWERPC_SOC
249
250 config SND_SOC_IMX_PCM_FIQ
251         tristate
252         default y if (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC)
253         select FIQ
254
255 if SND_IMX_SOC
256
257 comment "SoC Audio support for Freescale i.MX boards:"
258
259 config SND_SOC_EUKREA_TLV320
260         tristate "Eukrea TLV320"
261         depends on ARCH_MXC && !ARM64 && I2C
262         select SND_SOC_TLV320AIC23_I2C
263         select SND_SOC_IMX_AUDMUX
264         select SND_SOC_FSL_SSI
265         select SND_SOC_IMX_PCM_DMA
266         help
267           Enable I2S based access to the TLV320AIC23B codec attached
268           to the SSI interface
269
270 config SND_SOC_IMX_ES8328
271         tristate "SoC Audio support for i.MX boards with the ES8328 codec"
272         depends on OF && (I2C || SPI)
273         select SND_SOC_ES8328_I2C if I2C
274         select SND_SOC_ES8328_SPI if SPI_MASTER
275         select SND_SOC_IMX_PCM_DMA
276         select SND_SOC_IMX_AUDMUX
277         select SND_SOC_FSL_SSI
278         help
279           Say Y if you want to add support for the ES8328 audio codec connected
280           via SSI/I2S over either SPI or I2C.
281
282 config SND_SOC_IMX_SGTL5000
283         tristate "SoC Audio support for i.MX boards with sgtl5000"
284         depends on OF && I2C
285         select SND_SOC_SGTL5000
286         select SND_SOC_IMX_PCM_DMA
287         select SND_SOC_IMX_AUDMUX
288         select SND_SOC_FSL_SSI
289         help
290           Say Y if you want to add support for SoC audio on an i.MX board with
291           a sgtl5000 codec.
292
293 config SND_SOC_IMX_SPDIF
294         tristate "SoC Audio support for i.MX boards with S/PDIF"
295         select SND_SOC_IMX_PCM_DMA
296         select SND_SOC_FSL_SPDIF
297         help
298           SoC Audio support for i.MX boards with S/PDIF
299           Say Y if you want to add support for SoC audio on an i.MX board with
300           a S/DPDIF.
301
302 config SND_SOC_FSL_ASOC_CARD
303         tristate "Generic ASoC Sound Card with ASRC support"
304         depends on OF && I2C
305         # enforce SND_SOC_FSL_ASOC_CARD=m if SND_AC97_CODEC=m:
306         depends on SND_AC97_CODEC || SND_AC97_CODEC=n
307         select SND_SIMPLE_CARD_UTILS
308         select SND_SOC_IMX_AUDMUX
309         select SND_SOC_IMX_PCM_DMA
310         select SND_SOC_FSL_ESAI
311         select SND_SOC_FSL_SAI
312         select SND_SOC_FSL_SSI
313         select SND_SOC_WM8994
314         select MFD_WM8994
315         help
316          ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
317          ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888,
318          CS4271, CS4272, SGTL5000 and TLV320AIC32x4.
319          Say Y if you want to add support for Freescale Generic ASoC Sound Card.
320
321 config SND_SOC_IMX_AUDMIX
322         tristate "SoC Audio support for i.MX boards with AUDMIX"
323         select SND_SOC_FSL_AUDMIX
324         select SND_SOC_FSL_SAI
325         help
326           SoC Audio support for i.MX boards with Audio Mixer
327           Say Y if you want to add support for SoC audio on an i.MX board with
328           an Audio Mixer.
329
330 config SND_SOC_IMX_HDMI
331         tristate "SoC Audio support for i.MX boards with HDMI port"
332         select SND_SOC_FSL_SAI
333         select SND_SOC_FSL_AUD2HTX
334         select SND_SOC_HDMI_CODEC
335         help
336           ALSA SoC Audio support with HDMI feature for Freescale SoCs that have
337           SAI/AUD2HTX and connect with internal HDMI IP or external module
338           SII902X.
339           Say Y if you want to add support for SoC audio on an i.MX board with
340           IMX HDMI.
341
342 config SND_SOC_IMX_RPMSG
343         tristate "SoC Audio support for i.MX boards with rpmsg"
344         depends on RPMSG
345         select SND_SOC_IMX_PCM_RPMSG
346         select SND_SOC_IMX_AUDIO_RPMSG
347         help
348           SoC Audio support for i.MX boards with rpmsg.
349           There should be rpmsg devices defined in other core (M core)
350           Say Y if you want to add support for SoC audio on an i.MX board with
351           a rpmsg devices.
352
353 endif # SND_IMX_SOC
354
355 endmenu