1f51746adSGeert Uytterhoeven// SPDX-License-Identifier: GPL-2.0
2f51746adSGeert Uytterhoeven/*
3f51746adSGeert Uytterhoeven * Device Tree Source for the R-Car M3-W+ (R8A77961) SoC
4f51746adSGeert Uytterhoeven *
5f51746adSGeert Uytterhoeven * Copyright (C) 2016-2017 Renesas Electronics Corp.
6f51746adSGeert Uytterhoeven */
7f51746adSGeert Uytterhoeven
8f51746adSGeert Uytterhoeven#include <dt-bindings/clock/r8a77961-cpg-mssr.h>
9f51746adSGeert Uytterhoeven#include <dt-bindings/interrupt-controller/arm-gic.h>
10f51746adSGeert Uytterhoeven#include <dt-bindings/power/r8a77961-sysc.h>
11f51746adSGeert Uytterhoeven
12f51746adSGeert Uytterhoeven#define CPG_AUDIO_CLK_I		R8A77961_CLK_S0D4
13f51746adSGeert Uytterhoeven
14f51746adSGeert Uytterhoeven/ {
15f51746adSGeert Uytterhoeven	compatible = "renesas,r8a77961";
16f51746adSGeert Uytterhoeven	#address-cells = <2>;
17f51746adSGeert Uytterhoeven	#size-cells = <2>;
18f51746adSGeert Uytterhoeven
19f51746adSGeert Uytterhoeven	/*
20f51746adSGeert Uytterhoeven	 * The external audio clocks are configured as 0 Hz fixed frequency
21f51746adSGeert Uytterhoeven	 * clocks by default.
22f51746adSGeert Uytterhoeven	 * Boards that provide audio clocks should override them.
23f51746adSGeert Uytterhoeven	 */
24f51746adSGeert Uytterhoeven	audio_clk_a: audio_clk_a {
25f51746adSGeert Uytterhoeven		compatible = "fixed-clock";
26f51746adSGeert Uytterhoeven		#clock-cells = <0>;
27f51746adSGeert Uytterhoeven		clock-frequency = <0>;
28f51746adSGeert Uytterhoeven	};
29f51746adSGeert Uytterhoeven
30f51746adSGeert Uytterhoeven	audio_clk_b: audio_clk_b {
31f51746adSGeert Uytterhoeven		compatible = "fixed-clock";
32f51746adSGeert Uytterhoeven		#clock-cells = <0>;
33f51746adSGeert Uytterhoeven		clock-frequency = <0>;
34f51746adSGeert Uytterhoeven	};
35f51746adSGeert Uytterhoeven
36f51746adSGeert Uytterhoeven	audio_clk_c: audio_clk_c {
37f51746adSGeert Uytterhoeven		compatible = "fixed-clock";
38f51746adSGeert Uytterhoeven		#clock-cells = <0>;
39f51746adSGeert Uytterhoeven		clock-frequency = <0>;
40f51746adSGeert Uytterhoeven	};
41f51746adSGeert Uytterhoeven
42f51746adSGeert Uytterhoeven	/* External CAN clock - to be overridden by boards that provide it */
43f51746adSGeert Uytterhoeven	can_clk: can {
44f51746adSGeert Uytterhoeven		compatible = "fixed-clock";
45f51746adSGeert Uytterhoeven		#clock-cells = <0>;
46f51746adSGeert Uytterhoeven		clock-frequency = <0>;
47f51746adSGeert Uytterhoeven	};
48f51746adSGeert Uytterhoeven
49f51746adSGeert Uytterhoeven	cluster0_opp: opp_table0 {
50f51746adSGeert Uytterhoeven		compatible = "operating-points-v2";
51f51746adSGeert Uytterhoeven		opp-shared;
52f51746adSGeert Uytterhoeven
53f51746adSGeert Uytterhoeven		opp-500000000 {
54f51746adSGeert Uytterhoeven			opp-hz = /bits/ 64 <500000000>;
55f51746adSGeert Uytterhoeven			opp-microvolt = <820000>;
56f51746adSGeert Uytterhoeven			clock-latency-ns = <300000>;
57f51746adSGeert Uytterhoeven		};
58f51746adSGeert Uytterhoeven		opp-1000000000 {
59f51746adSGeert Uytterhoeven			opp-hz = /bits/ 64 <1000000000>;
60f51746adSGeert Uytterhoeven			opp-microvolt = <820000>;
61f51746adSGeert Uytterhoeven			clock-latency-ns = <300000>;
62f51746adSGeert Uytterhoeven		};
63f51746adSGeert Uytterhoeven		opp-1500000000 {
64f51746adSGeert Uytterhoeven			opp-hz = /bits/ 64 <1500000000>;
65f51746adSGeert Uytterhoeven			opp-microvolt = <820000>;
66f51746adSGeert Uytterhoeven			clock-latency-ns = <300000>;
67f51746adSGeert Uytterhoeven		};
68f51746adSGeert Uytterhoeven		opp-1600000000 {
69f51746adSGeert Uytterhoeven			opp-hz = /bits/ 64 <1600000000>;
70f51746adSGeert Uytterhoeven			opp-microvolt = <900000>;
71f51746adSGeert Uytterhoeven			clock-latency-ns = <300000>;
72f51746adSGeert Uytterhoeven			turbo-mode;
73f51746adSGeert Uytterhoeven		};
74f51746adSGeert Uytterhoeven		opp-1700000000 {
75f51746adSGeert Uytterhoeven			opp-hz = /bits/ 64 <1700000000>;
76f51746adSGeert Uytterhoeven			opp-microvolt = <900000>;
77f51746adSGeert Uytterhoeven			clock-latency-ns = <300000>;
78f51746adSGeert Uytterhoeven			turbo-mode;
79f51746adSGeert Uytterhoeven		};
80f51746adSGeert Uytterhoeven		opp-1800000000 {
81f51746adSGeert Uytterhoeven			opp-hz = /bits/ 64 <1800000000>;
82f51746adSGeert Uytterhoeven			opp-microvolt = <960000>;
83f51746adSGeert Uytterhoeven			clock-latency-ns = <300000>;
84f51746adSGeert Uytterhoeven			turbo-mode;
85f51746adSGeert Uytterhoeven		};
86f51746adSGeert Uytterhoeven	};
87f51746adSGeert Uytterhoeven
88f51746adSGeert Uytterhoeven	cluster1_opp: opp_table1 {
89f51746adSGeert Uytterhoeven		compatible = "operating-points-v2";
90f51746adSGeert Uytterhoeven		opp-shared;
91f51746adSGeert Uytterhoeven
92f51746adSGeert Uytterhoeven		opp-800000000 {
93f51746adSGeert Uytterhoeven			opp-hz = /bits/ 64 <800000000>;
94f51746adSGeert Uytterhoeven			opp-microvolt = <820000>;
95f51746adSGeert Uytterhoeven			clock-latency-ns = <300000>;
96f51746adSGeert Uytterhoeven		};
97f51746adSGeert Uytterhoeven		opp-1000000000 {
98f51746adSGeert Uytterhoeven			opp-hz = /bits/ 64 <1000000000>;
99f51746adSGeert Uytterhoeven			opp-microvolt = <820000>;
100f51746adSGeert Uytterhoeven			clock-latency-ns = <300000>;
101f51746adSGeert Uytterhoeven		};
102f51746adSGeert Uytterhoeven		opp-1200000000 {
103f51746adSGeert Uytterhoeven			opp-hz = /bits/ 64 <1200000000>;
104f51746adSGeert Uytterhoeven			opp-microvolt = <820000>;
105f51746adSGeert Uytterhoeven			clock-latency-ns = <300000>;
106f51746adSGeert Uytterhoeven		};
107f51746adSGeert Uytterhoeven		opp-1300000000 {
108f51746adSGeert Uytterhoeven			opp-hz = /bits/ 64 <1300000000>;
109f51746adSGeert Uytterhoeven			opp-microvolt = <820000>;
110f51746adSGeert Uytterhoeven			clock-latency-ns = <300000>;
111f51746adSGeert Uytterhoeven			turbo-mode;
112f51746adSGeert Uytterhoeven		};
113f51746adSGeert Uytterhoeven	};
114f51746adSGeert Uytterhoeven
115f51746adSGeert Uytterhoeven	cpus {
116f51746adSGeert Uytterhoeven		#address-cells = <1>;
117f51746adSGeert Uytterhoeven		#size-cells = <0>;
118f51746adSGeert Uytterhoeven
119f51746adSGeert Uytterhoeven		cpu-map {
120f51746adSGeert Uytterhoeven			cluster0 {
121f51746adSGeert Uytterhoeven				core0 {
122f51746adSGeert Uytterhoeven					cpu = <&a57_0>;
123f51746adSGeert Uytterhoeven				};
124f51746adSGeert Uytterhoeven				core1 {
125f51746adSGeert Uytterhoeven					cpu = <&a57_1>;
126f51746adSGeert Uytterhoeven				};
127f51746adSGeert Uytterhoeven			};
128f51746adSGeert Uytterhoeven
129f51746adSGeert Uytterhoeven			cluster1 {
130f51746adSGeert Uytterhoeven				core0 {
131f51746adSGeert Uytterhoeven					cpu = <&a53_0>;
132f51746adSGeert Uytterhoeven				};
133f51746adSGeert Uytterhoeven				core1 {
134f51746adSGeert Uytterhoeven					cpu = <&a53_1>;
135f51746adSGeert Uytterhoeven				};
136f51746adSGeert Uytterhoeven				core2 {
137f51746adSGeert Uytterhoeven					cpu = <&a53_2>;
138f51746adSGeert Uytterhoeven				};
139f51746adSGeert Uytterhoeven				core3 {
140f51746adSGeert Uytterhoeven					cpu = <&a53_3>;
141f51746adSGeert Uytterhoeven				};
142f51746adSGeert Uytterhoeven			};
143f51746adSGeert Uytterhoeven		};
144f51746adSGeert Uytterhoeven
145f51746adSGeert Uytterhoeven		a57_0: cpu@0 {
146f51746adSGeert Uytterhoeven			compatible = "arm,cortex-a57";
147f51746adSGeert Uytterhoeven			reg = <0x0>;
148f51746adSGeert Uytterhoeven			device_type = "cpu";
149f51746adSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_CA57_CPU0>;
150f51746adSGeert Uytterhoeven			next-level-cache = <&L2_CA57>;
151f51746adSGeert Uytterhoeven			enable-method = "psci";
152f51746adSGeert Uytterhoeven			cpu-idle-states = <&CPU_SLEEP_0>;
153f51746adSGeert Uytterhoeven			dynamic-power-coefficient = <854>;
154f51746adSGeert Uytterhoeven			clocks = <&cpg CPG_CORE R8A77961_CLK_Z>;
155f51746adSGeert Uytterhoeven			operating-points-v2 = <&cluster0_opp>;
156f51746adSGeert Uytterhoeven			capacity-dmips-mhz = <1024>;
157f51746adSGeert Uytterhoeven			#cooling-cells = <2>;
158f51746adSGeert Uytterhoeven		};
159f51746adSGeert Uytterhoeven
160f51746adSGeert Uytterhoeven		a57_1: cpu@1 {
161f51746adSGeert Uytterhoeven			compatible = "arm,cortex-a57";
162f51746adSGeert Uytterhoeven			reg = <0x1>;
163f51746adSGeert Uytterhoeven			device_type = "cpu";
164f51746adSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_CA57_CPU1>;
165f51746adSGeert Uytterhoeven			next-level-cache = <&L2_CA57>;
166f51746adSGeert Uytterhoeven			enable-method = "psci";
167f51746adSGeert Uytterhoeven			cpu-idle-states = <&CPU_SLEEP_0>;
168f51746adSGeert Uytterhoeven			clocks = <&cpg CPG_CORE R8A77961_CLK_Z>;
169f51746adSGeert Uytterhoeven			operating-points-v2 = <&cluster0_opp>;
170f51746adSGeert Uytterhoeven			capacity-dmips-mhz = <1024>;
171f51746adSGeert Uytterhoeven			#cooling-cells = <2>;
172f51746adSGeert Uytterhoeven		};
173f51746adSGeert Uytterhoeven
174f51746adSGeert Uytterhoeven		a53_0: cpu@100 {
175f51746adSGeert Uytterhoeven			compatible = "arm,cortex-a53";
176f51746adSGeert Uytterhoeven			reg = <0x100>;
177f51746adSGeert Uytterhoeven			device_type = "cpu";
178f51746adSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_CA53_CPU0>;
179f51746adSGeert Uytterhoeven			next-level-cache = <&L2_CA53>;
180f51746adSGeert Uytterhoeven			enable-method = "psci";
181f51746adSGeert Uytterhoeven			cpu-idle-states = <&CPU_SLEEP_1>;
182f51746adSGeert Uytterhoeven			#cooling-cells = <2>;
183f51746adSGeert Uytterhoeven			dynamic-power-coefficient = <277>;
184f51746adSGeert Uytterhoeven			clocks = <&cpg CPG_CORE R8A77961_CLK_Z2>;
185f51746adSGeert Uytterhoeven			operating-points-v2 = <&cluster1_opp>;
186f51746adSGeert Uytterhoeven			capacity-dmips-mhz = <535>;
187f51746adSGeert Uytterhoeven		};
188f51746adSGeert Uytterhoeven
189f51746adSGeert Uytterhoeven		a53_1: cpu@101 {
190f51746adSGeert Uytterhoeven			compatible = "arm,cortex-a53";
191f51746adSGeert Uytterhoeven			reg = <0x101>;
192f51746adSGeert Uytterhoeven			device_type = "cpu";
193f51746adSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_CA53_CPU1>;
194f51746adSGeert Uytterhoeven			next-level-cache = <&L2_CA53>;
195f51746adSGeert Uytterhoeven			enable-method = "psci";
196f51746adSGeert Uytterhoeven			cpu-idle-states = <&CPU_SLEEP_1>;
197f51746adSGeert Uytterhoeven			clocks = <&cpg CPG_CORE R8A77961_CLK_Z2>;
198f51746adSGeert Uytterhoeven			operating-points-v2 = <&cluster1_opp>;
199f51746adSGeert Uytterhoeven			capacity-dmips-mhz = <535>;
200f51746adSGeert Uytterhoeven		};
201f51746adSGeert Uytterhoeven
202f51746adSGeert Uytterhoeven		a53_2: cpu@102 {
203f51746adSGeert Uytterhoeven			compatible = "arm,cortex-a53";
204f51746adSGeert Uytterhoeven			reg = <0x102>;
205f51746adSGeert Uytterhoeven			device_type = "cpu";
206f51746adSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_CA53_CPU2>;
207f51746adSGeert Uytterhoeven			next-level-cache = <&L2_CA53>;
208f51746adSGeert Uytterhoeven			enable-method = "psci";
209f51746adSGeert Uytterhoeven			cpu-idle-states = <&CPU_SLEEP_1>;
210f51746adSGeert Uytterhoeven			clocks = <&cpg CPG_CORE R8A77961_CLK_Z2>;
211f51746adSGeert Uytterhoeven			operating-points-v2 = <&cluster1_opp>;
212f51746adSGeert Uytterhoeven			capacity-dmips-mhz = <535>;
213f51746adSGeert Uytterhoeven		};
214f51746adSGeert Uytterhoeven
215f51746adSGeert Uytterhoeven		a53_3: cpu@103 {
216f51746adSGeert Uytterhoeven			compatible = "arm,cortex-a53";
217f51746adSGeert Uytterhoeven			reg = <0x103>;
218f51746adSGeert Uytterhoeven			device_type = "cpu";
219f51746adSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_CA53_CPU3>;
220f51746adSGeert Uytterhoeven			next-level-cache = <&L2_CA53>;
221f51746adSGeert Uytterhoeven			enable-method = "psci";
222f51746adSGeert Uytterhoeven			cpu-idle-states = <&CPU_SLEEP_1>;
223f51746adSGeert Uytterhoeven			clocks = <&cpg CPG_CORE R8A77961_CLK_Z2>;
224f51746adSGeert Uytterhoeven			operating-points-v2 = <&cluster1_opp>;
225f51746adSGeert Uytterhoeven			capacity-dmips-mhz = <535>;
226f51746adSGeert Uytterhoeven		};
227f51746adSGeert Uytterhoeven
228f51746adSGeert Uytterhoeven		L2_CA57: cache-controller-0 {
229f51746adSGeert Uytterhoeven			compatible = "cache";
230f51746adSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_CA57_SCU>;
231f51746adSGeert Uytterhoeven			cache-unified;
232f51746adSGeert Uytterhoeven			cache-level = <2>;
233f51746adSGeert Uytterhoeven		};
234f51746adSGeert Uytterhoeven
235f51746adSGeert Uytterhoeven		L2_CA53: cache-controller-1 {
236f51746adSGeert Uytterhoeven			compatible = "cache";
237f51746adSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_CA53_SCU>;
238f51746adSGeert Uytterhoeven			cache-unified;
239f51746adSGeert Uytterhoeven			cache-level = <2>;
240f51746adSGeert Uytterhoeven		};
241f51746adSGeert Uytterhoeven
242f51746adSGeert Uytterhoeven		idle-states {
243f51746adSGeert Uytterhoeven			entry-method = "psci";
244f51746adSGeert Uytterhoeven
245f51746adSGeert Uytterhoeven			CPU_SLEEP_0: cpu-sleep-0 {
246f51746adSGeert Uytterhoeven				compatible = "arm,idle-state";
247f51746adSGeert Uytterhoeven				arm,psci-suspend-param = <0x0010000>;
248f51746adSGeert Uytterhoeven				local-timer-stop;
249f51746adSGeert Uytterhoeven				entry-latency-us = <400>;
250f51746adSGeert Uytterhoeven				exit-latency-us = <500>;
251f51746adSGeert Uytterhoeven				min-residency-us = <4000>;
252f51746adSGeert Uytterhoeven			};
253f51746adSGeert Uytterhoeven
254f51746adSGeert Uytterhoeven			CPU_SLEEP_1: cpu-sleep-1 {
255f51746adSGeert Uytterhoeven				compatible = "arm,idle-state";
256f51746adSGeert Uytterhoeven				arm,psci-suspend-param = <0x0010000>;
257f51746adSGeert Uytterhoeven				local-timer-stop;
258f51746adSGeert Uytterhoeven				entry-latency-us = <700>;
259f51746adSGeert Uytterhoeven				exit-latency-us = <700>;
260f51746adSGeert Uytterhoeven				min-residency-us = <5000>;
261f51746adSGeert Uytterhoeven			};
262f51746adSGeert Uytterhoeven		};
263f51746adSGeert Uytterhoeven	};
264f51746adSGeert Uytterhoeven
265f51746adSGeert Uytterhoeven	extal_clk: extal {
266f51746adSGeert Uytterhoeven		compatible = "fixed-clock";
267f51746adSGeert Uytterhoeven		#clock-cells = <0>;
268f51746adSGeert Uytterhoeven		/* This value must be overridden by the board */
269f51746adSGeert Uytterhoeven		clock-frequency = <0>;
270f51746adSGeert Uytterhoeven	};
271f51746adSGeert Uytterhoeven
272f51746adSGeert Uytterhoeven	extalr_clk: extalr {
273f51746adSGeert Uytterhoeven		compatible = "fixed-clock";
274f51746adSGeert Uytterhoeven		#clock-cells = <0>;
275f51746adSGeert Uytterhoeven		/* This value must be overridden by the board */
276f51746adSGeert Uytterhoeven		clock-frequency = <0>;
277f51746adSGeert Uytterhoeven	};
278f51746adSGeert Uytterhoeven
279f51746adSGeert Uytterhoeven	/* External PCIe clock - can be overridden by the board */
280f51746adSGeert Uytterhoeven	pcie_bus_clk: pcie_bus {
281f51746adSGeert Uytterhoeven		compatible = "fixed-clock";
282f51746adSGeert Uytterhoeven		#clock-cells = <0>;
283f51746adSGeert Uytterhoeven		clock-frequency = <0>;
284f51746adSGeert Uytterhoeven	};
285f51746adSGeert Uytterhoeven
286f51746adSGeert Uytterhoeven	pmu_a53 {
287f51746adSGeert Uytterhoeven		compatible = "arm,cortex-a53-pmu";
288f51746adSGeert Uytterhoeven		interrupts-extended = <&gic GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
289f51746adSGeert Uytterhoeven				      <&gic GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
290f51746adSGeert Uytterhoeven				      <&gic GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
291f51746adSGeert Uytterhoeven				      <&gic GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
292f51746adSGeert Uytterhoeven		interrupt-affinity = <&a53_0>, <&a53_1>, <&a53_2>, <&a53_3>;
293f51746adSGeert Uytterhoeven	};
294f51746adSGeert Uytterhoeven
295f51746adSGeert Uytterhoeven	pmu_a57 {
296f51746adSGeert Uytterhoeven		compatible = "arm,cortex-a57-pmu";
297f51746adSGeert Uytterhoeven		interrupts-extended = <&gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
298f51746adSGeert Uytterhoeven				      <&gic GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
299f51746adSGeert Uytterhoeven		interrupt-affinity = <&a57_0>, <&a57_1>;
300f51746adSGeert Uytterhoeven	};
301f51746adSGeert Uytterhoeven
302f51746adSGeert Uytterhoeven	psci {
303f51746adSGeert Uytterhoeven		compatible = "arm,psci-1.0", "arm,psci-0.2";
304f51746adSGeert Uytterhoeven		method = "smc";
305f51746adSGeert Uytterhoeven	};
306f51746adSGeert Uytterhoeven
307f51746adSGeert Uytterhoeven	/* External SCIF clock - to be overridden by boards that provide it */
308f51746adSGeert Uytterhoeven	scif_clk: scif {
309f51746adSGeert Uytterhoeven		compatible = "fixed-clock";
310f51746adSGeert Uytterhoeven		#clock-cells = <0>;
311f51746adSGeert Uytterhoeven		clock-frequency = <0>;
312f51746adSGeert Uytterhoeven	};
313f51746adSGeert Uytterhoeven
314f51746adSGeert Uytterhoeven	soc {
315f51746adSGeert Uytterhoeven		compatible = "simple-bus";
316f51746adSGeert Uytterhoeven		interrupt-parent = <&gic>;
317f51746adSGeert Uytterhoeven		#address-cells = <2>;
318f51746adSGeert Uytterhoeven		#size-cells = <2>;
319f51746adSGeert Uytterhoeven		ranges;
320f51746adSGeert Uytterhoeven
321f51746adSGeert Uytterhoeven		rwdt: watchdog@e6020000 {
32236065b07SGeert Uytterhoeven			compatible = "renesas,r8a77961-wdt",
32336065b07SGeert Uytterhoeven				     "renesas,rcar-gen3-wdt";
324f51746adSGeert Uytterhoeven			reg = <0 0xe6020000 0 0x0c>;
32536065b07SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 402>;
32636065b07SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
32736065b07SGeert Uytterhoeven			resets = <&cpg 402>;
32836065b07SGeert Uytterhoeven			status = "disabled";
329f51746adSGeert Uytterhoeven		};
330f51746adSGeert Uytterhoeven
331c6ef2b34SGeert Uytterhoeven		gpio0: gpio@e6050000 {
332c6ef2b34SGeert Uytterhoeven			compatible = "renesas,gpio-r8a77961",
333c6ef2b34SGeert Uytterhoeven				     "renesas,rcar-gen3-gpio";
334c6ef2b34SGeert Uytterhoeven			reg = <0 0xe6050000 0 0x50>;
335c6ef2b34SGeert Uytterhoeven			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
336f51746adSGeert Uytterhoeven			#gpio-cells = <2>;
337f51746adSGeert Uytterhoeven			gpio-controller;
338c6ef2b34SGeert Uytterhoeven			gpio-ranges = <&pfc 0 0 16>;
339f51746adSGeert Uytterhoeven			#interrupt-cells = <2>;
340f51746adSGeert Uytterhoeven			interrupt-controller;
341c6ef2b34SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 912>;
342c6ef2b34SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
343c6ef2b34SGeert Uytterhoeven			resets = <&cpg 912>;
344c6ef2b34SGeert Uytterhoeven		};
345c6ef2b34SGeert Uytterhoeven
346c6ef2b34SGeert Uytterhoeven		gpio1: gpio@e6051000 {
347c6ef2b34SGeert Uytterhoeven			compatible = "renesas,gpio-r8a77961",
348c6ef2b34SGeert Uytterhoeven				     "renesas,rcar-gen3-gpio";
349c6ef2b34SGeert Uytterhoeven			reg = <0 0xe6051000 0 0x50>;
350c6ef2b34SGeert Uytterhoeven			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
351c6ef2b34SGeert Uytterhoeven			#gpio-cells = <2>;
352c6ef2b34SGeert Uytterhoeven			gpio-controller;
353c6ef2b34SGeert Uytterhoeven			gpio-ranges = <&pfc 0 32 29>;
354c6ef2b34SGeert Uytterhoeven			#interrupt-cells = <2>;
355c6ef2b34SGeert Uytterhoeven			interrupt-controller;
356c6ef2b34SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 911>;
357c6ef2b34SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
358c6ef2b34SGeert Uytterhoeven			resets = <&cpg 911>;
359c6ef2b34SGeert Uytterhoeven		};
360c6ef2b34SGeert Uytterhoeven
361c6ef2b34SGeert Uytterhoeven		gpio2: gpio@e6052000 {
362c6ef2b34SGeert Uytterhoeven			compatible = "renesas,gpio-r8a77961",
363c6ef2b34SGeert Uytterhoeven				     "renesas,rcar-gen3-gpio";
364c6ef2b34SGeert Uytterhoeven			reg = <0 0xe6052000 0 0x50>;
365c6ef2b34SGeert Uytterhoeven			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
366c6ef2b34SGeert Uytterhoeven			#gpio-cells = <2>;
367c6ef2b34SGeert Uytterhoeven			gpio-controller;
368c6ef2b34SGeert Uytterhoeven			gpio-ranges = <&pfc 0 64 15>;
369c6ef2b34SGeert Uytterhoeven			#interrupt-cells = <2>;
370c6ef2b34SGeert Uytterhoeven			interrupt-controller;
371c6ef2b34SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 910>;
372c6ef2b34SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
373c6ef2b34SGeert Uytterhoeven			resets = <&cpg 910>;
374f51746adSGeert Uytterhoeven		};
375f51746adSGeert Uytterhoeven
376f51746adSGeert Uytterhoeven		gpio3: gpio@e6053000 {
377c6ef2b34SGeert Uytterhoeven			compatible = "renesas,gpio-r8a77961",
378c6ef2b34SGeert Uytterhoeven				     "renesas,rcar-gen3-gpio";
379f51746adSGeert Uytterhoeven			reg = <0 0xe6053000 0 0x50>;
380c6ef2b34SGeert Uytterhoeven			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
381f51746adSGeert Uytterhoeven			#gpio-cells = <2>;
382f51746adSGeert Uytterhoeven			gpio-controller;
383c6ef2b34SGeert Uytterhoeven			gpio-ranges = <&pfc 0 96 16>;
384f51746adSGeert Uytterhoeven			#interrupt-cells = <2>;
385f51746adSGeert Uytterhoeven			interrupt-controller;
386c6ef2b34SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 909>;
387c6ef2b34SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
388c6ef2b34SGeert Uytterhoeven			resets = <&cpg 909>;
389f51746adSGeert Uytterhoeven		};
390f51746adSGeert Uytterhoeven
391f51746adSGeert Uytterhoeven		gpio4: gpio@e6054000 {
392c6ef2b34SGeert Uytterhoeven			compatible = "renesas,gpio-r8a77961",
393c6ef2b34SGeert Uytterhoeven				     "renesas,rcar-gen3-gpio";
394f51746adSGeert Uytterhoeven			reg = <0 0xe6054000 0 0x50>;
395c6ef2b34SGeert Uytterhoeven			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
396f51746adSGeert Uytterhoeven			#gpio-cells = <2>;
397f51746adSGeert Uytterhoeven			gpio-controller;
398c6ef2b34SGeert Uytterhoeven			gpio-ranges = <&pfc 0 128 18>;
399f51746adSGeert Uytterhoeven			#interrupt-cells = <2>;
400f51746adSGeert Uytterhoeven			interrupt-controller;
401c6ef2b34SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 908>;
402c6ef2b34SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
403c6ef2b34SGeert Uytterhoeven			resets = <&cpg 908>;
404f51746adSGeert Uytterhoeven		};
405f51746adSGeert Uytterhoeven
406f51746adSGeert Uytterhoeven		gpio5: gpio@e6055000 {
407c6ef2b34SGeert Uytterhoeven			compatible = "renesas,gpio-r8a77961",
408c6ef2b34SGeert Uytterhoeven				     "renesas,rcar-gen3-gpio";
409f51746adSGeert Uytterhoeven			reg = <0 0xe6055000 0 0x50>;
410c6ef2b34SGeert Uytterhoeven			interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
411f51746adSGeert Uytterhoeven			#gpio-cells = <2>;
412f51746adSGeert Uytterhoeven			gpio-controller;
413c6ef2b34SGeert Uytterhoeven			gpio-ranges = <&pfc 0 160 26>;
414f51746adSGeert Uytterhoeven			#interrupt-cells = <2>;
415f51746adSGeert Uytterhoeven			interrupt-controller;
416c6ef2b34SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 907>;
417c6ef2b34SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
418c6ef2b34SGeert Uytterhoeven			resets = <&cpg 907>;
419f51746adSGeert Uytterhoeven		};
420f51746adSGeert Uytterhoeven
421f51746adSGeert Uytterhoeven		gpio6: gpio@e6055400 {
422c6ef2b34SGeert Uytterhoeven			compatible = "renesas,gpio-r8a77961",
423c6ef2b34SGeert Uytterhoeven				     "renesas,rcar-gen3-gpio";
424f51746adSGeert Uytterhoeven			reg = <0 0xe6055400 0 0x50>;
425c6ef2b34SGeert Uytterhoeven			interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
426f51746adSGeert Uytterhoeven			#gpio-cells = <2>;
427f51746adSGeert Uytterhoeven			gpio-controller;
428c6ef2b34SGeert Uytterhoeven			gpio-ranges = <&pfc 0 192 32>;
429f51746adSGeert Uytterhoeven			#interrupt-cells = <2>;
430f51746adSGeert Uytterhoeven			interrupt-controller;
431c6ef2b34SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 906>;
432c6ef2b34SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
433c6ef2b34SGeert Uytterhoeven			resets = <&cpg 906>;
434c6ef2b34SGeert Uytterhoeven		};
435c6ef2b34SGeert Uytterhoeven
436c6ef2b34SGeert Uytterhoeven		gpio7: gpio@e6055800 {
437c6ef2b34SGeert Uytterhoeven			compatible = "renesas,gpio-r8a77961",
438c6ef2b34SGeert Uytterhoeven				     "renesas,rcar-gen3-gpio";
439c6ef2b34SGeert Uytterhoeven			reg = <0 0xe6055800 0 0x50>;
440c6ef2b34SGeert Uytterhoeven			interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
441c6ef2b34SGeert Uytterhoeven			#gpio-cells = <2>;
442c6ef2b34SGeert Uytterhoeven			gpio-controller;
443c6ef2b34SGeert Uytterhoeven			gpio-ranges = <&pfc 0 224 4>;
444c6ef2b34SGeert Uytterhoeven			#interrupt-cells = <2>;
445c6ef2b34SGeert Uytterhoeven			interrupt-controller;
446c6ef2b34SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 905>;
447c6ef2b34SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
448c6ef2b34SGeert Uytterhoeven			resets = <&cpg 905>;
449f51746adSGeert Uytterhoeven		};
450f51746adSGeert Uytterhoeven
451f51746adSGeert Uytterhoeven		pfc: pin-controller@e6060000 {
452f51746adSGeert Uytterhoeven			compatible = "renesas,pfc-r8a77961";
453f51746adSGeert Uytterhoeven			reg = <0 0xe6060000 0 0x50c>;
454f51746adSGeert Uytterhoeven		};
455f51746adSGeert Uytterhoeven
456f51746adSGeert Uytterhoeven		cpg: clock-controller@e6150000 {
457f51746adSGeert Uytterhoeven			compatible = "renesas,r8a77961-cpg-mssr";
458f51746adSGeert Uytterhoeven			reg = <0 0xe6150000 0 0x1000>;
459f51746adSGeert Uytterhoeven			clocks = <&extal_clk>, <&extalr_clk>;
460f51746adSGeert Uytterhoeven			clock-names = "extal", "extalr";
461f51746adSGeert Uytterhoeven			#clock-cells = <2>;
462f51746adSGeert Uytterhoeven			#power-domain-cells = <0>;
463f51746adSGeert Uytterhoeven			#reset-cells = <1>;
464f51746adSGeert Uytterhoeven		};
465f51746adSGeert Uytterhoeven
466f51746adSGeert Uytterhoeven		rst: reset-controller@e6160000 {
467f51746adSGeert Uytterhoeven			compatible = "renesas,r8a77961-rst";
468f51746adSGeert Uytterhoeven			reg = <0 0xe6160000 0 0x0200>;
469f51746adSGeert Uytterhoeven		};
470f51746adSGeert Uytterhoeven
471f51746adSGeert Uytterhoeven		sysc: system-controller@e6180000 {
472f51746adSGeert Uytterhoeven			compatible = "renesas,r8a77961-sysc";
473f51746adSGeert Uytterhoeven			reg = <0 0xe6180000 0 0x0400>;
474f51746adSGeert Uytterhoeven			#power-domain-cells = <1>;
475f51746adSGeert Uytterhoeven		};
476f51746adSGeert Uytterhoeven
47717ab3c3eSGeert Uytterhoeven		tsc: thermal@e6198000 {
47817ab3c3eSGeert Uytterhoeven			compatible = "renesas,r8a77961-thermal";
47917ab3c3eSGeert Uytterhoeven			reg = <0 0xe6198000 0 0x100>,
48017ab3c3eSGeert Uytterhoeven			      <0 0xe61a0000 0 0x100>,
48117ab3c3eSGeert Uytterhoeven			      <0 0xe61a8000 0 0x100>;
48217ab3c3eSGeert Uytterhoeven			interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
48317ab3c3eSGeert Uytterhoeven				     <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
48417ab3c3eSGeert Uytterhoeven				     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
48517ab3c3eSGeert Uytterhoeven			clocks = <&cpg CPG_MOD 522>;
48617ab3c3eSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
48717ab3c3eSGeert Uytterhoeven			resets = <&cpg 522>;
48817ab3c3eSGeert Uytterhoeven			#thermal-sensor-cells = <1>;
48917ab3c3eSGeert Uytterhoeven		};
49017ab3c3eSGeert Uytterhoeven
491f51746adSGeert Uytterhoeven		intc_ex: interrupt-controller@e61c0000 {
492f51746adSGeert Uytterhoeven			#interrupt-cells = <2>;
493f51746adSGeert Uytterhoeven			interrupt-controller;
494f51746adSGeert Uytterhoeven			reg = <0 0xe61c0000 0 0x200>;
495f51746adSGeert Uytterhoeven			/* placeholder */
496f51746adSGeert Uytterhoeven		};
497f51746adSGeert Uytterhoeven
49819d40e55SGeert Uytterhoeven		i2c0: i2c@e6500000 {
49919d40e55SGeert Uytterhoeven			#address-cells = <1>;
50019d40e55SGeert Uytterhoeven			#size-cells = <0>;
50119d40e55SGeert Uytterhoeven			compatible = "renesas,i2c-r8a77961",
50219d40e55SGeert Uytterhoeven				     "renesas,rcar-gen3-i2c";
50319d40e55SGeert Uytterhoeven			reg = <0 0xe6500000 0 0x40>;
50419d40e55SGeert Uytterhoeven			interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
50519d40e55SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 931>;
50619d40e55SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
50719d40e55SGeert Uytterhoeven			resets = <&cpg 931>;
50819d40e55SGeert Uytterhoeven			dmas = <&dmac1 0x91>, <&dmac1 0x90>,
50919d40e55SGeert Uytterhoeven			       <&dmac2 0x91>, <&dmac2 0x90>;
51019d40e55SGeert Uytterhoeven			dma-names = "tx", "rx", "tx", "rx";
51119d40e55SGeert Uytterhoeven			i2c-scl-internal-delay-ns = <110>;
51219d40e55SGeert Uytterhoeven			status = "disabled";
51319d40e55SGeert Uytterhoeven		};
51419d40e55SGeert Uytterhoeven
51519d40e55SGeert Uytterhoeven		i2c1: i2c@e6508000 {
51619d40e55SGeert Uytterhoeven			#address-cells = <1>;
51719d40e55SGeert Uytterhoeven			#size-cells = <0>;
51819d40e55SGeert Uytterhoeven			compatible = "renesas,i2c-r8a77961",
51919d40e55SGeert Uytterhoeven				     "renesas,rcar-gen3-i2c";
52019d40e55SGeert Uytterhoeven			reg = <0 0xe6508000 0 0x40>;
52119d40e55SGeert Uytterhoeven			interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
52219d40e55SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 930>;
52319d40e55SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
52419d40e55SGeert Uytterhoeven			resets = <&cpg 930>;
52519d40e55SGeert Uytterhoeven			dmas = <&dmac1 0x93>, <&dmac1 0x92>,
52619d40e55SGeert Uytterhoeven			       <&dmac2 0x93>, <&dmac2 0x92>;
52719d40e55SGeert Uytterhoeven			dma-names = "tx", "rx", "tx", "rx";
52819d40e55SGeert Uytterhoeven			i2c-scl-internal-delay-ns = <6>;
52919d40e55SGeert Uytterhoeven			status = "disabled";
53019d40e55SGeert Uytterhoeven		};
53119d40e55SGeert Uytterhoeven
532f51746adSGeert Uytterhoeven		i2c2: i2c@e6510000 {
533f51746adSGeert Uytterhoeven			#address-cells = <1>;
534f51746adSGeert Uytterhoeven			#size-cells = <0>;
53519d40e55SGeert Uytterhoeven			compatible = "renesas,i2c-r8a77961",
53619d40e55SGeert Uytterhoeven				     "renesas,rcar-gen3-i2c";
537f51746adSGeert Uytterhoeven			reg = <0 0xe6510000 0 0x40>;
53819d40e55SGeert Uytterhoeven			interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
53919d40e55SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 929>;
54019d40e55SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
54119d40e55SGeert Uytterhoeven			resets = <&cpg 929>;
54219d40e55SGeert Uytterhoeven			dmas = <&dmac1 0x95>, <&dmac1 0x94>,
54319d40e55SGeert Uytterhoeven			       <&dmac2 0x95>, <&dmac2 0x94>;
54419d40e55SGeert Uytterhoeven			dma-names = "tx", "rx", "tx", "rx";
54519d40e55SGeert Uytterhoeven			i2c-scl-internal-delay-ns = <6>;
54619d40e55SGeert Uytterhoeven			status = "disabled";
54719d40e55SGeert Uytterhoeven		};
54819d40e55SGeert Uytterhoeven
54919d40e55SGeert Uytterhoeven		i2c3: i2c@e66d0000 {
55019d40e55SGeert Uytterhoeven			#address-cells = <1>;
55119d40e55SGeert Uytterhoeven			#size-cells = <0>;
55219d40e55SGeert Uytterhoeven			compatible = "renesas,i2c-r8a77961",
55319d40e55SGeert Uytterhoeven				     "renesas,rcar-gen3-i2c";
55419d40e55SGeert Uytterhoeven			reg = <0 0xe66d0000 0 0x40>;
55519d40e55SGeert Uytterhoeven			interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
55619d40e55SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 928>;
55719d40e55SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
55819d40e55SGeert Uytterhoeven			resets = <&cpg 928>;
55919d40e55SGeert Uytterhoeven			dmas = <&dmac0 0x97>, <&dmac0 0x96>;
56019d40e55SGeert Uytterhoeven			dma-names = "tx", "rx";
56119d40e55SGeert Uytterhoeven			i2c-scl-internal-delay-ns = <110>;
56219d40e55SGeert Uytterhoeven			status = "disabled";
563f51746adSGeert Uytterhoeven		};
564f51746adSGeert Uytterhoeven
565f51746adSGeert Uytterhoeven		i2c4: i2c@e66d8000 {
566f51746adSGeert Uytterhoeven			#address-cells = <1>;
567f51746adSGeert Uytterhoeven			#size-cells = <0>;
56819d40e55SGeert Uytterhoeven			compatible = "renesas,i2c-r8a77961",
56919d40e55SGeert Uytterhoeven				     "renesas,rcar-gen3-i2c";
570f51746adSGeert Uytterhoeven			reg = <0 0xe66d8000 0 0x40>;
57119d40e55SGeert Uytterhoeven			interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
57219d40e55SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 927>;
57319d40e55SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
57419d40e55SGeert Uytterhoeven			resets = <&cpg 927>;
57519d40e55SGeert Uytterhoeven			dmas = <&dmac0 0x99>, <&dmac0 0x98>;
57619d40e55SGeert Uytterhoeven			dma-names = "tx", "rx";
57719d40e55SGeert Uytterhoeven			i2c-scl-internal-delay-ns = <110>;
57819d40e55SGeert Uytterhoeven			status = "disabled";
57919d40e55SGeert Uytterhoeven		};
58019d40e55SGeert Uytterhoeven
58119d40e55SGeert Uytterhoeven		i2c5: i2c@e66e0000 {
58219d40e55SGeert Uytterhoeven			#address-cells = <1>;
58319d40e55SGeert Uytterhoeven			#size-cells = <0>;
58419d40e55SGeert Uytterhoeven			compatible = "renesas,i2c-r8a77961",
58519d40e55SGeert Uytterhoeven				     "renesas,rcar-gen3-i2c";
58619d40e55SGeert Uytterhoeven			reg = <0 0xe66e0000 0 0x40>;
58719d40e55SGeert Uytterhoeven			interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
58819d40e55SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 919>;
58919d40e55SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
59019d40e55SGeert Uytterhoeven			resets = <&cpg 919>;
59119d40e55SGeert Uytterhoeven			dmas = <&dmac0 0x9b>, <&dmac0 0x9a>;
59219d40e55SGeert Uytterhoeven			dma-names = "tx", "rx";
59319d40e55SGeert Uytterhoeven			i2c-scl-internal-delay-ns = <110>;
59419d40e55SGeert Uytterhoeven			status = "disabled";
59519d40e55SGeert Uytterhoeven		};
59619d40e55SGeert Uytterhoeven
59719d40e55SGeert Uytterhoeven		i2c6: i2c@e66e8000 {
59819d40e55SGeert Uytterhoeven			#address-cells = <1>;
59919d40e55SGeert Uytterhoeven			#size-cells = <0>;
60019d40e55SGeert Uytterhoeven			compatible = "renesas,i2c-r8a77961",
60119d40e55SGeert Uytterhoeven				     "renesas,rcar-gen3-i2c";
60219d40e55SGeert Uytterhoeven			reg = <0 0xe66e8000 0 0x40>;
60319d40e55SGeert Uytterhoeven			interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
60419d40e55SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 918>;
60519d40e55SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
60619d40e55SGeert Uytterhoeven			resets = <&cpg 918>;
60719d40e55SGeert Uytterhoeven			dmas = <&dmac0 0x9d>, <&dmac0 0x9c>;
60819d40e55SGeert Uytterhoeven			dma-names = "tx", "rx";
60919d40e55SGeert Uytterhoeven			i2c-scl-internal-delay-ns = <6>;
61019d40e55SGeert Uytterhoeven			status = "disabled";
611f51746adSGeert Uytterhoeven		};
612f51746adSGeert Uytterhoeven
613f51746adSGeert Uytterhoeven		i2c_dvfs: i2c@e60b0000 {
614f51746adSGeert Uytterhoeven			#address-cells = <1>;
615f51746adSGeert Uytterhoeven			#size-cells = <0>;
61619d40e55SGeert Uytterhoeven			compatible = "renesas,iic-r8a77961",
61719d40e55SGeert Uytterhoeven				     "renesas,rcar-gen3-iic",
61819d40e55SGeert Uytterhoeven				     "renesas,rmobile-iic";
619f51746adSGeert Uytterhoeven			reg = <0 0xe60b0000 0 0x425>;
62019d40e55SGeert Uytterhoeven			interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
62119d40e55SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 926>;
62219d40e55SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
62319d40e55SGeert Uytterhoeven			resets = <&cpg 926>;
62419d40e55SGeert Uytterhoeven			dmas = <&dmac0 0x11>, <&dmac0 0x10>;
62519d40e55SGeert Uytterhoeven			dma-names = "tx", "rx";
62619d40e55SGeert Uytterhoeven			status = "disabled";
627f51746adSGeert Uytterhoeven		};
628f51746adSGeert Uytterhoeven
62919d40e55SGeert Uytterhoeven
630f51746adSGeert Uytterhoeven		hscif1: serial@e6550000 {
631f51746adSGeert Uytterhoeven			reg = <0 0xe6550000 0 0x60>;
632f51746adSGeert Uytterhoeven			/* placeholder */
633f51746adSGeert Uytterhoeven		};
634f51746adSGeert Uytterhoeven
635f51746adSGeert Uytterhoeven		hsusb: usb@e6590000 {
636f51746adSGeert Uytterhoeven			reg = <0 0xe6590000 0 0x200>;
637f51746adSGeert Uytterhoeven			/* placeholder */
638f51746adSGeert Uytterhoeven		};
639f51746adSGeert Uytterhoeven
640f51746adSGeert Uytterhoeven		usb3_phy0: usb-phy@e65ee000 {
641f51746adSGeert Uytterhoeven			reg = <0 0xe65ee000 0 0x90>;
642f51746adSGeert Uytterhoeven			#phy-cells = <0>;
643f51746adSGeert Uytterhoeven			/* placeholder */
644f51746adSGeert Uytterhoeven		};
645f51746adSGeert Uytterhoeven
646a582013bSGeert Uytterhoeven		arm_cc630p: crypto@e6601000 {
647a582013bSGeert Uytterhoeven			compatible = "arm,cryptocell-630p-ree";
648a582013bSGeert Uytterhoeven			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
649a582013bSGeert Uytterhoeven			reg = <0x0 0xe6601000 0 0x1000>;
650a582013bSGeert Uytterhoeven			clocks = <&cpg CPG_MOD 229>;
651a582013bSGeert Uytterhoeven			resets = <&cpg 229>;
652a582013bSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
653a582013bSGeert Uytterhoeven		};
654a582013bSGeert Uytterhoeven
6558372579dSGeert Uytterhoeven		dmac0: dma-controller@e6700000 {
6568372579dSGeert Uytterhoeven			compatible = "renesas,dmac-r8a77961",
6578372579dSGeert Uytterhoeven				     "renesas,rcar-dmac";
6588372579dSGeert Uytterhoeven			reg = <0 0xe6700000 0 0x10000>;
6598372579dSGeert Uytterhoeven			interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
6608372579dSGeert Uytterhoeven				     <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>,
6618372579dSGeert Uytterhoeven				     <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>,
6628372579dSGeert Uytterhoeven				     <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>,
6638372579dSGeert Uytterhoeven				     <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>,
6648372579dSGeert Uytterhoeven				     <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
6658372579dSGeert Uytterhoeven				     <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>,
6668372579dSGeert Uytterhoeven				     <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>,
6678372579dSGeert Uytterhoeven				     <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
6688372579dSGeert Uytterhoeven				     <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>,
6698372579dSGeert Uytterhoeven				     <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>,
6708372579dSGeert Uytterhoeven				     <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
6718372579dSGeert Uytterhoeven				     <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
6728372579dSGeert Uytterhoeven				     <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>,
6738372579dSGeert Uytterhoeven				     <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>,
6748372579dSGeert Uytterhoeven				     <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>,
6758372579dSGeert Uytterhoeven				     <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
6768372579dSGeert Uytterhoeven			interrupt-names = "error",
6778372579dSGeert Uytterhoeven					"ch0", "ch1", "ch2", "ch3",
6788372579dSGeert Uytterhoeven					"ch4", "ch5", "ch6", "ch7",
6798372579dSGeert Uytterhoeven					"ch8", "ch9", "ch10", "ch11",
6808372579dSGeert Uytterhoeven					"ch12", "ch13", "ch14", "ch15";
6818372579dSGeert Uytterhoeven			clocks = <&cpg CPG_MOD 219>;
6828372579dSGeert Uytterhoeven			clock-names = "fck";
6838372579dSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
6848372579dSGeert Uytterhoeven			resets = <&cpg 219>;
6858372579dSGeert Uytterhoeven			#dma-cells = <1>;
6868372579dSGeert Uytterhoeven			dma-channels = <16>;
6878372579dSGeert Uytterhoeven		};
6888372579dSGeert Uytterhoeven
6898372579dSGeert Uytterhoeven		dmac1: dma-controller@e7300000 {
6908372579dSGeert Uytterhoeven			compatible = "renesas,dmac-r8a77961",
6918372579dSGeert Uytterhoeven				     "renesas,rcar-dmac";
6928372579dSGeert Uytterhoeven			reg = <0 0xe7300000 0 0x10000>;
6938372579dSGeert Uytterhoeven			interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>,
6948372579dSGeert Uytterhoeven				     <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>,
6958372579dSGeert Uytterhoeven				     <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>,
6968372579dSGeert Uytterhoeven				     <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>,
6978372579dSGeert Uytterhoeven				     <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>,
6988372579dSGeert Uytterhoeven				     <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>,
6998372579dSGeert Uytterhoeven				     <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>,
7008372579dSGeert Uytterhoeven				     <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>,
7018372579dSGeert Uytterhoeven				     <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>,
7028372579dSGeert Uytterhoeven				     <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>,
7038372579dSGeert Uytterhoeven				     <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>,
7048372579dSGeert Uytterhoeven				     <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>,
7058372579dSGeert Uytterhoeven				     <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
7068372579dSGeert Uytterhoeven				     <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
7078372579dSGeert Uytterhoeven				     <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
7088372579dSGeert Uytterhoeven				     <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
7098372579dSGeert Uytterhoeven				     <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>;
7108372579dSGeert Uytterhoeven			interrupt-names = "error",
7118372579dSGeert Uytterhoeven					"ch0", "ch1", "ch2", "ch3",
7128372579dSGeert Uytterhoeven					"ch4", "ch5", "ch6", "ch7",
7138372579dSGeert Uytterhoeven					"ch8", "ch9", "ch10", "ch11",
7148372579dSGeert Uytterhoeven					"ch12", "ch13", "ch14", "ch15";
7158372579dSGeert Uytterhoeven			clocks = <&cpg CPG_MOD 218>;
7168372579dSGeert Uytterhoeven			clock-names = "fck";
7178372579dSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
7188372579dSGeert Uytterhoeven			resets = <&cpg 218>;
7198372579dSGeert Uytterhoeven			#dma-cells = <1>;
7208372579dSGeert Uytterhoeven			dma-channels = <16>;
7218372579dSGeert Uytterhoeven		};
7228372579dSGeert Uytterhoeven
7238372579dSGeert Uytterhoeven		dmac2: dma-controller@e7310000 {
7248372579dSGeert Uytterhoeven			compatible = "renesas,dmac-r8a77961",
7258372579dSGeert Uytterhoeven				     "renesas,rcar-dmac";
7268372579dSGeert Uytterhoeven			reg = <0 0xe7310000 0 0x10000>;
7278372579dSGeert Uytterhoeven			interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
7288372579dSGeert Uytterhoeven				     <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
7298372579dSGeert Uytterhoeven				     <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
7308372579dSGeert Uytterhoeven				     <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
7318372579dSGeert Uytterhoeven				     <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
7328372579dSGeert Uytterhoeven				     <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
7338372579dSGeert Uytterhoeven				     <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
7348372579dSGeert Uytterhoeven				     <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
7358372579dSGeert Uytterhoeven				     <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
7368372579dSGeert Uytterhoeven				     <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>,
7378372579dSGeert Uytterhoeven				     <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH>,
7388372579dSGeert Uytterhoeven				     <GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH>,
7398372579dSGeert Uytterhoeven				     <GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH>,
7408372579dSGeert Uytterhoeven				     <GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH>,
7418372579dSGeert Uytterhoeven				     <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>,
7428372579dSGeert Uytterhoeven				     <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH>,
7438372579dSGeert Uytterhoeven				     <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>;
7448372579dSGeert Uytterhoeven			interrupt-names = "error",
7458372579dSGeert Uytterhoeven					"ch0", "ch1", "ch2", "ch3",
7468372579dSGeert Uytterhoeven					"ch4", "ch5", "ch6", "ch7",
7478372579dSGeert Uytterhoeven					"ch8", "ch9", "ch10", "ch11",
7488372579dSGeert Uytterhoeven					"ch12", "ch13", "ch14", "ch15";
7498372579dSGeert Uytterhoeven			clocks = <&cpg CPG_MOD 217>;
7508372579dSGeert Uytterhoeven			clock-names = "fck";
7518372579dSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
7528372579dSGeert Uytterhoeven			resets = <&cpg 217>;
7538372579dSGeert Uytterhoeven			#dma-cells = <1>;
7548372579dSGeert Uytterhoeven			dma-channels = <16>;
7558372579dSGeert Uytterhoeven		};
7568372579dSGeert Uytterhoeven
757f51746adSGeert Uytterhoeven		avb: ethernet@e6800000 {
7589ccf74a9SGeert Uytterhoeven			compatible = "renesas,etheravb-r8a77961",
7599ccf74a9SGeert Uytterhoeven				     "renesas,etheravb-rcar-gen3";
760f51746adSGeert Uytterhoeven			reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>;
7619ccf74a9SGeert Uytterhoeven			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
7629ccf74a9SGeert Uytterhoeven				     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
7639ccf74a9SGeert Uytterhoeven				     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
7649ccf74a9SGeert Uytterhoeven				     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
7659ccf74a9SGeert Uytterhoeven				     <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
7669ccf74a9SGeert Uytterhoeven				     <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
7679ccf74a9SGeert Uytterhoeven				     <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
7689ccf74a9SGeert Uytterhoeven				     <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
7699ccf74a9SGeert Uytterhoeven				     <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
7709ccf74a9SGeert Uytterhoeven				     <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
7719ccf74a9SGeert Uytterhoeven				     <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
7729ccf74a9SGeert Uytterhoeven				     <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
7739ccf74a9SGeert Uytterhoeven				     <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
7749ccf74a9SGeert Uytterhoeven				     <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
7759ccf74a9SGeert Uytterhoeven				     <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
7769ccf74a9SGeert Uytterhoeven				     <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
7779ccf74a9SGeert Uytterhoeven				     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
7789ccf74a9SGeert Uytterhoeven				     <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
7799ccf74a9SGeert Uytterhoeven				     <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
7809ccf74a9SGeert Uytterhoeven				     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
7819ccf74a9SGeert Uytterhoeven				     <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
7829ccf74a9SGeert Uytterhoeven				     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
7839ccf74a9SGeert Uytterhoeven				     <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
7849ccf74a9SGeert Uytterhoeven				     <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
7859ccf74a9SGeert Uytterhoeven				     <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
7869ccf74a9SGeert Uytterhoeven			interrupt-names = "ch0", "ch1", "ch2", "ch3",
7879ccf74a9SGeert Uytterhoeven					  "ch4", "ch5", "ch6", "ch7",
7889ccf74a9SGeert Uytterhoeven					  "ch8", "ch9", "ch10", "ch11",
7899ccf74a9SGeert Uytterhoeven					  "ch12", "ch13", "ch14", "ch15",
7909ccf74a9SGeert Uytterhoeven					  "ch16", "ch17", "ch18", "ch19",
7919ccf74a9SGeert Uytterhoeven					  "ch20", "ch21", "ch22", "ch23",
7929ccf74a9SGeert Uytterhoeven					  "ch24";
7939ccf74a9SGeert Uytterhoeven			clocks = <&cpg CPG_MOD 812>;
7949ccf74a9SGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
7959ccf74a9SGeert Uytterhoeven			resets = <&cpg 812>;
7969ccf74a9SGeert Uytterhoeven			phy-mode = "rgmii";
797f51746adSGeert Uytterhoeven			#address-cells = <1>;
798f51746adSGeert Uytterhoeven			#size-cells = <0>;
7999ccf74a9SGeert Uytterhoeven			status = "disabled";
800f51746adSGeert Uytterhoeven		};
801f51746adSGeert Uytterhoeven
802f51746adSGeert Uytterhoeven		pwm1: pwm@e6e31000 {
803f51746adSGeert Uytterhoeven			reg = <0 0xe6e31000 0 8>;
804f51746adSGeert Uytterhoeven			#pwm-cells = <2>;
805f51746adSGeert Uytterhoeven			/* placeholder */
806f51746adSGeert Uytterhoeven		};
807f51746adSGeert Uytterhoeven
808f51746adSGeert Uytterhoeven		scif1: serial@e6e68000 {
809f51746adSGeert Uytterhoeven			reg = <0 0xe6e68000 0 64>;
810f51746adSGeert Uytterhoeven			/* placeholder */
811f51746adSGeert Uytterhoeven		};
812f51746adSGeert Uytterhoeven
813f51746adSGeert Uytterhoeven		scif2: serial@e6e88000 {
814f51746adSGeert Uytterhoeven			compatible = "renesas,scif-r8a77961",
815f51746adSGeert Uytterhoeven				     "renesas,rcar-gen3-scif", "renesas,scif";
816f51746adSGeert Uytterhoeven			reg = <0 0xe6e88000 0 64>;
817f51746adSGeert Uytterhoeven			interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
818f51746adSGeert Uytterhoeven			clocks = <&cpg CPG_MOD 310>,
819f51746adSGeert Uytterhoeven				 <&cpg CPG_CORE R8A77961_CLK_S3D1>,
820f51746adSGeert Uytterhoeven				 <&scif_clk>;
821f51746adSGeert Uytterhoeven			clock-names = "fck", "brg_int", "scif_clk";
822f51746adSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
823f51746adSGeert Uytterhoeven			resets = <&cpg 310>;
824f51746adSGeert Uytterhoeven			status = "disabled";
825f51746adSGeert Uytterhoeven		};
826f51746adSGeert Uytterhoeven
827f51746adSGeert Uytterhoeven		vin0: video@e6ef0000 {
828f51746adSGeert Uytterhoeven			reg = <0 0xe6ef0000 0 0x1000>;
829f51746adSGeert Uytterhoeven			/* placeholder */
830f51746adSGeert Uytterhoeven		};
831f51746adSGeert Uytterhoeven
832f51746adSGeert Uytterhoeven		vin1: video@e6ef1000 {
833f51746adSGeert Uytterhoeven			reg = <0 0xe6ef1000 0 0x1000>;
834f51746adSGeert Uytterhoeven			/* placeholder */
835f51746adSGeert Uytterhoeven		};
836f51746adSGeert Uytterhoeven
837f51746adSGeert Uytterhoeven		vin2: video@e6ef2000 {
838f51746adSGeert Uytterhoeven			reg = <0 0xe6ef2000 0 0x1000>;
839f51746adSGeert Uytterhoeven			/* placeholder */
840f51746adSGeert Uytterhoeven		};
841f51746adSGeert Uytterhoeven
842f51746adSGeert Uytterhoeven		vin3: video@e6ef3000 {
843f51746adSGeert Uytterhoeven			reg = <0 0xe6ef3000 0 0x1000>;
844f51746adSGeert Uytterhoeven			/* placeholder */
845f51746adSGeert Uytterhoeven		};
846f51746adSGeert Uytterhoeven
847f51746adSGeert Uytterhoeven		vin4: video@e6ef4000 {
848f51746adSGeert Uytterhoeven			reg = <0 0xe6ef4000 0 0x1000>;
849f51746adSGeert Uytterhoeven			/* placeholder */
850f51746adSGeert Uytterhoeven		};
851f51746adSGeert Uytterhoeven
852f51746adSGeert Uytterhoeven		vin5: video@e6ef5000 {
853f51746adSGeert Uytterhoeven			reg = <0 0xe6ef5000 0 0x1000>;
854f51746adSGeert Uytterhoeven			/* placeholder */
855f51746adSGeert Uytterhoeven		};
856f51746adSGeert Uytterhoeven
857f51746adSGeert Uytterhoeven		vin6: video@e6ef6000 {
858f51746adSGeert Uytterhoeven			reg = <0 0xe6ef6000 0 0x1000>;
859f51746adSGeert Uytterhoeven			/* placeholder */
860f51746adSGeert Uytterhoeven		};
861f51746adSGeert Uytterhoeven
862f51746adSGeert Uytterhoeven		vin7: video@e6ef7000 {
863f51746adSGeert Uytterhoeven			reg = <0 0xe6ef7000 0 0x1000>;
864f51746adSGeert Uytterhoeven			/* placeholder */
865f51746adSGeert Uytterhoeven		};
866f51746adSGeert Uytterhoeven
867f51746adSGeert Uytterhoeven		rcar_sound: sound@ec500000 {
868f51746adSGeert Uytterhoeven			reg = <0 0xec500000 0 0x1000>, /* SCU */
869f51746adSGeert Uytterhoeven			      <0 0xec5a0000 0 0x100>,  /* ADG */
870f51746adSGeert Uytterhoeven			      <0 0xec540000 0 0x1000>, /* SSIU */
871f51746adSGeert Uytterhoeven			      <0 0xec541000 0 0x280>,  /* SSI */
872f51746adSGeert Uytterhoeven			      <0 0xec760000 0 0x200>;  /* Audio DMAC peri peri*/
873f51746adSGeert Uytterhoeven			/* placeholder */
874f51746adSGeert Uytterhoeven			rcar_sound,dvc {
875f51746adSGeert Uytterhoeven				dvc0: dvc-0 { };
876f51746adSGeert Uytterhoeven				dvc1: dvc-1 { };
877f51746adSGeert Uytterhoeven			};
878f51746adSGeert Uytterhoeven
879f51746adSGeert Uytterhoeven			rcar_sound,src {
880f51746adSGeert Uytterhoeven				src0: src-0 { };
881f51746adSGeert Uytterhoeven				src1: src-1 { };
882f51746adSGeert Uytterhoeven			};
883f51746adSGeert Uytterhoeven
884f51746adSGeert Uytterhoeven			rcar_sound,ssi {
885f51746adSGeert Uytterhoeven				ssi0: ssi-0 { };
886f51746adSGeert Uytterhoeven				ssi1: ssi-1 { };
88742afeb28SYuya Hamamachi				ssi2: ssi-2 { };
888f51746adSGeert Uytterhoeven			};
889f51746adSGeert Uytterhoeven		};
890f51746adSGeert Uytterhoeven
891f51746adSGeert Uytterhoeven		xhci0: usb@ee000000 {
892f51746adSGeert Uytterhoeven			reg = <0 0xee000000 0 0xc00>;
893f51746adSGeert Uytterhoeven			/* placeholder */
894f51746adSGeert Uytterhoeven		};
895f51746adSGeert Uytterhoeven
896f51746adSGeert Uytterhoeven		usb3_peri0: usb@ee020000 {
897f51746adSGeert Uytterhoeven			reg = <0 0xee020000 0 0x400>;
898f51746adSGeert Uytterhoeven			/* placeholder */
899f51746adSGeert Uytterhoeven		};
900f51746adSGeert Uytterhoeven
901f51746adSGeert Uytterhoeven		ohci0: usb@ee080000 {
902f51746adSGeert Uytterhoeven			reg = <0 0xee080000 0 0x100>;
903f51746adSGeert Uytterhoeven			/* placeholder */
904f51746adSGeert Uytterhoeven		};
905f51746adSGeert Uytterhoeven
906f51746adSGeert Uytterhoeven		ohci1: usb@ee0a0000 {
907f51746adSGeert Uytterhoeven			reg = <0 0xee0a0000 0 0x100>;
908f51746adSGeert Uytterhoeven			/* placeholder */
909f51746adSGeert Uytterhoeven		};
910f51746adSGeert Uytterhoeven
911f51746adSGeert Uytterhoeven		ehci0: usb@ee080100 {
912f51746adSGeert Uytterhoeven			reg = <0 0xee080100 0 0x100>;
913f51746adSGeert Uytterhoeven			/* placeholder */
914f51746adSGeert Uytterhoeven		};
915f51746adSGeert Uytterhoeven
916f51746adSGeert Uytterhoeven		ehci1: usb@ee0a0100 {
917f51746adSGeert Uytterhoeven			reg = <0 0xee0a0100 0 0x100>;
918f51746adSGeert Uytterhoeven			/* placeholder */
919f51746adSGeert Uytterhoeven		};
920f51746adSGeert Uytterhoeven
921f51746adSGeert Uytterhoeven		usb2_phy0: usb-phy@ee080200 {
922f51746adSGeert Uytterhoeven			reg = <0 0xee080200 0 0x700>;
923f51746adSGeert Uytterhoeven			/* placeholder */
924f51746adSGeert Uytterhoeven		};
925f51746adSGeert Uytterhoeven
926f51746adSGeert Uytterhoeven		usb2_phy1: usb-phy@ee0a0200 {
927f51746adSGeert Uytterhoeven			reg = <0 0xee0a0200 0 0x700>;
928f51746adSGeert Uytterhoeven			/* placeholder */
929f51746adSGeert Uytterhoeven		};
930f51746adSGeert Uytterhoeven
931f51746adSGeert Uytterhoeven		sdhi0: sd@ee100000 {
932111cc9acSGeert Uytterhoeven			compatible = "renesas,sdhi-r8a77961",
933111cc9acSGeert Uytterhoeven				     "renesas,rcar-gen3-sdhi";
934f51746adSGeert Uytterhoeven			reg = <0 0xee100000 0 0x2000>;
935111cc9acSGeert Uytterhoeven			interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
936111cc9acSGeert Uytterhoeven			clocks = <&cpg CPG_MOD 314>;
937111cc9acSGeert Uytterhoeven			max-frequency = <200000000>;
938111cc9acSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
939111cc9acSGeert Uytterhoeven			resets = <&cpg 314>;
940111cc9acSGeert Uytterhoeven			status = "disabled";
941111cc9acSGeert Uytterhoeven		};
942111cc9acSGeert Uytterhoeven
943111cc9acSGeert Uytterhoeven		sdhi1: sd@ee120000 {
944111cc9acSGeert Uytterhoeven			compatible = "renesas,sdhi-r8a77961",
945111cc9acSGeert Uytterhoeven				     "renesas,rcar-gen3-sdhi";
946111cc9acSGeert Uytterhoeven			reg = <0 0xee120000 0 0x2000>;
947111cc9acSGeert Uytterhoeven			interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
948111cc9acSGeert Uytterhoeven			clocks = <&cpg CPG_MOD 313>;
949111cc9acSGeert Uytterhoeven			max-frequency = <200000000>;
950111cc9acSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
951111cc9acSGeert Uytterhoeven			resets = <&cpg 313>;
952111cc9acSGeert Uytterhoeven			status = "disabled";
953f51746adSGeert Uytterhoeven		};
954f51746adSGeert Uytterhoeven
955f51746adSGeert Uytterhoeven		sdhi2: sd@ee140000 {
956111cc9acSGeert Uytterhoeven			compatible = "renesas,sdhi-r8a77961",
957111cc9acSGeert Uytterhoeven				     "renesas,rcar-gen3-sdhi";
958f51746adSGeert Uytterhoeven			reg = <0 0xee140000 0 0x2000>;
959111cc9acSGeert Uytterhoeven			interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
960111cc9acSGeert Uytterhoeven			clocks = <&cpg CPG_MOD 312>;
961111cc9acSGeert Uytterhoeven			max-frequency = <200000000>;
962111cc9acSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
963111cc9acSGeert Uytterhoeven			resets = <&cpg 312>;
964111cc9acSGeert Uytterhoeven			status = "disabled";
965f51746adSGeert Uytterhoeven		};
966f51746adSGeert Uytterhoeven
967f51746adSGeert Uytterhoeven		sdhi3: sd@ee160000 {
968111cc9acSGeert Uytterhoeven			compatible = "renesas,sdhi-r8a77961",
969111cc9acSGeert Uytterhoeven				     "renesas,rcar-gen3-sdhi";
970f51746adSGeert Uytterhoeven			reg = <0 0xee160000 0 0x2000>;
971111cc9acSGeert Uytterhoeven			interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
972111cc9acSGeert Uytterhoeven			clocks = <&cpg CPG_MOD 311>;
973111cc9acSGeert Uytterhoeven			max-frequency = <200000000>;
974111cc9acSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
975111cc9acSGeert Uytterhoeven			resets = <&cpg 311>;
976111cc9acSGeert Uytterhoeven			status = "disabled";
977f51746adSGeert Uytterhoeven		};
978f51746adSGeert Uytterhoeven
979f51746adSGeert Uytterhoeven		gic: interrupt-controller@f1010000 {
980f51746adSGeert Uytterhoeven			compatible = "arm,gic-400";
981f51746adSGeert Uytterhoeven			#interrupt-cells = <3>;
982f51746adSGeert Uytterhoeven			#address-cells = <0>;
983f51746adSGeert Uytterhoeven			interrupt-controller;
984f51746adSGeert Uytterhoeven			reg = <0x0 0xf1010000 0 0x1000>,
985f51746adSGeert Uytterhoeven			      <0x0 0xf1020000 0 0x20000>,
986f51746adSGeert Uytterhoeven			      <0x0 0xf1040000 0 0x20000>,
987f51746adSGeert Uytterhoeven			      <0x0 0xf1060000 0 0x20000>;
988f51746adSGeert Uytterhoeven			interrupts = <GIC_PPI 9
989f51746adSGeert Uytterhoeven					(GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>;
990f51746adSGeert Uytterhoeven			clocks = <&cpg CPG_MOD 408>;
991f51746adSGeert Uytterhoeven			clock-names = "clk";
992f51746adSGeert Uytterhoeven			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
993f51746adSGeert Uytterhoeven			resets = <&cpg 408>;
994f51746adSGeert Uytterhoeven		};
995f51746adSGeert Uytterhoeven
996f51746adSGeert Uytterhoeven		pciec0: pcie@fe000000 {
997f51746adSGeert Uytterhoeven			reg = <0 0xfe000000 0 0x80000>;
998f51746adSGeert Uytterhoeven			/* placeholder */
999f51746adSGeert Uytterhoeven		};
1000f51746adSGeert Uytterhoeven
1001f51746adSGeert Uytterhoeven		pciec1: pcie@ee800000 {
1002f51746adSGeert Uytterhoeven			reg = <0 0xee800000 0 0x80000>;
1003f51746adSGeert Uytterhoeven			/* placeholder */
1004f51746adSGeert Uytterhoeven		};
1005f51746adSGeert Uytterhoeven
1006f51746adSGeert Uytterhoeven		csi20: csi2@fea80000 {
1007f51746adSGeert Uytterhoeven			reg = <0 0xfea80000 0 0x10000>;
1008f51746adSGeert Uytterhoeven			/* placeholder */
1009f51746adSGeert Uytterhoeven
1010f51746adSGeert Uytterhoeven			ports {
1011f51746adSGeert Uytterhoeven				#address-cells = <1>;
1012f51746adSGeert Uytterhoeven				#size-cells = <0>;
1013f51746adSGeert Uytterhoeven
1014f51746adSGeert Uytterhoeven				port@1 {
1015f51746adSGeert Uytterhoeven					#address-cells = <1>;
1016f51746adSGeert Uytterhoeven					#size-cells = <0>;
1017f51746adSGeert Uytterhoeven					reg = <1>;
1018f51746adSGeert Uytterhoeven				};
1019f51746adSGeert Uytterhoeven			};
1020f51746adSGeert Uytterhoeven		};
1021f51746adSGeert Uytterhoeven
1022f51746adSGeert Uytterhoeven		csi40: csi2@feaa0000 {
1023f51746adSGeert Uytterhoeven			reg = <0 0xfeaa0000 0 0x10000>;
1024f51746adSGeert Uytterhoeven			/* placeholder */
1025f51746adSGeert Uytterhoeven
1026f51746adSGeert Uytterhoeven			ports {
1027f51746adSGeert Uytterhoeven				#address-cells = <1>;
1028f51746adSGeert Uytterhoeven				#size-cells = <0>;
1029f51746adSGeert Uytterhoeven
1030f51746adSGeert Uytterhoeven				port@1 {
1031f51746adSGeert Uytterhoeven					#address-cells = <1>;
1032f51746adSGeert Uytterhoeven					#size-cells = <0>;
1033f51746adSGeert Uytterhoeven
1034f51746adSGeert Uytterhoeven					reg = <1>;
1035f51746adSGeert Uytterhoeven				};
1036f51746adSGeert Uytterhoeven			};
1037f51746adSGeert Uytterhoeven		};
1038f51746adSGeert Uytterhoeven
1039f51746adSGeert Uytterhoeven		hdmi0: hdmi@fead0000 {
1040f51746adSGeert Uytterhoeven			reg = <0 0xfead0000 0 0x10000>;
1041f51746adSGeert Uytterhoeven			/* placeholder */
1042f51746adSGeert Uytterhoeven
1043f51746adSGeert Uytterhoeven			ports {
1044f51746adSGeert Uytterhoeven				#address-cells = <1>;
1045f51746adSGeert Uytterhoeven				#size-cells = <0>;
1046f51746adSGeert Uytterhoeven				port@0 {
1047f51746adSGeert Uytterhoeven					reg = <0>;
1048f51746adSGeert Uytterhoeven				};
1049f51746adSGeert Uytterhoeven				port@1 {
1050f51746adSGeert Uytterhoeven					reg = <1>;
1051f51746adSGeert Uytterhoeven				};
1052f51746adSGeert Uytterhoeven				port@2 {
1053f51746adSGeert Uytterhoeven					/* HDMI sound */
1054f51746adSGeert Uytterhoeven					reg = <2>;
1055f51746adSGeert Uytterhoeven				};
1056f51746adSGeert Uytterhoeven			};
1057f51746adSGeert Uytterhoeven		};
1058f51746adSGeert Uytterhoeven
1059f51746adSGeert Uytterhoeven		du: display@feb00000 {
1060f51746adSGeert Uytterhoeven			reg = <0 0xfeb00000 0 0x70000>;
1061f51746adSGeert Uytterhoeven			/* placeholder */
1062f51746adSGeert Uytterhoeven
1063f51746adSGeert Uytterhoeven			ports {
1064f51746adSGeert Uytterhoeven				#address-cells = <1>;
1065f51746adSGeert Uytterhoeven				#size-cells = <0>;
1066f51746adSGeert Uytterhoeven
1067f51746adSGeert Uytterhoeven				port@0 {
1068f51746adSGeert Uytterhoeven					reg = <0>;
1069f51746adSGeert Uytterhoeven					du_out_rgb: endpoint {
1070f51746adSGeert Uytterhoeven					};
1071f51746adSGeert Uytterhoeven				};
1072f51746adSGeert Uytterhoeven				port@1 {
1073f51746adSGeert Uytterhoeven					reg = <1>;
1074f51746adSGeert Uytterhoeven					du_out_hdmi0: endpoint {
1075f51746adSGeert Uytterhoeven					};
1076f51746adSGeert Uytterhoeven				};
1077f51746adSGeert Uytterhoeven				port@2 {
1078f51746adSGeert Uytterhoeven					reg = <2>;
1079f51746adSGeert Uytterhoeven					du_out_lvds0: endpoint {
1080f51746adSGeert Uytterhoeven					};
1081f51746adSGeert Uytterhoeven				};
1082f51746adSGeert Uytterhoeven			};
1083f51746adSGeert Uytterhoeven		};
1084f51746adSGeert Uytterhoeven
1085f51746adSGeert Uytterhoeven		prr: chipid@fff00044 {
1086f51746adSGeert Uytterhoeven			compatible = "renesas,prr";
1087f51746adSGeert Uytterhoeven			reg = <0 0xfff00044 0 4>;
1088f51746adSGeert Uytterhoeven		};
1089f51746adSGeert Uytterhoeven	};
1090f51746adSGeert Uytterhoeven
109117ab3c3eSGeert Uytterhoeven	thermal-zones {
109217ab3c3eSGeert Uytterhoeven		sensor_thermal1: sensor-thermal1 {
109317ab3c3eSGeert Uytterhoeven			polling-delay-passive = <250>;
109417ab3c3eSGeert Uytterhoeven			polling-delay = <1000>;
109517ab3c3eSGeert Uytterhoeven			thermal-sensors = <&tsc 0>;
109617ab3c3eSGeert Uytterhoeven			sustainable-power = <3874>;
109717ab3c3eSGeert Uytterhoeven
109817ab3c3eSGeert Uytterhoeven			trips {
109917ab3c3eSGeert Uytterhoeven				sensor1_crit: sensor1-crit {
110017ab3c3eSGeert Uytterhoeven					temperature = <120000>;
110117ab3c3eSGeert Uytterhoeven					hysteresis = <1000>;
110217ab3c3eSGeert Uytterhoeven					type = "critical";
110317ab3c3eSGeert Uytterhoeven				};
110417ab3c3eSGeert Uytterhoeven			};
110517ab3c3eSGeert Uytterhoeven		};
110617ab3c3eSGeert Uytterhoeven
110717ab3c3eSGeert Uytterhoeven		sensor_thermal2: sensor-thermal2 {
110817ab3c3eSGeert Uytterhoeven			polling-delay-passive = <250>;
110917ab3c3eSGeert Uytterhoeven			polling-delay = <1000>;
111017ab3c3eSGeert Uytterhoeven			thermal-sensors = <&tsc 1>;
111117ab3c3eSGeert Uytterhoeven			sustainable-power = <3874>;
111217ab3c3eSGeert Uytterhoeven
111317ab3c3eSGeert Uytterhoeven			trips {
111417ab3c3eSGeert Uytterhoeven				sensor2_crit: sensor2-crit {
111517ab3c3eSGeert Uytterhoeven					temperature = <120000>;
111617ab3c3eSGeert Uytterhoeven					hysteresis = <1000>;
111717ab3c3eSGeert Uytterhoeven					type = "critical";
111817ab3c3eSGeert Uytterhoeven				};
111917ab3c3eSGeert Uytterhoeven			};
112017ab3c3eSGeert Uytterhoeven		};
112117ab3c3eSGeert Uytterhoeven
112217ab3c3eSGeert Uytterhoeven		sensor_thermal3: sensor-thermal3 {
112317ab3c3eSGeert Uytterhoeven			polling-delay-passive = <250>;
112417ab3c3eSGeert Uytterhoeven			polling-delay = <1000>;
112517ab3c3eSGeert Uytterhoeven			thermal-sensors = <&tsc 2>;
112617ab3c3eSGeert Uytterhoeven			sustainable-power = <3874>;
112717ab3c3eSGeert Uytterhoeven
112817ab3c3eSGeert Uytterhoeven			cooling-maps {
112917ab3c3eSGeert Uytterhoeven				map0 {
113017ab3c3eSGeert Uytterhoeven					trip = <&target>;
113117ab3c3eSGeert Uytterhoeven					cooling-device = <&a57_0 2 4>;
113217ab3c3eSGeert Uytterhoeven					contribution = <1024>;
113317ab3c3eSGeert Uytterhoeven				};
113417ab3c3eSGeert Uytterhoeven				map1 {
113517ab3c3eSGeert Uytterhoeven					trip = <&target>;
113617ab3c3eSGeert Uytterhoeven					cooling-device = <&a53_0 0 2>;
113717ab3c3eSGeert Uytterhoeven					contribution = <1024>;
113817ab3c3eSGeert Uytterhoeven				};
113917ab3c3eSGeert Uytterhoeven			};
114017ab3c3eSGeert Uytterhoeven			trips {
114117ab3c3eSGeert Uytterhoeven				target: trip-point1 {
114217ab3c3eSGeert Uytterhoeven					temperature = <100000>;
114317ab3c3eSGeert Uytterhoeven					hysteresis = <1000>;
114417ab3c3eSGeert Uytterhoeven					type = "passive";
114517ab3c3eSGeert Uytterhoeven				};
114617ab3c3eSGeert Uytterhoeven
114717ab3c3eSGeert Uytterhoeven				sensor3_crit: sensor3-crit {
114817ab3c3eSGeert Uytterhoeven					temperature = <120000>;
114917ab3c3eSGeert Uytterhoeven					hysteresis = <1000>;
115017ab3c3eSGeert Uytterhoeven					type = "critical";
115117ab3c3eSGeert Uytterhoeven				};
115217ab3c3eSGeert Uytterhoeven			};
115317ab3c3eSGeert Uytterhoeven		};
115417ab3c3eSGeert Uytterhoeven	};
115517ab3c3eSGeert Uytterhoeven
1156f51746adSGeert Uytterhoeven	timer {
1157f51746adSGeert Uytterhoeven		compatible = "arm,armv8-timer";
1158f51746adSGeert Uytterhoeven		interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
1159f51746adSGeert Uytterhoeven				      <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
1160f51746adSGeert Uytterhoeven				      <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
1161f51746adSGeert Uytterhoeven				      <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
1162f51746adSGeert Uytterhoeven	};
1163f51746adSGeert Uytterhoeven
1164f51746adSGeert Uytterhoeven	/* External USB clocks - can be overridden by the board */
1165f51746adSGeert Uytterhoeven	usb3s0_clk: usb3s0 {
1166f51746adSGeert Uytterhoeven		compatible = "fixed-clock";
1167f51746adSGeert Uytterhoeven		#clock-cells = <0>;
1168f51746adSGeert Uytterhoeven		clock-frequency = <0>;
1169f51746adSGeert Uytterhoeven	};
1170f51746adSGeert Uytterhoeven
1171f51746adSGeert Uytterhoeven	usb_extal_clk: usb_extal {
1172f51746adSGeert Uytterhoeven		compatible = "fixed-clock";
1173f51746adSGeert Uytterhoeven		#clock-cells = <0>;
1174f51746adSGeert Uytterhoeven		clock-frequency = <0>;
1175f51746adSGeert Uytterhoeven	};
1176f51746adSGeert Uytterhoeven};
1177