ASoC: tegra-alt: Alternative DAPM-based driver

This driver is for the ahub with using DAPM.
It supports kcontrols to route within the ahub
clients by user space so we can route the memory
to amx, adx and other ahub clients to I2S for
playback/capture.

Bug 1354235
Bug 1373091

Change-Id: Ia43b007de7c1161ce551087428a090ff2bf1e09e
Based-on-work-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Arun Shamanna Lakshmi <aruns@nvidia.com>
Signed-off-by: Songhee Baek <sbaek@nvidia.com>
Reviewed-on: http://git-master/r/289919
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
This commit is contained in:
Songhee Baek
2013-08-01 13:50:35 -07:00
committed by Sameer Pujar
parent f8c3f7a29e
commit 64a271ff0b
2 changed files with 69 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
config SND_SOC_TEGRA_ALT
tristate "Alternative DAPM-based SoC audio support 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, using the
alternative driver that exposes to user-space the full routing capabilities
of the AHUB (Audio HUB) hardware module.
config SND_SOC_TEGRA_ALT_30_OR_LATER
def_bool y
depends on SND_SOC_TEGRA_ALT
depends on ARCH_TEGRA_3x_SOC || ARCH_TEGRA_11x_SOC || ARCH_TEGRA_12x_SOC
config SND_SOC_TEGRA_ALT_114_OR_LATER
def_bool y
depends on SND_SOC_TEGRA_ALT
depends on ARCH_TEGRA_11x_SOC || ARCH_TEGRA_12x_SOC
config SND_SOC_TEGRA30_XBAR_ALT
tristate "Tegra30 XBAR driver"
depends on SND_SOC_TEGRA_ALT && SND_SOC_TEGRA_ALT_30_OR_LATER
help
Say Y or M if you want to add support for Tegra30 XBAR module.
config SND_SOC_TEGRA30_APBIF_ALT
tristate "Tegra30 APBIF driver"
depends on SND_SOC_TEGRA30_XBAR_ALT && SND_SOC_TEGRA_ALT_30_OR_LATER
help
Say Y or M if you want to add support for Tegra30 APBIF module.
config SND_SOC_TEGRA30_I2S_ALT
tristate "Tegra30 I2S driver"
depends on SND_SOC_TEGRA_ALT && SND_SOC_TEGRA_ALT_30_OR_LATER
help
Say Y or M if you want to add support for Tegra30 I2S module.
config SND_SOC_TEGRA114_AMX_ALT
tristate "Tegra114 AMX driver"
depends on SND_SOC_TEGRA_ALT && SND_SOC_TEGRA_ALT_114_OR_LATER
help
Say Y or M if you want to add support for Tegra114 AMX module.
config SND_SOC_TEGRA114_ADX_ALT
tristate "Tegra114 ADX driver"
depends on SND_SOC_TEGRA_ALT && SND_SOC_TEGRA_ALT_114_OR_LATER
help
Say Y or M if you want to add support for Tegra114 ADX module.

View File

@@ -0,0 +1,20 @@
GCOV_PROFILE := y
subdir-ccflags-y := -Werror
# Tegra platform Support
snd-soc-tegra-alt-pcm-objs := tegra_pcm_alt.o
snd-soc-tegra-alt-utils-objs := tegra_asoc_utils_alt.o
snd-soc-tegra30-alt-apbif-objs := tegra30_apbif_alt.o
snd-soc-tegra30-alt-xbar-objs := tegra30_xbar_alt.o
snd-soc-tegra30-alt-i2s-objs := tegra30_i2s_alt.o
snd-soc-tegra114-alt-amx-objs := tegra114_amx_alt.o
snd-soc-tegra114-alt-adx-objs := tegra114_adx_alt.o
obj-$(CONFIG_SND_SOC_TEGRA_ALT) += snd-soc-tegra-alt-pcm.o
obj-$(CONFIG_SND_SOC_TEGRA_ALT) += snd-soc-tegra-alt-utils.o
obj-$(CONFIG_SND_SOC_TEGRA30_APBIF_ALT) += snd-soc-tegra30-alt-apbif.o
obj-$(CONFIG_SND_SOC_TEGRA30_XBAR_ALT) += snd-soc-tegra30-alt-xbar.o
obj-$(CONFIG_SND_SOC_TEGRA30_I2S_ALT) += snd-soc-tegra30-alt-i2s.o
obj-$(CONFIG_SND_SOC_TEGRA114_AMX_ALT) += snd-soc-tegra114-alt-amx.o
obj-$(CONFIG_SND_SOC_TEGRA114_ADX_ALT) += snd-soc-tegra114-alt-adx.o