From 4f0ac2f3f5a8d267a81fa502d0dc8c40aa349e1d Mon Sep 17 00:00:00 2001 From: Viorel Suman Date: Mon, 17 Jul 2017 11:15:32 +0300 Subject: MLK-13975: ASoC: fsl: add AMIX device driver Add audio mixer device driver. Signed-off-by: Viorel Suman --- .../devicetree/bindings/sound/fsl,amix.txt | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/fsl,amix.txt (limited to 'Documentation/devicetree/bindings/sound') diff --git a/Documentation/devicetree/bindings/sound/fsl,amix.txt b/Documentation/devicetree/bindings/sound/fsl,amix.txt new file mode 100644 index 000000000000..d4920e88e466 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/fsl,amix.txt @@ -0,0 +1,67 @@ +NXP Audio Mixer (AMIX). + +The Audio Mixer is a on-chip functional module that allows mixing of two audio +streams into a single audio stream. Audio Mixer has two input serial audio +interfaces. These are driven by two Synchronous Audio interface modules (SAI). +Each input serial interface carries 8 audio channels in its frame in TDM manner. +Mixer mixes audio samples of corresponding channels from two interfaces into a +single sample. Before mixing, audio samples of two inputs can be attenuated +based on configuration. The output of the Audio Mixer is also a serial audio +interface. Like input interfaces it has the same TDM frame format. This output +is used to drive the serial DAC TDM interface of audio codec and also sent to +the external pins along with the receive path of normal audio SAI module for +readback by the CPU. + +The output of Audio mixer can be selected from any of the three streams + - serial audio input 1 + - serial audio input 2 + - Mixed audio + +Mixing operation is independent of audio sample rate but the two audio input +streams must have same audio sample rate with same number of channels in TDM +frame to be eligible for mixing. + +Device driver required properties: +================================= + - compatible : Compatible list, contains "fsl,imx8qm-amix" + + - reg : Offset and length of the register set for the device. + + - clocks : Must contain an entry for each entry in clock-names. + + - clock-names : Must include the "ipg" for register access. + + - power-domains : Must contain the phandle to the AMIX power domain node + +Device driver configuration example: +====================================== + amix: amix@59840000 { + compatible = "fsl,imx8qm-amix"; + reg = <0x0 0x59840000 0x0 0x10000>; + clocks = <&clk IMX8QXP_AUD_AMIX_IPG>; + clock-names = "ipg"; + power-domains = <&pd_amix>; + }; + +Machine driver required properties: +=================================== + - compatible : Compatible list, contains "fsl,imx-audio-amix" + + - model : Short audio card description. + + - dais : Must contain a list of phandles to AMIX connected + DAIs. The current implementation requires two phandles + to SAI interfaces to be provided, the first SAI in the + list being used to route the AMIX output. + + - amix-controller : Must contain the phandle to the AMIX device node. + +Machine driver configuration example: +==================================== + sound-amix-sai { + compatible = "fsl,imx-audio-amix"; + model = "amix-audio-sai"; + dais = <&sai4>, <&sai5>; + amix-controller = <&amix>; + }; + -- cgit v1.2.3