mirror of
https://github.com/torvalds/linux.git
synced 2024-12-22 10:56:40 +00:00
16e1bcc2ca
The Audio Hub (AHUB) comprises a collection of hardware accelerators for audio pre/post-processing and a programmable full crossbar (XBAR) for routing audio data across these accelerators in time and in parallel. AHUB supports multiple interfaces to I2S, DSPK, DMIC etc., XBAR is a switch used to configure or modify audio routing between HW accelerators present inside AHUB. This patch registers AHUB component with ASoC framework. The component driver exposes DAPM widgets, routes and kcontrols for the device. The DAI driver exposes AHUB interfaces, which can be used to connect different components in the ASoC layer. Currently the driver takes care of XBAR programming to allow audio data flow through various clients of the AHUB. Makefile and Kconfig support is added to allow to build the driver. The AHUB component can be enabled in the DT via below compatible bindings. - "nvidia,tegra210-ahub" for Tegra210 - "nvidia,tegra186-ahub" for Tegra186 and Tegra194 Signed-off-by: Sameer Pujar <spujar@nvidia.com> Link: https://lore.kernel.org/r/1595134890-16470-6-git-send-email-spujar@nvidia.com Signed-off-by: Mark Brown <broonie@kernel.org>
47 lines
2.1 KiB
Makefile
47 lines
2.1 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
# Tegra platform Support
|
|
snd-soc-tegra-pcm-objs := tegra_pcm.o
|
|
snd-soc-tegra-utils-objs += tegra_asoc_utils.o
|
|
snd-soc-tegra20-ac97-objs := tegra20_ac97.o
|
|
snd-soc-tegra20-das-objs := tegra20_das.o
|
|
snd-soc-tegra20-i2s-objs := tegra20_i2s.o
|
|
snd-soc-tegra20-spdif-objs := tegra20_spdif.o
|
|
snd-soc-tegra30-ahub-objs := tegra30_ahub.o
|
|
snd-soc-tegra30-i2s-objs := tegra30_i2s.o
|
|
snd-soc-tegra210-ahub-objs := tegra210_ahub.o
|
|
snd-soc-tegra210-dmic-objs := tegra210_dmic.o
|
|
snd-soc-tegra210-i2s-objs := tegra210_i2s.o
|
|
|
|
obj-$(CONFIG_SND_SOC_TEGRA) += snd-soc-tegra-pcm.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA) += snd-soc-tegra-utils.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA20_AC97) += snd-soc-tegra20-ac97.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA20_DAS) += snd-soc-tegra20-das.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA20_I2S) += snd-soc-tegra20-i2s.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA20_SPDIF) += snd-soc-tegra20-spdif.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA30_AHUB) += snd-soc-tegra30-ahub.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA30_I2S) += snd-soc-tegra30-i2s.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA210_DMIC) += snd-soc-tegra210-dmic.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA210_AHUB) += snd-soc-tegra210-ahub.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA210_I2S) += snd-soc-tegra210-i2s.o
|
|
|
|
# Tegra machine Support
|
|
snd-soc-tegra-rt5640-objs := tegra_rt5640.o
|
|
snd-soc-tegra-rt5677-objs := tegra_rt5677.o
|
|
snd-soc-tegra-wm8753-objs := tegra_wm8753.o
|
|
snd-soc-tegra-wm8903-objs := tegra_wm8903.o
|
|
snd-soc-tegra-wm9712-objs := tegra_wm9712.o
|
|
snd-soc-tegra-trimslice-objs := trimslice.o
|
|
snd-soc-tegra-alc5632-objs := tegra_alc5632.o
|
|
snd-soc-tegra-max98090-objs := tegra_max98090.o
|
|
snd-soc-tegra-sgtl5000-objs := tegra_sgtl5000.o
|
|
|
|
obj-$(CONFIG_SND_SOC_TEGRA_RT5640) += snd-soc-tegra-rt5640.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA_RT5677) += snd-soc-tegra-rt5677.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA_WM8753) += snd-soc-tegra-wm8753.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA_WM8903) += snd-soc-tegra-wm8903.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA_WM9712) += snd-soc-tegra-wm9712.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA_TRIMSLICE) += snd-soc-tegra-trimslice.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA_ALC5632) += snd-soc-tegra-alc5632.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA_MAX98090) += snd-soc-tegra-max98090.o
|
|
obj-$(CONFIG_SND_SOC_TEGRA_SGTL5000) += snd-soc-tegra-sgtl5000.o
|