linux/sound/soc/tegra
Sameer Pujar f74028e159
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>
2020-07-21 23:26:14 +01:00
..
Kconfig ASoC: tegra: Add Tegra210 based ADMAIF driver 2020-07-21 23:26:14 +01:00
Makefile ASoC: tegra: Add Tegra210 based ADMAIF driver 2020-07-21 23:26:14 +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
tegra186_dspk.c ASoC: tegra: Add Tegra186 based DSPK driver 2020-07-20 15:10:24 +01:00
tegra186_dspk.h ASoC: tegra: Add Tegra186 based DSPK driver 2020-07-20 15:10:24 +01:00
tegra210_admaif.c ASoC: tegra: Add Tegra210 based ADMAIF driver 2020-07-21 23:26:14 +01:00
tegra210_admaif.h ASoC: tegra: Add Tegra210 based ADMAIF driver 2020-07-21 23:26:14 +01: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 ASoC: tegra: Add Tegra210 based ADMAIF driver 2020-07-21 23:26:14 +01:00
tegra_pcm.h ASoC: tegra: Add Tegra210 based ADMAIF driver 2020-07-21 23:26:14 +01: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