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

The Allwinner S/PDIF audio block is a transceiver that allows the
processor to receive and transmit digital audio via an coaxial cable or
a fibre cable.
For now only playback is supported.

Required properties:

  - compatible		: should be one of the following:
    - "allwinner,sun4i-a10-spdif": for the Allwinner A10 SoC
    - "allwinner,sun6i-a31-spdif": for the Allwinner A31 SoC

  - 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:
	"apb"		  clock for the spdif bus.
	"spdif"		  clock for spdif controller.

  - resets		: reset specifier for the ahb reset (A31 and newer only)

Example:

spdif: spdif@01c21000 {
	compatible = "allwinner,sun4i-a10-spdif";
	reg = <0x01c21000 0x40>;
	interrupts = <13>;
	clocks = <&apb0_gates 1>, <&spdif_clk>;
	clock-names = "apb", "spdif";
	dmas = <&dma 0 2>, <&dma 0 2>;
	dma-names = "rx", "tx";
	status = "okay";
};
