OSDN Git Service

ASoC: tegra: Add Tegra210 based ADMAIF driver
authorSameer Pujar <spujar@nvidia.com>
Sun, 19 Jul 2020 05:01:26 +0000 (10:31 +0530)
committerMark Brown <broonie@kernel.org>
Tue, 21 Jul 2020 22:26:14 +0000 (23:26 +0100)
commitf74028e159bb8e1de840d945af344bf93b59ada2
treefadc221712737a40387a14b038f2cbcf4f9f599a
parent327ef64702668bb754eeea80ce402454d7a1302a
ASoC: tegra: Add Tegra210 based ADMAIF driver

ADMAIF is the interface between ADMA and AHUB. Each ADMA channel that
sends/receives data to/from AHUB must intreface through an ADMAIF channel.
ADMA channel sending data to AHUB pairs with an ADMAIF Tx channel and
similarly ADMA channel receiving data from AHUB pairs with an ADMAIF Rx
channel. Buffer size is configurable for each ADMAIF channel, but currently
SW uses default values.

This patch registers ADMAIF driver with ASoC framework. The component
driver exposes DAPM widgets, routes and kcontrols for the device. The DAI
driver exposes ADMAIF interfaces, which can be used to connect different
components in the ASoC layer. Makefile and Kconfig support is added to
allow to build the driver. The ADMAIF device can be enabled in the DT via
"nvidia,tegra210-admaif" compatible binding.

Tegra PCM driver is updated to expose required PCM interfaces and
snd_pcm_ops callbacks.

Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Link: https://lore.kernel.org/r/1595134890-16470-8-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_admaif.c [new file with mode: 0644]
sound/soc/tegra/tegra210_admaif.h [new file with mode: 0644]
sound/soc/tegra/tegra_pcm.c
sound/soc/tegra/tegra_pcm.h