aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/meson/axg-tdm.h
diff options
context:
space:
mode:
authorJerome Brunet <jbrunet@baylibre.com>2018-07-17 17:42:59 +0200
committerMark Brown <broonie@kernel.org>2018-07-20 17:38:33 +0100
commitd60e4f1e4be5e2dfb55fb084b119aed094227a35 (patch)
tree6309b26c3f67cd264e500ccd109b383e50a098d4 /sound/soc/meson/axg-tdm.h
parentASoC: meson: add tdm formatter base driver (diff)
downloadlinux-dev-d60e4f1e4be5e2dfb55fb084b119aed094227a35.tar.xz
linux-dev-d60e4f1e4be5e2dfb55fb084b119aed094227a35.zip
ASoC: meson: add tdm interface driver
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>
Diffstat (limited to 'sound/soc/meson/axg-tdm.h')
-rw-r--r--sound/soc/meson/axg-tdm.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/meson/axg-tdm.h b/sound/soc/meson/axg-tdm.h
index 435d95b86457..e578b6f40a07 100644
--- a/sound/soc/meson/axg-tdm.h
+++ b/sound/soc/meson/axg-tdm.h
@@ -71,4 +71,8 @@ static inline int axg_tdm_stream_reset(struct axg_tdm_stream *ts)
return axg_tdm_stream_start(ts);
}
+int axg_tdm_set_tdm_slots(struct snd_soc_dai *dai, u32 *tx_mask,
+ u32 *rx_mask, unsigned int slots,
+ unsigned int slot_width);
+
#endif /* _MESON_AXG_TDM_H */