* Samsung I2S controller

Required SoC Specific Properties:

- compatible : "samsung,i2s-v5"
- reg: physical base address of the controller and length of memory mapped
  region.
- dmas: list of DMA controller phandle and DMA request line ordered pairs.
- dma-names: identifier string for each DMA request line in the dmas property.
  These strings correspond 1:1 with the ordered pairs in dmas.

Optional SoC Specific Properties:

- samsung,supports-6ch: If the I2S Primary sound source has 5.1 Channel
  support, this flag is enabled.
- samsung,supports-rstclr: This flag should be set if I2S software reset bit
  control is required. When this flag is set I2S software reset bit will be
  enabled or disabled based on need.
- samsung,supports-secdai:If I2S block has a secondary FIFO and internal DMA,
  then this flag is enabled.
- samsung,idma-addr: Internal DMA register base address of the audio
  sub system(used in secondary sound source).

Required Board Specific Properties:

- gpios: The gpio specifier for data out,data in, LRCLK, CDCLK and SCLK
  interface lines. The format of the gpio specifier depends on the gpio
  controller.
  The syntax of samsung gpio specifier is
	<[phandle of the gpio controller node]
	 [pin number within the gpio controller]
	 [mux function]
	 [flags and pull up/down]
	 [drive strength]>

Example:

- SoC Specific Portion:

i2s@03830000 {
	compatible = "samsung,i2s-v5";
	reg = <0x03830000 0x100>;
	dmas = <&pdma0 10
		&pdma0 9
		&pdma0 8>;
	dma-names = "tx", "rx", "tx-sec";
	samsung,supports-6ch;
	samsung,supports-rstclr;
	samsung,supports-secdai;
	samsung,idma-addr = <0x03000000>;
};

- Board Specific Portion:

i2s@03830000 {
	gpios = <&gpz 0 2 0 0>, /* I2S_0_SCLK */
		<&gpz 1 2 0 0>, /* I2S_0_CDCLK */
		<&gpz 2 2 0 0>, /* I2S_0_LRCK */
		<&gpz 3 2 0 0>, /* I2S_0_SDI */
		<&gpz 4 2 0 0>, /* I2S_0_SDO[1] */
		<&gpz 5 2 0 0>, /* I2S_0_SDO[2] */
		<&gpz 6 2 0 0>; /* I2S_0_SDO[3] */
};
