summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/sound
diff options
context:
space:
mode:
authorViorel Suman <viorel.suman@nxp.com>2017-07-17 11:15:32 +0300
committerLeonard Crestez <leonard.crestez@nxp.com>2018-08-24 12:41:33 +0300
commit4f0ac2f3f5a8d267a81fa502d0dc8c40aa349e1d (patch)
tree21ce0596cdb5e7e1c4b48b89a6207ec9affc1e4a /Documentation/devicetree/bindings/sound
parent3880c4e72ea5884b6681dc1f9a4be8a615703757 (diff)
MLK-13975: ASoC: fsl: add AMIX device driver
Add audio mixer device driver. Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Diffstat (limited to 'Documentation/devicetree/bindings/sound')
-rw-r--r--Documentation/devicetree/bindings/sound/fsl,amix.txt67
1 files changed, 67 insertions, 0 deletions
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>;
+ };
+