Allwinner SUN8I audio codec
------------------------------------

On Sun8i-A33 SoCs, the audio is separated in different parts:
	  - A DAI driver. It uses the "sun4i-i2s" driver which is
	  documented here:
	  Documentation/devicetree/bindings/sound/sun4i-i2s.txt
	  - An analog part of the codec which is handled as PRCM registers.
	  See Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt
	  - An digital part of the codec which is documented in this current
	  binding documentation.
	  - And finally, an audio card which links all the above components.
	  The simple-audio card will be used.
	  See Documentation/devicetree/bindings/sound/simple-card.txt

This bindings documentation exposes Sun8i codec (digital part).

Required properties:
- compatible: must be "allwinner,sun8i-a33-codec"
- reg: must contain the registers location and length
- interrupts: must contain the codec interrupt
- clocks: a list of phandle + clock-specifer pairs, one for each entry
  in clock-names.
- clock-names: should contain followings:
   - "bus": the parent APB clock for this controller
   - "mod": the parent module clock

Here is an example to add a sound card and the codec binding on sun8i SoCs that
are similar to A33 using simple-card:

	sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "sun8i-a33-audio";
		simple-audio-card,format = "i2s";
		simple-audio-card,frame-master = <&link_codec>;
		simple-audio-card,bitclock-master = <&link_codec>;
		simple-audio-card,mclk-fs = <512>;
		simple-audio-card,aux-devs = <&codec_analog>;
		simple-audio-card,routing =
				"Left DAC", "Digital Left DAC",
				"Right DAC", "Digital Right DAC";

		simple-audio-card,cpu {
			sound-dai = <&dai>;
		};

		link_codec: simple-audio-card,codec {
			sound-dai = <&codec>;
		};

	soc@1c00000 {
		[...]

		audio-codec@1c22e00 {
			#sound-dai-cells = <0>;
			compatible = "allwinner,sun8i-a33-codec";
			reg = <0x01c22e00 0x400>;
			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>;
			clock-names = "bus", "mod";
		};
	};

