0001 NXP Audio Mixer (AUDMIX).
0002
0003 The Audio Mixer is a on-chip functional module that allows mixing of two
0004 audio streams into a single audio stream. Audio Mixer has two input serial
0005 audio interfaces. These are driven by two Synchronous Audio interface
0006 modules (SAI). Each input serial interface carries 8 audio channels in its
0007 frame in TDM manner. Mixer mixes audio samples of corresponding channels
0008 from two interfaces into a single sample. Before mixing, audio samples of
0009 two inputs can be attenuated based on configuration. The output of the
0010 Audio Mixer is also a serial audio interface. Like input interfaces it has
0011 the same TDM frame format. This output is used to drive the serial DAC TDM
0012 interface of audio codec and also sent to the external pins along with the
0013 receive path of normal audio SAI module for readback by the CPU.
0014
0015 The output of Audio Mixer can be selected from any of the three streams
0016 - serial audio input 1
0017 - serial audio input 2
0018 - mixed audio
0019
0020 Mixing operation is independent of audio sample rate but the two audio
0021 input streams must have same audio sample rate with same number of channels
0022 in TDM frame to be eligible for mixing.
0023
0024 Device driver required properties:
0025 =================================
0026 - compatible : Compatible list, contains "fsl,imx8qm-audmix"
0027
0028 - reg : Offset and length of the register set for the device.
0029
0030 - clocks : Must contain an entry for each entry in clock-names.
0031
0032 - clock-names : Must include the "ipg" for register access.
0033
0034 - power-domains : Must contain the phandle to AUDMIX power domain node
0035
0036 - dais : Must contain a list of phandles to AUDMIX connected
0037 DAIs. The current implementation requires two phandles
0038 to SAI interfaces to be provided, the first SAI in the
0039 list being used to route the AUDMIX output.
0040
0041 Device driver configuration example:
0042 ======================================
0043 audmix: audmix@59840000 {
0044 compatible = "fsl,imx8qm-audmix";
0045 reg = <0x0 0x59840000 0x0 0x10000>;
0046 clocks = <&clk IMX8QXP_AUD_AUDMIX_IPG>;
0047 clock-names = "ipg";
0048 power-domains = <&pd_audmix>;
0049 dais = <&sai4>, <&sai5>;
0050 };