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
38805ed6d6SLad Prabhakar	pmu {
39805ed6d6SLad Prabhakar		compatible = "arm,cortex-a55-pmu";
40805ed6d6SLad Prabhakar		interrupts-extended = <&gic GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>;
41805ed6d6SLad Prabhakar	};
42805ed6d6SLad Prabhakar
43b9a0be20SLad Prabhakar	psci {
44b9a0be20SLad Prabhakar		compatible = "arm,psci-1.0", "arm,psci-0.2";
45b9a0be20SLad Prabhakar		method = "smc";
46b9a0be20SLad Prabhakar	};
47b9a0be20SLad Prabhakar
48b9a0be20SLad Prabhakar	timer {
49b9a0be20SLad Prabhakar		compatible = "arm,armv8-timer";
50*8b6a006cSLad Prabhakar		interrupts-extended = <&gic GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
51*8b6a006cSLad Prabhakar				      <&gic GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
52*8b6a006cSLad Prabhakar				      <&gic GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
53*8b6a006cSLad Prabhakar				      <&gic GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
54b9a0be20SLad Prabhakar	};
55b9a0be20SLad Prabhakar};
56b9a0be20SLad Prabhakar
5785169df7SLad Prabhakar&pinctrl {
5885169df7SLad Prabhakar	interrupt-parent = <&irqc>;
5985169df7SLad Prabhakar};
6085169df7SLad Prabhakar
61b9a0be20SLad Prabhakar&soc {
62b9a0be20SLad Prabhakar	interrupt-parent = <&gic>;
63b9a0be20SLad Prabhakar
6448ab6eddSLad Prabhakar	irqc: interrupt-controller@110a0000 {
6548ab6eddSLad Prabhakar		compatible = "renesas,r9a07g043u-irqc",
6648ab6eddSLad Prabhakar			     "renesas,rzg2l-irqc";
6748ab6eddSLad Prabhakar		reg = <0 0x110a0000 0 0x10000>;
6848ab6eddSLad Prabhakar		#interrupt-cells = <2>;
6948ab6eddSLad Prabhakar		#address-cells = <0>;
7048ab6eddSLad Prabhakar		interrupt-controller;
7148ab6eddSLad Prabhakar		interrupts = <SOC_PERIPHERAL_IRQ(0) IRQ_TYPE_LEVEL_HIGH>,
7248ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(1) IRQ_TYPE_LEVEL_HIGH>,
7348ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(2) IRQ_TYPE_LEVEL_HIGH>,
7448ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(3) IRQ_TYPE_LEVEL_HIGH>,
7548ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(4) IRQ_TYPE_LEVEL_HIGH>,
7648ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(5) IRQ_TYPE_LEVEL_HIGH>,
7748ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(6) IRQ_TYPE_LEVEL_HIGH>,
7848ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(7) IRQ_TYPE_LEVEL_HIGH>,
7948ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(8) IRQ_TYPE_LEVEL_HIGH>,
8048ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(444) IRQ_TYPE_LEVEL_HIGH>,
8148ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(445) IRQ_TYPE_LEVEL_HIGH>,
8248ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(446) IRQ_TYPE_LEVEL_HIGH>,
8348ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(447) IRQ_TYPE_LEVEL_HIGH>,
8448ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(448) IRQ_TYPE_LEVEL_HIGH>,
8548ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(449) IRQ_TYPE_LEVEL_HIGH>,
8648ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(450) IRQ_TYPE_LEVEL_HIGH>,
8748ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(451) IRQ_TYPE_LEVEL_HIGH>,
8848ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(452) IRQ_TYPE_LEVEL_HIGH>,
8948ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(453) IRQ_TYPE_LEVEL_HIGH>,
9048ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(454) IRQ_TYPE_LEVEL_HIGH>,
9148ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(455) IRQ_TYPE_LEVEL_HIGH>,
9248ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(456) IRQ_TYPE_LEVEL_HIGH>,
9348ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(457) IRQ_TYPE_LEVEL_HIGH>,
9448ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(458) IRQ_TYPE_LEVEL_HIGH>,
9548ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(459) IRQ_TYPE_LEVEL_HIGH>,
9648ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(460) IRQ_TYPE_LEVEL_HIGH>,
9748ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(461) IRQ_TYPE_LEVEL_HIGH>,
9848ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(462) IRQ_TYPE_LEVEL_HIGH>,
9948ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(463) IRQ_TYPE_LEVEL_HIGH>,
10048ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(464) IRQ_TYPE_LEVEL_HIGH>,
10148ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(465) IRQ_TYPE_LEVEL_HIGH>,
10248ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(466) IRQ_TYPE_LEVEL_HIGH>,
10348ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(467) IRQ_TYPE_LEVEL_HIGH>,
10448ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(468) IRQ_TYPE_LEVEL_HIGH>,
10548ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(469) IRQ_TYPE_LEVEL_HIGH>,
10648ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(470) IRQ_TYPE_LEVEL_HIGH>,
10748ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(471) IRQ_TYPE_LEVEL_HIGH>,
10848ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(472) IRQ_TYPE_LEVEL_HIGH>,
10948ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(473) IRQ_TYPE_LEVEL_HIGH>,
11048ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(474) IRQ_TYPE_LEVEL_HIGH>,
11148ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(475) IRQ_TYPE_LEVEL_HIGH>,
11248ab6eddSLad Prabhakar			     <SOC_PERIPHERAL_IRQ(25) IRQ_TYPE_EDGE_RISING>;
11348ab6eddSLad Prabhakar		interrupt-names = "nmi",
11448ab6eddSLad Prabhakar				  "irq0", "irq1", "irq2", "irq3",
11548ab6eddSLad Prabhakar				  "irq4", "irq5", "irq6", "irq7",
11648ab6eddSLad Prabhakar				  "tint0", "tint1", "tint2", "tint3",
11748ab6eddSLad Prabhakar				  "tint4", "tint5", "tint6", "tint7",
11848ab6eddSLad Prabhakar				  "tint8", "tint9", "tint10", "tint11",
11948ab6eddSLad Prabhakar				  "tint12", "tint13", "tint14", "tint15",
12048ab6eddSLad Prabhakar				  "tint16", "tint17", "tint18", "tint19",
12148ab6eddSLad Prabhakar				  "tint20", "tint21", "tint22", "tint23",
12248ab6eddSLad Prabhakar				  "tint24", "tint25", "tint26", "tint27",
12348ab6eddSLad Prabhakar				  "tint28", "tint29", "tint30", "tint31",
12448ab6eddSLad Prabhakar				  "bus-err";
12548ab6eddSLad Prabhakar		clocks = <&cpg CPG_MOD R9A07G043_IA55_CLK>,
12648ab6eddSLad Prabhakar			<&cpg CPG_MOD R9A07G043_IA55_PCLK>;
12748ab6eddSLad Prabhakar		clock-names = "clk", "pclk";
12848ab6eddSLad Prabhakar		power-domains = <&cpg>;
12948ab6eddSLad Prabhakar		resets = <&cpg R9A07G043_IA55_RESETN>;
13048ab6eddSLad Prabhakar	};
13148ab6eddSLad Prabhakar
132b9a0be20SLad Prabhakar	gic: interrupt-controller@11900000 {
133b9a0be20SLad Prabhakar		compatible = "arm,gic-v3";
134b9a0be20SLad Prabhakar		#interrupt-cells = <3>;
135b9a0be20SLad Prabhakar		#address-cells = <0>;
136b9a0be20SLad Prabhakar		interrupt-controller;
137b9a0be20SLad Prabhakar		reg = <0x0 0x11900000 0 0x40000>,
138b9a0be20SLad Prabhakar		      <0x0 0x11940000 0 0x60000>;
139b9a0be20SLad Prabhakar		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW>;
140b9a0be20SLad Prabhakar	};
141b9a0be20SLad Prabhakar};
142b9a0be20SLad Prabhakar
143b9a0be20SLad Prabhakar&sysc {
144b9a0be20SLad Prabhakar	interrupts = <SOC_PERIPHERAL_IRQ(42) IRQ_TYPE_LEVEL_HIGH>,
145b9a0be20SLad Prabhakar		     <SOC_PERIPHERAL_IRQ(43) IRQ_TYPE_LEVEL_HIGH>,
146b9a0be20SLad Prabhakar		     <SOC_PERIPHERAL_IRQ(44) IRQ_TYPE_LEVEL_HIGH>,
147b9a0be20SLad Prabhakar		     <SOC_PERIPHERAL_IRQ(45) IRQ_TYPE_LEVEL_HIGH>;
148b9a0be20SLad Prabhakar	interrupt-names = "lpm_int", "ca55stbydone_int",
149b9a0be20SLad Prabhakar			  "cm33stbyr_int", "ca55_deny";
150b9a0be20SLad Prabhakar};
151