blob: 8e05d092790e4d9cda8b7f54dadaa29f93f17558 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Alexander Shiyaneba9e062014-03-16 08:21:34 +04002menu "SoC Audio for Freescale CPUs"
3
Alexander Shiyan204dec92014-03-16 08:21:35 +04004comment "Common SoC Audio options for Freescale CPUs:"
5
Nicolin Chen3117bb32014-07-29 18:08:53 +08006config SND_SOC_FSL_ASRC
7 tristate "Asynchronous Sample Rate Converter (ASRC) module support"
Sudip Mukherjee121a0152016-06-02 18:29:24 +05308 depends on HAS_DMA
Nicolin Chen3117bb32014-07-29 18:08:53 +08009 select REGMAP_MMIO
Fabio Estevambdb9eb42014-07-30 11:27:06 -030010 select SND_SOC_GENERIC_DMAENGINE_PCM
Nicolin Chen3117bb32014-07-29 18:08:53 +080011 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
Xiubo Li43550822013-12-17 11:24:38 +080017config SND_SOC_FSL_SAI
Xiubo Lib71fc4e2014-04-30 18:10:05 +080018 tristate "Synchronous Audio Interface (SAI) module support"
Xiubo Li7d150c62014-02-11 10:47:04 +080019 select REGMAP_MMIO
Arnd Bergmannff402602014-06-03 14:11:56 +020020 select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
Xiubo Li43550822013-12-17 11:24:38 +080021 select SND_SOC_GENERIC_DMAENGINE_PCM
Xiubo Lib71fc4e2014-04-30 18:10:05 +080022 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.
Xiubo Li43550822013-12-17 11:24:38 +080027
Shengjiu Wang9e28f652019-09-13 17:42:14 +080028config 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
Viorel Sumanbe1df612019-01-22 11:14:26 +000038config 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
Shawn Guoa23dc692012-03-16 16:56:38 +080045config SND_SOC_FSL_SSI
Fabio Estevam11690062015-04-09 15:32:09 -030046 tristate "Synchronous Serial Interface module (SSI) support"
Arnd Bergmann31ee2bf2014-04-29 21:36:22 +020047 select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
Arnd Bergmannff402602014-06-03 14:11:56 +020048 select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
Markus Pargmann43248122014-05-27 10:24:25 +020049 select REGMAP_MMIO
Alexander Shiyan204dec92014-03-16 08:21:35 +040050 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.
Shawn Guoa23dc692012-03-16 16:56:38 +080055
Nicolin Chena2388a42013-08-21 11:13:16 +080056config SND_SOC_FSL_SPDIF
Fabio Estevam11690062015-04-09 15:32:09 -030057 tristate "Sony/Philips Digital Interface (S/PDIF) module support"
Xiubo Li7d150c62014-02-11 10:47:04 +080058 select REGMAP_MMIO
Arnd Bergmann31ee2bf2014-04-29 21:36:22 +020059 select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
Arnd Bergmannff402602014-06-03 14:11:56 +020060 select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
Randy Dunlapb3af6d32016-11-05 16:16:32 -070061 select BITREVERSE
Alexander Shiyan204dec92014-03-16 08:21:35 +040062 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.
Nicolin Chena2388a42013-08-21 11:13:16 +080067
Nicolin Chen43d24e72014-01-10 17:54:06 +080068config SND_SOC_FSL_ESAI
Xiubo Li40e3b932014-04-30 18:10:06 +080069 tristate "Enhanced Serial Audio Interface (ESAI) module support"
Xiubo Li7d150c62014-02-11 10:47:04 +080070 select REGMAP_MMIO
Arnd Bergmannff402602014-06-03 14:11:56 +020071 select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
Xiubo Li40e3b932014-04-30 18:10:06 +080072 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.
Nicolin Chen43d24e72014-01-10 17:54:06 +080077
Cosmin Samoila47a70e62019-01-04 09:17:38 +000078config 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
Shengjiu Wang955ac622020-04-16 20:25:37 +080087config 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
Viorel Suman28564482020-10-13 15:17:32 +030098config 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
Shengjiu Wang8a24c832020-11-02 09:52:27 +0800108config SND_SOC_FSL_AUD2HTX
109 tristate "AUDIO TO HDMI TX module support"
Shengjiu Wangc61d1142020-11-26 14:14:53 +0800110 depends on ARCH_MXC || COMPILE_TEST
Arnd Bergmanna1f31cc42021-01-03 14:53:17 +0100111 select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
Shengjiu Wang8a24c832020-11-02 09:52:27 +0800112 help
113 Say Y if you want to add AUDIO TO HDMI TX support for NXP.
114
Shawn Guo60aae8d2012-03-16 16:56:40 +0800115config SND_SOC_FSL_UTILS
116 tristate
117
Shengjiu Wangb73d9e62021-03-12 10:38:41 +0800118config SND_SOC_FSL_RPMSG
119 tristate "NXP Audio Base On RPMSG support"
120 depends on COMMON_CLK
121 depends on RPMSG
Arnd Bergmanncdf112d42021-05-14 23:31:14 +0200122 depends on SND_IMX_SOC || SND_IMX_SOC = n
Shengjiu Wangb73d9e62021-03-12 10:38:41 +0800123 select SND_SOC_IMX_RPMSG if SND_IMX_SOC != n
124 help
125 Say Y if you want to add rpmsg audio support for the Freescale CPUs.
126 This option is only useful for out-of-tree drivers since
127 in-tree drivers select it automatically.
128
Alexander Shiyaneba9e062014-03-16 08:21:34 +0400129config SND_SOC_IMX_PCM_DMA
130 tristate
131 select SND_SOC_GENERIC_DMAENGINE_PCM
132
Shengjiu Wang19350502021-03-12 10:38:43 +0800133config SND_SOC_IMX_AUDIO_RPMSG
134 tristate
135 depends on RPMSG
136
Shengjiu Wang3c00ece2021-03-12 10:38:44 +0800137config SND_SOC_IMX_PCM_RPMSG
138 tristate
139 depends on SND_SOC_IMX_AUDIO_RPMSG
140 select SND_SOC_GENERIC_DMAENGINE_PCM
141
Alexander Shiyaneba9e062014-03-16 08:21:34 +0400142config SND_SOC_IMX_AUDMUX
Alexander Shiyan204dec92014-03-16 08:21:35 +0400143 tristate "Digital Audio Mux module support"
144 help
145 Say Y if you want to add Digital Audio Mux (AUDMUX) support
146 for the ARM i.MX CPUs.
147 This option is only useful for out-of-tree drivers since
148 in-tree drivers select it automatically.
Alexander Shiyaneba9e062014-03-16 08:21:34 +0400149
150config SND_POWERPC_SOC
Shawn Guoa23dc692012-03-16 16:56:38 +0800151 tristate "SoC Audio for Freescale PowerPC CPUs"
Eric Millbrandtf99ddef2012-09-20 10:36:43 -0400152 depends on FSL_SOC || PPC_MPC52xx
Shawn Guoa23dc692012-03-16 16:56:38 +0800153 help
154 Say Y or M if you want to add support for codecs attached to
155 the PowerPC CPUs.
156
Alexander Shiyaneba9e062014-03-16 08:21:34 +0400157config SND_IMX_SOC
158 tristate "SoC Audio for Freescale i.MX CPUs"
159 depends on ARCH_MXC || COMPILE_TEST
160 help
161 Say Y or M if you want to add support for codecs attached to
162 the i.MX CPUs.
163
Shawn Guoa23dc692012-03-16 16:56:38 +0800164if SND_POWERPC_SOC
165
Jon Smirl89dd0842009-05-23 19:12:59 -0400166config SND_MPC52xx_DMA
167 tristate
Grant Likely84bc2782008-07-29 11:42:28 +0100168
Shawn Guod61e1122012-03-16 16:56:37 +0800169config SND_SOC_POWERPC_DMA
Timur Tabi75d91f92009-01-19 11:57:46 -0600170 tristate
Timur Tabi17467f22008-01-11 18:15:26 +0100171
Alexander Shiyaneba9e062014-03-16 08:21:34 +0400172comment "SoC Audio support for Freescale PPC boards:"
173
Timur Tabi17467f22008-01-11 18:15:26 +0100174config SND_SOC_MPC8610_HPCD
Timur Tabi75d91f92009-01-19 11:57:46 -0600175 tristate "ALSA SoC support for the Freescale MPC8610 HPCD board"
Timur Tabiff637d382009-01-22 18:23:39 -0600176 # I2C is necessary for the CS4270 driver
177 depends on MPC8610_HPCD && I2C
Shawn Guod61e1122012-03-16 16:56:37 +0800178 select SND_SOC_FSL_SSI
Shawn Guo60aae8d2012-03-16 16:56:40 +0800179 select SND_SOC_FSL_UTILS
Shawn Guod61e1122012-03-16 16:56:37 +0800180 select SND_SOC_POWERPC_DMA
Timur Tabi17467f22008-01-11 18:15:26 +0100181 select SND_SOC_CS4270
182 select SND_SOC_CS4270_VD33_ERRATA
183 default y if MPC8610_HPCD
184 help
185 Say Y if you want to enable audio on the Freescale MPC8610 HPCD.
Grant Likelydc641372008-07-29 11:42:30 +0100186
Timur Tabi27ef3742010-08-19 17:11:40 -0500187config SND_SOC_P1022_DS
188 tristate "ALSA SoC support for the Freescale P1022 DS board"
189 # I2C is necessary for the WM8776 driver
190 depends on P1022_DS && I2C
Shawn Guod61e1122012-03-16 16:56:37 +0800191 select SND_SOC_FSL_SSI
Shawn Guo60aae8d2012-03-16 16:56:40 +0800192 select SND_SOC_FSL_UTILS
Shawn Guod61e1122012-03-16 16:56:37 +0800193 select SND_SOC_POWERPC_DMA
Timur Tabi27ef3742010-08-19 17:11:40 -0500194 select SND_SOC_WM8776
195 default y if P1022_DS
196 help
197 Say Y if you want to enable audio on the Freescale P1022 DS board.
198 This will also include the Wolfson Microelectronics WM8776 codec
199 driver.
200
Timur Tabi96a0af62012-10-12 14:09:18 -0500201config SND_SOC_P1022_RDK
202 tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board"
203 # I2C is necessary for the WM8960 driver
204 depends on P1022_RDK && I2C
205 select SND_SOC_FSL_SSI
206 select SND_SOC_FSL_UTILS
207 select SND_SOC_POWERPC_DMA
208 select SND_SOC_WM8960
209 default y if P1022_RDK
210 help
211 Say Y if you want to enable audio on the Freescale / iVeia
212 P1022 RDK board. This will also include the Wolfson
213 Microelectronics WM8960 codec driver.
214
Grant Likelydc641372008-07-29 11:42:30 +0100215config SND_SOC_MPC5200_I2S
216 tristate "Freescale MPC5200 PSC in I2S mode driver"
Takashi Iwai65746122009-05-04 16:03:21 +0200217 depends on PPC_MPC52xx && PPC_BESTCOMM
Jon Smirl89dd0842009-05-23 19:12:59 -0400218 select SND_MPC52xx_DMA
Grant Likely847cdf42008-11-14 05:19:00 -0700219 select PPC_BESTCOMM_GEN_BD
Grant Likelydc641372008-07-29 11:42:30 +0100220 help
221 Say Y here to support the MPC5200 PSCs in I2S mode.
Jon Smirl20d0e1522009-05-26 08:34:10 -0400222
223config SND_SOC_MPC5200_AC97
224 tristate "Freescale MPC5200 PSC in AC97 mode driver"
225 depends on PPC_MPC52xx && PPC_BESTCOMM
Grant Likely6a84c232009-06-28 01:41:52 -0600226 select SND_SOC_AC97_BUS
Jon Smirl20d0e1522009-05-26 08:34:10 -0400227 select SND_MPC52xx_DMA
228 select PPC_BESTCOMM_GEN_BD
229 help
230 Say Y here to support the MPC5200 PSCs in AC97 mode.
231
Jon Smirla9262c42009-05-26 08:34:12 -0400232config SND_MPC52xx_SOC_PCM030
233 tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712"
Grant Likely40d9ec12009-06-28 01:42:06 -0600234 depends on PPC_MPC5200_SIMPLE
Jon Smirla9262c42009-05-26 08:34:12 -0400235 select SND_SOC_MPC5200_AC97
236 select SND_SOC_WM9712
237 help
Mark Brown0c0e09e2009-05-26 21:14:59 +0100238 Say Y if you want to add support for sound on the Phytec pcm030
239 baseboard.
Jon Smirl20d0e1522009-05-26 08:34:10 -0400240
Jon Smirl6ffee432009-05-26 08:34:14 -0400241config SND_MPC52xx_SOC_EFIKA
242 tristate "SoC AC97 Audio support for bbplan Efika and STAC9766"
Grant Likely40d9ec12009-06-28 01:42:06 -0600243 depends on PPC_EFIKA
Jon Smirl6ffee432009-05-26 08:34:14 -0400244 select SND_SOC_MPC5200_AC97
245 select SND_SOC_STAC9766
246 help
247 Say Y if you want to add support for sound on the Efika.
248
Shawn Guoa23dc692012-03-16 16:56:38 +0800249endif # SND_POWERPC_SOC
250
Arnd Bergmannea751222019-04-16 15:12:23 +0200251config SND_SOC_IMX_PCM_FIQ
252 tristate
Fabio Estevamc31da0b2020-11-10 17:39:37 -0300253 default y if (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC)
Arnd Bergmannea751222019-04-16 15:12:23 +0200254 select FIQ
255
Shawn Guoa23dc692012-03-16 16:56:38 +0800256if SND_IMX_SOC
257
Alexander Shiyaneba9e062014-03-16 08:21:34 +0400258comment "SoC Audio support for Freescale i.MX boards:"
Shawn Guoa23dc692012-03-16 16:56:38 +0800259
Shawn Guoa23dc692012-03-16 16:56:38 +0800260config SND_SOC_EUKREA_TLV320
261 tristate "Eukrea TLV320"
Fabio Estevamadd68832018-12-13 00:08:38 -0200262 depends on ARCH_MXC && !ARM64 && I2C
Max Filippovcc1bc542014-03-06 14:04:42 +0400263 select SND_SOC_TLV320AIC23_I2C
Shawn Guoa23dc692012-03-16 16:56:38 +0800264 select SND_SOC_IMX_AUDMUX
Denis Carikli66f23292014-01-15 18:23:25 +0100265 select SND_SOC_FSL_SSI
266 select SND_SOC_IMX_PCM_DMA
Shawn Guoa23dc692012-03-16 16:56:38 +0800267 help
268 Enable I2S based access to the TLV320AIC23B codec attached
269 to the SSI interface
270
Sean Cross7e7292d2014-07-31 10:43:37 +0800271config SND_SOC_IMX_ES8328
272 tristate "SoC Audio support for i.MX boards with the ES8328 codec"
273 depends on OF && (I2C || SPI)
274 select SND_SOC_ES8328_I2C if I2C
275 select SND_SOC_ES8328_SPI if SPI_MASTER
276 select SND_SOC_IMX_PCM_DMA
277 select SND_SOC_IMX_AUDMUX
278 select SND_SOC_FSL_SSI
Sean Cross7e7292d2014-07-31 10:43:37 +0800279 help
280 Say Y if you want to add support for the ES8328 audio codec connected
281 via SSI/I2S over either SPI or I2C.
282
Shawn Guoc4483032012-03-16 16:56:44 +0800283config SND_SOC_IMX_SGTL5000
284 tristate "SoC Audio support for i.MX boards with sgtl5000"
285 depends on OF && I2C
286 select SND_SOC_SGTL5000
287 select SND_SOC_IMX_PCM_DMA
288 select SND_SOC_IMX_AUDMUX
289 select SND_SOC_FSL_SSI
Shawn Guoc4483032012-03-16 16:56:44 +0800290 help
291 Say Y if you want to add support for SoC audio on an i.MX board with
292 a sgtl5000 codec.
293
Nicolin Chen2a956ec2013-08-28 12:04:46 +0800294config SND_SOC_IMX_SPDIF
295 tristate "SoC Audio support for i.MX boards with S/PDIF"
296 select SND_SOC_IMX_PCM_DMA
297 select SND_SOC_FSL_SPDIF
Nicolin Chen2a956ec2013-08-28 12:04:46 +0800298 help
299 SoC Audio support for i.MX boards with S/PDIF
300 Say Y if you want to add support for SoC audio on an i.MX board with
301 a S/DPDIF.
302
Shengjiu Wang38c6e4b2014-08-19 17:36:41 +0800303config SND_SOC_FSL_ASOC_CARD
304 tristate "Generic ASoC Sound Card with ASRC support"
305 depends on OF && I2C
Arnd Bergmannab07eae2015-11-24 23:21:10 +0100306 # enforce SND_SOC_FSL_ASOC_CARD=m if SND_AC97_CODEC=m:
307 depends on SND_AC97_CODEC || SND_AC97_CODEC=n
Shengjiu Wang3b171192020-07-15 22:09:39 +0800308 select SND_SIMPLE_CARD_UTILS
Shengjiu Wang38c6e4b2014-08-19 17:36:41 +0800309 select SND_SOC_IMX_AUDMUX
310 select SND_SOC_IMX_PCM_DMA
311 select SND_SOC_FSL_ESAI
312 select SND_SOC_FSL_SAI
313 select SND_SOC_FSL_SSI
Shengjiu Wangefd0b162021-03-17 21:05:02 +0800314 select SND_SOC_WM8994
315 select MFD_WM8994
Shengjiu Wang38c6e4b2014-08-19 17:36:41 +0800316 help
317 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
Felipe F. Tonello57e756d2016-01-29 11:01:00 +0000318 ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888,
Matthias Schifferb5074752020-08-21 09:11:53 +0200319 CS4271, CS4272, SGTL5000 and TLV320AIC32x4.
Shengjiu Wang38c6e4b2014-08-19 17:36:41 +0800320 Say Y if you want to add support for Freescale Generic ASoC Sound Card.
321
Viorel Sumanb86ef532019-01-22 11:14:30 +0000322config SND_SOC_IMX_AUDMIX
323 tristate "SoC Audio support for i.MX boards with AUDMIX"
324 select SND_SOC_FSL_AUDMIX
325 select SND_SOC_FSL_SAI
326 help
327 SoC Audio support for i.MX boards with Audio Mixer
328 Say Y if you want to add support for SoC audio on an i.MX board with
329 an Audio Mixer.
330
Shengjiu Wang6a5f8502020-12-06 18:41:59 +0800331config SND_SOC_IMX_HDMI
332 tristate "SoC Audio support for i.MX boards with HDMI port"
333 select SND_SOC_FSL_SAI
334 select SND_SOC_FSL_AUD2HTX
335 select SND_SOC_HDMI_CODEC
336 help
337 ALSA SoC Audio support with HDMI feature for Freescale SoCs that have
338 SAI/AUD2HTX and connect with internal HDMI IP or external module
339 SII902X.
340 Say Y if you want to add support for SoC audio on an i.MX board with
341 IMX HDMI.
342
Shengjiu Wang39f84052021-03-12 10:38:45 +0800343config SND_SOC_IMX_RPMSG
344 tristate "SoC Audio support for i.MX boards with rpmsg"
345 depends on RPMSG
346 select SND_SOC_IMX_PCM_RPMSG
347 select SND_SOC_IMX_AUDIO_RPMSG
348 help
349 SoC Audio support for i.MX boards with rpmsg.
350 There should be rpmsg devices defined in other core (M core)
351 Say Y if you want to add support for SoC audio on an i.MX board with
352 a rpmsg devices.
353
Shengjiu Wangaa736702021-05-17 18:31:28 +0800354config SND_SOC_IMX_CARD
355 tristate "SoC Audio Graph Sound Card support for i.MX boards"
356 depends on OF && I2C
357 select SND_SOC_AK4458
358 select SND_SOC_AK5558
359 select SND_SOC_IMX_PCM_DMA
360 select SND_SOC_FSL_SAI
361 select SND_SIMPLE_CARD_UTILS
362 help
363 This option enables audio sound card support for i.MX boards
364 with OF-graph DT bindings.
365 It also support DPCM of single CPU multi Codec ststem.
366
Shawn Guoa23dc692012-03-16 16:56:38 +0800367endif # SND_IMX_SOC
Alexander Shiyaneba9e062014-03-16 08:21:34 +0400368
369endmenu