diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2015-12-01 00:36:34 -0500 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2015-12-01 01:32:06 -0500 |
commit | 8a8f181d2cfdbff772ff2cc895f59bb28beafbdf (patch) | |
tree | b6a0315bbbbbf6d29cd8e4dc6ad98f20bf4b101b | |
parent | 40fbe14b54bac16d5ec2fcf077b8aa54fb9de6b2 (diff) |
arm64: renesas: salvator-x: use CS2000 as AUDIO_CLK_B
CS2000 needs AUDIO_CLKOUT as master clock which is generated
by Renesas sound, and Renesas sound needs CS2000 as ADUIO_CLK_B.
Because of this relationship, it will be dead-lock when driver probe.
cs2000: clk_multiplier@4f {
...
clocks = <&rcar_sound 0>, <&x12_clk>;
...
};
&rcar_sound {
...
assigned-clocks = <&cs2000>;
...
};
This patch is using dummy audio_clkout to avoid this issue.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
-rw-r--r-- | arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts index beeacfaf18d0..75af5ec5a4d4 100644 --- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts +++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | |||
@@ -61,6 +61,16 @@ | |||
61 | clock-frequency = <24576000>; | 61 | clock-frequency = <24576000>; |
62 | }; | 62 | }; |
63 | 63 | ||
64 | audio_clkout: audio_clkout { | ||
65 | /* | ||
66 | * This is same as <&rcar_sound 0> | ||
67 | * but needed to avoid cs2000/rcar_sound probe dead-lock | ||
68 | */ | ||
69 | compatible = "fixed-clock"; | ||
70 | #clock-cells = <0>; | ||
71 | clock-frequency = <11289600>; | ||
72 | }; | ||
73 | |||
64 | rsnd_ak4613: sound { | 74 | rsnd_ak4613: sound { |
65 | compatible = "simple-audio-card"; | 75 | compatible = "simple-audio-card"; |
66 | 76 | ||
@@ -151,6 +161,17 @@ | |||
151 | asahi-kasei,out5-single-end; | 161 | asahi-kasei,out5-single-end; |
152 | asahi-kasei,out6-single-end; | 162 | asahi-kasei,out6-single-end; |
153 | }; | 163 | }; |
164 | |||
165 | cs2000: clk_multiplier@4f { | ||
166 | #clock-cells = <0>; | ||
167 | compatible = "cirrus,cs2000-cp"; | ||
168 | reg = <0x4f>; | ||
169 | clocks = <&audio_clkout>, <&x12_clk>; | ||
170 | clock-names = "clk_in", "ref_clk"; | ||
171 | |||
172 | assigned-clocks = <&cs2000>; | ||
173 | assigned-clock-rates = <24576000>; /* 1/1 divide */ | ||
174 | }; | ||
154 | }; | 175 | }; |
155 | 176 | ||
156 | &rcar_sound { | 177 | &rcar_sound { |
@@ -166,6 +187,23 @@ | |||
166 | 187 | ||
167 | status = "okay"; | 188 | status = "okay"; |
168 | 189 | ||
190 | /* update <audio_clk_b> to <cs2000> */ | ||
191 | clocks = <&cpg CPG_MOD 1005>, | ||
192 | <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, | ||
193 | <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, | ||
194 | <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, | ||
195 | <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, | ||
196 | <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, | ||
197 | <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>, | ||
198 | <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>, | ||
199 | <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, | ||
200 | <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, | ||
201 | <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, | ||
202 | <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, | ||
203 | <&audio_clk_a>, <&cs2000>, | ||
204 | <&audio_clk_c>, | ||
205 | <&cpg CPG_CORE R8A7795_CLK_S0D4>; | ||
206 | |||
169 | rcar_sound,dai { | 207 | rcar_sound,dai { |
170 | dai0 { | 208 | dai0 { |
171 | playback = <&ssi0 &src0 &dvc0>; | 209 | playback = <&ssi0 &src0 &dvc0>; |