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