Freescale Sony/Philips Digital Interface Format (S/PDIF) Controller

The Freescale S/PDIF audio block is a stereo transceiver that allows the
processor to receive and transmit digital audio via an coaxial cable or
a fibre cable.

Required properties:

  - compatible		: Compatible list, must contain "fsl,imx35-spdif",
			"fsl,vf610-spdif", "fsl,imx8qm-spdif",
			"fsl,imx8qxp-v1-spdif", "fsl,imx8mq-spdif"

  - reg			: Offset and length of the register set for the device.

  - interrupts		: Contains the spdif interrupt.

  - dmas		: Generic dma devicetree binding as described in
			  Documentation/devicetree/bindings/dma/dma.txt.

  - dma-names		: Two dmas have to be defined, "tx" and "rx".

  - clocks		: Contains an entry for each entry in clock-names.

  - clock-names		: Includes the following entries:
	"core"		  The core clock of spdif controller.
	"rxtx<0-7>"	  Clock source list for tx and rx clock.
			  This clock list should be identical to the source
			  list connecting to the spdif clock mux in "SPDIF
			  Transceiver Clock Diagram" of SoC reference manual.
			  It can also be referred to TxClk_Source bit of
			  register SPDIF_STC.
	"spba"		  The spba clock is required when SPDIF is placed as a
			  bus slave of the Shared Peripheral Bus and when two
			  or more bus masters (CPU, DMA or DSP) try to access
			  it. This property is optional depending on the SoC
			  design.

   - big-endian		: If this property is absent, the native endian mode
			  will be in use as default, or the big endian mode
			  will be in use for all the device registers.

   - fsl,dma-buffer-size: It specify the audio buffer size of playback and
   capture. If this property is absent, using the default value of audio buffer
   size.

Example:

spdif: spdif@02004000 {
	compatible = "fsl,imx35-spdif";
	reg = <0x02004000 0x4000>;
	interrupts = <0 52 0x04>;
	dmas = <&sdma 14 18 0>,
	       <&sdma 15 18 0>;
	dma-names = "rx", "tx";

	clocks = <&clks 197>, <&clks 3>,
	       <&clks 197>, <&clks 107>,
	       <&clks 0>, <&clks 118>,
	       <&clks 62>, <&clks 139>,
	       <&clks 0>;
	clock-names = "core", "rxtx0",
		"rxtx1", "rxtx2",
		"rxtx3", "rxtx4",
		"rxtx5", "rxtx6",
		"rxtx7";

	big-endian;
	status = "okay";
};
