blob: 733b6afc8901360d2e358ca77eb73e8cde068dbf [file] [log] [blame]
Marek Vasut04cd2e22017-10-08 20:52:52 +02001/*
2 * Device Tree Source for the r8a77995 SoC
3 *
4 * Copyright (C) 2016 Renesas Electronics Corp.
5 * Copyright (C) 2017 Glider bvba
6 *
Marek Vasut07efb452017-11-29 04:27:36 +01007 * SPDX-License-Identifier: GPL-2.0
Marek Vasut04cd2e22017-10-08 20:52:52 +02008 */
9
10#include <dt-bindings/clock/r8a77995-cpg-mssr.h>
11#include <dt-bindings/interrupt-controller/arm-gic.h>
12#include <dt-bindings/power/r8a77995-sysc.h>
13
14/ {
15 compatible = "renesas,r8a77995";
16 #address-cells = <2>;
17 #size-cells = <2>;
18
19 psci {
20 compatible = "arm,psci-1.0", "arm,psci-0.2";
21 method = "smc";
22 };
23
24 cpus {
25 #address-cells = <1>;
26 #size-cells = <0>;
27
28 a53_0: cpu@0 {
29 compatible = "arm,cortex-a53", "arm,armv8";
30 reg = <0x0>;
31 device_type = "cpu";
32 power-domains = <&sysc R8A77995_PD_CA53_CPU0>;
33 next-level-cache = <&L2_CA53>;
34 enable-method = "psci";
35 };
36
37 L2_CA53: cache-controller-1 {
38 compatible = "cache";
39 power-domains = <&sysc R8A77995_PD_CA53_SCU>;
40 cache-unified;
41 cache-level = <2>;
42 };
43 };
44
45 extal_clk: extal {
46 compatible = "fixed-clock";
47 #clock-cells = <0>;
48 /* This value must be overridden by the board */
49 clock-frequency = <0>;
Marek Vasut04cd2e22017-10-08 20:52:52 +020050 };
51
52 scif_clk: scif {
53 compatible = "fixed-clock";
54 #clock-cells = <0>;
55 clock-frequency = <0>;
56 };
57
58 soc {
59 compatible = "simple-bus";
60 interrupt-parent = <&gic>;
61 #address-cells = <2>;
62 #size-cells = <2>;
63 ranges;
Marek Vasut04cd2e22017-10-08 20:52:52 +020064
65 gic: interrupt-controller@f1010000 {
66 compatible = "arm,gic-400";
67 #interrupt-cells = <3>;
68 #address-cells = <0>;
69 interrupt-controller;
70 reg = <0x0 0xf1010000 0 0x1000>,
71 <0x0 0xf1020000 0 0x20000>,
72 <0x0 0xf1040000 0 0x20000>,
73 <0x0 0xf1060000 0 0x20000>;
74 interrupts = <GIC_PPI 9
75 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
76 clocks = <&cpg CPG_MOD 408>;
77 clock-names = "clk";
78 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
79 resets = <&cpg 408>;
80 };
81
82 timer {
83 compatible = "arm,armv8-timer";
84 interrupts = <GIC_PPI 13
85 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
86 <GIC_PPI 14
87 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
88 <GIC_PPI 11
89 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
90 <GIC_PPI 10
91 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
92 };
93
94 rwdt: watchdog@e6020000 {
95 compatible = "renesas,r8a77995-wdt",
96 "renesas,rcar-gen3-wdt";
97 reg = <0 0xe6020000 0 0x0c>;
98 clocks = <&cpg CPG_MOD 402>;
99 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
100 resets = <&cpg 402>;
101 status = "disabled";
102 };
103
104 pmu_a53 {
105 compatible = "arm,cortex-a53-pmu";
106 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
107 };
108
109 cpg: clock-controller@e6150000 {
110 compatible = "renesas,r8a77995-cpg-mssr";
111 reg = <0 0xe6150000 0 0x1000>;
112 clocks = <&extal_clk>;
113 clock-names = "extal";
114 #clock-cells = <2>;
115 #power-domain-cells = <0>;
116 #reset-cells = <1>;
Marek Vasut04cd2e22017-10-08 20:52:52 +0200117 };
118
119 rst: reset-controller@e6160000 {
120 compatible = "renesas,r8a77995-rst";
121 reg = <0 0xe6160000 0 0x0200>;
122 };
123
124 pfc: pin-controller@e6060000 {
125 compatible = "renesas,pfc-r8a77995";
126 reg = <0 0xe6060000 0 0x508>;
127 };
128
129 prr: chipid@fff00044 {
130 compatible = "renesas,prr";
131 reg = <0 0xfff00044 0 4>;
Marek Vasut04cd2e22017-10-08 20:52:52 +0200132 };
133
134 sysc: system-controller@e6180000 {
135 compatible = "renesas,r8a77995-sysc";
136 reg = <0 0xe6180000 0 0x0400>;
137 #power-domain-cells = <1>;
138 };
139
140 intc_ex: interrupt-controller@e61c0000 {
141 compatible = "renesas,intc-ex-r8a77995", "renesas,irqc";
142 #interrupt-cells = <2>;
143 interrupt-controller;
144 reg = <0 0xe61c0000 0 0x200>;
145 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH
146 GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH
147 GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH
148 GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH
149 GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH
150 GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
151 clocks = <&cpg CPG_MOD 407>;
152 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
153 resets = <&cpg 407>;
154 };
155
156 gpio0: gpio@e6050000 {
157 compatible = "renesas,gpio-r8a77995",
158 "renesas,rcar-gen3-gpio",
159 "renesas,gpio-rcar";
160 reg = <0 0xe6050000 0 0x50>;
161 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
162 #gpio-cells = <2>;
163 gpio-controller;
164 gpio-ranges = <&pfc 0 0 9>;
165 #interrupt-cells = <2>;
166 interrupt-controller;
167 clocks = <&cpg CPG_MOD 912>;
168 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
169 resets = <&cpg 912>;
170 };
171
172 gpio1: gpio@e6051000 {
173 compatible = "renesas,gpio-r8a77995",
174 "renesas,rcar-gen3-gpio",
175 "renesas,gpio-rcar";
176 reg = <0 0xe6051000 0 0x50>;
177 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
178 #gpio-cells = <2>;
179 gpio-controller;
180 gpio-ranges = <&pfc 0 32 32>;
181 #interrupt-cells = <2>;
182 interrupt-controller;
183 clocks = <&cpg CPG_MOD 911>;
184 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
185 resets = <&cpg 911>;
186 };
187
188 gpio2: gpio@e6052000 {
189 compatible = "renesas,gpio-r8a77995",
190 "renesas,rcar-gen3-gpio",
191 "renesas,gpio-rcar";
192 reg = <0 0xe6052000 0 0x50>;
193 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
194 #gpio-cells = <2>;
195 gpio-controller;
196 gpio-ranges = <&pfc 0 64 32>;
197 #interrupt-cells = <2>;
198 interrupt-controller;
199 clocks = <&cpg CPG_MOD 910>;
200 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
201 resets = <&cpg 910>;
202 };
203
204 gpio3: gpio@e6053000 {
205 compatible = "renesas,gpio-r8a77995",
206 "renesas,rcar-gen3-gpio",
207 "renesas,gpio-rcar";
208 reg = <0 0xe6053000 0 0x50>;
209 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
210 #gpio-cells = <2>;
211 gpio-controller;
212 gpio-ranges = <&pfc 0 96 10>;
213 #interrupt-cells = <2>;
214 interrupt-controller;
215 clocks = <&cpg CPG_MOD 909>;
216 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
217 resets = <&cpg 909>;
218 };
219
220 gpio4: gpio@e6054000 {
221 compatible = "renesas,gpio-r8a77995",
222 "renesas,rcar-gen3-gpio",
223 "renesas,gpio-rcar";
224 reg = <0 0xe6054000 0 0x50>;
225 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
226 #gpio-cells = <2>;
227 gpio-controller;
228 gpio-ranges = <&pfc 0 128 32>;
229 #interrupt-cells = <2>;
230 interrupt-controller;
231 clocks = <&cpg CPG_MOD 908>;
232 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
233 resets = <&cpg 908>;
234 };
235
236 gpio5: gpio@e6055000 {
237 compatible = "renesas,gpio-r8a77995",
238 "renesas,rcar-gen3-gpio",
239 "renesas,gpio-rcar";
240 reg = <0 0xe6055000 0 0x50>;
241 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
242 #gpio-cells = <2>;
243 gpio-controller;
244 gpio-ranges = <&pfc 0 160 21>;
245 #interrupt-cells = <2>;
246 interrupt-controller;
247 clocks = <&cpg CPG_MOD 907>;
248 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
249 resets = <&cpg 907>;
250 };
251
252 gpio6: gpio@e6055400 {
253 compatible = "renesas,gpio-r8a77995",
254 "renesas,rcar-gen3-gpio",
255 "renesas,gpio-rcar";
256 reg = <0 0xe6055400 0 0x50>;
257 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
258 #gpio-cells = <2>;
259 gpio-controller;
260 gpio-ranges = <&pfc 0 192 14>;
261 #interrupt-cells = <2>;
262 interrupt-controller;
263 clocks = <&cpg CPG_MOD 906>;
264 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
265 resets = <&cpg 906>;
266 };
267
268 avb: ethernet@e6800000 {
269 compatible = "renesas,etheravb-r8a77995",
270 "renesas,etheravb-rcar-gen3";
271 reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>;
272 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
273 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
274 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
275 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
276 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
277 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
278 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
279 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
280 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
281 <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
282 <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
283 <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
284 <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
285 <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
286 <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
287 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
288 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
289 <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
290 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
291 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
292 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
293 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
294 <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
295 <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
296 <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
297 interrupt-names = "ch0", "ch1", "ch2", "ch3",
298 "ch4", "ch5", "ch6", "ch7",
299 "ch8", "ch9", "ch10", "ch11",
300 "ch12", "ch13", "ch14", "ch15",
301 "ch16", "ch17", "ch18", "ch19",
302 "ch20", "ch21", "ch22", "ch23",
303 "ch24";
304 clocks = <&cpg CPG_MOD 812>;
305 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
306 resets = <&cpg 812>;
307 phy-mode = "rgmii-txid";
308 #address-cells = <1>;
309 #size-cells = <0>;
310 status = "disabled";
311 };
312
313 scif2: serial@e6e88000 {
314 compatible = "renesas,scif-r8a77995",
315 "renesas,rcar-gen3-scif", "renesas,scif";
316 reg = <0 0xe6e88000 0 64>;
317 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
318 clocks = <&cpg CPG_MOD 310>,
319 <&cpg CPG_CORE R8A77995_CLK_S3D1C>,
320 <&scif_clk>;
321 clock-names = "fck", "brg_int", "scif_clk";
322 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
323 resets = <&cpg 310>;
324 status = "disabled";
325 };
326
327 pwm0: pwm@e6e30000 {
328 compatible = "renesas,pwm-r8a77995", "renesas,pwm-rcar";
329 reg = <0 0xe6e30000 0 0x8>;
330 #pwm-cells = <2>;
331 clocks = <&cpg CPG_MOD 523>;
332 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
333 resets = <&cpg 523>;
334 status = "disabled";
335 };
336
337 pwm1: pwm@e6e31000 {
338 compatible = "renesas,pwm-r8a77995", "renesas,pwm-rcar";
339 reg = <0 0xe6e31000 0 0x8>;
340 #pwm-cells = <2>;
341 clocks = <&cpg CPG_MOD 523>;
342 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
343 resets = <&cpg 523>;
344 status = "disabled";
345 };
346
347 pwm2: pwm@e6e32000 {
348 compatible = "renesas,pwm-r8a77995", "renesas,pwm-rcar";
349 reg = <0 0xe6e32000 0 0x8>;
350 #pwm-cells = <2>;
351 clocks = <&cpg CPG_MOD 523>;
352 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
353 resets = <&cpg 523>;
354 status = "disabled";
355 };
356
357 pwm3: pwm@e6e33000 {
358 compatible = "renesas,pwm-r8a77995", "renesas,pwm-rcar";
359 reg = <0 0xe6e33000 0 0x8>;
360 #pwm-cells = <2>;
361 clocks = <&cpg CPG_MOD 523>;
362 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
363 resets = <&cpg 523>;
364 status = "disabled";
365 };
366
367 ehci0: usb@ee080100 {
368 compatible = "generic-ehci";
369 reg = <0 0xee080100 0 0x100>;
370 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
371 clocks = <&cpg CPG_MOD 703>;
372 phys = <&usb2_phy0>;
373 phy-names = "usb";
374 companion = <&ohci0>;
375 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
376 resets = <&cpg 703>;
377 status = "disabled";
378 };
379
380 ohci0: usb@ee080000 {
381 compatible = "generic-ohci";
382 reg = <0 0xee080000 0 0x100>;
383 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
384 clocks = <&cpg CPG_MOD 703>;
385 phys = <&usb2_phy0>;
386 phy-names = "usb";
387 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
388 resets = <&cpg 703>;
389 status = "disabled";
390 };
391
392 usb2_phy0: usb-phy@ee080200 {
393 compatible = "renesas,usb2-phy-r8a77995",
394 "renesas,rcar-gen3-usb2-phy";
395 reg = <0 0xee080200 0 0x700>;
396 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
397 clocks = <&cpg CPG_MOD 703>;
398 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
399 resets = <&cpg 703>;
400 #phy-cells = <0>;
401 status = "disabled";
402 };
Marek Vasut906b95e2017-07-29 21:28:34 +0200403
404 rpc: rpc@0xee200000 {
405 compatible = "renesas,rpc-r8a77995", "renesas,rpc";
406 reg = <0 0xee200000 0 0x100>, <0 0x08000000 0 0>;
407 clocks = <&cpg CPG_MOD 917>;
408 bank-width = <2>;
409 status = "disabled";
410 };
Marek Vasut04cd2e22017-10-08 20:52:52 +0200411 };
412};