asoc: tegra: Add support for audio for K3.10
Manoj Gangwal [Tue, 3 Sep 2013 12:55:35 +0000 (17:55 +0530)]
Bug 1310452

Change-Id: I949d331270c5b19c5046f567d091ca055d234d53
Signed-off-by: Manoj Gangwal <mgangwal@nvidia.com>
Reviewed-on: http://git-master/r/269551
Reviewed-by: Eric Miao <emiao@nvidia.com>
Tested-by: Eric Miao <emiao@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

sound/soc/tegra/Kconfig

index f2ca511..fc442a1 100644 (file)
@@ -23,12 +23,38 @@ config SND_SOC_TEGRA20_I2S
          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.
+         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.
 
@@ -45,22 +71,18 @@ 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 Tegra20 AHUB module.
+         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 "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"
+       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 DMIC platform driver for
-         dummy DMIC codec interfaces.
+         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
@@ -73,20 +95,17 @@ config SND_SOC_TEGRA30_I2S
 
 config SND_SOC_TEGRA_WM8753
        tristate "SoC Audio support for Tegra boards using a WM8753 codec"
-       depends on SND_SOC_TEGRA && I2C && TEGRA_DC
+       depends on SND_SOC_TEGRA && I2C
        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_TEGRA30_I2S if ARCH_TEGRA_3x_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, 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
+       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
@@ -110,8 +129,8 @@ config SND_SOC_TEGRA_TRIMSLICE
 
 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
+       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
@@ -131,17 +150,58 @@ config SND_SOC_TEGRA_P1852
          used by the system integrator needs to be provided while instantiating
          the driver.
 
-config MACH_HAS_SND_SOC_TEGRA_MAX98088
+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_MAX98088 driver should select
+         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_MAX98088.
+         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
-       depends on MACH_HAS_SND_SOC_TEGRA_MAX98088
        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
@@ -153,17 +213,9 @@ config SND_SOC_TEGRA_MAX98088
          boards using the MAX98088 codec. Currently, only supported board is
          Enterprise.
 
-config MACH_HAS_SND_SOC_TEGRA_TLV320AIC326X
-       bool
-       help
-         Machines that use the SND_SOC_TEGRA_TLV320AIC326X driver should select
-         this config option, in order to allow the user to enable
-         SND_SOC_TEGRA_TLV320AIC326X.
-
 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
-       depends on MACH_HAS_SND_SOC_TEGRA_TLV320AIC326X
        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
@@ -204,8 +256,6 @@ config MACH_HAS_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 MACH_HAS_SND_SOC_TEGRA_RT5639
-       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
@@ -214,19 +264,11 @@ config SND_SOC_TEGRA_RT5639
        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.
-
-config MACH_HAS_SND_SOC_TEGRA_RT5640
-       bool
-       help
-         Machines that use the SND_SOC_TEGRA_RT5640 driver should select
-         this config option, in order to allow the user to enable
-         SND_SOC_TEGRA_RT5640.
+         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
-       depends on MACH_HAS_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_RT5640
@@ -257,17 +299,9 @@ config SND_SOC_TEGRA_RT5645
          boards using the ALC5645 codec. Currently, the supported boards
          are Ardbeg.
 
-config MACH_HAS_SND_SOC_TEGRA_MAX98095
-       bool
-       help
-         Machines that use the SND_SOC_TEGRA_MAX98095 driver should select
-         this config option, in order to allow the user to enable
-         SND_SOC_TEGRA_MAX98095.
-
 config SND_SOC_TEGRA_MAX98095
        tristate "SoC Audio support for Tegra boards using a MAX98095 codec"
        depends on SND_SOC_TEGRA && I2C && TEGRA_DC
-       depends on MACH_HAS_SND_SOC_TEGRA_MAX98095
        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
@@ -279,17 +313,9 @@ config SND_SOC_TEGRA_MAX98095
          boards using the MAX98095 codec. Currently, only supported board is
          Cardhu.
 
-config MACH_HAS_SND_SOC_TEGRA_CS42L73
-       bool
-       help
-         Machines that use the SND_SOC_TEGRA_CS42L73 driver should select
-         this config option, in order to allow the user to enable
-         SND_SOC_TEGRA_CS42L73.
-
 config SND_SOC_TEGRA_CS42L73
        tristate "SoC Audio support for Tegra boards using a CS42L73 codec"
        depends on SND_SOC_TEGRA && I2C && TEGRA_DC
-       depends on MACH_HAS_SND_SOC_TEGRA_CS42L73
        select SND_SOC_TEGRA30_I2S if !ARCH_TEGRA_2x_SOC
        select SND_SOC_CS42L73
        select SND_SOC_TEGRA30_DAM if !ARCH_TEGRA_2x_SOC