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>;
  };

