]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: tegra: Add Tegra186 based DSPK driver
authorSameer Pujar <spujar@nvidia.com>
Sun, 19 Jul 2020 05:01:25 +0000 (10:31 +0530)
committerMark Brown <broonie@kernel.org>
Mon, 20 Jul 2020 14:10:24 +0000 (15:10 +0100)
commit331ef5725d39685ff69a3986eb022c75572523d2
treeb59c20db67df010a91219532bc78ba516b33685e
parentca500914d1f6718f7155cc57f1bd0159c58f0d63
ASoC: tegra: Add Tegra186 based DSPK driver

The Digital Speaker Controller (DSPK) converts the multi-bit Pulse Code
Modulation (PCM) audio input to oversampled 1-bit Pulse Density Modulation
(PDM) output. From the signal flow perpsective, the DSPK can be viewed as
a PDM transmitter that up-samples the input to the desired sampling rate
by interpolation then converts the oversampled PCM input to the desired
1-bit output via Delta Sigma Modulation (DSM).

This patch registers DSPK component with ASoC framework. The component
driver exposes DAPM widgets, routes and kcontrols for the device. The DAI
driver exposes DSPK 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 DSPK devices can be enabled in the DT via
"nvidia,tegra186-dspk" compatible binding. This driver can be used
on Tegra194 chip as well.

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