linux/sound/soc/tegra
Sameer Pujar 16e1bcc2ca
ASoC: tegra: Add Tegra210 based AHUB driver
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>
2020-07-20 15:10:23 +01:00
..
Kconfig ASoC: tegra: Add Tegra210 based AHUB driver 2020-07-20 15:10:23 +01:00
Makefile ASoC: tegra: Add Tegra210 based AHUB driver 2020-07-20 15:10:23 +01:00
tegra20_ac97.c ASoC: soc-core: remove bus_control 2020-01-21 17:07:08 +00:00
tegra20_ac97.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
tegra20_das.c ASoC: tegra: tegra20_das: remove always-true comparison 2020-07-09 21:56:42 +01:00
tegra20_das.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
tegra20_i2s.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
tegra20_i2s.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
tegra20_spdif.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
tegra20_spdif.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
tegra30_ahub.c ASoC: tegra: Fix reference count leaks. 2020-06-17 14:04:02 +01:00
tegra30_ahub.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
tegra30_i2s.c ASoC: tegra: Fix reference count leaks. 2020-06-17 14:04:02 +01:00
tegra30_i2s.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
tegra210_ahub.c ASoC: tegra: Add Tegra210 based AHUB driver 2020-07-20 15:10:23 +01:00
tegra210_ahub.h ASoC: tegra: Add Tegra210 based AHUB driver 2020-07-20 15:10:23 +01:00
tegra210_dmic.c ASoC: tegra: Add Tegra210 based DMIC driver 2020-07-20 15:10:22 +01:00
tegra210_dmic.h ASoC: tegra: Add Tegra210 based DMIC driver 2020-07-20 15:10:22 +01:00
tegra210_i2s.c ASoC: tegra: Add Tegra210 based I2S driver 2020-07-20 15:10:23 +01:00
tegra210_i2s.h ASoC: tegra: Add Tegra210 based I2S driver 2020-07-20 15:10:23 +01:00
tegra_alc5632.c ASoC: tegra: Use device managed resource APIs to get the clock 2020-04-21 16:53:12 +02:00
tegra_asoc_utils.c ASoC: tegra: Enable audio mclk during tegra_asoc_utils_init() 2020-04-21 16:53:15 +02:00
tegra_asoc_utils.h ASoC: tegra: Use device managed resource APIs to get the clock 2020-04-21 16:53:12 +02:00
tegra_cif.h ASoC: tegra: Add support for CIF programming 2020-07-20 15:10:21 +01:00
tegra_max98090.c ASoC: tegra: Use device managed resource APIs to get the clock 2020-04-21 16:53:12 +02:00
tegra_pcm.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
tegra_pcm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
tegra_rt5640.c ASoC: tegra: Use device managed resource APIs to get the clock 2020-04-21 16:53:12 +02:00
tegra_rt5677.c ASoC: tegra: Use device managed resource APIs to get the clock 2020-04-21 16:53:12 +02:00
tegra_sgtl5000.c ASoC: tegra: Use device managed resource APIs to get the clock 2020-04-21 16:53:12 +02:00
tegra_wm8753.c ASoC: tegra: Use device managed resource APIs to get the clock 2020-04-21 16:53:12 +02:00
tegra_wm8903.c ASoC: tegra: tegra_wm8903: Use devm_snd_soc_register_card() 2020-04-28 16:40:36 +01:00
tegra_wm9712.c ASoC: tegra: Use device managed resource APIs to get the clock 2020-04-21 16:53:12 +02:00
trimslice.c ASoC: tegra: Use device managed resource APIs to get the clock 2020-04-21 16:53:12 +02:00