149669da6SLad Prabhakar// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
249669da6SLad Prabhakar/*
349669da6SLad Prabhakar * Device Tree Source for the RZ/G2UL SoC
449669da6SLad Prabhakar *
549669da6SLad Prabhakar * Copyright (C) 2022 Renesas Electronics Corp.
649669da6SLad Prabhakar */
749669da6SLad Prabhakar
849669da6SLad Prabhakar#include <dt-bindings/interrupt-controller/arm-gic.h>
949669da6SLad Prabhakar
1049669da6SLad Prabhakar#define SOC_PERIPHERAL_IRQ(nr)		GIC_SPI nr
1149669da6SLad Prabhakar
1249669da6SLad Prabhakar#include "r9a07g043.dtsi"
13b9a0be20SLad Prabhakar
14b9a0be20SLad Prabhakar/ {
15b9a0be20SLad Prabhakar	cpus {
16b9a0be20SLad Prabhakar		#address-cells = <1>;
17b9a0be20SLad Prabhakar		#size-cells = <0>;
18b9a0be20SLad Prabhakar
19b9a0be20SLad Prabhakar		cpu0: cpu@0 {
20b9a0be20SLad Prabhakar			compatible = "arm,cortex-a55";
21b9a0be20SLad Prabhakar			reg = <0>;
22b9a0be20SLad Prabhakar			device_type = "cpu";
23b9a0be20SLad Prabhakar			#cooling-cells = <2>;
24b9a0be20SLad Prabhakar			next-level-cache = <&L3_CA55>;
25b9a0be20SLad Prabhakar			enable-method = "psci";
26b9a0be20SLad Prabhakar			clocks = <&cpg CPG_CORE R9A07G043_CLK_I>;
27b9a0be20SLad Prabhakar			operating-points-v2 = <&cluster0_opp>;
28b9a0be20SLad Prabhakar		};
29b9a0be20SLad Prabhakar
30b9a0be20SLad Prabhakar		L3_CA55: cache-controller-0 {
31b9a0be20SLad Prabhakar			compatible = "cache";
32b9a0be20SLad Prabhakar			cache-unified;
33b9a0be20SLad Prabhakar			cache-size = <0x40000>;
344662d6e8SPierre Gondois			cache-level = <3>;
35b9a0be20SLad Prabhakar		};
36b9a0be20SLad Prabhakar	};
37b9a0be20SLad Prabhakar
38b9a0be20SLad Prabhakar	psci {
39b9a0be20SLad Prabhakar		compatible = "arm,psci-1.0", "arm,psci-0.2";
40b9a0be20SLad Prabhakar		method = "smc";
41b9a0be20SLad Prabhakar	};
42b9a0be20SLad Prabhakar
43b9a0be20SLad Prabhakar	timer {
44b9a0be20SLad Prabhakar		compatible = "arm,armv8-timer";
45b9a0be20SLad Prabhakar		interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
46b9a0be20SLad Prabhakar				      <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
47b9a0be20SLad Prabhakar				      <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
48b9a0be20SLad Prabhakar				      <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
49b9a0be20SLad Prabhakar	};
50b9a0be20SLad Prabhakar};
51b9a0be20SLad Prabhakar
52*85169df7SLad Prabhakar&pinctrl {
53*85169df7SLad Prabhakar	interrupt-parent = <&irqc>;
54*85169df7SLad Prabhakar};
55*85169df7SLad Prabhakar
56b9a0be20SLad Prabhakar&soc {
57b9a0be20SLad Prabhakar	interrupt-parent = <&gic>;
58b9a0be20SLad Prabhakar
5948ab6eddSLad Prabhakar	irqc: interrupt-controller@110a0000 {
6048ab6eddSLad Prabhakar		compatible = "renesas,r9a07g043u-irqc",
6148ab6eddSLad Prabhakar			     "renesas,rzg2l-irqc";
6248ab6eddSLad Prabhakar		reg = <0 0x110a0000 0 0x10000>;
6348ab6eddSLad Prabhakar		#interrupt-cells = <2>;
6448ab6eddSLad Prabhakar		#address-cells = <0>;
6548ab6eddSLad Prabhakar		interrupt-controller;
6648ab6eddSLad Prabhakar		interrupts = <SOC_PERIPHERAL_IRQ(0) IRQ_TYPE_LEVEL_HIGH>,
6748ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(1) IRQ_TYPE_LEVEL_HIGH>,
6848ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(2) IRQ_TYPE_LEVEL_HIGH>,
6948ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(3) IRQ_TYPE_LEVEL_HIGH>,
7048ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(4) IRQ_TYPE_LEVEL_HIGH>,
7148ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(5) IRQ_TYPE_LEVEL_HIGH>,
7248ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(6) IRQ_TYPE_LEVEL_HIGH>,
7348ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(7) IRQ_TYPE_LEVEL_HIGH>,
7448ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(8) IRQ_TYPE_LEVEL_HIGH>,
7548ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(444) IRQ_TYPE_LEVEL_HIGH>,
7648ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(445) IRQ_TYPE_LEVEL_HIGH>,
7748ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(446) IRQ_TYPE_LEVEL_HIGH>,
7848ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(447) IRQ_TYPE_LEVEL_HIGH>,
7948ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(448) IRQ_TYPE_LEVEL_HIGH>,
8048ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(449) IRQ_TYPE_LEVEL_HIGH>,
8148ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(450) IRQ_TYPE_LEVEL_HIGH>,
8248ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(451) IRQ_TYPE_LEVEL_HIGH>,
8348ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(452) IRQ_TYPE_LEVEL_HIGH>,
8448ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(453) IRQ_TYPE_LEVEL_HIGH>,
8548ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(454) IRQ_TYPE_LEVEL_HIGH>,
8648ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(455) IRQ_TYPE_LEVEL_HIGH>,
8748ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(456) IRQ_TYPE_LEVEL_HIGH>,
8848ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(457) IRQ_TYPE_LEVEL_HIGH>,
8948ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(458) IRQ_TYPE_LEVEL_HIGH>,
9048ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(459) IRQ_TYPE_LEVEL_HIGH>,
9148ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(460) IRQ_TYPE_LEVEL_HIGH>,
9248ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(461) IRQ_TYPE_LEVEL_HIGH>,
9348ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(462) IRQ_TYPE_LEVEL_HIGH>,
9448ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(463) IRQ_TYPE_LEVEL_HIGH>,
9548ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(464) IRQ_TYPE_LEVEL_HIGH>,
9648ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(465) IRQ_TYPE_LEVEL_HIGH>,
9748ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(466) IRQ_TYPE_LEVEL_HIGH>,
9848ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(467) IRQ_TYPE_LEVEL_HIGH>,
9948ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(468) IRQ_TYPE_LEVEL_HIGH>,
10048ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(469) IRQ_TYPE_LEVEL_HIGH>,
10148ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(470) IRQ_TYPE_LEVEL_HIGH>,
10248ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(471) IRQ_TYPE_LEVEL_HIGH>,
10348ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(472) IRQ_TYPE_LEVEL_HIGH>,
10448ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(473) IRQ_TYPE_LEVEL_HIGH>,
10548ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(474) IRQ_TYPE_LEVEL_HIGH>,
10648ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(475) IRQ_TYPE_LEVEL_HIGH>,
10748ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(25) IRQ_TYPE_EDGE_RISING>;
10848ab6eddSLad Prabhakar		interrupt-names = "nmi",
10948ab6eddSLad Prabhakar				  "irq0", "irq1", "irq2", "irq3",
11048ab6eddSLad Prabhakar				  "irq4", "irq5", "irq6", "irq7",
11148ab6eddSLad Prabhakar				  "tint0", "tint1", "tint2", "tint3",
11248ab6eddSLad Prabhakar				  "tint4", "tint5", "tint6", "tint7",
11348ab6eddSLad Prabhakar				  "tint8", "tint9", "tint10", "tint11",
11448ab6eddSLad Prabhakar				  "tint12", "tint13", "tint14", "tint15",
11548ab6eddSLad Prabhakar				  "tint16", "tint17", "tint18", "tint19",
11648ab6eddSLad Prabhakar				  "tint20", "tint21", "tint22", "tint23",
11748ab6eddSLad Prabhakar				  "tint24", "tint25", "tint26", "tint27",
11848ab6eddSLad Prabhakar				  "tint28", "tint29", "tint30", "tint31",
11948ab6eddSLad Prabhakar				  "bus-err";
12048ab6eddSLad Prabhakar		clocks = <&cpg CPG_MOD R9A07G043_IA55_CLK>,
12148ab6eddSLad Prabhakar			<&cpg CPG_MOD R9A07G043_IA55_PCLK>;
12248ab6eddSLad Prabhakar		clock-names = "clk", "pclk";
12348ab6eddSLad Prabhakar		power-domains = <&cpg>;
12448ab6eddSLad Prabhakar		resets = <&cpg R9A07G043_IA55_RESETN>;
12548ab6eddSLad Prabhakar	};
12648ab6eddSLad Prabhakar
127b9a0be20SLad Prabhakar	gic: interrupt-controller@11900000 {
128b9a0be20SLad Prabhakar		compatible = "arm,gic-v3";
129b9a0be20SLad Prabhakar		#interrupt-cells = <3>;
130b9a0be20SLad Prabhakar		#address-cells = <0>;
131b9a0be20SLad Prabhakar		interrupt-controller;
132b9a0be20SLad Prabhakar		reg = <0x0 0x11900000 0 0x40000>,
133b9a0be20SLad Prabhakar		      <0x0 0x11940000 0 0x60000>;
134b9a0be20SLad Prabhakar		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW>;
135b9a0be20SLad Prabhakar	};
136b9a0be20SLad Prabhakar};
137b9a0be20SLad Prabhakar
138b9a0be20SLad Prabhakar&sysc {
139b9a0be20SLad Prabhakar	interrupts = <SOC_PERIPHERAL_IRQ(42) IRQ_TYPE_LEVEL_HIGH>,
140b9a0be20SLad Prabhakar		     <SOC_PERIPHERAL_IRQ(43) IRQ_TYPE_LEVEL_HIGH>,
141b9a0be20SLad Prabhakar		     <SOC_PERIPHERAL_IRQ(44) IRQ_TYPE_LEVEL_HIGH>,
142b9a0be20SLad Prabhakar		     <SOC_PERIPHERAL_IRQ(45) IRQ_TYPE_LEVEL_HIGH>;
143b9a0be20SLad Prabhakar	interrupt-names = "lpm_int", "ca55stbydone_int",
144b9a0be20SLad Prabhakar			  "cm33stbyr_int", "ca55_deny";
145b9a0be20SLad Prabhakar};
146