diff options
author | Olof Johansson <olof@lixom.net> | 2015-12-22 15:51:21 -0500 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2015-12-22 15:51:21 -0500 |
commit | 43ff5eaf098829886b1210c677cbf000189a2597 (patch) | |
tree | 4304552adceae6936f70ad160df18d2ce38f21cd | |
parent | 1c5d7957042d034546bdad3161e0578afe8c24ef (diff) | |
parent | 2eb2b5066197eab00c55dcd1132f17836e4975b2 (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.txt | 2 | ||||
-rw-r--r-- | arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 51 | ||||
-rw-r--r-- | arch/arm64/boot/dts/renesas/r8a7795.dtsi | 64 |
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 | }; |