Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f74028e

Browse files
pujarsbroonie
authored andcommitted
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 <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent 327ef64 commit f74028e

File tree

6 files changed

+1230
-2
lines changed

6 files changed

+1230
-2
lines changed

sound/soc/tegra/Kconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,18 @@ config SND_SOC_TEGRA186_DSPK
106106
the desired 1-bit output via Delta Sigma Modulation (DSM).
107107
Say Y or M if you want to add support for Tegra186 DSPK module.
108108

109+
config SND_SOC_TEGRA210_ADMAIF
110+
tristate "Tegra210 ADMAIF module"
111+
depends on SND_SOC_TEGRA
112+
help
113+
Config to enable ADMAIF which is the interface between ADMA and
114+
Audio Hub (AHUB). Each ADMA channel that sends/receives data to/
115+
from AHUB must interface through an ADMAIF channel. ADMA channel
116+
sending data to AHUB pairs with an ADMAIF Tx channel, where as
117+
ADMA channel receiving data from AHUB pairs with an ADMAIF Rx
118+
channel. Buffer size is configurable for each ADMAIIF channel.
119+
Say Y or M if you want to add support for Tegra210 ADMAIF module.
120+
109121
config SND_SOC_TEGRA_RT5640
110122
tristate "SoC Audio support for Tegra boards using an RT5640 codec"
111123
depends on SND_SOC_TEGRA && I2C && GPIOLIB

sound/soc/tegra/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ snd-soc-tegra210-ahub-objs := tegra210_ahub.o
1212
snd-soc-tegra210-dmic-objs := tegra210_dmic.o
1313
snd-soc-tegra210-i2s-objs := tegra210_i2s.o
1414
snd-soc-tegra186-dspk-objs := tegra186_dspk.o
15+
snd-soc-tegra210-admaif-objs := tegra210_admaif.o
1516

1617
obj-$(CONFIG_SND_SOC_TEGRA) += snd-soc-tegra-pcm.o
1718
obj-$(CONFIG_SND_SOC_TEGRA) += snd-soc-tegra-utils.o
@@ -25,6 +26,7 @@ obj-$(CONFIG_SND_SOC_TEGRA210_DMIC) += snd-soc-tegra210-dmic.o
2526
obj-$(CONFIG_SND_SOC_TEGRA210_AHUB) += snd-soc-tegra210-ahub.o
2627
obj-$(CONFIG_SND_SOC_TEGRA210_I2S) += snd-soc-tegra210-i2s.o
2728
obj-$(CONFIG_SND_SOC_TEGRA186_DSPK) += snd-soc-tegra186-dspk.o
29+
obj-$(CONFIG_SND_SOC_TEGRA210_ADMAIF) += snd-soc-tegra210-admaif.o
2830

2931
# Tegra machine Support
3032
snd-soc-tegra-rt5640-objs := tegra_rt5640.o

0 commit comments

Comments
 (0)