aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2015-12-22 15:51:21 -0500
committerOlof Johansson <olof@lixom.net>2015-12-22 15:51:21 -0500
commit43ff5eaf098829886b1210c677cbf000189a2597 (patch)
tree4304552adceae6936f70ad160df18d2ce38f21cd
parent1c5d7957042d034546bdad3161e0578afe8c24ef (diff)
parent2eb2b5066197eab00c55dcd1132f17836e4975b2 (diff)
Merge tag 'renesas-arm64-dt3-for-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt64
Third Round of Renesas ARM64 Based SoC DT Updates for v4.5 * Enable SATA * Add salvator-x part number to DT bindings documentation * Enable all four A57 cores instead of just one * Enhanced audio support: - Use CS2000 as AUDIO_CLK_B - Set ak4613 In/Out pin as single-end * tag 'renesas-arm64-dt3-for-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: arm64: renesas: r8a7795: fix SATA clock assignment arm64: dts: salvator-x: Enable SATA controller arm64: dts: r8a7795: Add SATA controller node arm64: renesas: r8a7795: add internal delay for i2c IPs arm64: renesas: salvator-x: Add board part number to DT bindings arm64: dts: r8a7795: Add pmu device nodes arm64: dts: r8a7795: Add Cortex-A57 CPU cores arm64: dts: r8a7795: Add PSCI node arm64: renesas: salvator-x: use CS2000 as AUDIO_CLK_B arm64: renesas: salvator-x: set ak4613 In/Out pin as single-end Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--Documentation/devicetree/bindings/arm/shmobile.txt2
-rw-r--r--arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts51
-rw-r--r--arch/arm64/boot/dts/renesas/r8a7795.dtsi64
3 files changed, 110 insertions, 7 deletions
diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt
index 678a8184da24..9cf67e48f222 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -59,7 +59,7 @@ Boards:
59 compatible = "renesas,marzen", "renesas,r8a7779" 59 compatible = "renesas,marzen", "renesas,r8a7779"
60 - Porter (M2-LCDP) 60 - Porter (M2-LCDP)
61 compatible = "renesas,porter", "renesas,r8a7791" 61 compatible = "renesas,porter", "renesas,r8a7791"
62 - Salvator-X 62 - Salvator-X (RTP0RC7795SIPB0010S)
63 compatible = "renesas,salvator-x", "renesas,r8a7795"; 63 compatible = "renesas,salvator-x", "renesas,r8a7795";
64 - SILK (RTP0RC7794LCB00011S) 64 - SILK (RTP0RC7794LCB00011S)
65 compatible = "renesas,silk", "renesas,r8a7794" 65 compatible = "renesas,silk", "renesas,r8a7794"
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
index c5f709e7c0ba..265d12ff6022 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
@@ -141,6 +151,26 @@
141 #sound-dai-cells = <0>; 151 #sound-dai-cells = <0>;
142 reg = <0x10>; 152 reg = <0x10>;
143 clocks = <&rcar_sound 3>; 153 clocks = <&rcar_sound 3>;
154
155 asahi-kasei,in1-single-end;
156 asahi-kasei,in2-single-end;
157 asahi-kasei,out1-single-end;
158 asahi-kasei,out2-single-end;
159 asahi-kasei,out3-single-end;
160 asahi-kasei,out4-single-end;
161 asahi-kasei,out5-single-end;
162 asahi-kasei,out6-single-end;
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 */
144 }; 174 };
145}; 175};
146 176
@@ -157,6 +187,23 @@
157 187
158 status = "okay"; 188 status = "okay";
159 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
160 rcar_sound,dai { 207 rcar_sound,dai {
161 dai0 { 208 dai0 {
162 playback = <&ssi0 &src0 &dvc0>; 209 playback = <&ssi0 &src0 &dvc0>;
@@ -165,6 +212,10 @@
165 }; 212 };
166}; 213};
167 214
215&sata {
216 status = "okay";
217};
218
168&ssi1 { 219&ssi1 {
169 shared-pin; 220 shared-pin;
170}; 221};
diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
index b1902ea1dae4..bb353cde1253 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -26,15 +26,39 @@
26 i2c6 = &i2c6; 26 i2c6 = &i2c6;
27 }; 27 };
28 28
29 psci {
30 compatible = "arm,psci-0.2";
31 method = "smc";
32 };
33
29 cpus { 34 cpus {
30 #address-cells = <1>; 35 #address-cells = <1>;
31 #size-cells = <0>; 36 #size-cells = <0>;
32 37
33 /* 1 core only at this point */
34 a57_0: cpu@0 { 38 a57_0: cpu@0 {
35 compatible = "arm,cortex-a57", "arm,armv8"; 39 compatible = "arm,cortex-a57", "arm,armv8";
36 reg = <0x0>; 40 reg = <0x0>;
37 device_type = "cpu"; 41 device_type = "cpu";
42 enable-method = "psci";
43 };
44
45 a57_1: cpu@1 {
46 compatible = "arm,cortex-a57","arm,armv8";
47 reg = <0x1>;
48 device_type = "cpu";
49 enable-method = "psci";
50 };
51 a57_2: cpu@2 {
52 compatible = "arm,cortex-a57","arm,armv8";
53 reg = <0x2>;
54 device_type = "cpu";
55 enable-method = "psci";
56 };
57 a57_3: cpu@3 {
58 compatible = "arm,cortex-a57","arm,armv8";
59 reg = <0x3>;
60 device_type = "cpu";
61 enable-method = "psci";
38 }; 62 };
39 }; 63 };
40 64
@@ -78,6 +102,7 @@
78 soc { 102 soc {
79 compatible = "simple-bus"; 103 compatible = "simple-bus";
80 interrupt-parent = <&gic>; 104 interrupt-parent = <&gic>;
105
81 #address-cells = <2>; 106 #address-cells = <2>;
82 #size-cells = <2>; 107 #size-cells = <2>;
83 ranges; 108 ranges;
@@ -90,7 +115,7 @@
90 reg = <0x0 0xf1010000 0 0x1000>, 115 reg = <0x0 0xf1010000 0 0x1000>,
91 <0x0 0xf1020000 0 0x2000>; 116 <0x0 0xf1020000 0 0x2000>;
92 interrupts = <GIC_PPI 9 117 interrupts = <GIC_PPI 9
93 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>; 118 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
94 }; 119 };
95 120
96 gpio0: gpio@e6050000 { 121 gpio0: gpio@e6050000 {
@@ -205,16 +230,28 @@
205 power-domains = <&cpg>; 230 power-domains = <&cpg>;
206 }; 231 };
207 232
233 pmu {
234 compatible = "arm,armv8-pmuv3";
235 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
236 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
237 <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
238 <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
239 interrupt-affinity = <&a57_0>,
240 <&a57_1>,
241 <&a57_2>,
242 <&a57_3>;
243 };
244
208 timer { 245 timer {
209 compatible = "arm,armv8-timer"; 246 compatible = "arm,armv8-timer";
210 interrupts = <GIC_PPI 13 247 interrupts = <GIC_PPI 13
211 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 248 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
212 <GIC_PPI 14 249 <GIC_PPI 14
213 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 250 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
214 <GIC_PPI 11 251 <GIC_PPI 11
215 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 252 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
216 <GIC_PPI 10 253 <GIC_PPI 10
217 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>; 254 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
218 }; 255 };
219 256
220 cpg: clock-controller@e6150000 { 257 cpg: clock-controller@e6150000 {
@@ -489,6 +526,7 @@
489 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>; 526 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
490 clocks = <&cpg CPG_MOD 931>; 527 clocks = <&cpg CPG_MOD 931>;
491 power-domains = <&cpg>; 528 power-domains = <&cpg>;
529 i2c-scl-internal-delay-ns = <110>;
492 status = "disabled"; 530 status = "disabled";
493 }; 531 };
494 532
@@ -500,6 +538,7 @@
500 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>; 538 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
501 clocks = <&cpg CPG_MOD 930>; 539 clocks = <&cpg CPG_MOD 930>;
502 power-domains = <&cpg>; 540 power-domains = <&cpg>;
541 i2c-scl-internal-delay-ns = <6>;
503 status = "disabled"; 542 status = "disabled";
504 }; 543 };
505 544
@@ -511,6 +550,7 @@
511 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>; 550 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
512 clocks = <&cpg CPG_MOD 929>; 551 clocks = <&cpg CPG_MOD 929>;
513 power-domains = <&cpg>; 552 power-domains = <&cpg>;
553 i2c-scl-internal-delay-ns = <6>;
514 status = "disabled"; 554 status = "disabled";
515 }; 555 };
516 556
@@ -522,6 +562,7 @@
522 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>; 562 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
523 clocks = <&cpg CPG_MOD 928>; 563 clocks = <&cpg CPG_MOD 928>;
524 power-domains = <&cpg>; 564 power-domains = <&cpg>;
565 i2c-scl-internal-delay-ns = <110>;
525 status = "disabled"; 566 status = "disabled";
526 }; 567 };
527 568
@@ -533,6 +574,7 @@
533 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 574 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
534 clocks = <&cpg CPG_MOD 927>; 575 clocks = <&cpg CPG_MOD 927>;
535 power-domains = <&cpg>; 576 power-domains = <&cpg>;
577 i2c-scl-internal-delay-ns = <110>;
536 status = "disabled"; 578 status = "disabled";
537 }; 579 };
538 580
@@ -544,6 +586,7 @@
544 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 586 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
545 clocks = <&cpg CPG_MOD 919>; 587 clocks = <&cpg CPG_MOD 919>;
546 power-domains = <&cpg>; 588 power-domains = <&cpg>;
589 i2c-scl-internal-delay-ns = <110>;
547 status = "disabled"; 590 status = "disabled";
548 }; 591 };
549 592
@@ -555,6 +598,7 @@
555 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 598 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
556 clocks = <&cpg CPG_MOD 918>; 599 clocks = <&cpg CPG_MOD 918>;
557 power-domains = <&cpg>; 600 power-domains = <&cpg>;
601 i2c-scl-internal-delay-ns = <6>;
558 status = "disabled"; 602 status = "disabled";
559 }; 603 };
560 604
@@ -723,5 +767,13 @@
723 }; 767 };
724 }; 768 };
725 }; 769 };
770
771 sata: sata@ee300000 {
772 compatible = "renesas,sata-r8a7795";
773 reg = <0 0xee300000 0 0x1fff>;
774 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
775 clocks = <&cpg CPG_MOD 815>;
776 status = "disabled";
777 };
726 }; 778 };
727}; 779};