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