]> 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)
commitd14cdadbcfe3ca6e9a1c04f4cd9bf0558590fcab
treeb59c20db67df010a91219532bc78ba516b33685e
parent51a1295ee9334ca10110a5b4c6ef0d2873935254
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]