forked from Minki/linux
4ca0c0d478
Exynos5420 added support for I2S TDM mode. For this, there are some register changes in the I2S controller. This patch adds the relevant register changes to support I2S in normal mode. This patch adds a quirk for TDM mode and if TDM mode is present all the relevent changes will be applied. Signed-off-by: Padmavathi Venna <padma.v@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Mark Brown <broonie@linaro.org>
54 lines
2.1 KiB
Plaintext
54 lines
2.1 KiB
Plaintext
* Samsung I2S controller
|
|
|
|
Required SoC Specific Properties:
|
|
|
|
- compatible : should be one of the following.
|
|
- samsung,s3c6410-i2s: for 8/16/24bit stereo I2S.
|
|
- samsung,s5pv210-i2s: for 8/16/24bit multichannel(5.1) I2S with
|
|
secondary fifo, s/w reset control and internal mux for root clk src.
|
|
- samsung,exynos5420-i2s: for 8/16/24bit multichannel(7.1) I2S with
|
|
secondary fifo, s/w reset control, internal mux for root clk src and
|
|
TDM support. TDM (Time division multiplexing) is to allow transfer of
|
|
multiple channel audio data on single data line.
|
|
|
|
- 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.
|
|
- clocks: Handle to iis clock and RCLK source clk.
|
|
- clock-names:
|
|
i2s0 uses some base clks from CMU and some are from audio subsystem internal
|
|
clock controller. The clock names for i2s0 should be "iis", "i2s_opclk0" and
|
|
"i2s_opclk1" as shown in the example below.
|
|
i2s1 and i2s2 uses clocks from CMU. The clock names for i2s1 and i2s2 should
|
|
be "iis" and "i2s_opclk0".
|
|
"iis" is the i2s bus clock and i2s_opclk0, i2s_opclk1 are sources of the root
|
|
clk. i2s0 has internal mux to select the source of root clk and i2s1 and i2s2
|
|
doesn't have any such mux.
|
|
|
|
Optional SoC Specific Properties:
|
|
|
|
- samsung,idma-addr: Internal DMA register base address of the audio
|
|
sub system(used in secondary sound source).
|
|
- pinctrl-0: Should specify pin control groups used for this controller.
|
|
- pinctrl-names: Should contain only one value - "default".
|
|
|
|
Example:
|
|
|
|
i2s0: i2s@03830000 {
|
|
compatible = "samsung,s5pv210-i2s";
|
|
reg = <0x03830000 0x100>;
|
|
dmas = <&pdma0 10
|
|
&pdma0 9
|
|
&pdma0 8>;
|
|
dma-names = "tx", "rx", "tx-sec";
|
|
clocks = <&clock_audss EXYNOS_I2S_BUS>,
|
|
<&clock_audss EXYNOS_I2S_BUS>,
|
|
<&clock_audss EXYNOS_SCLK_I2S>;
|
|
clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
|
|
samsung,idma-addr = <0x03000000>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2s0_bus>;
|
|
};
|