xref: /linux/sound/soc/fsl/Kconfig (revision a1f31cc4e98e1833f53fd2c6e9a218d6b86f5388)
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"
110c61d1142SShengjiu Wang	depends on ARCH_MXC || COMPILE_TEST
111*a1f31cc4SArnd Bergmann	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
1128a24c834SShengjiu Wang	help
1138a24c834SShengjiu Wang	  Say Y if you want to add AUDIO TO HDMI TX support for NXP.
1148a24c834SShengjiu Wang
11560aae8daSShawn Guoconfig SND_SOC_FSL_UTILS
11660aae8daSShawn Guo	tristate
11760aae8daSShawn Guo
118eba9e06fSAlexander Shiyanconfig SND_SOC_IMX_PCM_DMA
119eba9e06fSAlexander Shiyan	tristate
120eba9e06fSAlexander Shiyan	select SND_SOC_GENERIC_DMAENGINE_PCM
121eba9e06fSAlexander Shiyan
122eba9e06fSAlexander Shiyanconfig SND_SOC_IMX_AUDMUX
123204dec93SAlexander Shiyan	tristate "Digital Audio Mux module support"
124204dec93SAlexander Shiyan	help
125204dec93SAlexander Shiyan	  Say Y if you want to add Digital Audio Mux (AUDMUX) support
126204dec93SAlexander Shiyan	  for the ARM i.MX CPUs.
127204dec93SAlexander Shiyan	  This option is only useful for out-of-tree drivers since
128204dec93SAlexander Shiyan	  in-tree drivers select it automatically.
129eba9e06fSAlexander Shiyan
130eba9e06fSAlexander Shiyanconfig SND_POWERPC_SOC
131a23dc694SShawn Guo	tristate "SoC Audio for Freescale PowerPC CPUs"
132f99ddef0SEric Millbrandt	depends on FSL_SOC || PPC_MPC52xx
133a23dc694SShawn Guo	help
134a23dc694SShawn Guo	  Say Y or M if you want to add support for codecs attached to
135a23dc694SShawn Guo	  the PowerPC CPUs.
136a23dc694SShawn Guo
137eba9e06fSAlexander Shiyanconfig SND_IMX_SOC
138eba9e06fSAlexander Shiyan	tristate "SoC Audio for Freescale i.MX CPUs"
139eba9e06fSAlexander Shiyan	depends on ARCH_MXC || COMPILE_TEST
140eba9e06fSAlexander Shiyan	help
141eba9e06fSAlexander Shiyan	  Say Y or M if you want to add support for codecs attached to
142eba9e06fSAlexander Shiyan	  the i.MX CPUs.
143eba9e06fSAlexander Shiyan
144a23dc694SShawn Guoif SND_POWERPC_SOC
145a23dc694SShawn Guo
14689dd0842SJon Smirlconfig SND_MPC52xx_DMA
14789dd0842SJon Smirl	tristate
14889dd0842SJon Smirl
149d61e1126SShawn Guoconfig SND_SOC_POWERPC_DMA
15075d91f9bSTimur Tabi	tristate
15117467f23STimur Tabi
152eba9e06fSAlexander Shiyancomment "SoC Audio support for Freescale PPC boards:"
153eba9e06fSAlexander Shiyan
15417467f23STimur Tabiconfig SND_SOC_MPC8610_HPCD
15575d91f9bSTimur Tabi	tristate "ALSA SoC support for the Freescale MPC8610 HPCD board"
156ff637d38STimur Tabi	# I2C is necessary for the CS4270 driver
157ff637d38STimur Tabi	depends on MPC8610_HPCD && I2C
158d61e1126SShawn Guo	select SND_SOC_FSL_SSI
15960aae8daSShawn Guo	select SND_SOC_FSL_UTILS
160d61e1126SShawn Guo	select SND_SOC_POWERPC_DMA
16117467f23STimur Tabi	select SND_SOC_CS4270
16217467f23STimur Tabi	select SND_SOC_CS4270_VD33_ERRATA
16317467f23STimur Tabi	default y if MPC8610_HPCD
16417467f23STimur Tabi	help
16517467f23STimur Tabi	  Say Y if you want to enable audio on the Freescale MPC8610 HPCD.
166dc641378SGrant Likely
16727ef3744STimur Tabiconfig SND_SOC_P1022_DS
16827ef3744STimur Tabi	tristate "ALSA SoC support for the Freescale P1022 DS board"
16927ef3744STimur Tabi	# I2C is necessary for the WM8776 driver
17027ef3744STimur Tabi	depends on P1022_DS && I2C
171d61e1126SShawn Guo	select SND_SOC_FSL_SSI
17260aae8daSShawn Guo	select SND_SOC_FSL_UTILS
173d61e1126SShawn Guo	select SND_SOC_POWERPC_DMA
17427ef3744STimur Tabi	select SND_SOC_WM8776
17527ef3744STimur Tabi	default y if P1022_DS
17627ef3744STimur Tabi	help
17727ef3744STimur Tabi	  Say Y if you want to enable audio on the Freescale P1022 DS board.
17827ef3744STimur Tabi	  This will also include the Wolfson Microelectronics WM8776 codec
17927ef3744STimur Tabi	  driver.
18027ef3744STimur Tabi
18196a0af6dSTimur Tabiconfig SND_SOC_P1022_RDK
18296a0af6dSTimur Tabi	tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board"
18396a0af6dSTimur Tabi	# I2C is necessary for the WM8960 driver
18496a0af6dSTimur Tabi	depends on P1022_RDK && I2C
18596a0af6dSTimur Tabi	select SND_SOC_FSL_SSI
18696a0af6dSTimur Tabi	select SND_SOC_FSL_UTILS
18796a0af6dSTimur Tabi	select SND_SOC_POWERPC_DMA
18896a0af6dSTimur Tabi	select SND_SOC_WM8960
18996a0af6dSTimur Tabi	default y if P1022_RDK
19096a0af6dSTimur Tabi	help
19196a0af6dSTimur Tabi	  Say Y if you want to enable audio on the Freescale / iVeia
19296a0af6dSTimur Tabi	  P1022 RDK board.  This will also include the Wolfson
19396a0af6dSTimur Tabi	  Microelectronics WM8960 codec driver.
19496a0af6dSTimur Tabi
195dc641378SGrant Likelyconfig SND_SOC_MPC5200_I2S
196dc641378SGrant Likely	tristate "Freescale MPC5200 PSC in I2S mode driver"
1976574612fSTakashi Iwai	depends on PPC_MPC52xx && PPC_BESTCOMM
19889dd0842SJon Smirl	select SND_MPC52xx_DMA
199847cdf42SGrant Likely	select PPC_BESTCOMM_GEN_BD
200dc641378SGrant Likely	help
201dc641378SGrant Likely	  Say Y here to support the MPC5200 PSCs in I2S mode.
20220d0e152SJon Smirl
20320d0e152SJon Smirlconfig SND_SOC_MPC5200_AC97
20420d0e152SJon Smirl	tristate "Freescale MPC5200 PSC in AC97 mode driver"
20520d0e152SJon Smirl	depends on PPC_MPC52xx && PPC_BESTCOMM
2066a84c234SGrant Likely	select SND_SOC_AC97_BUS
20720d0e152SJon Smirl	select SND_MPC52xx_DMA
20820d0e152SJon Smirl	select PPC_BESTCOMM_GEN_BD
20920d0e152SJon Smirl	help
21020d0e152SJon Smirl	  Say Y here to support the MPC5200 PSCs in AC97 mode.
21120d0e152SJon Smirl
212a9262c4fSJon Smirlconfig SND_MPC52xx_SOC_PCM030
213a9262c4fSJon Smirl	tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712"
21440d9ec14SGrant Likely	depends on PPC_MPC5200_SIMPLE
215a9262c4fSJon Smirl	select SND_SOC_MPC5200_AC97
216a9262c4fSJon Smirl	select SND_SOC_WM9712
217a9262c4fSJon Smirl	help
2180c0e09e2SMark Brown	  Say Y if you want to add support for sound on the Phytec pcm030
2190c0e09e2SMark Brown	  baseboard.
22020d0e152SJon Smirl
2216ffee43eSJon Smirlconfig SND_MPC52xx_SOC_EFIKA
2226ffee43eSJon Smirl	tristate "SoC AC97 Audio support for bbplan Efika and STAC9766"
22340d9ec14SGrant Likely	depends on PPC_EFIKA
2246ffee43eSJon Smirl	select SND_SOC_MPC5200_AC97
2256ffee43eSJon Smirl	select SND_SOC_STAC9766
2266ffee43eSJon Smirl	help
2276ffee43eSJon Smirl	  Say Y if you want to add support for sound on the Efika.
2286ffee43eSJon Smirl
229a23dc694SShawn Guoendif # SND_POWERPC_SOC
230a23dc694SShawn Guo
231ea751227SArnd Bergmannconfig SND_SOC_IMX_PCM_FIQ
232ea751227SArnd Bergmann	tristate
233c31da0b1SFabio Estevam	default y if (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC)
234ea751227SArnd Bergmann	select FIQ
235ea751227SArnd Bergmann
236a23dc694SShawn Guoif SND_IMX_SOC
237a23dc694SShawn Guo
238eba9e06fSAlexander Shiyancomment "SoC Audio support for Freescale i.MX boards:"
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
24566f23290SDenis Carikli	select SND_SOC_FSL_SSI
24666f23290SDenis Carikli	select SND_SOC_IMX_PCM_DMA
247a23dc694SShawn Guo	help
248a23dc694SShawn Guo	  Enable I2S based access to the TLV320AIC23B codec attached
249a23dc694SShawn Guo	  to the SSI interface
250a23dc694SShawn Guo
2517e7292dbSSean Crossconfig SND_SOC_IMX_ES8328
2527e7292dbSSean Cross	tristate "SoC Audio support for i.MX boards with the ES8328 codec"
2537e7292dbSSean Cross	depends on OF && (I2C || SPI)
2547e7292dbSSean Cross	select SND_SOC_ES8328_I2C if I2C
2557e7292dbSSean Cross	select SND_SOC_ES8328_SPI if SPI_MASTER
2567e7292dbSSean Cross	select SND_SOC_IMX_PCM_DMA
2577e7292dbSSean Cross	select SND_SOC_IMX_AUDMUX
2587e7292dbSSean Cross	select SND_SOC_FSL_SSI
2597e7292dbSSean Cross	help
2607e7292dbSSean Cross	  Say Y if you want to add support for the ES8328 audio codec connected
2617e7292dbSSean Cross	  via SSI/I2S over either SPI or I2C.
2627e7292dbSSean Cross
263c448303eSShawn Guoconfig SND_SOC_IMX_SGTL5000
264c448303eSShawn Guo	tristate "SoC Audio support for i.MX boards with sgtl5000"
265c448303eSShawn Guo	depends on OF && I2C
266c448303eSShawn Guo	select SND_SOC_SGTL5000
267c448303eSShawn Guo	select SND_SOC_IMX_PCM_DMA
268c448303eSShawn Guo	select SND_SOC_IMX_AUDMUX
269c448303eSShawn Guo	select SND_SOC_FSL_SSI
270c448303eSShawn Guo	help
271c448303eSShawn Guo	  Say Y if you want to add support for SoC audio on an i.MX board with
272c448303eSShawn Guo	  a sgtl5000 codec.
273c448303eSShawn Guo
2742a956ec0SNicolin Chenconfig SND_SOC_IMX_SPDIF
2752a956ec0SNicolin Chen	tristate "SoC Audio support for i.MX boards with S/PDIF"
2762a956ec0SNicolin Chen	select SND_SOC_IMX_PCM_DMA
2772a956ec0SNicolin Chen	select SND_SOC_FSL_SPDIF
2782a956ec0SNicolin Chen	help
2792a956ec0SNicolin Chen	  SoC Audio support for i.MX boards with S/PDIF
2802a956ec0SNicolin Chen	  Say Y if you want to add support for SoC audio on an i.MX board with
2812a956ec0SNicolin Chen	  a S/DPDIF.
2822a956ec0SNicolin Chen
28338c6e4bbSShengjiu Wangconfig SND_SOC_FSL_ASOC_CARD
28438c6e4bbSShengjiu Wang	tristate "Generic ASoC Sound Card with ASRC support"
28538c6e4bbSShengjiu Wang	depends on OF && I2C
286ab07eaedSArnd Bergmann	# enforce SND_SOC_FSL_ASOC_CARD=m if SND_AC97_CODEC=m:
287ab07eaedSArnd Bergmann	depends on SND_AC97_CODEC || SND_AC97_CODEC=n
2883b171194SShengjiu Wang	select SND_SIMPLE_CARD_UTILS
28938c6e4bbSShengjiu Wang	select SND_SOC_IMX_AUDMUX
29038c6e4bbSShengjiu Wang	select SND_SOC_IMX_PCM_DMA
29138c6e4bbSShengjiu Wang	select SND_SOC_FSL_ESAI
29238c6e4bbSShengjiu Wang	select SND_SOC_FSL_SAI
29338c6e4bbSShengjiu Wang	select SND_SOC_FSL_SSI
29438c6e4bbSShengjiu Wang	help
29538c6e4bbSShengjiu Wang	 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
29657e756d3SFelipe F. Tonello	 ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888,
297b5074755SMatthias Schiffer	 CS4271, CS4272, SGTL5000 and TLV320AIC32x4.
29838c6e4bbSShengjiu Wang	 Say Y if you want to add support for Freescale Generic ASoC Sound Card.
29938c6e4bbSShengjiu Wang
300b86ef536SViorel Sumanconfig SND_SOC_IMX_AUDMIX
301b86ef536SViorel Suman	tristate "SoC Audio support for i.MX boards with AUDMIX"
302b86ef536SViorel Suman	select SND_SOC_FSL_AUDMIX
303b86ef536SViorel Suman	select SND_SOC_FSL_SAI
304b86ef536SViorel Suman	help
305b86ef536SViorel Suman	  SoC Audio support for i.MX boards with Audio Mixer
306b86ef536SViorel Suman	  Say Y if you want to add support for SoC audio on an i.MX board with
307b86ef536SViorel Suman	  an Audio Mixer.
308b86ef536SViorel Suman
3096a5f850aSShengjiu Wangconfig SND_SOC_IMX_HDMI
3106a5f850aSShengjiu Wang	tristate "SoC Audio support for i.MX boards with HDMI port"
3116a5f850aSShengjiu Wang	select SND_SOC_FSL_SAI
3126a5f850aSShengjiu Wang	select SND_SOC_FSL_AUD2HTX
3136a5f850aSShengjiu Wang	select SND_SOC_HDMI_CODEC
3146a5f850aSShengjiu Wang	help
3156a5f850aSShengjiu Wang	  ALSA SoC Audio support with HDMI feature for Freescale SoCs that have
3166a5f850aSShengjiu Wang	  SAI/AUD2HTX and connect with internal HDMI IP or external module
3176a5f850aSShengjiu Wang	  SII902X.
3186a5f850aSShengjiu Wang	  Say Y if you want to add support for SoC audio on an i.MX board with
3196a5f850aSShengjiu Wang	  IMX HDMI.
3206a5f850aSShengjiu Wang
321a23dc694SShawn Guoendif # SND_IMX_SOC
322eba9e06fSAlexander Shiyan
323eba9e06fSAlexander Shiyanendmenu
324