1 // SPDX-License-Identifier: GPL-2.0
3 * Device Tree Source for the r8a77965 SoC
5 * Copyright (C) 2018 Jacopo Mondi <jacopo+renesas@jmondi.org>
7 * Based on r8a7796.dtsi
8 * Copyright (C) 2016 Renesas Electronics Corp.
11 #include <dt-bindings/clock/renesas-cpg-mssr.h>
12 #include <dt-bindings/interrupt-controller/arm-gic.h>
14 #define CPG_AUDIO_CLK_I 10
17 compatible = "renesas,r8a77965";
22 compatible = "arm,psci-1.0", "arm,psci-0.2";
31 compatible = "arm,cortex-a57", "arm,armv8";
34 power-domains = <&sysc 0>;
35 next-level-cache = <&L2_CA57>;
36 enable-method = "psci";
40 compatible = "arm,cortex-a57","arm,armv8";
43 power-domains = <&sysc 1>;
44 next-level-cache = <&L2_CA57>;
45 enable-method = "psci";
48 L2_CA57: cache-controller-0 {
51 power-domains = <&sysc 12>;
58 compatible = "fixed-clock";
60 /* This value must be overridden by the board */
61 clock-frequency = <0>;
65 compatible = "fixed-clock";
67 /* This value must be overridden by the board */
68 clock-frequency = <0>;
72 * The external audio clocks are configured as 0 Hz fixed frequency
74 * Boards that provide audio clocks should override them.
76 audio_clk_a: audio_clk_a {
77 compatible = "fixed-clock";
79 clock-frequency = <0>;
82 audio_clk_b: audio_clk_b {
83 compatible = "fixed-clock";
85 clock-frequency = <0>;
88 audio_clk_c: audio_clk_c {
89 compatible = "fixed-clock";
91 clock-frequency = <0>;
94 /* External CAN clock - to be overridden by boards that provide it */
96 compatible = "fixed-clock";
98 clock-frequency = <0>;
101 /* External SCIF clock - to be overridden by boards that provide it */
103 compatible = "fixed-clock";
105 clock-frequency = <0>;
108 /* External PCIe clock - can be overridden by the board */
109 pcie_bus_clk: pcie_bus {
110 compatible = "fixed-clock";
112 clock-frequency = <0>;
115 /* External USB clocks - can be overridden by the board */
117 compatible = "fixed-clock";
119 clock-frequency = <0>;
122 usb_extal_clk: usb_extal {
123 compatible = "fixed-clock";
125 clock-frequency = <0>;
129 compatible = "arm,armv8-timer";
130 interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
131 <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
132 <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
133 <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
137 compatible = "arm,cortex-a57-pmu";
138 interrupts-extended = <&gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
139 <&gic GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
140 interrupt-affinity = <&a57_0>,
145 compatible = "simple-bus";
146 interrupt-parent = <&gic>;
147 #address-cells = <2>;
151 gic: interrupt-controller@f1010000 {
152 compatible = "arm,gic-400";
153 #interrupt-cells = <3>;
154 #address-cells = <0>;
155 interrupt-controller;
156 reg = <0x0 0xf1010000 0 0x1000>,
157 <0x0 0xf1020000 0 0x20000>,
158 <0x0 0xf1040000 0 0x20000>,
159 <0x0 0xf1060000 0 0x20000>;
160 interrupts = <GIC_PPI 9
161 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
162 clocks = <&cpg CPG_MOD 408>;
164 power-domains = <&sysc 32>;
168 pfc: pin-controller@e6060000 {
169 compatible = "renesas,pfc-r8a77965";
170 reg = <0 0xe6060000 0 0x50c>;
173 cpg: clock-controller@e6150000 {
174 compatible = "renesas,r8a77965-cpg-mssr";
175 reg = <0 0xe6150000 0 0x1000>;
176 clocks = <&extal_clk>, <&extalr_clk>;
177 clock-names = "extal", "extalr";
179 #power-domain-cells = <0>;
183 rst: reset-controller@e6160000 {
184 compatible = "renesas,r8a77965-rst";
185 reg = <0 0xe6160000 0 0x0200>;
188 prr: chipid@fff00044 {
189 compatible = "renesas,prr";
190 reg = <0 0xfff00044 0 4>;
193 sysc: system-controller@e6180000 {
194 compatible = "renesas,r8a77965-sysc";
195 reg = <0 0xe6180000 0 0x0400>;
196 #power-domain-cells = <1>;
199 gpio0: gpio@e6050000 {
200 compatible = "renesas,gpio-r8a77965",
201 "renesas,rcar-gen3-gpio";
202 reg = <0 0xe6050000 0 0x50>;
203 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
206 gpio-ranges = <&pfc 0 0 16>;
207 #interrupt-cells = <2>;
208 interrupt-controller;
209 clocks = <&cpg CPG_MOD 912>;
210 power-domains = <&sysc 32>;
214 gpio1: gpio@e6051000 {
215 compatible = "renesas,gpio-r8a77965",
216 "renesas,rcar-gen3-gpio";
217 reg = <0 0xe6051000 0 0x50>;
218 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
221 gpio-ranges = <&pfc 0 32 29>;
222 #interrupt-cells = <2>;
223 interrupt-controller;
224 clocks = <&cpg CPG_MOD 911>;
225 power-domains = <&sysc 32>;
229 gpio2: gpio@e6052000 {
230 compatible = "renesas,gpio-r8a77965",
231 "renesas,rcar-gen3-gpio";
232 reg = <0 0xe6052000 0 0x50>;
233 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
236 gpio-ranges = <&pfc 0 64 15>;
237 #interrupt-cells = <2>;
238 interrupt-controller;
239 clocks = <&cpg CPG_MOD 910>;
240 power-domains = <&sysc 32>;
244 gpio3: gpio@e6053000 {
245 compatible = "renesas,gpio-r8a77965",
246 "renesas,rcar-gen3-gpio";
247 reg = <0 0xe6053000 0 0x50>;
248 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
251 gpio-ranges = <&pfc 0 96 16>;
252 #interrupt-cells = <2>;
253 interrupt-controller;
254 clocks = <&cpg CPG_MOD 909>;
255 power-domains = <&sysc 32>;
259 gpio4: gpio@e6054000 {
260 compatible = "renesas,gpio-r8a77965",
261 "renesas,rcar-gen3-gpio";
262 reg = <0 0xe6054000 0 0x50>;
263 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
266 gpio-ranges = <&pfc 0 128 18>;
267 #interrupt-cells = <2>;
268 interrupt-controller;
269 clocks = <&cpg CPG_MOD 908>;
270 power-domains = <&sysc 32>;
274 gpio5: gpio@e6055000 {
275 compatible = "renesas,gpio-r8a77965",
276 "renesas,rcar-gen3-gpio";
277 reg = <0 0xe6055000 0 0x50>;
278 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
281 gpio-ranges = <&pfc 0 160 26>;
282 #interrupt-cells = <2>;
283 interrupt-controller;
284 clocks = <&cpg CPG_MOD 907>;
285 power-domains = <&sysc 32>;
289 gpio6: gpio@e6055400 {
290 compatible = "renesas,gpio-r8a77965",
291 "renesas,rcar-gen3-gpio";
292 reg = <0 0xe6055400 0 0x50>;
293 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
296 gpio-ranges = <&pfc 0 192 32>;
297 #interrupt-cells = <2>;
298 interrupt-controller;
299 clocks = <&cpg CPG_MOD 906>;
300 power-domains = <&sysc 32>;
304 gpio7: gpio@e6055800 {
305 compatible = "renesas,gpio-r8a77965",
306 "renesas,rcar-gen3-gpio";
307 reg = <0 0xe6055800 0 0x50>;
308 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
311 gpio-ranges = <&pfc 0 224 4>;
312 #interrupt-cells = <2>;
313 interrupt-controller;
314 clocks = <&cpg CPG_MOD 905>;
315 power-domains = <&sysc 32>;
319 intc_ex: interrupt-controller@e61c0000 {
323 dmac0: dma-controller@e6700000 {
324 compatible = "renesas,dmac-r8a77965",
326 reg = <0 0xe6700000 0 0x10000>;
327 interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH
328 GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH
329 GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
330 GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
331 GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
332 GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH
333 GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH
334 GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH
335 GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH
336 GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH
337 GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH
338 GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH
339 GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH
340 GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH
341 GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
342 GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH
343 GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
344 interrupt-names = "error",
345 "ch0", "ch1", "ch2", "ch3",
346 "ch4", "ch5", "ch6", "ch7",
347 "ch8", "ch9", "ch10", "ch11",
348 "ch12", "ch13", "ch14", "ch15";
349 clocks = <&cpg CPG_MOD 219>;
351 power-domains = <&sysc 32>;
357 dmac1: dma-controller@e7300000 {
358 compatible = "renesas,dmac-r8a77965",
360 reg = <0 0xe7300000 0 0x10000>;
361 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH
362 GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH
363 GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH
364 GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH
365 GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
366 GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
367 GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
368 GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
369 GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH
370 GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
371 GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
372 GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
373 GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
374 GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
375 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
376 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH
377 GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>;
378 interrupt-names = "error",
379 "ch0", "ch1", "ch2", "ch3",
380 "ch4", "ch5", "ch6", "ch7",
381 "ch8", "ch9", "ch10", "ch11",
382 "ch12", "ch13", "ch14", "ch15";
383 clocks = <&cpg CPG_MOD 218>;
385 power-domains = <&sysc 32>;
391 dmac2: dma-controller@e7310000 {
392 compatible = "renesas,dmac-r8a77965",
394 reg = <0 0xe7310000 0 0x10000>;
395 interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH
396 GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH
397 GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH
398 GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH
399 GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH
400 GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH
401 GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH
402 GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH
403 GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH
404 GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH
405 GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH
406 GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH
407 GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH
408 GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH
409 GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH
410 GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH
411 GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>;
412 interrupt-names = "error",
413 "ch0", "ch1", "ch2", "ch3",
414 "ch4", "ch5", "ch6", "ch7",
415 "ch8", "ch9", "ch10", "ch11",
416 "ch12", "ch13", "ch14", "ch15";
417 clocks = <&cpg CPG_MOD 217>;
419 power-domains = <&sysc 32>;
425 scif0: serial@e6e60000 {
426 compatible = "renesas,scif-r8a77965",
427 "renesas,rcar-gen3-scif", "renesas,scif";
428 reg = <0 0xe6e60000 0 64>;
429 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
430 clocks = <&cpg CPG_MOD 207>,
433 clock-names = "fck", "brg_int", "scif_clk";
434 dmas = <&dmac1 0x51>, <&dmac1 0x50>,
435 <&dmac2 0x51>, <&dmac2 0x50>;
436 dma-names = "tx", "rx", "tx", "rx";
437 power-domains = <&sysc 32>;
442 scif1: serial@e6e68000 {
443 compatible = "renesas,scif-r8a77965",
444 "renesas,rcar-gen3-scif", "renesas,scif";
445 reg = <0 0xe6e68000 0 64>;
446 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
447 clocks = <&cpg CPG_MOD 206>,
450 clock-names = "fck", "brg_int", "scif_clk";
451 dmas = <&dmac1 0x53>, <&dmac1 0x52>,
452 <&dmac2 0x53>, <&dmac2 0x52>;
453 dma-names = "tx", "rx", "tx", "rx";
454 power-domains = <&sysc 32>;
459 scif2: serial@e6e88000 {
460 compatible = "renesas,scif-r8a77965",
461 "renesas,rcar-gen3-scif", "renesas,scif";
462 reg = <0 0xe6e88000 0 64>;
463 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
464 clocks = <&cpg CPG_MOD 310>,
467 clock-names = "fck", "brg_int", "scif_clk";
468 power-domains = <&sysc 32>;
473 scif3: serial@e6c50000 {
474 compatible = "renesas,scif-r8a77965",
475 "renesas,rcar-gen3-scif", "renesas,scif";
476 reg = <0 0xe6c50000 0 64>;
477 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
478 clocks = <&cpg CPG_MOD 204>,
481 clock-names = "fck", "brg_int", "scif_clk";
482 dmas = <&dmac0 0x57>, <&dmac0 0x56>;
483 dma-names = "tx", "rx";
484 power-domains = <&sysc 32>;
489 scif4: serial@e6c40000 {
490 compatible = "renesas,scif-r8a77965",
491 "renesas,rcar-gen3-scif", "renesas,scif";
492 reg = <0 0xe6c40000 0 64>;
493 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
494 clocks = <&cpg CPG_MOD 203>,
497 clock-names = "fck", "brg_int", "scif_clk";
498 dmas = <&dmac0 0x59>, <&dmac0 0x58>;
499 dma-names = "tx", "rx";
500 power-domains = <&sysc 32>;
505 scif5: serial@e6f30000 {
506 compatible = "renesas,scif-r8a77965",
507 "renesas,rcar-gen3-scif", "renesas,scif";
508 reg = <0 0xe6f30000 0 64>;
509 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
510 clocks = <&cpg CPG_MOD 202>,
513 clock-names = "fck", "brg_int", "scif_clk";
514 dmas = <&dmac1 0x5b>, <&dmac1 0x5a>,
515 <&dmac2 0x5b>, <&dmac2 0x5a>;
516 dma-names = "tx", "rx", "tx", "rx";
517 power-domains = <&sysc 32>;
522 avb: ethernet@e6800000 {
523 compatible = "renesas,etheravb-r8a77965",
524 "renesas,etheravb-rcar-gen3";
525 reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>;
526 clocks = <&cpg CPG_MOD 812>;
527 power-domains = <&sysc 32>;
529 phy-mode = "rgmii-txid";
530 #address-cells = <1>;
535 csi20: csi2@fea80000 {
539 csi40: csi2@feaa0000 {
543 vin0: video@e6ef0000 {
547 vin1: video@e6ef1000 {
551 vin2: video@e6ef2000 {
555 vin3: video@e6ef3000 {
559 vin4: video@e6ef4000 {
563 vin5: video@e6ef5000 {
567 vin6: video@e6ef6000 {
571 vin7: video@e6ef7000 {
575 ohci0: usb@ee080000 {
579 ehci0: usb@ee080100 {
580 compatible = "generic-ehci";
581 reg = <0 0xee080100 0 0x100>;
582 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
583 clocks = <&cpg CPG_MOD 703>;
587 power-domains = <&sysc 32>;
592 usb2_phy0: usb-phy@ee080200 {
593 compatible = "renesas,usb2-phy-r8a77965",
594 "renesas,rcar-gen3-usb2-phy";
595 reg = <0 0xee080200 0 0x700>;
596 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
597 clocks = <&cpg CPG_MOD 703>;
598 power-domains = <&sysc 32>;
604 ohci1: usb@ee0a0000 {
608 ehci1: usb@ee0a0100 {
609 compatible = "generic-ehci";
610 reg = <0 0xee0a0100 0 0x100>;
611 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
612 clocks = <&cpg CPG_MOD 702>;
616 power-domains = <&sysc 32>;
649 i2c_dvfs: i2c@e60b0000 {
681 du: display@feb00000 {
687 du_out_rgb: endpoint {
692 du_out_hdmi0: endpoint {
697 du_out_lvds0: endpoint {
703 hsusb: usb@e6590000 {
707 pciec0: pcie@fe000000 {
711 pciec1: pcie@ee800000 {
715 rcar_sound: sound@ec500000 {
740 usb2_phy1: usb-phy@ee0a0200 {
741 compatible = "renesas,usb2-phy-r8a77965",
742 "renesas,rcar-gen3-usb2-phy";
743 reg = <0 0xee0a0200 0 0x700>;
744 clocks = <&cpg CPG_MOD 702>;
745 power-domains = <&sysc 32>;
752 compatible = "renesas,sdhi-r8a77965";
753 reg = <0 0xee100000 0 0x2000>;
754 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
755 clocks = <&cpg CPG_MOD 314>;
756 max-frequency = <200000000>;
757 power-domains = <&sysc 32>;
763 compatible = "renesas,sdhi-r8a77965";
764 reg = <0 0xee120000 0 0x2000>;
765 interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
766 clocks = <&cpg CPG_MOD 313>;
767 max-frequency = <200000000>;
768 power-domains = <&sysc 32>;
774 compatible = "renesas,sdhi-r8a77965";
775 reg = <0 0xee140000 0 0x2000>;
776 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
777 clocks = <&cpg CPG_MOD 312>;
778 max-frequency = <200000000>;
779 power-domains = <&sysc 32>;
785 compatible = "renesas,sdhi-r8a77965";
786 reg = <0 0xee160000 0 0x2000>;
787 interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
788 clocks = <&cpg CPG_MOD 311>;
789 max-frequency = <200000000>;
790 power-domains = <&sysc 32>;
795 usb3_phy0: usb-phy@e65ee000 {
799 usb3_peri0: usb@ee020000 {
803 xhci0: usb@ee000000 {
804 compatible = "renesas,xhci-r8a77965",
805 "renesas,rcar-gen3-xhci";
806 reg = <0 0xee000000 0 0xc00>;
807 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
808 clocks = <&cpg CPG_MOD 328>;
809 power-domains = <&sysc 32>;
814 wdt0: watchdog@e6020000 {