Merge tag 'remove-local-timers' of git://git.kernel.org/pub/scm/linux/kernel/git...
[firefly-linux-kernel-4.4.55.git] / Documentation / devicetree / bindings / sound / samsung-i2s.txt
1 * Samsung I2S controller
2
3 Required SoC Specific Properties:
4
5 - compatible : "samsung,i2s-v5"
6 - reg: physical base address of the controller and length of memory mapped
7   region.
8 - dmas: list of DMA controller phandle and DMA request line ordered pairs.
9 - dma-names: identifier string for each DMA request line in the dmas property.
10   These strings correspond 1:1 with the ordered pairs in dmas.
11 - clocks: Handle to iis clock and RCLK source clk.
12 - clock-names:
13   i2s0 uses some base clks from CMU and some are from audio subsystem internal
14   clock controller. The clock names for i2s0 should be "iis", "i2s_opclk0" and
15   "i2s_opclk1" as shown in the example below.
16   i2s1 and i2s2 uses clocks from CMU. The clock names for i2s1 and i2s2 should
17   be "iis" and "i2s_opclk0".
18   "iis" is the i2s bus clock and i2s_opclk0, i2s_opclk1 are sources of the root
19   clk. i2s0 has internal mux to select the source of root clk and i2s1 and i2s2
20   doesn't have any such mux.
21
22 Optional SoC Specific Properties:
23
24 - samsung,supports-6ch: If the I2S Primary sound source has 5.1 Channel
25   support, this flag is enabled.
26 - samsung,supports-rstclr: This flag should be set if I2S software reset bit
27   control is required. When this flag is set I2S software reset bit will be
28   enabled or disabled based on need.
29 - samsung,supports-secdai:If I2S block has a secondary FIFO and internal DMA,
30   then this flag is enabled.
31 - samsung,idma-addr: Internal DMA register base address of the audio
32   sub system(used in secondary sound source).
33 - pinctrl-0: Should specify pin control groups used for this controller.
34 - pinctrl-names: Should contain only one value - "default".
35
36 Example:
37
38 i2s0: i2s@03830000 {
39         compatible = "samsung,i2s-v5";
40         reg = <0x03830000 0x100>;
41         dmas = <&pdma0 10
42                 &pdma0 9
43                 &pdma0 8>;
44         dma-names = "tx", "rx", "tx-sec";
45         clocks = <&clock_audss EXYNOS_I2S_BUS>,
46                 <&clock_audss EXYNOS_I2S_BUS>,
47                 <&clock_audss EXYNOS_SCLK_I2S>;
48         clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
49         samsung,supports-6ch;
50         samsung,supports-rstclr;
51         samsung,supports-secdai;
52         samsung,idma-addr = <0x03000000>;
53         pinctrl-names = "default";
54         pinctrl-0 = <&i2s0_bus>;
55 };