treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / sound / soc / fsl / Kconfig
blob65e8cd4be93001351ae077885030b32f440214a3
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         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.
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.
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.
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.
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.
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.
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.
87 config SND_SOC_FSL_UTILS
88         tristate
90 config SND_SOC_IMX_PCM_DMA
91         tristate
92         select SND_SOC_GENERIC_DMAENGINE_PCM
94 config SND_SOC_IMX_AUDMUX
95         tristate "Digital Audio Mux module support"
96         help
97           Say Y if you want to add Digital Audio Mux (AUDMUX) support
98           for the ARM i.MX CPUs.
99           This option is only useful for out-of-tree drivers since
100           in-tree drivers select it automatically.
102 config SND_POWERPC_SOC
103         tristate "SoC Audio for Freescale PowerPC CPUs"
104         depends on FSL_SOC || PPC_MPC52xx
105         help
106           Say Y or M if you want to add support for codecs attached to
107           the PowerPC CPUs.
109 config SND_IMX_SOC
110         tristate "SoC Audio for Freescale i.MX CPUs"
111         depends on ARCH_MXC || COMPILE_TEST
112         help
113           Say Y or M if you want to add support for codecs attached to
114           the i.MX CPUs.
116 if SND_POWERPC_SOC
118 config SND_MPC52xx_DMA
119         tristate
121 config SND_SOC_POWERPC_DMA
122         tristate
124 comment "SoC Audio support for Freescale PPC boards:"
126 config SND_SOC_MPC8610_HPCD
127         tristate "ALSA SoC support for the Freescale MPC8610 HPCD board"
128         # I2C is necessary for the CS4270 driver
129         depends on MPC8610_HPCD && I2C
130         select SND_SOC_FSL_SSI
131         select SND_SOC_FSL_UTILS
132         select SND_SOC_POWERPC_DMA
133         select SND_SOC_CS4270
134         select SND_SOC_CS4270_VD33_ERRATA
135         default y if MPC8610_HPCD
136         help
137           Say Y if you want to enable audio on the Freescale MPC8610 HPCD.
139 config SND_SOC_P1022_DS
140         tristate "ALSA SoC support for the Freescale P1022 DS board"
141         # I2C is necessary for the WM8776 driver
142         depends on P1022_DS && I2C
143         select SND_SOC_FSL_SSI
144         select SND_SOC_FSL_UTILS
145         select SND_SOC_POWERPC_DMA
146         select SND_SOC_WM8776
147         default y if P1022_DS
148         help
149           Say Y if you want to enable audio on the Freescale P1022 DS board.
150           This will also include the Wolfson Microelectronics WM8776 codec
151           driver.
153 config SND_SOC_P1022_RDK
154         tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board"
155         # I2C is necessary for the WM8960 driver
156         depends on P1022_RDK && I2C
157         select SND_SOC_FSL_SSI
158         select SND_SOC_FSL_UTILS
159         select SND_SOC_POWERPC_DMA
160         select SND_SOC_WM8960
161         default y if P1022_RDK
162         help
163           Say Y if you want to enable audio on the Freescale / iVeia
164           P1022 RDK board.  This will also include the Wolfson
165           Microelectronics WM8960 codec driver.
167 config SND_SOC_MPC5200_I2S
168         tristate "Freescale MPC5200 PSC in I2S mode driver"
169         depends on PPC_MPC52xx && PPC_BESTCOMM
170         select SND_MPC52xx_DMA
171         select PPC_BESTCOMM_GEN_BD
172         help
173           Say Y here to support the MPC5200 PSCs in I2S mode.
175 config SND_SOC_MPC5200_AC97
176         tristate "Freescale MPC5200 PSC in AC97 mode driver"
177         depends on PPC_MPC52xx && PPC_BESTCOMM
178         select SND_SOC_AC97_BUS
179         select SND_MPC52xx_DMA
180         select PPC_BESTCOMM_GEN_BD
181         help
182           Say Y here to support the MPC5200 PSCs in AC97 mode.
184 config SND_MPC52xx_SOC_PCM030
185         tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712"
186         depends on PPC_MPC5200_SIMPLE
187         select SND_SOC_MPC5200_AC97
188         select SND_SOC_WM9712
189         help
190           Say Y if you want to add support for sound on the Phytec pcm030
191           baseboard.
193 config SND_MPC52xx_SOC_EFIKA
194         tristate "SoC AC97 Audio support for bbplan Efika and STAC9766"
195         depends on PPC_EFIKA
196         select SND_SOC_MPC5200_AC97
197         select SND_SOC_STAC9766
198         help
199           Say Y if you want to add support for sound on the Efika.
201 endif # SND_POWERPC_SOC
203 config SND_SOC_IMX_PCM_FIQ
204         tristate
205         default y if SND_SOC_IMX_SSI=y && (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC)
206         select FIQ
208 if SND_IMX_SOC
210 config SND_SOC_IMX_SSI
211         tristate
212         select SND_SOC_FSL_UTILS
214 comment "SoC Audio support for Freescale i.MX boards:"
216 config SND_MXC_SOC_WM1133_EV1
217         tristate "Audio on the i.MX31ADS with WM1133-EV1 fitted"
218         depends on MACH_MX31ADS_WM1133_EV1
219         select SND_SOC_WM8350
220         select SND_SOC_IMX_PCM_FIQ
221         select SND_SOC_IMX_AUDMUX
222         select SND_SOC_IMX_SSI
223         help
224           Enable support for audio on the i.MX31ADS with the WM1133-EV1
225           PMIC board with WM8835x fitted.
227 config SND_SOC_MX27VIS_AIC32X4
228         tristate "SoC audio support for Visstrim M10 boards"
229         depends on MACH_IMX27_VISSTRIM_M10 && I2C
230         select SND_SOC_TLV320AIC32X4
231         select SND_SOC_IMX_PCM_DMA
232         select SND_SOC_IMX_AUDMUX
233         select SND_SOC_IMX_SSI
234         help
235           Say Y if you want to add support for SoC audio on Visstrim SM10
236           board with TLV320AIC32X4 codec.
238 config SND_SOC_PHYCORE_AC97
239         tristate "SoC Audio support for Phytec phyCORE (and phyCARD) boards"
240         depends on MACH_PCM043 || MACH_PCA100
241         select SND_SOC_AC97_BUS
242         select SND_SOC_WM9712
243         select SND_SOC_IMX_PCM_FIQ
244         select SND_SOC_IMX_AUDMUX
245         select SND_SOC_IMX_SSI
246         help
247           Say Y if you want to add support for SoC audio on Phytec phyCORE
248           and phyCARD boards in AC97 mode
250 config SND_SOC_EUKREA_TLV320
251         tristate "Eukrea TLV320"
252         depends on ARCH_MXC && !ARM64 && I2C
253         select SND_SOC_TLV320AIC23_I2C
254         select SND_SOC_IMX_AUDMUX
255         select SND_SOC_IMX_SSI
256         select SND_SOC_FSL_SSI
257         select SND_SOC_IMX_PCM_DMA
258         help
259           Enable I2S based access to the TLV320AIC23B codec attached
260           to the SSI interface
262 config SND_SOC_IMX_ES8328
263         tristate "SoC Audio support for i.MX boards with the ES8328 codec"
264         depends on OF && (I2C || SPI)
265         select SND_SOC_ES8328_I2C if I2C
266         select SND_SOC_ES8328_SPI if SPI_MASTER
267         select SND_SOC_IMX_PCM_DMA
268         select SND_SOC_IMX_AUDMUX
269         select SND_SOC_FSL_SSI
270         help
271           Say Y if you want to add support for the ES8328 audio codec connected
272           via SSI/I2S over either SPI or I2C.
274 config SND_SOC_IMX_SGTL5000
275         tristate "SoC Audio support for i.MX boards with sgtl5000"
276         depends on OF && I2C
277         select SND_SOC_SGTL5000
278         select SND_SOC_IMX_PCM_DMA
279         select SND_SOC_IMX_AUDMUX
280         select SND_SOC_FSL_SSI
281         help
282           Say Y if you want to add support for SoC audio on an i.MX board with
283           a sgtl5000 codec.
285 config SND_SOC_IMX_SPDIF
286         tristate "SoC Audio support for i.MX boards with S/PDIF"
287         select SND_SOC_IMX_PCM_DMA
288         select SND_SOC_FSL_SPDIF
289         help
290           SoC Audio support for i.MX boards with S/PDIF
291           Say Y if you want to add support for SoC audio on an i.MX board with
292           a S/DPDIF.
294 config SND_SOC_IMX_MC13783
295         tristate "SoC Audio support for I.MX boards with mc13783"
296         depends on MFD_MC13XXX && ARM
297         select SND_SOC_IMX_SSI
298         select SND_SOC_IMX_AUDMUX
299         select SND_SOC_MC13783
300         select SND_SOC_IMX_PCM_DMA
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_SOC_IMX_AUDMUX
308         select SND_SOC_IMX_PCM_DMA
309         select SND_SOC_FSL_ESAI
310         select SND_SOC_FSL_SAI
311         select SND_SOC_FSL_SSI
312         help
313          ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
314          ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888,
315          CS4271, CS4272 and SGTL5000.
316          Say Y if you want to add support for Freescale Generic ASoC Sound Card.
318 config SND_SOC_IMX_AUDMIX
319         tristate "SoC Audio support for i.MX boards with AUDMIX"
320         select SND_SOC_FSL_AUDMIX
321         select SND_SOC_FSL_SAI
322         help
323           SoC Audio support for i.MX boards with Audio Mixer
324           Say Y if you want to add support for SoC audio on an i.MX board with
325           an Audio Mixer.
327 endif # SND_IMX_SOC
329 endmenu