xref: /linux/sound/soc/fsl/Kconfig (revision ec8f24b7faaf3d4799a7c3f4c1b87f6b02778ad1)
1*ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2eba9e06fSAlexander Shiyanmenu "SoC Audio for Freescale CPUs"
3eba9e06fSAlexander Shiyan
4204dec93SAlexander Shiyancomment "Common SoC Audio options for Freescale CPUs:"
5204dec93SAlexander Shiyan
63117bb31SNicolin Chenconfig SND_SOC_FSL_ASRC
73117bb31SNicolin Chen	tristate "Asynchronous Sample Rate Converter (ASRC) module support"
8121a0152SSudip Mukherjee	depends on HAS_DMA
93117bb31SNicolin Chen	select REGMAP_MMIO
10bdb9eb49SFabio Estevam	select SND_SOC_GENERIC_DMAENGINE_PCM
113117bb31SNicolin Chen	help
123117bb31SNicolin Chen	  Say Y if you want to add Asynchronous Sample Rate Converter (ASRC)
133117bb31SNicolin Chen	  support for the Freescale CPUs.
143117bb31SNicolin Chen	  This option is only useful for out-of-tree drivers since
153117bb31SNicolin Chen	  in-tree drivers select it automatically.
163117bb31SNicolin Chen
1743550821SXiubo Liconfig SND_SOC_FSL_SAI
18b71fc4e6SXiubo Li	tristate "Synchronous Audio Interface (SAI) module support"
197d150c60SXiubo Li	select REGMAP_MMIO
20ff40260fSArnd Bergmann	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
2143550821SXiubo Li	select SND_SOC_GENERIC_DMAENGINE_PCM
22b71fc4e6SXiubo Li	help
23b71fc4e6SXiubo Li	  Say Y if you want to add Synchronous Audio Interface (SAI)
24b71fc4e6SXiubo Li	  support for the Freescale CPUs.
25b71fc4e6SXiubo Li	  This option is only useful for out-of-tree drivers since
26b71fc4e6SXiubo Li	  in-tree drivers select it automatically.
2743550821SXiubo Li
28be1df61cSViorel Sumanconfig SND_SOC_FSL_AUDMIX
29be1df61cSViorel Suman	tristate "Audio Mixer (AUDMIX) module support"
30be1df61cSViorel Suman	select REGMAP_MMIO
31be1df61cSViorel Suman	help
32be1df61cSViorel Suman	  Say Y if you want to add Audio Mixer (AUDMIX)
33be1df61cSViorel Suman	  support for the NXP iMX CPUs.
34be1df61cSViorel Suman
35a23dc694SShawn Guoconfig SND_SOC_FSL_SSI
361169006bSFabio Estevam	tristate "Synchronous Serial Interface module (SSI) support"
3731ee2bfdSArnd Bergmann	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
38ff40260fSArnd Bergmann	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
3943248122SMarkus Pargmann	select REGMAP_MMIO
40204dec93SAlexander Shiyan	help
41204dec93SAlexander Shiyan	  Say Y if you want to add Synchronous Serial Interface (SSI)
42204dec93SAlexander Shiyan	  support for the Freescale CPUs.
43204dec93SAlexander Shiyan	  This option is only useful for out-of-tree drivers since
44204dec93SAlexander Shiyan	  in-tree drivers select it automatically.
45a23dc694SShawn Guo
46a2388a49SNicolin Chenconfig SND_SOC_FSL_SPDIF
471169006bSFabio Estevam	tristate "Sony/Philips Digital Interface (S/PDIF) module support"
487d150c60SXiubo Li	select REGMAP_MMIO
4931ee2bfdSArnd Bergmann	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
50ff40260fSArnd Bergmann	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
51b3af6d3fSRandy Dunlap	select BITREVERSE
52204dec93SAlexander Shiyan	help
53204dec93SAlexander Shiyan	  Say Y if you want to add Sony/Philips Digital Interface (SPDIF)
54204dec93SAlexander Shiyan	  support for the Freescale CPUs.
55204dec93SAlexander Shiyan	  This option is only useful for out-of-tree drivers since
56204dec93SAlexander Shiyan	  in-tree drivers select it automatically.
57a2388a49SNicolin Chen
5843d24e76SNicolin Chenconfig SND_SOC_FSL_ESAI
5940e3b934SXiubo Li	tristate "Enhanced Serial Audio Interface (ESAI) module support"
607d150c60SXiubo Li	select REGMAP_MMIO
61ff40260fSArnd Bergmann	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
6240e3b934SXiubo Li	help
6340e3b934SXiubo Li	  Say Y if you want to add Enhanced Synchronous Audio Interface
6440e3b934SXiubo Li	  (ESAI) support for the Freescale CPUs.
6540e3b934SXiubo Li	  This option is only useful for out-of-tree drivers since
6640e3b934SXiubo Li	  in-tree drivers select it automatically.
6743d24e76SNicolin Chen
6847a70e6fSCosmin Samoilaconfig SND_SOC_FSL_MICFIL
6947a70e6fSCosmin Samoila	tristate "Pulse Density Modulation Microphone Interface (MICFIL) module support"
7047a70e6fSCosmin Samoila	select REGMAP_MMIO
7147a70e6fSCosmin Samoila	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
7247a70e6fSCosmin Samoila	select SND_SOC_GENERIC_DMAENGINE_PCM
7347a70e6fSCosmin Samoila	help
7447a70e6fSCosmin Samoila	  Say Y if you want to add Pulse Density Modulation microphone
7547a70e6fSCosmin Samoila	  interface (MICFIL) support for NXP.
7647a70e6fSCosmin Samoila
7760aae8daSShawn Guoconfig SND_SOC_FSL_UTILS
7860aae8daSShawn Guo	tristate
7960aae8daSShawn Guo
80eba9e06fSAlexander Shiyanconfig SND_SOC_IMX_PCM_DMA
81eba9e06fSAlexander Shiyan	tristate
82eba9e06fSAlexander Shiyan	select SND_SOC_GENERIC_DMAENGINE_PCM
83eba9e06fSAlexander Shiyan
84eba9e06fSAlexander Shiyanconfig SND_SOC_IMX_AUDMUX
85204dec93SAlexander Shiyan	tristate "Digital Audio Mux module support"
86204dec93SAlexander Shiyan	help
87204dec93SAlexander Shiyan	  Say Y if you want to add Digital Audio Mux (AUDMUX) support
88204dec93SAlexander Shiyan	  for the ARM i.MX CPUs.
89204dec93SAlexander Shiyan	  This option is only useful for out-of-tree drivers since
90204dec93SAlexander Shiyan	  in-tree drivers select it automatically.
91eba9e06fSAlexander Shiyan
92eba9e06fSAlexander Shiyanconfig SND_POWERPC_SOC
93a23dc694SShawn Guo	tristate "SoC Audio for Freescale PowerPC CPUs"
94f99ddef0SEric Millbrandt	depends on FSL_SOC || PPC_MPC52xx
95a23dc694SShawn Guo	help
96a23dc694SShawn Guo	  Say Y or M if you want to add support for codecs attached to
97a23dc694SShawn Guo	  the PowerPC CPUs.
98a23dc694SShawn Guo
99eba9e06fSAlexander Shiyanconfig SND_IMX_SOC
100eba9e06fSAlexander Shiyan	tristate "SoC Audio for Freescale i.MX CPUs"
101eba9e06fSAlexander Shiyan	depends on ARCH_MXC || COMPILE_TEST
102eba9e06fSAlexander Shiyan	help
103eba9e06fSAlexander Shiyan	  Say Y or M if you want to add support for codecs attached to
104eba9e06fSAlexander Shiyan	  the i.MX CPUs.
105eba9e06fSAlexander Shiyan
106a23dc694SShawn Guoif SND_POWERPC_SOC
107a23dc694SShawn Guo
10889dd0842SJon Smirlconfig SND_MPC52xx_DMA
10989dd0842SJon Smirl	tristate
11089dd0842SJon Smirl
111d61e1126SShawn Guoconfig SND_SOC_POWERPC_DMA
11275d91f9bSTimur Tabi	tristate
11317467f23STimur Tabi
114eba9e06fSAlexander Shiyancomment "SoC Audio support for Freescale PPC boards:"
115eba9e06fSAlexander Shiyan
11617467f23STimur Tabiconfig SND_SOC_MPC8610_HPCD
11775d91f9bSTimur Tabi	tristate "ALSA SoC support for the Freescale MPC8610 HPCD board"
118ff637d38STimur Tabi	# I2C is necessary for the CS4270 driver
119ff637d38STimur Tabi	depends on MPC8610_HPCD && I2C
120d61e1126SShawn Guo	select SND_SOC_FSL_SSI
12160aae8daSShawn Guo	select SND_SOC_FSL_UTILS
122d61e1126SShawn Guo	select SND_SOC_POWERPC_DMA
12317467f23STimur Tabi	select SND_SOC_CS4270
12417467f23STimur Tabi	select SND_SOC_CS4270_VD33_ERRATA
12517467f23STimur Tabi	default y if MPC8610_HPCD
12617467f23STimur Tabi	help
12717467f23STimur Tabi	  Say Y if you want to enable audio on the Freescale MPC8610 HPCD.
128dc641378SGrant Likely
12927ef3744STimur Tabiconfig SND_SOC_P1022_DS
13027ef3744STimur Tabi	tristate "ALSA SoC support for the Freescale P1022 DS board"
13127ef3744STimur Tabi	# I2C is necessary for the WM8776 driver
13227ef3744STimur Tabi	depends on P1022_DS && I2C
133d61e1126SShawn Guo	select SND_SOC_FSL_SSI
13460aae8daSShawn Guo	select SND_SOC_FSL_UTILS
135d61e1126SShawn Guo	select SND_SOC_POWERPC_DMA
13627ef3744STimur Tabi	select SND_SOC_WM8776
13727ef3744STimur Tabi	default y if P1022_DS
13827ef3744STimur Tabi	help
13927ef3744STimur Tabi	  Say Y if you want to enable audio on the Freescale P1022 DS board.
14027ef3744STimur Tabi	  This will also include the Wolfson Microelectronics WM8776 codec
14127ef3744STimur Tabi	  driver.
14227ef3744STimur Tabi
14396a0af6dSTimur Tabiconfig SND_SOC_P1022_RDK
14496a0af6dSTimur Tabi	tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board"
14596a0af6dSTimur Tabi	# I2C is necessary for the WM8960 driver
14696a0af6dSTimur Tabi	depends on P1022_RDK && I2C
14796a0af6dSTimur Tabi	select SND_SOC_FSL_SSI
14896a0af6dSTimur Tabi	select SND_SOC_FSL_UTILS
14996a0af6dSTimur Tabi	select SND_SOC_POWERPC_DMA
15096a0af6dSTimur Tabi	select SND_SOC_WM8960
15196a0af6dSTimur Tabi	default y if P1022_RDK
15296a0af6dSTimur Tabi	help
15396a0af6dSTimur Tabi	  Say Y if you want to enable audio on the Freescale / iVeia
15496a0af6dSTimur Tabi	  P1022 RDK board.  This will also include the Wolfson
15596a0af6dSTimur Tabi	  Microelectronics WM8960 codec driver.
15696a0af6dSTimur Tabi
157dc641378SGrant Likelyconfig SND_SOC_MPC5200_I2S
158dc641378SGrant Likely	tristate "Freescale MPC5200 PSC in I2S mode driver"
1596574612fSTakashi Iwai	depends on PPC_MPC52xx && PPC_BESTCOMM
16089dd0842SJon Smirl	select SND_MPC52xx_DMA
161847cdf42SGrant Likely	select PPC_BESTCOMM_GEN_BD
162dc641378SGrant Likely	help
163dc641378SGrant Likely	  Say Y here to support the MPC5200 PSCs in I2S mode.
16420d0e152SJon Smirl
16520d0e152SJon Smirlconfig SND_SOC_MPC5200_AC97
16620d0e152SJon Smirl	tristate "Freescale MPC5200 PSC in AC97 mode driver"
16720d0e152SJon Smirl	depends on PPC_MPC52xx && PPC_BESTCOMM
1686a84c234SGrant Likely	select SND_SOC_AC97_BUS
16920d0e152SJon Smirl	select SND_MPC52xx_DMA
17020d0e152SJon Smirl	select PPC_BESTCOMM_GEN_BD
17120d0e152SJon Smirl	help
17220d0e152SJon Smirl	  Say Y here to support the MPC5200 PSCs in AC97 mode.
17320d0e152SJon Smirl
174a9262c4fSJon Smirlconfig SND_MPC52xx_SOC_PCM030
175a9262c4fSJon Smirl	tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712"
17640d9ec14SGrant Likely	depends on PPC_MPC5200_SIMPLE
177a9262c4fSJon Smirl	select SND_SOC_MPC5200_AC97
178a9262c4fSJon Smirl	select SND_SOC_WM9712
179a9262c4fSJon Smirl	help
1800c0e09e2SMark Brown	  Say Y if you want to add support for sound on the Phytec pcm030
1810c0e09e2SMark Brown	  baseboard.
18220d0e152SJon Smirl
1836ffee43eSJon Smirlconfig SND_MPC52xx_SOC_EFIKA
1846ffee43eSJon Smirl	tristate "SoC AC97 Audio support for bbplan Efika and STAC9766"
18540d9ec14SGrant Likely	depends on PPC_EFIKA
1866ffee43eSJon Smirl	select SND_SOC_MPC5200_AC97
1876ffee43eSJon Smirl	select SND_SOC_STAC9766
1886ffee43eSJon Smirl	help
1896ffee43eSJon Smirl	  Say Y if you want to add support for sound on the Efika.
1906ffee43eSJon Smirl
191a23dc694SShawn Guoendif # SND_POWERPC_SOC
192a23dc694SShawn Guo
193ea751227SArnd Bergmannconfig SND_SOC_IMX_PCM_FIQ
194ea751227SArnd Bergmann	tristate
195ea751227SArnd Bergmann	default y if SND_SOC_IMX_SSI=y && (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC)
196ea751227SArnd Bergmann	select FIQ
197ea751227SArnd Bergmann
198a23dc694SShawn Guoif SND_IMX_SOC
199a23dc694SShawn Guo
200a23dc694SShawn Guoconfig SND_SOC_IMX_SSI
201a23dc694SShawn Guo	tristate
2025f9e6ff6SXiubo Li	select SND_SOC_FSL_UTILS
203a23dc694SShawn Guo
204eba9e06fSAlexander Shiyancomment "SoC Audio support for Freescale i.MX boards:"
205a23dc694SShawn Guo
206a23dc694SShawn Guoconfig SND_MXC_SOC_WM1133_EV1
2072e341ca6SLinus Torvalds	tristate "Audio on the i.MX31ADS with WM1133-EV1 fitted"
208e25c681aSKees Cook	depends on MACH_MX31ADS_WM1133_EV1
209a23dc694SShawn Guo	select SND_SOC_WM8350
210f19493a3SShawn Guo	select SND_SOC_IMX_PCM_FIQ
211a23dc694SShawn Guo	select SND_SOC_IMX_AUDMUX
212a23dc694SShawn Guo	select SND_SOC_IMX_SSI
213a23dc694SShawn Guo	help
214a23dc694SShawn Guo	  Enable support for audio on the i.MX31ADS with the WM1133-EV1
215a23dc694SShawn Guo	  PMIC board with WM8835x fitted.
216a23dc694SShawn Guo
217a23dc694SShawn Guoconfig SND_SOC_MX27VIS_AIC32X4
218a23dc694SShawn Guo	tristate "SoC audio support for Visstrim M10 boards"
219a23dc694SShawn Guo	depends on MACH_IMX27_VISSTRIM_M10 && I2C
220a23dc694SShawn Guo	select SND_SOC_TLV320AIC32X4
221f19493a3SShawn Guo	select SND_SOC_IMX_PCM_DMA
222a23dc694SShawn Guo	select SND_SOC_IMX_AUDMUX
223a23dc694SShawn Guo	select SND_SOC_IMX_SSI
224a23dc694SShawn Guo	help
225a23dc694SShawn Guo	  Say Y if you want to add support for SoC audio on Visstrim SM10
226a23dc694SShawn Guo	  board with TLV320AIC32X4 codec.
227a23dc694SShawn Guo
228a23dc694SShawn Guoconfig SND_SOC_PHYCORE_AC97
229a23dc694SShawn Guo	tristate "SoC Audio support for Phytec phyCORE (and phyCARD) boards"
230a23dc694SShawn Guo	depends on MACH_PCM043 || MACH_PCA100
231a23dc694SShawn Guo	select SND_SOC_AC97_BUS
232a23dc694SShawn Guo	select SND_SOC_WM9712
233f19493a3SShawn Guo	select SND_SOC_IMX_PCM_FIQ
234a23dc694SShawn Guo	select SND_SOC_IMX_AUDMUX
235a23dc694SShawn Guo	select SND_SOC_IMX_SSI
236a23dc694SShawn Guo	help
237a23dc694SShawn Guo	  Say Y if you want to add support for SoC audio on Phytec phyCORE
238a23dc694SShawn Guo	  and phyCARD boards in AC97 mode
239a23dc694SShawn Guo
240a23dc694SShawn Guoconfig SND_SOC_EUKREA_TLV320
241a23dc694SShawn Guo	tristate "Eukrea TLV320"
242add68836SFabio Estevam	depends on ARCH_MXC && !ARM64 && I2C
243cc1bc54aSMax Filippov	select SND_SOC_TLV320AIC23_I2C
244a23dc694SShawn Guo	select SND_SOC_IMX_AUDMUX
245a23dc694SShawn Guo	select SND_SOC_IMX_SSI
24666f23290SDenis Carikli	select SND_SOC_FSL_SSI
24766f23290SDenis Carikli	select SND_SOC_IMX_PCM_DMA
248a23dc694SShawn Guo	help
249a23dc694SShawn Guo	  Enable I2S based access to the TLV320AIC23B codec attached
250a23dc694SShawn Guo	  to the SSI interface
251a23dc694SShawn Guo
2527e7292dbSSean Crossconfig SND_SOC_IMX_ES8328
2537e7292dbSSean Cross	tristate "SoC Audio support for i.MX boards with the ES8328 codec"
2547e7292dbSSean Cross	depends on OF && (I2C || SPI)
2557e7292dbSSean Cross	select SND_SOC_ES8328_I2C if I2C
2567e7292dbSSean Cross	select SND_SOC_ES8328_SPI if SPI_MASTER
2577e7292dbSSean Cross	select SND_SOC_IMX_PCM_DMA
2587e7292dbSSean Cross	select SND_SOC_IMX_AUDMUX
2597e7292dbSSean Cross	select SND_SOC_FSL_SSI
2607e7292dbSSean Cross	help
2617e7292dbSSean Cross	  Say Y if you want to add support for the ES8328 audio codec connected
2627e7292dbSSean Cross	  via SSI/I2S over either SPI or I2C.
2637e7292dbSSean Cross
264c448303eSShawn Guoconfig SND_SOC_IMX_SGTL5000
265c448303eSShawn Guo	tristate "SoC Audio support for i.MX boards with sgtl5000"
266c448303eSShawn Guo	depends on OF && I2C
267c448303eSShawn Guo	select SND_SOC_SGTL5000
268c448303eSShawn Guo	select SND_SOC_IMX_PCM_DMA
269c448303eSShawn Guo	select SND_SOC_IMX_AUDMUX
270c448303eSShawn Guo	select SND_SOC_FSL_SSI
271c448303eSShawn Guo	help
272c448303eSShawn Guo	  Say Y if you want to add support for SoC audio on an i.MX board with
273c448303eSShawn Guo	  a sgtl5000 codec.
274c448303eSShawn Guo
2752a956ec0SNicolin Chenconfig SND_SOC_IMX_SPDIF
2762a956ec0SNicolin Chen	tristate "SoC Audio support for i.MX boards with S/PDIF"
2772a956ec0SNicolin Chen	select SND_SOC_IMX_PCM_DMA
2782a956ec0SNicolin Chen	select SND_SOC_FSL_SPDIF
2792a956ec0SNicolin Chen	help
2802a956ec0SNicolin Chen	  SoC Audio support for i.MX boards with S/PDIF
2812a956ec0SNicolin Chen	  Say Y if you want to add support for SoC audio on an i.MX board with
2822a956ec0SNicolin Chen	  a S/DPDIF.
2832a956ec0SNicolin Chen
2846b0a795aSPhilippe Rétornazconfig SND_SOC_IMX_MC13783
2856b0a795aSPhilippe Rétornaz	tristate "SoC Audio support for I.MX boards with mc13783"
286e5a3da21SAlexander Shiyan	depends on MFD_MC13XXX && ARM
2876b0a795aSPhilippe Rétornaz	select SND_SOC_IMX_SSI
2886b0a795aSPhilippe Rétornaz	select SND_SOC_IMX_AUDMUX
2896b0a795aSPhilippe Rétornaz	select SND_SOC_MC13783
2906b0a795aSPhilippe Rétornaz	select SND_SOC_IMX_PCM_DMA
2916b0a795aSPhilippe Rétornaz
29238c6e4bbSShengjiu Wangconfig SND_SOC_FSL_ASOC_CARD
29338c6e4bbSShengjiu Wang	tristate "Generic ASoC Sound Card with ASRC support"
29438c6e4bbSShengjiu Wang	depends on OF && I2C
295ab07eaedSArnd Bergmann	# enforce SND_SOC_FSL_ASOC_CARD=m if SND_AC97_CODEC=m:
296ab07eaedSArnd Bergmann	depends on SND_AC97_CODEC || SND_AC97_CODEC=n
29738c6e4bbSShengjiu Wang	select SND_SOC_IMX_AUDMUX
29838c6e4bbSShengjiu Wang	select SND_SOC_IMX_PCM_DMA
29938c6e4bbSShengjiu Wang	select SND_SOC_FSL_ESAI
30038c6e4bbSShengjiu Wang	select SND_SOC_FSL_SAI
30138c6e4bbSShengjiu Wang	select SND_SOC_FSL_SSI
30238c6e4bbSShengjiu Wang	help
30338c6e4bbSShengjiu Wang	 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
30457e756d3SFelipe F. Tonello	 ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888,
30557e756d3SFelipe F. Tonello	 CS4271, CS4272 and SGTL5000.
30638c6e4bbSShengjiu Wang	 Say Y if you want to add support for Freescale Generic ASoC Sound Card.
30738c6e4bbSShengjiu Wang
308b86ef536SViorel Sumanconfig SND_SOC_IMX_AUDMIX
309b86ef536SViorel Suman	tristate "SoC Audio support for i.MX boards with AUDMIX"
310b86ef536SViorel Suman	select SND_SOC_FSL_AUDMIX
311b86ef536SViorel Suman	select SND_SOC_FSL_SAI
312b86ef536SViorel Suman	help
313b86ef536SViorel Suman	  SoC Audio support for i.MX boards with Audio Mixer
314b86ef536SViorel Suman	  Say Y if you want to add support for SoC audio on an i.MX board with
315b86ef536SViorel Suman	  an Audio Mixer.
316b86ef536SViorel Suman
317a23dc694SShawn Guoendif # SND_IMX_SOC
318eba9e06fSAlexander Shiyan
319eba9e06fSAlexander Shiyanendmenu
320