forked from luck/tmp_suning_uos_patched
ASoC: samsung: i2s: Add clk provider DT binding documentation
The new DT properties required for the I2S device node to be referred as a clock provider and corresponding clock indices definition is added. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
ecb400cabb
commit
0d40c61279
|
@ -33,6 +33,25 @@ Required SoC Specific Properties:
|
||||||
"iis" is the i2s bus clock and i2s_opclk0, i2s_opclk1 are sources of the root
|
"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
|
clk. i2s0 has internal mux to select the source of root clk and i2s1 and i2s2
|
||||||
doesn't have any such mux.
|
doesn't have any such mux.
|
||||||
|
- #clock-cells: should be 1, this property must be present if the I2S device
|
||||||
|
is a clock provider in terms of the common clock bindings, described in
|
||||||
|
../clock/clock-bindings.txt.
|
||||||
|
- clock-output-names: from the common clock bindings, names of the CDCLK
|
||||||
|
I2S output clocks, suggested values are "i2s_cdclk0", "i2s_cdclk1",
|
||||||
|
"i2s_cdclk3" for the I2S0, I2S1, I2S2 devices recpectively.
|
||||||
|
|
||||||
|
There are following clocks available at the I2S device nodes:
|
||||||
|
CLK_I2S_CDCLK - the CDCLK (CODECLKO) gate clock,
|
||||||
|
CLK_I2S_RCLK_PSR - the RCLK prescaler divider clock (corresponding to the
|
||||||
|
IISPSR register),
|
||||||
|
CLK_I2S_RCLK_SRC - the RCLKSRC mux clock (corresponding to RCLKSRC bit in
|
||||||
|
IISMOD register).
|
||||||
|
|
||||||
|
Refer to the SoC datasheet for availability of the above clocks.
|
||||||
|
The CLK_I2S_RCLK_PSR and CLK_I2S_RCLK_SRC clocks are usually only available
|
||||||
|
in the IIS Multi Audio Interface (I2S0).
|
||||||
|
Note: Old DTs may not have the #clock-cells, clock-output-names properties
|
||||||
|
and then not use the I2S node as a clock supplier.
|
||||||
|
|
||||||
Optional SoC Specific Properties:
|
Optional SoC Specific Properties:
|
||||||
|
|
||||||
|
@ -41,6 +60,7 @@ Optional SoC Specific Properties:
|
||||||
- pinctrl-0: Should specify pin control groups used for this controller.
|
- pinctrl-0: Should specify pin control groups used for this controller.
|
||||||
- pinctrl-names: Should contain only one value - "default".
|
- pinctrl-names: Should contain only one value - "default".
|
||||||
|
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
i2s0: i2s@03830000 {
|
i2s0: i2s@03830000 {
|
||||||
|
@ -54,6 +74,8 @@ i2s0: i2s@03830000 {
|
||||||
<&clock_audss EXYNOS_I2S_BUS>,
|
<&clock_audss EXYNOS_I2S_BUS>,
|
||||||
<&clock_audss EXYNOS_SCLK_I2S>;
|
<&clock_audss EXYNOS_SCLK_I2S>;
|
||||||
clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
|
clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
|
||||||
|
#clock-cells;
|
||||||
|
clock-output-names = "i2s_cdclk0";
|
||||||
samsung,idma-addr = <0x03000000>;
|
samsung,idma-addr = <0x03000000>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&i2s0_bus>;
|
pinctrl-0 = <&i2s0_bus>;
|
||||||
|
|
8
include/dt-bindings/sound/samsung-i2s.h
Normal file
8
include/dt-bindings/sound/samsung-i2s.h
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef _DT_BINDINGS_SAMSUNG_I2S_H
|
||||||
|
#define _DT_BINDINGS_SAMSUNG_I2S_H
|
||||||
|
|
||||||
|
#define CLK_I2S_CDCLK 0
|
||||||
|
#define CLK_I2S_RCLK_SRC 1
|
||||||
|
#define CLK_I2S_RCLK_PSR 2
|
||||||
|
|
||||||
|
#endif /* _DT_BINDINGS_SAMSUNG_I2S_H */
|
Loading…
Reference in New Issue
Block a user