ASoC: meson: add tdm formatter base driver
authorJerome Brunet <jbrunet@baylibre.com>
Tue, 17 Jul 2018 15:42:58 +0000 (17:42 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 20 Jul 2018 16:38:27 +0000 (17:38 +0100)
commit1a11d88f499ceb69e9b4098ddc36866820335a54
treed45bd34baecaf05d08351acf1b6231b1619d321f
parent9e960c0298b5811e5a2c1ebceea6aa3b7bbc61c6
ASoC: meson: add tdm formatter base driver

Add Amlogic's axg TDM core driver. On this SoC, tdm is bit more
complex than usual, mainly because the different TDM input decoders can
be attached to any of TDM pad interface, including the output pads.

For the this, TDM on this SoC is modeled like this:
- TDM interface provides the DAIs the codecs will be attached to.
  The main responsibility of this driver is to manage the pad format
  and the TDM clock rates.
- TDM Formatters: These are the entities which are actually dealing with
  the TDM signal. TDMOUT produce a TDM signal from the audio sample
  provided by FRDDR using the clocks provided the TDM interface. TDMIN
  feeds TODDR with audio sample using the clocks and TDM signal provided
  by the TDM Interface.
- TDM Streams: This provides the link between 1 DAI stream of the TDM
  interface and one (or more) TDM formatters.

This driver provides the TDM formatter and TDM stream operations.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/meson/Kconfig
sound/soc/meson/Makefile
sound/soc/meson/axg-tdm-formatter.c [new file with mode: 0644]
sound/soc/meson/axg-tdm-formatter.h [new file with mode: 0644]
sound/soc/meson/axg-tdm.h [new file with mode: 0644]