OSDN Git Service

ASoC: tegra: Add Tegra210 based AHUB driver
authorSameer Pujar <spujar@nvidia.com>
Sun, 19 Jul 2020 05:01:24 +0000 (10:31 +0530)
committerMark Brown <broonie@kernel.org>
Mon, 20 Jul 2020 14:10:23 +0000 (15:10 +0100)
commit16e1bcc2caf446fa3e1daa040b59fd6f6272a766
tree16cadb851114e80f23a5b43fc223a617953c4107
parentc0bfa98349d1796fe754dfac7f7f505bb60dcd83
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>
sound/soc/tegra/Kconfig
sound/soc/tegra/Makefile
sound/soc/tegra/tegra210_ahub.c [new file with mode: 0644]
sound/soc/tegra/tegra210_ahub.h [new file with mode: 0644]