Skip to content

Commit

Permalink
ASoC: meson: add tdm interface driver
Browse files Browse the repository at this point in the history
Add Amlogic's axg TDM interface driver. This driver manages the format
and clocks provided on the pads.

On this SoC, each stream direction provides 4 serial lanes. This makes
a maximum of 8 channels in i2s modes and 128 channels in DSP modes.

While each lanes operate on the same slot number (same bit clock), they
may have different TDM masks. This requires to provide a function to let
the card set the 4 masks, in lieu of the usual set_tdm_slots() callback
of the dai driver.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Jerome Brunet authored and Mark Brown committed Jul 20, 2018
1 parent 1a11d88 commit d60e4f1
Show file tree
Hide file tree
Showing 4 changed files with 552 additions and 0 deletions.
4 changes: 4 additions & 0 deletions sound/soc/meson/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ config SND_MESON_AXG_TDM_FORMATTER
tristate
select REGMAP_MMIO

config SND_MESON_AXG_TDM_INTERFACE
tristate
select SND_MESON_AXG_TDM_FORMATTER

config SND_MESON_AXG_SPDIFOUT
tristate "Amlogic AXG SPDIF Output Support"
imply SND_SOC_SPDIF
Expand Down
2 changes: 2 additions & 0 deletions sound/soc/meson/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@ snd-soc-meson-axg-fifo-objs := axg-fifo.o
snd-soc-meson-axg-frddr-objs := axg-frddr.o
snd-soc-meson-axg-toddr-objs := axg-toddr.o
snd-soc-meson-axg-tdm-formatter-objs := axg-tdm-formatter.o
snd-soc-meson-axg-tdm-interface-objs := axg-tdm-interface.o
snd-soc-meson-axg-spdifout-objs := axg-spdifout.o

obj-$(CONFIG_SND_MESON_AXG_FIFO) += snd-soc-meson-axg-fifo.o
obj-$(CONFIG_SND_MESON_AXG_FRDDR) += snd-soc-meson-axg-frddr.o
obj-$(CONFIG_SND_MESON_AXG_TODDR) += snd-soc-meson-axg-toddr.o
obj-$(CONFIG_SND_MESON_AXG_TDM_FORMATTER) += snd-soc-meson-axg-tdm-formatter.o
obj-$(CONFIG_SND_MESON_AXG_TDM_INTERFACE) += snd-soc-meson-axg-tdm-interface.o
obj-$(CONFIG_SND_MESON_AXG_SPDIFOUT) += snd-soc-meson-axg-spdifout.o
Loading

0 comments on commit d60e4f1

Please sign in to comment.