config SND_SOC_TEGRA
	tristate "SoC Audio for the Tegra System-on-Chip"
	depends on ARCH_TEGRA && TEGRA20_APB_DMA
	select REGMAP_MMIO
	select SND_SOC_DMAENGINE_PCM if TEGRA20_APB_DMA
	help
	  Say Y or M here if you want support for SoC audio on Tegra.

config SND_SOC_TEGRA_OFFLOAD
	tristate "Audio offload support for Tegra SoC"
	depends on SND_SOC_TEGRA
	help
	  Say Y or M here if you want support for offload audio on Tegra.
	  When offload support is enabled offload platform is used and it
	  sends both PCM and compressed data to AVP/DSP for decode and
	  rendering.

config SND_SOC_TEGRA20_DAS
	tristate
	depends on SND_SOC_TEGRA && ARCH_TEGRA_2x_SOC
	help
	  Say Y or M if you want to add support for the Tegra20 DAS module.
	  You will also need to select the individual machine drivers to
	  support below.

config SND_SOC_TEGRA20_I2S
	tristate
	depends on SND_SOC_TEGRA && ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA20_DAS
	help
	  Say Y or M if you want to add support for codecs attached to the
	  Tegra20 I2S interface. You will also need to select the individual
	  machine drivers to support below.

config SND_SOC_TEGRA30_AHUB
	tristate "Tegra 30 Audio Hub driver"
	depends on SND_SOC_TEGRA && !ARCH_TEGRA_2x_SOC

config SND_SOC_TEGRA30_DAM
	tristate "Tegra 30 Audio Dam driver"
	depends on SND_SOC_TEGRA && !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_AHUB

config SND_SOC_TEGRA_DMIC
	tristate "Tegra DMic driver"
	depends on SND_SOC_TEGRA && !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_AHUB
	help
	  Say Y or M if you want to add support for DMIC platform driver for
	  dummy DMIC codec interfaces.

config SND_SOC_TEGRA30_I2S
	tristate "Tegra 30 I2S driver"
	depends on SND_SOC_TEGRA && !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_AHUB
	help
	  Say Y or M if you want to add support for codecs attached to the
	  Tegra I2S interface. You will also need to select the individual
	  machine drivers to support below.

config SND_SOC_TEGRA20_SPDIF
	tristate
	depends on SND_SOC_TEGRA && ARCH_TEGRA_2x_SOC && TEGRA_DC
	default m
	help
	  Say Y or M if you want to add support for the TEGRA20 SPDIF interface.
	  You will also need to select the individual machine drivers to support
	  below.

config SND_SOC_TEGRA30_SPDIF
	tristate
	depends on SND_SOC_TEGRA && !ARCH_TEGRA_2x_SOC && TEGRA_DC
	select SND_SOC_TEGRA30_AHUB
	help
	  Say Y or M if you want to add support for the TEGRA30 SPDIF interface.
	  You will also need to select the individual machine drivers to support
	  below.

config SND_SOC_TEGRA30_AHUB
	tristate
	depends on SND_SOC_TEGRA && !ARCH_TEGRA_2x_SOC
	help
	  Say Y or M if you want to add support for the Tegra30 AHUB module.
	  You will also need to select the individual machine drivers to
	  support below.

config SND_SOC_TEGRA30_DAM
	tristate
	depends on SND_SOC_TEGRA && !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_AHUB
	help
	  Say Y or M if you want to add support for the Tegra30 DAM module.
	  You will also need to select the individual machine drivers to
	  support below.

config SND_SOC_TEGRA30_I2S
	tristate
	depends on SND_SOC_TEGRA && !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_AHUB
	help
	  Say Y or M if you want to add support for codecs attached to the
	  Tegra30 I2S interface. You will also need to select the individual
	  machine drivers to support below.

config SND_SOC_TEGRA30_AVP
	tristate
	depends on SND_SOC_TEGRA
	select SND_SOC_TEGRA_OFFLOAD
	help
	  Say Y or M if you want to add support for the Tegra30 AVP rendering
	  module. You will also need to select the individual machine drivers to
	  support below.

config SND_SOC_TEGRA_WM8753
	tristate "SoC Audio support for Tegra boards using a WM8753 codec"
	depends on SND_SOC_TEGRA && I2C
	select SND_SOC_TEGRA20_I2S if ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_I2S if ARCH_TEGRA_3x_SOC
	select SND_SOC_WM8753
	help
	  Say Y or M here if you want to add support for SoC audio on Tegra
	  boards using the WM8753 codec, such as Whistler.

config SND_SOC_TEGRA_WM8903
	tristate "SoC Audio support for Tegra boards using a WM8903 codec"
	depends on SND_SOC_TEGRA && I2C && TEGRA_DC
	select SND_SOC_TEGRA20_I2S if ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_I2S if !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA20_SPDIF if ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_SPDIF if !ARCH_TEGRA_2x_SOC
	select SND_SOC_WM8903
	select SND_SOC_SPDIF
	select SND_SOC_TEGRA30_DAM if !ARCH_TEGRA_2x_SOC
	help
	  Say Y or M here if you want to add support for SoC audio on Tegra
	  boards using the WM8093 codec. Currently, the supported boards are
	  Harmony, Ventana, Seaboard, Kaen, and Aebl.

config SND_SOC_TEGRA_TRIMSLICE
	tristate "SoC Audio support for TrimSlice board"
	depends on SND_SOC_TEGRA && I2C
	select SND_SOC_TEGRA20_I2S if ARCH_TEGRA_2x_SOC
	select SND_SOC_TLV320AIC23
	help
	  Say Y or M here if you want to add support for SoC audio on the
	  TrimSlice platform.

config SND_SOC_TEGRA_ALC5632
	tristate "SoC Audio support for Tegra boards using an ALC5632 codec"
	depends on SND_SOC_TEGRA && I2C && TEGRA_DC
	select SND_SOC_TEGRA_I2S
	select SND_SOC_ALC5632
	help
	  Say Y or M here if you want to add support for SoC audio on the
	  Toshiba AC100 netbook.

config SND_SOC_TEGRA_P1852
	tristate "SoC Audio support for P1852 SKUs"
	depends on SND_SOC_TEGRA
	depends on MACH_P1852
	select SND_SOC_TEGRA30_I2S if !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_SPDIF if !ARCH_TEGRA_2x_SOC
	select SND_SOC_SPDIF
	select SND_SOC_TEGRA30_DAM if !ARCH_TEGRA_2x_SOC
	help
	  Say Y or M here if you want to add support for SoC audio on the
	  TEGRA P1852 SKUs. These are plug-n-play boards and and the codecs
	  used by the system integrator needs to be provided while instantiating
	  the driver.

config SND_SOC_TEGRA_E1853
	tristate "SoC Audio support for E1853 SKUs"
	depends on SND_SOC_TEGRA
	depends on MACH_E1853
	select SND_SOC_TEGRA30_I2S if ARCH_TEGRA_3x_SOC
	select SND_SOC_TEGRA30_SPDIF if ARCH_TEGRA_3x_SOC
	select SND_SOC_SPDIF
	select SND_SOC_TEGRA30_DAM if ARCH_TEGRA_3x_SOC
	select SND_SOC_WM8731
	select SND_SOC_AD193X
	help
	  Say Y or M here if you want to add support for SoC audio on the
	  TEGRA E1853 SKUs. These are plug-n-play boards and and the codecs
	  used by the system integrator needs to be provided while instantiating
	  the driver.

config SND_SOC_TEGRA_M2601
	tristate "SoC Audio support for M2601 SKUs"
	depends on SND_SOC_TEGRA
	depends on MACH_M2601
	select SND_SOC_TEGRA30_I2S if ARCH_TEGRA_3x_SOC
	select SND_SOC_AD193X
	help
	  Say Y or M here if you want to add support for SoC audio on the
	  TEGRA M2601 SKUs. These are plug-n-play boards and and the codecs
	  used by the system integrator needs to be provided while instantiating
	  the driver.

config MACH_HAS_SND_SOC_TEGRA_WM8753
	bool
	help
	  Machines that use the SND_SOC_TEGRA_WM8753 driver should select
	  this config option, in order to allow the user to enable
	  SND_SOC_TEGRA_WM8753.

config SND_SOC_TEGRA_WM8753
	tristate "SoC Audio support for Tegra boards using a WM8753 codec"
	depends on SND_SOC_TEGRA && I2C && TEGRA_DC
	select SND_SOC_TEGRA20_I2S if ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_I2S if !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA20_SPDIF if ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_SPDIF if !ARCH_TEGRA_2x_SOC
	select SND_SOC_WM8753
	select SND_SOC_SPDIF
	help
	  Say Y or M here if you want to add support for SoC audio on Tegra
	  boards using the WM8753 codec. Currently, only supported board is
	  Whistler.

config SND_SOC_TEGRA_MAX98088
	tristate "SoC Audio support for Tegra boards using a MAX98088 codec"
	depends on SND_SOC_TEGRA && I2C && TEGRA_DC
	select SND_SOC_TEGRA20_I2S if ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_I2S if !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_SPDIF if !ARCH_TEGRA_2x_SOC
	select SND_SOC_MAX98088
	select SND_SOC_SPDIF
	select SND_SOC_TEGRA30_DAM if !ARCH_TEGRA_2x_SOC
	help
	  Say Y or M here if you want to add support for SoC audio on Tegra
	  boards using the MAX98088 codec. Currently, only supported board is
	  Enterprise.

config SND_SOC_TEGRA_TLV320AIC326X
	tristate "SoC Audio support for Tegra boards using a TI AIC326x codec"
	depends on SND_SOC_TEGRA && I2C && TEGRA_DC
	select SND_SOC_TEGRA20_I2S if ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_I2S if !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_SPDIF if !ARCH_TEGRA_2x_SOC
	select SND_SOC_TLV320AIC326X
	select SND_SOC_SPDIF
	select SND_SOC_TEGRA30_DAM if !ARCH_TEGRA_2x_SOC
	help
	  Say Y or M here if you want to add support for SoC audio on Tegra
	  boards using the TI AIC326X codec.

config MACH_HAS_SND_SOC_TEGRA_TLV320AIC325X
	bool
	help
	  Machines that use the SND_SOC_TEGRA_TLV320AIC325X driver should select
	  this config option, in order to allow the user to enable
	  SND_SOC_TEGRA_TLV320AIC325X.

config SND_SOC_TEGRA_TLV320AIC325X
	tristate "SoC Audio support for Tegra boards using a TI AIC325x codec"
	depends on SND_SOC_TEGRA && I2C && TEGRA_DC
	depends on MACH_HAS_SND_SOC_TEGRA_TLV320AIC325X
	select SND_SOC_TEGRA30_I2S if !ARCH_TEGRA_2x_SOC
	select SND_SOC_TLV320AIC325X
	select SND_SOC_TEGRA30_DAM if !ARCH_TEGRA_2x_SOC
	select SND_SOC_SPDIF
	select MFD_AIC3256_I2C
	help
	  Say Y or M here if you want to add support for SoC audio on Tegra
	  boards using the TI AIC325X codec.

config MACH_HAS_SND_SOC_TEGRA_RT5639
	bool
	help
	  Machines that use the SND_SOC_TEGRA_RT5639 driver should select
	  this config option, in order to allow the user to enable
	  SND_SOC_TEGRA_RT5639.

config SND_SOC_TEGRA_RT5639
	tristate "SoC Audio support for Tegra boards using a ALC5639 codec"
	depends on SND_SOC_TEGRA && I2C && TEGRA_DC
	depends on SND_SOC_TEGRA_RT5640
	select SND_SOC_TEGRA30_I2S if !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_SPDIF if !ARCH_TEGRA_2x_SOC
	select SND_SOC_RT5639
	select SND_SOC_SPDIF
	select SND_SOC_TEGRA30_AVP if !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_DAM if !ARCH_TEGRA_2x_SOC
	help
	  Say Y or M here if you want to add support for SoC audio on Tegra
	  boards using the ALC5639 codec. Currently, the supported board
	  is Kai and Ardbeg.

config SND_SOC_TEGRA_RT5640
	tristate "SoC Audio support for Tegra boards using a ALC5640 codec"
	depends on SND_SOC_TEGRA && I2C && TEGRA_DC
	select SND_SOC_TEGRA30_I2S if !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_SPDIF if !ARCH_TEGRA_2x_SOC
	select SND_SOC_RT5640
	select SND_SOC_SPDIF
	select SND_SOC_TEGRA30_DAM if !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_AVP if !ARCH_TEGRA_2x_SOC
	help
	  Say Y or M here if you want to add support for SoC audio on Tegra
	  boards using the ALC5640 codec. Currently, the supported boards
	  are Kai,Cardhu and Dalmore.

config MACH_HAS_SND_SOC_TEGRA_RT5645
	bool
	help
	  Machines that use the SND_SOC_TEGRA_RT5645 driver should select
	  this config option, in order to allow the user to enable
	  SND_SOC_TEGRA_RT5645.

config SND_SOC_TEGRA_RT5645
	tristate "SoC Audio support for Tegra boards using a ALC5645 codec"
	depends on SND_SOC_TEGRA && I2C && TEGRA_DC
	select SND_SOC_TEGRA30_I2S if !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_SPDIF if !ARCH_TEGRA_2x_SOC
	select SND_SOC_RT5645
	select SND_SOC_SPDIF
	select SND_SOC_TEGRA30_DAM if !ARCH_TEGRA_2x_SOC
	help
	  Say Y or M here if you want to add support for SoC audio on Tegra
	  boards using the ALC5645 codec. Currently, the supported boards
	  are Ardbeg.

config SND_SOC_TEGRA_MAX98095
	tristate "SoC Audio support for Tegra boards using a MAX98095 codec"
	depends on SND_SOC_TEGRA && I2C && TEGRA_DC
	select SND_SOC_TEGRA20_I2S if ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_I2S if !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_SPDIF if !ARCH_TEGRA_2x_SOC
	select SND_SOC_MAX98095
	select SND_SOC_SPDIF
	select SND_SOC_TEGRA30_DAM if !ARCH_TEGRA_2x_SOC
	help
	  Say Y or M here if you want to add support for SoC audio on Tegra
	  boards using the MAX98095 codec. Currently, only supported board is
	  Cardhu.

config SND_SOC_TEGRA_CS42L73
	tristate "SoC Audio support for Tegra boards using a CS42L73 codec"
	depends on SND_SOC_TEGRA && I2C && TEGRA_DC
	select SND_SOC_TEGRA30_I2S if !ARCH_TEGRA_2x_SOC
	select SND_SOC_CS42L73
	select SND_SOC_TEGRA30_DAM if !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_SPDIF if !ARCH_TEGRA_2x_SOC
	help
	  Say Y or M here if you want to add support for SoC audio on Tegra
	  boards using the CS42L73 codec. Currently, only supported board is
	  Pluto.

config MACH_HAS_SND_SOC_TEGRA_MAX98090
	bool
	help
	  Machines that use the SND_SOC_TEGRA_MAX98090 driver should select
	  this config option, in order to allow the user to enable
	  SND_SOC_TEGRA_MAX98090.

config SND_SOC_TEGRA_MAX98090
	tristate "SoC Audio support for Tegra boards using a MAX98090 codec"
	depends on SND_SOC_TEGRA && I2C && TEGRA_DC
	depends on MACH_HAS_SND_SOC_TEGRA_MAX98090
	select SND_SOC_TEGRA30_I2S if !ARCH_TEGRA_2x_SOC
	select SND_SOC_MAX98090
	select SND_SOC_TEGRA30_DAM if !ARCH_TEGRA_2x_SOC
	select SND_SOC_MAX97236
	select SND_SOC_SPDIF
	select SND_SOC_TEGRA30_AVP if !ARCH_TEGRA_2x_SOC
	help
	  Say Y or M here if you want to add support for SoC audio on Tegra
	  boards using the MAX98090 codec. Currently, only supported board is
	  Pluto.

config MACH_HAS_SND_SOC_TEGRA_DMIC_REV1
	bool
	help
	  Machines that use the SND_SOC_TEGRA_DMIC_REV1 driver should select
	  this config option, in order to allow the user to enable
	  SND_SOC_TEGRA_DMIC_REV1.

config SND_SOC_TEGRA_DMIC_REV1
	tristate "SoC Audio support for Tegra boards using a DMIC_REV1 codec"
	depends on SND_SOC_TEGRA
	depends on MACH_HAS_SND_SOC_TEGRA_DMIC_REV1
	select SND_SOC_DMIC
	select SND_SOC_TEGRA_DMIC if !ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_AHUB if !ARCH_TEGRA_2x_SOC
	help
	  Say Y or M here if you want to add support for SoC audio on Tegra
	  boards using the DMIC_REV1 codec. Currently, only supported board is
	  E1664 (dolak).

config SND_SOC_TEGRA_DUMMY
	tristate "SoC Audio support for Tegra boards that doesn't use codecs"
	depends on SND_SOC_TEGRA
	select SND_SOC_TEGRA30_SPDIF if !ARCH_TEGRA_2x_SOC
	select SND_SOC_SPDIF
	help
	  Say Y or M here if you want to add support for SoC audio on Tegra
	  boards that doesn't use codecs (like SPDIF).
	  One such board is a customer board called Sandman.
