Skip to content

Commit 1a11d88

Browse files
jbrun3tbroonie
authored andcommitted
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
1 parent 9e960c0 commit 1a11d88

File tree

5 files changed

+500
-0
lines changed

5 files changed

+500
-0
lines changed

sound/soc/meson/Kconfig

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ config SND_MESON_AXG_TODDR
1919
Select Y or M to add support for the frontend capture interfaces
2020
embedded in the Amlogic AXG SoC family
2121

22+
config SND_MESON_AXG_TDM_FORMATTER
23+
tristate
24+
select REGMAP_MMIO
25+
2226
config SND_MESON_AXG_SPDIFOUT
2327
tristate "Amlogic AXG SPDIF Output Support"
2428
imply SND_SOC_SPDIF

sound/soc/meson/Makefile

+2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
snd-soc-meson-axg-fifo-objs := axg-fifo.o
44
snd-soc-meson-axg-frddr-objs := axg-frddr.o
55
snd-soc-meson-axg-toddr-objs := axg-toddr.o
6+
snd-soc-meson-axg-tdm-formatter-objs := axg-tdm-formatter.o
67
snd-soc-meson-axg-spdifout-objs := axg-spdifout.o
78

89
obj-$(CONFIG_SND_MESON_AXG_FIFO) += snd-soc-meson-axg-fifo.o
910
obj-$(CONFIG_SND_MESON_AXG_FRDDR) += snd-soc-meson-axg-frddr.o
1011
obj-$(CONFIG_SND_MESON_AXG_TODDR) += snd-soc-meson-axg-toddr.o
12+
obj-$(CONFIG_SND_MESON_AXG_TDM_FORMATTER) += snd-soc-meson-axg-tdm-formatter.o
1113
obj-$(CONFIG_SND_MESON_AXG_SPDIFOUT) += snd-soc-meson-axg-spdifout.o

0 commit comments

Comments
 (0)