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_GENERIC_DMAENGINE_PCM if TEGRA20_APB_DMA
	help
	  Say Y or M here if you want support for SoC audio on Tegra.

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

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_TEGRA20_SPDIF
	tristate
	depends on SND_SOC_TEGRA && ARCH_TEGRA_2x_SOC
	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_AHUB
	tristate
	depends on SND_SOC_TEGRA && ARCH_TEGRA_3x_SOC
	help
	  Say Y or M if you want to add support for the Tegra20 AHUB 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_3x_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_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
	select SND_SOC_TEGRA20_I2S if ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA30_I2S if ARCH_TEGRA_3x_SOC
	select SND_SOC_WM8903
	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_WM9712
	tristate "SoC Audio support for Tegra boards using a WM9712 codec"
	depends on SND_SOC_TEGRA && ARCH_TEGRA_2x_SOC
	select SND_SOC_TEGRA20_AC97
	select SND_SOC_WM9712
	help
	  Say Y or M here if you want to add support for SoC audio on Tegra
	  boards using the WM9712 (or compatible) codec.

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
	select SND_SOC_TEGRA20_I2S if ARCH_TEGRA_2x_SOC
	select SND_SOC_ALC5632
	help
	  Say Y or M here if you want to add support for SoC audio on the
	  Toshiba AC100 netbook.
