# SPDX-License-Identifier: GPL-2.0-only 
 | 
menu "SoC Audio for Freescale CPUs" 
 | 
  
 | 
comment "Common SoC Audio options for Freescale CPUs:" 
 | 
  
 | 
config SND_SOC_FSL_ASRC 
 | 
    tristate "Asynchronous Sample Rate Converter (ASRC) module support" 
 | 
    depends on HAS_DMA 
 | 
    select REGMAP_MMIO 
 | 
    select SND_SOC_GENERIC_DMAENGINE_PCM 
 | 
    help 
 | 
      Say Y if you want to add Asynchronous Sample Rate Converter (ASRC) 
 | 
      support for the Freescale CPUs. 
 | 
      This option is only useful for out-of-tree drivers since 
 | 
      in-tree drivers select it automatically. 
 | 
  
 | 
config SND_SOC_FSL_SAI 
 | 
    tristate "Synchronous Audio Interface (SAI) module support" 
 | 
    select REGMAP_MMIO 
 | 
    select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n 
 | 
    select SND_SOC_GENERIC_DMAENGINE_PCM 
 | 
    help 
 | 
      Say Y if you want to add Synchronous Audio Interface (SAI) 
 | 
      support for the Freescale CPUs. 
 | 
      This option is only useful for out-of-tree drivers since 
 | 
      in-tree drivers select it automatically. 
 | 
  
 | 
config SND_SOC_FSL_MQS 
 | 
    tristate "Medium Quality Sound (MQS) module support" 
 | 
    depends on SND_SOC_FSL_SAI 
 | 
    select REGMAP_MMIO 
 | 
    help 
 | 
      Say Y if you want to add Medium Quality Sound (MQS) 
 | 
      support for the Freescale CPUs. 
 | 
      This option is only useful for out-of-tree drivers since 
 | 
      in-tree drivers select it automatically. 
 | 
  
 | 
config SND_SOC_FSL_AUDMIX 
 | 
    tristate "Audio Mixer (AUDMIX) module support" 
 | 
    select REGMAP_MMIO 
 | 
    help 
 | 
      Say Y if you want to add Audio Mixer (AUDMIX) 
 | 
      support for the NXP iMX CPUs. 
 | 
  
 | 
config SND_SOC_FSL_SSI 
 | 
    tristate "Synchronous Serial Interface module (SSI) support" 
 | 
    select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n 
 | 
    select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC) 
 | 
    select REGMAP_MMIO 
 | 
    help 
 | 
      Say Y if you want to add Synchronous Serial Interface (SSI) 
 | 
      support for the Freescale CPUs. 
 | 
      This option is only useful for out-of-tree drivers since 
 | 
      in-tree drivers select it automatically. 
 | 
  
 | 
config SND_SOC_FSL_SPDIF 
 | 
    tristate "Sony/Philips Digital Interface (S/PDIF) module support" 
 | 
    select REGMAP_MMIO 
 | 
    select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n 
 | 
    select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC) 
 | 
    select BITREVERSE 
 | 
    help 
 | 
      Say Y if you want to add Sony/Philips Digital Interface (SPDIF) 
 | 
      support for the Freescale CPUs. 
 | 
      This option is only useful for out-of-tree drivers since 
 | 
      in-tree drivers select it automatically. 
 | 
  
 | 
config SND_SOC_FSL_ESAI 
 | 
    tristate "Enhanced Serial Audio Interface (ESAI) module support" 
 | 
    select REGMAP_MMIO 
 | 
    select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n 
 | 
    help 
 | 
      Say Y if you want to add Enhanced Synchronous Audio Interface 
 | 
      (ESAI) support for the Freescale CPUs. 
 | 
      This option is only useful for out-of-tree drivers since 
 | 
      in-tree drivers select it automatically. 
 | 
  
 | 
config SND_SOC_FSL_MICFIL 
 | 
    tristate "Pulse Density Modulation Microphone Interface (MICFIL) module support" 
 | 
    select REGMAP_MMIO 
 | 
    select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n 
 | 
    select SND_SOC_GENERIC_DMAENGINE_PCM 
 | 
    help 
 | 
      Say Y if you want to add Pulse Density Modulation microphone 
 | 
      interface (MICFIL) support for NXP. 
 | 
  
 | 
config SND_SOC_FSL_EASRC 
 | 
    tristate "Enhanced Asynchronous Sample Rate Converter (EASRC) module support" 
 | 
    depends on SND_SOC_FSL_ASRC 
 | 
    select REGMAP_MMIO 
 | 
    select SND_SOC_GENERIC_DMAENGINE_PCM 
 | 
    help 
 | 
      Say Y if you want to add Enhanced ASRC support for NXP. The ASRC is 
 | 
      a digital module that converts audio from a source sample rate to a 
 | 
      destination sample rate. It is a new design module compare with the 
 | 
      old ASRC. 
 | 
  
 | 
config SND_SOC_FSL_UTILS 
 | 
    tristate 
 | 
  
 | 
config SND_SOC_IMX_PCM_DMA 
 | 
    tristate 
 | 
    select SND_SOC_GENERIC_DMAENGINE_PCM 
 | 
  
 | 
config SND_SOC_IMX_AUDMUX 
 | 
    tristate "Digital Audio Mux module support" 
 | 
    help 
 | 
      Say Y if you want to add Digital Audio Mux (AUDMUX) support 
 | 
      for the ARM i.MX CPUs. 
 | 
      This option is only useful for out-of-tree drivers since 
 | 
      in-tree drivers select it automatically. 
 | 
  
 | 
config SND_POWERPC_SOC 
 | 
    tristate "SoC Audio for Freescale PowerPC CPUs" 
 | 
    depends on FSL_SOC || PPC_MPC52xx 
 | 
    help 
 | 
      Say Y or M if you want to add support for codecs attached to 
 | 
      the PowerPC CPUs. 
 | 
  
 | 
config SND_IMX_SOC 
 | 
    tristate "SoC Audio for Freescale i.MX CPUs" 
 | 
    depends on ARCH_MXC || COMPILE_TEST 
 | 
    help 
 | 
      Say Y or M if you want to add support for codecs attached to 
 | 
      the i.MX CPUs. 
 | 
  
 | 
if SND_POWERPC_SOC 
 | 
  
 | 
config SND_MPC52xx_DMA 
 | 
    tristate 
 | 
  
 | 
config SND_SOC_POWERPC_DMA 
 | 
    tristate 
 | 
  
 | 
comment "SoC Audio support for Freescale PPC boards:" 
 | 
  
 | 
config SND_SOC_MPC8610_HPCD 
 | 
    tristate "ALSA SoC support for the Freescale MPC8610 HPCD board" 
 | 
    # I2C is necessary for the CS4270 driver 
 | 
    depends on MPC8610_HPCD && I2C 
 | 
    select SND_SOC_FSL_SSI 
 | 
    select SND_SOC_FSL_UTILS 
 | 
    select SND_SOC_POWERPC_DMA 
 | 
    select SND_SOC_CS4270 
 | 
    select SND_SOC_CS4270_VD33_ERRATA 
 | 
    default y if MPC8610_HPCD 
 | 
    help 
 | 
      Say Y if you want to enable audio on the Freescale MPC8610 HPCD. 
 | 
  
 | 
config SND_SOC_P1022_DS 
 | 
    tristate "ALSA SoC support for the Freescale P1022 DS board" 
 | 
    # I2C is necessary for the WM8776 driver 
 | 
    depends on P1022_DS && I2C 
 | 
    select SND_SOC_FSL_SSI 
 | 
    select SND_SOC_FSL_UTILS 
 | 
    select SND_SOC_POWERPC_DMA 
 | 
    select SND_SOC_WM8776 
 | 
    default y if P1022_DS 
 | 
    help 
 | 
      Say Y if you want to enable audio on the Freescale P1022 DS board. 
 | 
      This will also include the Wolfson Microelectronics WM8776 codec 
 | 
      driver. 
 | 
  
 | 
config SND_SOC_P1022_RDK 
 | 
    tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board" 
 | 
    # I2C is necessary for the WM8960 driver 
 | 
    depends on P1022_RDK && I2C 
 | 
    select SND_SOC_FSL_SSI 
 | 
    select SND_SOC_FSL_UTILS 
 | 
    select SND_SOC_POWERPC_DMA 
 | 
    select SND_SOC_WM8960 
 | 
    default y if P1022_RDK 
 | 
    help 
 | 
      Say Y if you want to enable audio on the Freescale / iVeia 
 | 
      P1022 RDK board.  This will also include the Wolfson 
 | 
      Microelectronics WM8960 codec driver. 
 | 
  
 | 
config SND_SOC_MPC5200_I2S 
 | 
    tristate "Freescale MPC5200 PSC in I2S mode driver" 
 | 
    depends on PPC_MPC52xx && PPC_BESTCOMM 
 | 
    select SND_MPC52xx_DMA 
 | 
    select PPC_BESTCOMM_GEN_BD 
 | 
    help 
 | 
      Say Y here to support the MPC5200 PSCs in I2S mode. 
 | 
  
 | 
config SND_SOC_MPC5200_AC97 
 | 
    tristate "Freescale MPC5200 PSC in AC97 mode driver" 
 | 
    depends on PPC_MPC52xx && PPC_BESTCOMM 
 | 
    select SND_SOC_AC97_BUS 
 | 
    select SND_MPC52xx_DMA 
 | 
    select PPC_BESTCOMM_GEN_BD 
 | 
    help 
 | 
      Say Y here to support the MPC5200 PSCs in AC97 mode. 
 | 
  
 | 
config SND_MPC52xx_SOC_PCM030 
 | 
    tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712" 
 | 
    depends on PPC_MPC5200_SIMPLE 
 | 
    select SND_SOC_MPC5200_AC97 
 | 
    select SND_SOC_WM9712 
 | 
    help 
 | 
      Say Y if you want to add support for sound on the Phytec pcm030 
 | 
      baseboard. 
 | 
  
 | 
config SND_MPC52xx_SOC_EFIKA 
 | 
    tristate "SoC AC97 Audio support for bbplan Efika and STAC9766" 
 | 
    depends on PPC_EFIKA 
 | 
    select SND_SOC_MPC5200_AC97 
 | 
    select SND_SOC_STAC9766 
 | 
    help 
 | 
      Say Y if you want to add support for sound on the Efika. 
 | 
  
 | 
endif # SND_POWERPC_SOC 
 | 
  
 | 
config SND_SOC_IMX_PCM_FIQ 
 | 
    tristate 
 | 
    default y if SND_SOC_IMX_SSI=y && (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC) 
 | 
    select FIQ 
 | 
  
 | 
if SND_IMX_SOC 
 | 
  
 | 
config SND_SOC_IMX_SSI 
 | 
    tristate 
 | 
    select SND_SOC_FSL_UTILS 
 | 
  
 | 
comment "SoC Audio support for Freescale i.MX boards:" 
 | 
  
 | 
config SND_MXC_SOC_WM1133_EV1 
 | 
    tristate "Audio on the i.MX31ADS with WM1133-EV1 fitted" 
 | 
    depends on MACH_MX31ADS_WM1133_EV1 
 | 
    select SND_SOC_WM8350 
 | 
    select SND_SOC_IMX_PCM_FIQ 
 | 
    select SND_SOC_IMX_AUDMUX 
 | 
    select SND_SOC_IMX_SSI 
 | 
    help 
 | 
      Enable support for audio on the i.MX31ADS with the WM1133-EV1 
 | 
      PMIC board with WM8835x fitted. 
 | 
  
 | 
config SND_SOC_MX27VIS_AIC32X4 
 | 
    tristate "SoC audio support for Visstrim M10 boards" 
 | 
    depends on MACH_IMX27_VISSTRIM_M10 && I2C 
 | 
    select SND_SOC_TLV320AIC32X4 
 | 
    select SND_SOC_IMX_PCM_DMA 
 | 
    select SND_SOC_IMX_AUDMUX 
 | 
    select SND_SOC_IMX_SSI 
 | 
    help 
 | 
      Say Y if you want to add support for SoC audio on Visstrim SM10 
 | 
      board with TLV320AIC32X4 codec. 
 | 
  
 | 
config SND_SOC_PHYCORE_AC97 
 | 
    tristate "SoC Audio support for Phytec phyCORE (and phyCARD) boards" 
 | 
    depends on MACH_PCM043 || MACH_PCA100 
 | 
    select SND_SOC_AC97_BUS 
 | 
    select SND_SOC_WM9712 
 | 
    select SND_SOC_IMX_PCM_FIQ 
 | 
    select SND_SOC_IMX_AUDMUX 
 | 
    select SND_SOC_IMX_SSI 
 | 
    help 
 | 
      Say Y if you want to add support for SoC audio on Phytec phyCORE 
 | 
      and phyCARD boards in AC97 mode 
 | 
  
 | 
config SND_SOC_EUKREA_TLV320 
 | 
    tristate "Eukrea TLV320" 
 | 
    depends on ARCH_MXC && !ARM64 && I2C 
 | 
    select SND_SOC_TLV320AIC23_I2C 
 | 
    select SND_SOC_IMX_AUDMUX 
 | 
    select SND_SOC_IMX_SSI 
 | 
    select SND_SOC_FSL_SSI 
 | 
    select SND_SOC_IMX_PCM_DMA 
 | 
    help 
 | 
      Enable I2S based access to the TLV320AIC23B codec attached 
 | 
      to the SSI interface 
 | 
  
 | 
config SND_SOC_IMX_ES8328 
 | 
    tristate "SoC Audio support for i.MX boards with the ES8328 codec" 
 | 
    depends on OF && (I2C || SPI) 
 | 
    select SND_SOC_ES8328_I2C if I2C 
 | 
    select SND_SOC_ES8328_SPI if SPI_MASTER 
 | 
    select SND_SOC_IMX_PCM_DMA 
 | 
    select SND_SOC_IMX_AUDMUX 
 | 
    select SND_SOC_FSL_SSI 
 | 
    help 
 | 
      Say Y if you want to add support for the ES8328 audio codec connected 
 | 
      via SSI/I2S over either SPI or I2C. 
 | 
  
 | 
config SND_SOC_IMX_SGTL5000 
 | 
    tristate "SoC Audio support for i.MX boards with sgtl5000" 
 | 
    depends on OF && I2C 
 | 
    select SND_SOC_SGTL5000 
 | 
    select SND_SOC_IMX_PCM_DMA 
 | 
    select SND_SOC_IMX_AUDMUX 
 | 
    select SND_SOC_FSL_SSI 
 | 
    help 
 | 
      Say Y if you want to add support for SoC audio on an i.MX board with 
 | 
      a sgtl5000 codec. 
 | 
  
 | 
config SND_SOC_IMX_SPDIF 
 | 
    tristate "SoC Audio support for i.MX boards with S/PDIF" 
 | 
    select SND_SOC_IMX_PCM_DMA 
 | 
    select SND_SOC_FSL_SPDIF 
 | 
    help 
 | 
      SoC Audio support for i.MX boards with S/PDIF 
 | 
      Say Y if you want to add support for SoC audio on an i.MX board with 
 | 
      a S/DPDIF. 
 | 
  
 | 
config SND_SOC_IMX_MC13783 
 | 
    tristate "SoC Audio support for I.MX boards with mc13783" 
 | 
    depends on MFD_MC13XXX && ARM 
 | 
    select SND_SOC_IMX_SSI 
 | 
    select SND_SOC_IMX_AUDMUX 
 | 
    select SND_SOC_MC13783 
 | 
    select SND_SOC_IMX_PCM_DMA 
 | 
  
 | 
config SND_SOC_FSL_ASOC_CARD 
 | 
    tristate "Generic ASoC Sound Card with ASRC support" 
 | 
    depends on OF && I2C 
 | 
    # enforce SND_SOC_FSL_ASOC_CARD=m if SND_AC97_CODEC=m: 
 | 
    depends on SND_AC97_CODEC || SND_AC97_CODEC=n 
 | 
    select SND_SIMPLE_CARD_UTILS 
 | 
    select SND_SOC_IMX_AUDMUX 
 | 
    select SND_SOC_IMX_PCM_DMA 
 | 
    select SND_SOC_FSL_ESAI 
 | 
    select SND_SOC_FSL_SAI 
 | 
    select SND_SOC_FSL_SSI 
 | 
    help 
 | 
     ALSA SoC Audio support with ASRC feature for Freescale SoCs that have 
 | 
     ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888, 
 | 
     CS4271, CS4272, SGTL5000 and TLV320AIC32x4. 
 | 
     Say Y if you want to add support for Freescale Generic ASoC Sound Card. 
 | 
  
 | 
config SND_SOC_IMX_AUDMIX 
 | 
    tristate "SoC Audio support for i.MX boards with AUDMIX" 
 | 
    select SND_SOC_FSL_AUDMIX 
 | 
    select SND_SOC_FSL_SAI 
 | 
    help 
 | 
      SoC Audio support for i.MX boards with Audio Mixer 
 | 
      Say Y if you want to add support for SoC audio on an i.MX board with 
 | 
      an Audio Mixer. 
 | 
  
 | 
endif # SND_IMX_SOC 
 | 
  
 | 
endmenu 
 |