xref: /linux/sound/soc/fsl/Kconfig (revision c61d1142cfd45f58b63bf9d2d59523f91096e873)
1ec8f24b7SThomas 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
289e28f653SShengjiu Wangconfig SND_SOC_FSL_MQS
299e28f653SShengjiu Wang	tristate "Medium Quality Sound (MQS) module support"
309e28f653SShengjiu Wang	depends on SND_SOC_FSL_SAI
319e28f653SShengjiu Wang	select REGMAP_MMIO
329e28f653SShengjiu Wang	help
339e28f653SShengjiu Wang	  Say Y if you want to add Medium Quality Sound (MQS)
349e28f653SShengjiu Wang	  support for the Freescale CPUs.
359e28f653SShengjiu Wang	  This option is only useful for out-of-tree drivers since
369e28f653SShengjiu Wang	  in-tree drivers select it automatically.
379e28f653SShengjiu Wang
38be1df61cSViorel Sumanconfig SND_SOC_FSL_AUDMIX
39be1df61cSViorel Suman	tristate "Audio Mixer (AUDMIX) module support"
40be1df61cSViorel Suman	select REGMAP_MMIO
41be1df61cSViorel Suman	help
42be1df61cSViorel Suman	  Say Y if you want to add Audio Mixer (AUDMIX)
43be1df61cSViorel Suman	  support for the NXP iMX CPUs.
44be1df61cSViorel Suman
45a23dc694SShawn Guoconfig SND_SOC_FSL_SSI
461169006bSFabio Estevam	tristate "Synchronous Serial Interface module (SSI) support"
4731ee2bfdSArnd Bergmann	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
48ff40260fSArnd Bergmann	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
4943248122SMarkus Pargmann	select REGMAP_MMIO
50204dec93SAlexander Shiyan	help
51204dec93SAlexander Shiyan	  Say Y if you want to add Synchronous Serial Interface (SSI)
52204dec93SAlexander Shiyan	  support for the Freescale CPUs.
53204dec93SAlexander Shiyan	  This option is only useful for out-of-tree drivers since
54204dec93SAlexander Shiyan	  in-tree drivers select it automatically.
55a23dc694SShawn Guo
56a2388a49SNicolin Chenconfig SND_SOC_FSL_SPDIF
571169006bSFabio Estevam	tristate "Sony/Philips Digital Interface (S/PDIF) module support"
587d150c60SXiubo Li	select REGMAP_MMIO
5931ee2bfdSArnd Bergmann	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
60ff40260fSArnd Bergmann	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
61b3af6d3fSRandy Dunlap	select BITREVERSE
62204dec93SAlexander Shiyan	help
63204dec93SAlexander Shiyan	  Say Y if you want to add Sony/Philips Digital Interface (SPDIF)
64204dec93SAlexander Shiyan	  support for the Freescale CPUs.
65204dec93SAlexander Shiyan	  This option is only useful for out-of-tree drivers since
66204dec93SAlexander Shiyan	  in-tree drivers select it automatically.
67a2388a49SNicolin Chen
6843d24e76SNicolin Chenconfig SND_SOC_FSL_ESAI
6940e3b934SXiubo Li	tristate "Enhanced Serial Audio Interface (ESAI) module support"
707d150c60SXiubo Li	select REGMAP_MMIO
71ff40260fSArnd Bergmann	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
7240e3b934SXiubo Li	help
7340e3b934SXiubo Li	  Say Y if you want to add Enhanced Synchronous Audio Interface
7440e3b934SXiubo Li	  (ESAI) support for the Freescale CPUs.
7540e3b934SXiubo Li	  This option is only useful for out-of-tree drivers since
7640e3b934SXiubo Li	  in-tree drivers select it automatically.
7743d24e76SNicolin Chen
7847a70e6fSCosmin Samoilaconfig SND_SOC_FSL_MICFIL
7947a70e6fSCosmin Samoila	tristate "Pulse Density Modulation Microphone Interface (MICFIL) module support"
8047a70e6fSCosmin Samoila	select REGMAP_MMIO
8147a70e6fSCosmin Samoila	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
8247a70e6fSCosmin Samoila	select SND_SOC_GENERIC_DMAENGINE_PCM
8347a70e6fSCosmin Samoila	help
8447a70e6fSCosmin Samoila	  Say Y if you want to add Pulse Density Modulation microphone
8547a70e6fSCosmin Samoila	  interface (MICFIL) support for NXP.
8647a70e6fSCosmin Samoila
87955ac624SShengjiu Wangconfig SND_SOC_FSL_EASRC
88955ac624SShengjiu Wang	tristate "Enhanced Asynchronous Sample Rate Converter (EASRC) module support"
89955ac624SShengjiu Wang	depends on SND_SOC_FSL_ASRC
90955ac624SShengjiu Wang	select REGMAP_MMIO
91955ac624SShengjiu Wang	select SND_SOC_GENERIC_DMAENGINE_PCM
92955ac624SShengjiu Wang	help
93955ac624SShengjiu Wang	  Say Y if you want to add Enhanced ASRC support for NXP. The ASRC is
94955ac624SShengjiu Wang	  a digital module that converts audio from a source sample rate to a
95955ac624SShengjiu Wang	  destination sample rate. It is a new design module compare with the
96955ac624SShengjiu Wang	  old ASRC.
97955ac624SShengjiu Wang
9828564486SViorel Sumanconfig SND_SOC_FSL_XCVR
9928564486SViorel Suman	tristate "NXP Audio Transceiver (XCVR) module support"
10028564486SViorel Suman	select REGMAP_MMIO
10128564486SViorel Suman	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
10228564486SViorel Suman	select SND_SOC_GENERIC_DMAENGINE_PCM
10328564486SViorel Suman	help
10428564486SViorel Suman	  Say Y if you want to add Audio Transceiver (XCVR) support for NXP
10528564486SViorel Suman	  iMX CPUs. XCVR is a digital module that supports HDMI2.1 eARC,
10628564486SViorel Suman	  HDMI1.4 ARC and SPDIF.
10728564486SViorel Suman
1088a24c834SShengjiu Wangconfig SND_SOC_FSL_AUD2HTX
1098a24c834SShengjiu Wang	tristate "AUDIO TO HDMI TX module support"
110*c61d1142SShengjiu Wang	depends on ARCH_MXC || COMPILE_TEST
1118a24c834SShengjiu Wang	help
1128a24c834SShengjiu Wang	  Say Y if you want to add AUDIO TO HDMI TX support for NXP.
1138a24c834SShengjiu Wang
11460aae8daSShawn Guoconfig SND_SOC_FSL_UTILS
11560aae8daSShawn Guo	tristate
11660aae8daSShawn Guo
117eba9e06fSAlexander Shiyanconfig SND_SOC_IMX_PCM_DMA
118eba9e06fSAlexander Shiyan	tristate
119eba9e06fSAlexander Shiyan	select SND_SOC_GENERIC_DMAENGINE_PCM
120eba9e06fSAlexander Shiyan
121eba9e06fSAlexander Shiyanconfig SND_SOC_IMX_AUDMUX
122204dec93SAlexander Shiyan	tristate "Digital Audio Mux module support"
123204dec93SAlexander Shiyan	help
124204dec93SAlexander Shiyan	  Say Y if you want to add Digital Audio Mux (AUDMUX) support
125204dec93SAlexander Shiyan	  for the ARM i.MX CPUs.
126204dec93SAlexander Shiyan	  This option is only useful for out-of-tree drivers since
127204dec93SAlexander Shiyan	  in-tree drivers select it automatically.
128eba9e06fSAlexander Shiyan
129eba9e06fSAlexander Shiyanconfig SND_POWERPC_SOC
130a23dc694SShawn Guo	tristate "SoC Audio for Freescale PowerPC CPUs"
131f99ddef0SEric Millbrandt	depends on FSL_SOC || PPC_MPC52xx
132a23dc694SShawn Guo	help
133a23dc694SShawn Guo	  Say Y or M if you want to add support for codecs attached to
134a23dc694SShawn Guo	  the PowerPC CPUs.
135a23dc694SShawn Guo
136eba9e06fSAlexander Shiyanconfig SND_IMX_SOC
137eba9e06fSAlexander Shiyan	tristate "SoC Audio for Freescale i.MX CPUs"
138eba9e06fSAlexander Shiyan	depends on ARCH_MXC || COMPILE_TEST
139eba9e06fSAlexander Shiyan	help
140eba9e06fSAlexander Shiyan	  Say Y or M if you want to add support for codecs attached to
141eba9e06fSAlexander Shiyan	  the i.MX CPUs.
142eba9e06fSAlexander Shiyan
143a23dc694SShawn Guoif SND_POWERPC_SOC
144a23dc694SShawn Guo
14589dd0842SJon Smirlconfig SND_MPC52xx_DMA
14689dd0842SJon Smirl	tristate
14789dd0842SJon Smirl
148d61e1126SShawn Guoconfig SND_SOC_POWERPC_DMA
14975d91f9bSTimur Tabi	tristate
15017467f23STimur Tabi
151eba9e06fSAlexander Shiyancomment "SoC Audio support for Freescale PPC boards:"
152eba9e06fSAlexander Shiyan
15317467f23STimur Tabiconfig SND_SOC_MPC8610_HPCD
15475d91f9bSTimur Tabi	tristate "ALSA SoC support for the Freescale MPC8610 HPCD board"
155ff637d38STimur Tabi	# I2C is necessary for the CS4270 driver
156ff637d38STimur Tabi	depends on MPC8610_HPCD && I2C
157d61e1126SShawn Guo	select SND_SOC_FSL_SSI
15860aae8daSShawn Guo	select SND_SOC_FSL_UTILS
159d61e1126SShawn Guo	select SND_SOC_POWERPC_DMA
16017467f23STimur Tabi	select SND_SOC_CS4270
16117467f23STimur Tabi	select SND_SOC_CS4270_VD33_ERRATA
16217467f23STimur Tabi	default y if MPC8610_HPCD
16317467f23STimur Tabi	help
16417467f23STimur Tabi	  Say Y if you want to enable audio on the Freescale MPC8610 HPCD.
165dc641378SGrant Likely
16627ef3744STimur Tabiconfig SND_SOC_P1022_DS
16727ef3744STimur Tabi	tristate "ALSA SoC support for the Freescale P1022 DS board"
16827ef3744STimur Tabi	# I2C is necessary for the WM8776 driver
16927ef3744STimur Tabi	depends on P1022_DS && I2C
170d61e1126SShawn Guo	select SND_SOC_FSL_SSI
17160aae8daSShawn Guo	select SND_SOC_FSL_UTILS
172d61e1126SShawn Guo	select SND_SOC_POWERPC_DMA
17327ef3744STimur Tabi	select SND_SOC_WM8776
17427ef3744STimur Tabi	default y if P1022_DS
17527ef3744STimur Tabi	help
17627ef3744STimur Tabi	  Say Y if you want to enable audio on the Freescale P1022 DS board.
17727ef3744STimur Tabi	  This will also include the Wolfson Microelectronics WM8776 codec
17827ef3744STimur Tabi	  driver.
17927ef3744STimur Tabi
18096a0af6dSTimur Tabiconfig SND_SOC_P1022_RDK
18196a0af6dSTimur Tabi	tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board"
18296a0af6dSTimur Tabi	# I2C is necessary for the WM8960 driver
18396a0af6dSTimur Tabi	depends on P1022_RDK && I2C
18496a0af6dSTimur Tabi	select SND_SOC_FSL_SSI
18596a0af6dSTimur Tabi	select SND_SOC_FSL_UTILS
18696a0af6dSTimur Tabi	select SND_SOC_POWERPC_DMA
18796a0af6dSTimur Tabi	select SND_SOC_WM8960
18896a0af6dSTimur Tabi	default y if P1022_RDK
18996a0af6dSTimur Tabi	help
19096a0af6dSTimur Tabi	  Say Y if you want to enable audio on the Freescale / iVeia
19196a0af6dSTimur Tabi	  P1022 RDK board.  This will also include the Wolfson
19296a0af6dSTimur Tabi	  Microelectronics WM8960 codec driver.
19396a0af6dSTimur Tabi
194dc641378SGrant Likelyconfig SND_SOC_MPC5200_I2S
195dc641378SGrant Likely	tristate "Freescale MPC5200 PSC in I2S mode driver"
1966574612fSTakashi Iwai	depends on PPC_MPC52xx && PPC_BESTCOMM
19789dd0842SJon Smirl	select SND_MPC52xx_DMA
198847cdf42SGrant Likely	select PPC_BESTCOMM_GEN_BD
199dc641378SGrant Likely	help
200dc641378SGrant Likely	  Say Y here to support the MPC5200 PSCs in I2S mode.
20120d0e152SJon Smirl
20220d0e152SJon Smirlconfig SND_SOC_MPC5200_AC97
20320d0e152SJon Smirl	tristate "Freescale MPC5200 PSC in AC97 mode driver"
20420d0e152SJon Smirl	depends on PPC_MPC52xx && PPC_BESTCOMM
2056a84c234SGrant Likely	select SND_SOC_AC97_BUS
20620d0e152SJon Smirl	select SND_MPC52xx_DMA
20720d0e152SJon Smirl	select PPC_BESTCOMM_GEN_BD
20820d0e152SJon Smirl	help
20920d0e152SJon Smirl	  Say Y here to support the MPC5200 PSCs in AC97 mode.
21020d0e152SJon Smirl
211a9262c4fSJon Smirlconfig SND_MPC52xx_SOC_PCM030
212a9262c4fSJon Smirl	tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712"
21340d9ec14SGrant Likely	depends on PPC_MPC5200_SIMPLE
214a9262c4fSJon Smirl	select SND_SOC_MPC5200_AC97
215a9262c4fSJon Smirl	select SND_SOC_WM9712
216a9262c4fSJon Smirl	help
2170c0e09e2SMark Brown	  Say Y if you want to add support for sound on the Phytec pcm030
2180c0e09e2SMark Brown	  baseboard.
21920d0e152SJon Smirl
2206ffee43eSJon Smirlconfig SND_MPC52xx_SOC_EFIKA
2216ffee43eSJon Smirl	tristate "SoC AC97 Audio support for bbplan Efika and STAC9766"
22240d9ec14SGrant Likely	depends on PPC_EFIKA
2236ffee43eSJon Smirl	select SND_SOC_MPC5200_AC97
2246ffee43eSJon Smirl	select SND_SOC_STAC9766
2256ffee43eSJon Smirl	help
2266ffee43eSJon Smirl	  Say Y if you want to add support for sound on the Efika.
2276ffee43eSJon Smirl
228a23dc694SShawn Guoendif # SND_POWERPC_SOC
229a23dc694SShawn Guo
230ea751227SArnd Bergmannconfig SND_SOC_IMX_PCM_FIQ
231ea751227SArnd Bergmann	tristate
232c31da0b1SFabio Estevam	default y if (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC)
233ea751227SArnd Bergmann	select FIQ
234ea751227SArnd Bergmann
235a23dc694SShawn Guoif SND_IMX_SOC
236a23dc694SShawn Guo
237eba9e06fSAlexander Shiyancomment "SoC Audio support for Freescale i.MX boards:"
238a23dc694SShawn Guo
239a23dc694SShawn Guoconfig SND_SOC_EUKREA_TLV320
240a23dc694SShawn Guo	tristate "Eukrea TLV320"
241add68836SFabio Estevam	depends on ARCH_MXC && !ARM64 && I2C
242cc1bc54aSMax Filippov	select SND_SOC_TLV320AIC23_I2C
243a23dc694SShawn Guo	select SND_SOC_IMX_AUDMUX
24466f23290SDenis Carikli	select SND_SOC_FSL_SSI
24566f23290SDenis Carikli	select SND_SOC_IMX_PCM_DMA
246a23dc694SShawn Guo	help
247a23dc694SShawn Guo	  Enable I2S based access to the TLV320AIC23B codec attached
248a23dc694SShawn Guo	  to the SSI interface
249a23dc694SShawn Guo
2507e7292dbSSean Crossconfig SND_SOC_IMX_ES8328
2517e7292dbSSean Cross	tristate "SoC Audio support for i.MX boards with the ES8328 codec"
2527e7292dbSSean Cross	depends on OF && (I2C || SPI)
2537e7292dbSSean Cross	select SND_SOC_ES8328_I2C if I2C
2547e7292dbSSean Cross	select SND_SOC_ES8328_SPI if SPI_MASTER
2557e7292dbSSean Cross	select SND_SOC_IMX_PCM_DMA
2567e7292dbSSean Cross	select SND_SOC_IMX_AUDMUX
2577e7292dbSSean Cross	select SND_SOC_FSL_SSI
2587e7292dbSSean Cross	help
2597e7292dbSSean Cross	  Say Y if you want to add support for the ES8328 audio codec connected
2607e7292dbSSean Cross	  via SSI/I2S over either SPI or I2C.
2617e7292dbSSean Cross
262c448303eSShawn Guoconfig SND_SOC_IMX_SGTL5000
263c448303eSShawn Guo	tristate "SoC Audio support for i.MX boards with sgtl5000"
264c448303eSShawn Guo	depends on OF && I2C
265c448303eSShawn Guo	select SND_SOC_SGTL5000
266c448303eSShawn Guo	select SND_SOC_IMX_PCM_DMA
267c448303eSShawn Guo	select SND_SOC_IMX_AUDMUX
268c448303eSShawn Guo	select SND_SOC_FSL_SSI
269c448303eSShawn Guo	help
270c448303eSShawn Guo	  Say Y if you want to add support for SoC audio on an i.MX board with
271c448303eSShawn Guo	  a sgtl5000 codec.
272c448303eSShawn Guo
2732a956ec0SNicolin Chenconfig SND_SOC_IMX_SPDIF
2742a956ec0SNicolin Chen	tristate "SoC Audio support for i.MX boards with S/PDIF"
2752a956ec0SNicolin Chen	select SND_SOC_IMX_PCM_DMA
2762a956ec0SNicolin Chen	select SND_SOC_FSL_SPDIF
2772a956ec0SNicolin Chen	help
2782a956ec0SNicolin Chen	  SoC Audio support for i.MX boards with S/PDIF
2792a956ec0SNicolin Chen	  Say Y if you want to add support for SoC audio on an i.MX board with
2802a956ec0SNicolin Chen	  a S/DPDIF.
2812a956ec0SNicolin Chen
28238c6e4bbSShengjiu Wangconfig SND_SOC_FSL_ASOC_CARD
28338c6e4bbSShengjiu Wang	tristate "Generic ASoC Sound Card with ASRC support"
28438c6e4bbSShengjiu Wang	depends on OF && I2C
285ab07eaedSArnd Bergmann	# enforce SND_SOC_FSL_ASOC_CARD=m if SND_AC97_CODEC=m:
286ab07eaedSArnd Bergmann	depends on SND_AC97_CODEC || SND_AC97_CODEC=n
2873b171194SShengjiu Wang	select SND_SIMPLE_CARD_UTILS
28838c6e4bbSShengjiu Wang	select SND_SOC_IMX_AUDMUX
28938c6e4bbSShengjiu Wang	select SND_SOC_IMX_PCM_DMA
29038c6e4bbSShengjiu Wang	select SND_SOC_FSL_ESAI
29138c6e4bbSShengjiu Wang	select SND_SOC_FSL_SAI
29238c6e4bbSShengjiu Wang	select SND_SOC_FSL_SSI
29338c6e4bbSShengjiu Wang	help
29438c6e4bbSShengjiu Wang	 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
29557e756d3SFelipe F. Tonello	 ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888,
296b5074755SMatthias Schiffer	 CS4271, CS4272, SGTL5000 and TLV320AIC32x4.
29738c6e4bbSShengjiu Wang	 Say Y if you want to add support for Freescale Generic ASoC Sound Card.
29838c6e4bbSShengjiu Wang
299b86ef536SViorel Sumanconfig SND_SOC_IMX_AUDMIX
300b86ef536SViorel Suman	tristate "SoC Audio support for i.MX boards with AUDMIX"
301b86ef536SViorel Suman	select SND_SOC_FSL_AUDMIX
302b86ef536SViorel Suman	select SND_SOC_FSL_SAI
303b86ef536SViorel Suman	help
304b86ef536SViorel Suman	  SoC Audio support for i.MX boards with Audio Mixer
305b86ef536SViorel Suman	  Say Y if you want to add support for SoC audio on an i.MX board with
306b86ef536SViorel Suman	  an Audio Mixer.
307b86ef536SViorel Suman
308a23dc694SShawn Guoendif # SND_IMX_SOC
309eba9e06fSAlexander Shiyan
310eba9e06fSAlexander Shiyanendmenu
311