aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2015-12-01 00:36:34 -0500
committerSimon Horman <horms+renesas@verge.net.au>2015-12-01 01:32:06 -0500
commit8a8f181d2cfdbff772ff2cc895f59bb28beafbdf (patch)
treeb6a0315bbbbbf6d29cd8e4dc6ad98f20bf4b101b
parent40fbe14b54bac16d5ec2fcf077b8aa54fb9de6b2 (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.dts38
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>;