Unverified Commit c0bfa983 authored by Sameer Pujar's avatar Sameer Pujar Committed by Mark Brown
Browse files

ASoC: tegra: Add Tegra210 based I2S driver



The Inter-IC Sound (I2S) controller implements full-duplex, bi-directional
and single direction point to point serial interface. It can interface
with I2S compatible devices. Tegra I2S controller can operate as both
master and slave.

This patch registers I2S controller with ASoC framework. The component
driver exposes DAPM widgets, routes and kcontrols for the device. The DAI
driver exposes I2S 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 I2S devices can be enabled in the DT via
"nvidia,tegra210-i2s" compatible binding.

Signed-off-by: default avatarSameer Pujar <spujar@nvidia.com>
Link: https://lore.kernel.org/r/1595134890-16470-5-git-send-email-spujar@nvidia.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 8c8ff982
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -73,6 +73,16 @@ config SND_SOC_TEGRA210_DMIC
	  PDM receiver.
	  Say Y or M if you want to add support for Tegra210 DMIC module.

config SND_SOC_TEGRA210_I2S
	tristate "Tegra210 I2S module"
	depends on SND_SOC_TEGRA
	help
	  Config to enable the Inter-IC Sound (I2S) Controller which
	  implements full-duplex and bidirectional and single direction
	  point-to-point serial interfaces. It can interface with I2S
	  compatible devices.
	  Say Y or M if you want to add support for Tegra210 I2S module.

config SND_SOC_TEGRA_RT5640
	tristate "SoC Audio support for Tegra boards using an RT5640 codec"
	depends on SND_SOC_TEGRA && I2C && GPIOLIB
+2 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ snd-soc-tegra20-spdif-objs := tegra20_spdif.o
snd-soc-tegra30-ahub-objs := tegra30_ahub.o
snd-soc-tegra30-i2s-objs := tegra30_i2s.o
snd-soc-tegra210-dmic-objs := tegra210_dmic.o
snd-soc-tegra210-i2s-objs := tegra210_i2s.o

obj-$(CONFIG_SND_SOC_TEGRA) += snd-soc-tegra-pcm.o
obj-$(CONFIG_SND_SOC_TEGRA) += snd-soc-tegra-utils.o
@@ -19,6 +20,7 @@ obj-$(CONFIG_SND_SOC_TEGRA20_SPDIF) += snd-soc-tegra20-spdif.o
obj-$(CONFIG_SND_SOC_TEGRA30_AHUB) += snd-soc-tegra30-ahub.o
obj-$(CONFIG_SND_SOC_TEGRA30_I2S) += snd-soc-tegra30-i2s.o
obj-$(CONFIG_SND_SOC_TEGRA210_DMIC) += snd-soc-tegra210-dmic.o
obj-$(CONFIG_SND_SOC_TEGRA210_I2S) += snd-soc-tegra210-i2s.o

# Tegra machine Support
snd-soc-tegra-rt5640-objs := tegra_rt5640.o
+812 −0

File added.

Preview size limit exceeded, changes collapsed.

+126 −0

File added.

Preview size limit exceeded, changes collapsed.