Commit | Line | Data |
---|---|---|
40476f61 PV |
1 | * Samsung I2S controller |
2 | ||
3 | Required SoC Specific Properties: | |
4 | ||
7da493e9 PV |
5 | - compatible : should be one of the following. |
6 | - samsung,s3c6410-i2s: for 8/16/24bit stereo I2S. | |
7 | - samsung,s5pv210-i2s: for 8/16/24bit multichannel(5.1) I2S with | |
8 | secondary fifo, s/w reset control and internal mux for root clk src. | |
4ca0c0d4 PV |
9 | - samsung,exynos5420-i2s: for 8/16/24bit multichannel(7.1) I2S with |
10 | secondary fifo, s/w reset control, internal mux for root clk src and | |
11 | TDM support. TDM (Time division multiplexing) is to allow transfer of | |
12 | multiple channel audio data on single data line. | |
7da493e9 | 13 | |
40476f61 PV |
14 | - reg: physical base address of the controller and length of memory mapped |
15 | region. | |
16 | - dmas: list of DMA controller phandle and DMA request line ordered pairs. | |
17 | - dma-names: identifier string for each DMA request line in the dmas property. | |
18 | These strings correspond 1:1 with the ordered pairs in dmas. | |
4a3afb73 PV |
19 | - clocks: Handle to iis clock and RCLK source clk. |
20 | - clock-names: | |
21 | i2s0 uses some base clks from CMU and some are from audio subsystem internal | |
22 | clock controller. The clock names for i2s0 should be "iis", "i2s_opclk0" and | |
23 | "i2s_opclk1" as shown in the example below. | |
24 | i2s1 and i2s2 uses clocks from CMU. The clock names for i2s1 and i2s2 should | |
25 | be "iis" and "i2s_opclk0". | |
26 | "iis" is the i2s bus clock and i2s_opclk0, i2s_opclk1 are sources of the root | |
27 | clk. i2s0 has internal mux to select the source of root clk and i2s1 and i2s2 | |
28 | doesn't have any such mux. | |
40476f61 PV |
29 | |
30 | Optional SoC Specific Properties: | |
31 | ||
40476f61 PV |
32 | - samsung,idma-addr: Internal DMA register base address of the audio |
33 | sub system(used in secondary sound source). | |
4a3afb73 PV |
34 | - pinctrl-0: Should specify pin control groups used for this controller. |
35 | - pinctrl-names: Should contain only one value - "default". | |
40476f61 PV |
36 | |
37 | Example: | |
38 | ||
4a3afb73 | 39 | i2s0: i2s@03830000 { |
7da493e9 | 40 | compatible = "samsung,s5pv210-i2s"; |
40476f61 PV |
41 | reg = <0x03830000 0x100>; |
42 | dmas = <&pdma0 10 | |
43 | &pdma0 9 | |
44 | &pdma0 8>; | |
45 | dma-names = "tx", "rx", "tx-sec"; | |
4a3afb73 PV |
46 | clocks = <&clock_audss EXYNOS_I2S_BUS>, |
47 | <&clock_audss EXYNOS_I2S_BUS>, | |
48 | <&clock_audss EXYNOS_SCLK_I2S>; | |
49 | clock-names = "iis", "i2s_opclk0", "i2s_opclk1"; | |
40476f61 | 50 | samsung,idma-addr = <0x03000000>; |
4a3afb73 PV |
51 | pinctrl-names = "default"; |
52 | pinctrl-0 = <&i2s0_bus>; | |
40476f61 | 53 | }; |