Skip to content

Commit a99ab6f

Browse files
pujarsbroonie
authored andcommitted
ASoC: tegra: Add Tegra210 based ADX driver
The Audio Demultiplexer (ADX) block takes an input stream with up to 16 channels and demultiplexes it into four output streams of up to 16 channels each. A byte RAM helps to form output frames by any combination of bytes from the input frame. Its design is identical to that of byte RAM in the AMX except that the data flow direction is reversed. This patch registers ADX driver with ASoC framework. The component driver exposes DAPM widgets, routes and kcontrols for the device. The DAI driver exposes ADX interfaces, which can be used to connect different components in the ASoC layer. Makefile and Kconfig support is added to allow build the driver. It can be enabled in the DT via "nvidia,tegra210-adx" compatible binding. Signed-off-by: Sameer Pujar <spujar@nvidia.com> Link: https://lore.kernel.org/r/1631551342-25469-10-git-send-email-spujar@nvidia.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 77f7df3 commit a99ab6f

File tree

4 files changed

+616
-0
lines changed

4 files changed

+616
-0
lines changed

sound/soc/tegra/Kconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,17 @@ config SND_SOC_TEGRA210_AMX
135135
output frame by any combination of bytes from the input frames.
136136
Say Y or M if you want to add support for Tegra210 AMX module.
137137

138+
config SND_SOC_TEGRA210_ADX
139+
tristate "Tegra210 ADX module"
140+
help
141+
Config to enable the Audio Demultiplexer (ADX) which takes an
142+
input stream (up to 16 channels) and demultiplexes it into four
143+
output streams (each of up to 16 channels). A byte RAM helps to
144+
form output frames by any combination of bytes from the input
145+
frame. Its design is identical to that of byte RAM in the AMX
146+
except that the data flow direction is reversed.
147+
Say Y or M if you want to add support for Tegra210 ADX module.
148+
138149
config SND_SOC_TEGRA_AUDIO_GRAPH_CARD
139150
tristate "Audio Graph Card based Tegra driver"
140151
depends on SND_AUDIO_GRAPH_CARD

sound/soc/tegra/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ snd-soc-tegra210-admaif-objs := tegra210_admaif.o
1616
snd-soc-tegra210-mvc-objs := tegra210_mvc.o
1717
snd-soc-tegra210-sfc-objs := tegra210_sfc.o
1818
snd-soc-tegra210-amx-objs := tegra210_amx.o
19+
snd-soc-tegra210-adx-objs := tegra210_adx.o
1920

2021
obj-$(CONFIG_SND_SOC_TEGRA) += snd-soc-tegra-pcm.o
2122
obj-$(CONFIG_SND_SOC_TEGRA20_AC97) += snd-soc-tegra20-ac97.o
@@ -32,6 +33,7 @@ obj-$(CONFIG_SND_SOC_TEGRA210_ADMAIF) += snd-soc-tegra210-admaif.o
3233
obj-$(CONFIG_SND_SOC_TEGRA210_MVC) += snd-soc-tegra210-mvc.o
3334
obj-$(CONFIG_SND_SOC_TEGRA210_SFC) += snd-soc-tegra210-sfc.o
3435
obj-$(CONFIG_SND_SOC_TEGRA210_AMX) += snd-soc-tegra210-amx.o
36+
obj-$(CONFIG_SND_SOC_TEGRA210_ADX) += snd-soc-tegra210-adx.o
3537

3638
# Tegra machine Support
3739
snd-soc-tegra-wm8903-objs := tegra_wm8903.o

0 commit comments

Comments
 (0)