xref: /linux/arch/arm64/boot/dts/renesas/r8a774a1.dtsi (revision 426f0b95af0dfe4f33db6c5ef0a64b1ddcd27053)
190493b09SBiju Das// SPDX-License-Identifier: GPL-2.0
290493b09SBiju Das/*
390493b09SBiju Das * Device Tree Source for the r8a774a1 SoC
490493b09SBiju Das *
590493b09SBiju Das * Copyright (C) 2018 Renesas Electronics Corp.
690493b09SBiju Das */
790493b09SBiju Das
890493b09SBiju Das#include <dt-bindings/interrupt-controller/irq.h>
990493b09SBiju Das#include <dt-bindings/interrupt-controller/arm-gic.h>
1090493b09SBiju Das#include <dt-bindings/clock/renesas-cpg-mssr.h>
1190493b09SBiju Das
1290493b09SBiju Das/ {
1390493b09SBiju Das	compatible = "renesas,r8a774a1";
1490493b09SBiju Das	#address-cells = <2>;
1590493b09SBiju Das	#size-cells = <2>;
1690493b09SBiju Das
1790493b09SBiju Das	/*
1890493b09SBiju Das	 * The external audio clocks are configured as 0 Hz fixed frequency
1990493b09SBiju Das	 * clocks by default.
2090493b09SBiju Das	 * Boards that provide audio clocks should override them.
2190493b09SBiju Das	 */
2290493b09SBiju Das	audio_clk_a: audio_clk_a {
2390493b09SBiju Das		compatible = "fixed-clock";
2490493b09SBiju Das		#clock-cells = <0>;
2590493b09SBiju Das		clock-frequency = <0>;
2690493b09SBiju Das	};
2790493b09SBiju Das
2890493b09SBiju Das	audio_clk_b: audio_clk_b {
2990493b09SBiju Das		compatible = "fixed-clock";
3090493b09SBiju Das		#clock-cells = <0>;
3190493b09SBiju Das		clock-frequency = <0>;
3290493b09SBiju Das	};
3390493b09SBiju Das
3490493b09SBiju Das	audio_clk_c: audio_clk_c {
3590493b09SBiju Das		compatible = "fixed-clock";
3690493b09SBiju Das		#clock-cells = <0>;
3790493b09SBiju Das		clock-frequency = <0>;
3890493b09SBiju Das	};
3990493b09SBiju Das
4090493b09SBiju Das	/* External CAN clock - to be overridden by boards that provide it */
4190493b09SBiju Das	can_clk: can {
4290493b09SBiju Das		compatible = "fixed-clock";
4390493b09SBiju Das		#clock-cells = <0>;
4490493b09SBiju Das		clock-frequency = <0>;
4590493b09SBiju Das	};
4690493b09SBiju Das
4790493b09SBiju Das	cpus {
4890493b09SBiju Das		#address-cells = <1>;
4990493b09SBiju Das		#size-cells = <0>;
5090493b09SBiju Das
5190493b09SBiju Das		a57_0: cpu@0 {
5290493b09SBiju Das			compatible = "arm,cortex-a57", "arm,armv8";
5390493b09SBiju Das			reg = <0x0>;
5490493b09SBiju Das			device_type = "cpu";
5590493b09SBiju Das			power-domains = <&sysc 0>;
5690493b09SBiju Das			next-level-cache = <&L2_CA57>;
5790493b09SBiju Das			enable-method = "psci";
5890493b09SBiju Das			clocks =<&cpg CPG_CORE 0>;
5990493b09SBiju Das		};
6090493b09SBiju Das
6190493b09SBiju Das		a57_1: cpu@1 {
6290493b09SBiju Das			compatible = "arm,cortex-a57", "arm,armv8";
6390493b09SBiju Das			reg = <0x1>;
6490493b09SBiju Das			device_type = "cpu";
6590493b09SBiju Das			power-domains = <&sysc 1>;
6690493b09SBiju Das			next-level-cache = <&L2_CA57>;
6790493b09SBiju Das			enable-method = "psci";
6890493b09SBiju Das			clocks =<&cpg CPG_CORE 0>;
6990493b09SBiju Das		};
7090493b09SBiju Das
7190493b09SBiju Das		L2_CA57: cache-controller-0 {
7290493b09SBiju Das			compatible = "cache";
7390493b09SBiju Das			power-domains = <&sysc 12>;
7490493b09SBiju Das			cache-unified;
7590493b09SBiju Das			cache-level = <2>;
7690493b09SBiju Das		};
7790493b09SBiju Das	};
7890493b09SBiju Das
7990493b09SBiju Das	extal_clk: extal {
8090493b09SBiju Das		compatible = "fixed-clock";
8190493b09SBiju Das		#clock-cells = <0>;
8290493b09SBiju Das		/* This value must be overridden by the board */
8390493b09SBiju Das		clock-frequency = <0>;
8490493b09SBiju Das	};
8590493b09SBiju Das
8690493b09SBiju Das	extalr_clk: extalr {
8790493b09SBiju Das		compatible = "fixed-clock";
8890493b09SBiju Das		#clock-cells = <0>;
8990493b09SBiju Das		/* This value must be overridden by the board */
9090493b09SBiju Das		clock-frequency = <0>;
9190493b09SBiju Das	};
9290493b09SBiju Das
9390493b09SBiju Das	/* External PCIe clock - can be overridden by the board */
9490493b09SBiju Das	pcie_bus_clk: pcie_bus {
9590493b09SBiju Das		compatible = "fixed-clock";
9690493b09SBiju Das		#clock-cells = <0>;
9790493b09SBiju Das		clock-frequency = <0>;
9890493b09SBiju Das	};
9990493b09SBiju Das
10090493b09SBiju Das	pmu_a57 {
10190493b09SBiju Das		compatible = "arm,cortex-a57-pmu";
10290493b09SBiju Das		interrupts-extended = <&gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
10390493b09SBiju Das				      <&gic GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
10490493b09SBiju Das		interrupt-affinity = <&a57_0>, <&a57_1>;
10590493b09SBiju Das	};
10690493b09SBiju Das
10790493b09SBiju Das	psci {
10890493b09SBiju Das		compatible = "arm,psci-1.0", "arm,psci-0.2";
10990493b09SBiju Das		method = "smc";
11090493b09SBiju Das	};
11190493b09SBiju Das
11290493b09SBiju Das	/* External SCIF clock - to be overridden by boards that provide it */
11390493b09SBiju Das	scif_clk: scif {
11490493b09SBiju Das		compatible = "fixed-clock";
11590493b09SBiju Das		#clock-cells = <0>;
11690493b09SBiju Das		clock-frequency = <0>;
11790493b09SBiju Das	};
11890493b09SBiju Das
11990493b09SBiju Das	soc {
12090493b09SBiju Das		compatible = "simple-bus";
12190493b09SBiju Das		interrupt-parent = <&gic>;
12290493b09SBiju Das		#address-cells = <2>;
12390493b09SBiju Das		#size-cells = <2>;
12490493b09SBiju Das		ranges;
12590493b09SBiju Das
126*426f0b95SBiju Das		rwdt: watchdog@e6020000 {
127*426f0b95SBiju Das			compatible = "renesas,r8a774a1-wdt",
128*426f0b95SBiju Das				     "renesas,rcar-gen3-wdt";
129*426f0b95SBiju Das			reg = <0 0xe6020000 0 0x0c>;
130*426f0b95SBiju Das			clocks = <&cpg CPG_MOD 402>;
131*426f0b95SBiju Das			power-domains = <&sysc 32>;
132*426f0b95SBiju Das			resets = <&cpg 402>;
133*426f0b95SBiju Das			status = "disabled";
134*426f0b95SBiju Das		};
135*426f0b95SBiju Das
13690493b09SBiju Das		cpg: clock-controller@e6150000 {
13790493b09SBiju Das			compatible = "renesas,r8a774a1-cpg-mssr";
13890493b09SBiju Das			reg = <0 0xe6150000 0 0x0bb0>;
13990493b09SBiju Das			clocks = <&extal_clk>, <&extalr_clk>;
14090493b09SBiju Das			clock-names = "extal", "extalr";
14190493b09SBiju Das			#clock-cells = <2>;
14290493b09SBiju Das			#power-domain-cells = <0>;
14390493b09SBiju Das			#reset-cells = <1>;
14490493b09SBiju Das		};
14590493b09SBiju Das
14690493b09SBiju Das		rst: reset-controller@e6160000 {
14790493b09SBiju Das			compatible = "renesas,r8a774a1-rst";
14890493b09SBiju Das			reg = <0 0xe6160000 0 0x018c>;
14990493b09SBiju Das		};
15090493b09SBiju Das
15190493b09SBiju Das		sysc: system-controller@e6180000 {
15290493b09SBiju Das			compatible = "renesas,r8a774a1-sysc";
15390493b09SBiju Das			reg = <0 0xe6180000 0 0x0400>;
15490493b09SBiju Das			#power-domain-cells = <1>;
15590493b09SBiju Das		};
15690493b09SBiju Das
157a21c572cSBiju Das		intc_ex: interrupt-controller@e61c0000 {
158a21c572cSBiju Das			compatible = "renesas,intc-ex-r8a774a1", "renesas,irqc";
159a21c572cSBiju Das			#interrupt-cells = <2>;
160a21c572cSBiju Das			interrupt-controller;
161a21c572cSBiju Das			reg = <0 0xe61c0000 0 0x200>;
162a21c572cSBiju Das			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH
163a21c572cSBiju Das				      GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH
164a21c572cSBiju Das				      GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH
165a21c572cSBiju Das				      GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH
166a21c572cSBiju Das				      GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH
167a21c572cSBiju Das				      GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
168a21c572cSBiju Das			clocks = <&cpg CPG_MOD 407>;
169a21c572cSBiju Das			power-domains = <&sysc 32>;
170a21c572cSBiju Das			resets = <&cpg 407>;
171a21c572cSBiju Das		};
172a21c572cSBiju Das
1733a3933a4SFabrizio Castro		hscif0: serial@e6540000 {
1743a3933a4SFabrizio Castro			compatible = "renesas,hscif-r8a774a1",
1753a3933a4SFabrizio Castro				     "renesas,rcar-gen3-hscif",
1763a3933a4SFabrizio Castro				     "renesas,hscif";
1773a3933a4SFabrizio Castro			reg = <0 0xe6540000 0 0x60>;
1783a3933a4SFabrizio Castro			interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
1793a3933a4SFabrizio Castro			clocks = <&cpg CPG_MOD 520>,
1803a3933a4SFabrizio Castro				 <&cpg CPG_CORE 19>,
1813a3933a4SFabrizio Castro				 <&scif_clk>;
1823a3933a4SFabrizio Castro			clock-names = "fck", "brg_int", "scif_clk";
1833a3933a4SFabrizio Castro			dmas = <&dmac1 0x31>, <&dmac1 0x30>,
1843a3933a4SFabrizio Castro			       <&dmac2 0x31>, <&dmac2 0x30>;
1853a3933a4SFabrizio Castro			dma-names = "tx", "rx", "tx", "rx";
1863a3933a4SFabrizio Castro			power-domains = <&sysc 32>;
1873a3933a4SFabrizio Castro			resets = <&cpg 520>;
1883a3933a4SFabrizio Castro			status = "disabled";
1893a3933a4SFabrizio Castro		};
1903a3933a4SFabrizio Castro
1913a3933a4SFabrizio Castro		hscif1: serial@e6550000 {
1923a3933a4SFabrizio Castro			compatible = "renesas,hscif-r8a774a1",
1933a3933a4SFabrizio Castro				     "renesas,rcar-gen3-hscif",
1943a3933a4SFabrizio Castro				     "renesas,hscif";
1953a3933a4SFabrizio Castro			reg = <0 0xe6550000 0 0x60>;
1963a3933a4SFabrizio Castro			interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
1973a3933a4SFabrizio Castro			clocks = <&cpg CPG_MOD 519>,
1983a3933a4SFabrizio Castro				 <&cpg CPG_CORE 19>,
1993a3933a4SFabrizio Castro				 <&scif_clk>;
2003a3933a4SFabrizio Castro			clock-names = "fck", "brg_int", "scif_clk";
2013a3933a4SFabrizio Castro			dmas = <&dmac1 0x33>, <&dmac1 0x32>,
2023a3933a4SFabrizio Castro			       <&dmac2 0x33>, <&dmac2 0x32>;
2033a3933a4SFabrizio Castro			dma-names = "tx", "rx", "tx", "rx";
2043a3933a4SFabrizio Castro			power-domains = <&sysc 32>;
2053a3933a4SFabrizio Castro			resets = <&cpg 519>;
2063a3933a4SFabrizio Castro			status = "disabled";
2073a3933a4SFabrizio Castro		};
2083a3933a4SFabrizio Castro
2093a3933a4SFabrizio Castro		hscif2: serial@e6560000 {
2103a3933a4SFabrizio Castro			compatible = "renesas,hscif-r8a774a1",
2113a3933a4SFabrizio Castro				     "renesas,rcar-gen3-hscif",
2123a3933a4SFabrizio Castro				     "renesas,hscif";
2133a3933a4SFabrizio Castro			reg = <0 0xe6560000 0 0x60>;
2143a3933a4SFabrizio Castro			interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
2153a3933a4SFabrizio Castro			clocks = <&cpg CPG_MOD 518>,
2163a3933a4SFabrizio Castro				 <&cpg CPG_CORE 19>,
2173a3933a4SFabrizio Castro				 <&scif_clk>;
2183a3933a4SFabrizio Castro			clock-names = "fck", "brg_int", "scif_clk";
2193a3933a4SFabrizio Castro			dmas = <&dmac1 0x35>, <&dmac1 0x34>,
2203a3933a4SFabrizio Castro			       <&dmac2 0x35>, <&dmac2 0x34>;
2213a3933a4SFabrizio Castro			dma-names = "tx", "rx", "tx", "rx";
2223a3933a4SFabrizio Castro			power-domains = <&sysc 32>;
2233a3933a4SFabrizio Castro			resets = <&cpg 518>;
2243a3933a4SFabrizio Castro			status = "disabled";
2253a3933a4SFabrizio Castro		};
2263a3933a4SFabrizio Castro
2273a3933a4SFabrizio Castro		hscif3: serial@e66a0000 {
2283a3933a4SFabrizio Castro			compatible = "renesas,hscif-r8a774a1",
2293a3933a4SFabrizio Castro				     "renesas,rcar-gen3-hscif",
2303a3933a4SFabrizio Castro				     "renesas,hscif";
2313a3933a4SFabrizio Castro			reg = <0 0xe66a0000 0 0x60>;
2323a3933a4SFabrizio Castro			interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
2333a3933a4SFabrizio Castro			clocks = <&cpg CPG_MOD 517>,
2343a3933a4SFabrizio Castro				 <&cpg CPG_CORE 19>,
2353a3933a4SFabrizio Castro				 <&scif_clk>;
2363a3933a4SFabrizio Castro			clock-names = "fck", "brg_int", "scif_clk";
2373a3933a4SFabrizio Castro			dmas = <&dmac0 0x37>, <&dmac0 0x36>;
2383a3933a4SFabrizio Castro			dma-names = "tx", "rx";
2393a3933a4SFabrizio Castro			power-domains = <&sysc 32>;
2403a3933a4SFabrizio Castro			resets = <&cpg 517>;
2413a3933a4SFabrizio Castro			status = "disabled";
2423a3933a4SFabrizio Castro		};
2433a3933a4SFabrizio Castro
2443a3933a4SFabrizio Castro		hscif4: serial@e66b0000 {
2453a3933a4SFabrizio Castro			compatible = "renesas,hscif-r8a774a1",
2463a3933a4SFabrizio Castro				     "renesas,rcar-gen3-hscif",
2473a3933a4SFabrizio Castro				     "renesas,hscif";
2483a3933a4SFabrizio Castro			reg = <0 0xe66b0000 0 0x60>;
2493a3933a4SFabrizio Castro			interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
2503a3933a4SFabrizio Castro			clocks = <&cpg CPG_MOD 516>,
2513a3933a4SFabrizio Castro				 <&cpg CPG_CORE 19>,
2523a3933a4SFabrizio Castro				 <&scif_clk>;
2533a3933a4SFabrizio Castro			clock-names = "fck", "brg_int", "scif_clk";
2543a3933a4SFabrizio Castro			dmas = <&dmac0 0x39>, <&dmac0 0x38>;
2553a3933a4SFabrizio Castro			dma-names = "tx", "rx";
2563a3933a4SFabrizio Castro			power-domains = <&sysc 32>;
2573a3933a4SFabrizio Castro			resets = <&cpg 516>;
2583a3933a4SFabrizio Castro			status = "disabled";
2593a3933a4SFabrizio Castro		};
2603a3933a4SFabrizio Castro
26137a61e4dSBiju Das		dmac0: dma-controller@e6700000 {
26237a61e4dSBiju Das			compatible = "renesas,dmac-r8a774a1",
26337a61e4dSBiju Das				     "renesas,rcar-dmac";
26437a61e4dSBiju Das			reg = <0 0xe6700000 0 0x10000>;
26537a61e4dSBiju Das			interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH
26637a61e4dSBiju Das				      GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH
26737a61e4dSBiju Das				      GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
26837a61e4dSBiju Das				      GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
26937a61e4dSBiju Das				      GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
27037a61e4dSBiju Das				      GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH
27137a61e4dSBiju Das				      GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH
27237a61e4dSBiju Das				      GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH
27337a61e4dSBiju Das				      GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH
27437a61e4dSBiju Das				      GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH
27537a61e4dSBiju Das				      GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH
27637a61e4dSBiju Das				      GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH
27737a61e4dSBiju Das				      GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH
27837a61e4dSBiju Das				      GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH
27937a61e4dSBiju Das				      GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
28037a61e4dSBiju Das				      GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH
28137a61e4dSBiju Das				      GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
28237a61e4dSBiju Das			interrupt-names = "error",
28337a61e4dSBiju Das					"ch0", "ch1", "ch2", "ch3",
28437a61e4dSBiju Das					"ch4", "ch5", "ch6", "ch7",
28537a61e4dSBiju Das					"ch8", "ch9", "ch10", "ch11",
28637a61e4dSBiju Das					"ch12", "ch13", "ch14", "ch15";
28737a61e4dSBiju Das			clocks = <&cpg CPG_MOD 219>;
28837a61e4dSBiju Das			clock-names = "fck";
28937a61e4dSBiju Das			power-domains = <&sysc 32>;
29037a61e4dSBiju Das			resets = <&cpg 219>;
29137a61e4dSBiju Das			#dma-cells = <1>;
29237a61e4dSBiju Das			dma-channels = <16>;
29337a61e4dSBiju Das		};
29437a61e4dSBiju Das
29537a61e4dSBiju Das		dmac1: dma-controller@e7300000 {
29637a61e4dSBiju Das			compatible = "renesas,dmac-r8a774a1",
29737a61e4dSBiju Das				     "renesas,rcar-dmac";
29837a61e4dSBiju Das			reg = <0 0xe7300000 0 0x10000>;
29937a61e4dSBiju Das			interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH
30037a61e4dSBiju Das				      GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH
30137a61e4dSBiju Das				      GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH
30237a61e4dSBiju Das				      GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH
30337a61e4dSBiju Das				      GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
30437a61e4dSBiju Das				      GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
30537a61e4dSBiju Das				      GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
30637a61e4dSBiju Das				      GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
30737a61e4dSBiju Das				      GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH
30837a61e4dSBiju Das				      GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
30937a61e4dSBiju Das				      GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
31037a61e4dSBiju Das				      GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
31137a61e4dSBiju Das				      GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
31237a61e4dSBiju Das				      GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
31337a61e4dSBiju Das				      GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
31437a61e4dSBiju Das				      GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH
31537a61e4dSBiju Das				      GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>;
31637a61e4dSBiju Das			interrupt-names = "error",
31737a61e4dSBiju Das					"ch0", "ch1", "ch2", "ch3",
31837a61e4dSBiju Das					"ch4", "ch5", "ch6", "ch7",
31937a61e4dSBiju Das					"ch8", "ch9", "ch10", "ch11",
32037a61e4dSBiju Das					"ch12", "ch13", "ch14", "ch15";
32137a61e4dSBiju Das			clocks = <&cpg CPG_MOD 218>;
32237a61e4dSBiju Das			clock-names = "fck";
32337a61e4dSBiju Das			power-domains = <&sysc 32>;
32437a61e4dSBiju Das			resets = <&cpg 218>;
32537a61e4dSBiju Das			#dma-cells = <1>;
32637a61e4dSBiju Das			dma-channels = <16>;
32737a61e4dSBiju Das		};
32837a61e4dSBiju Das
32937a61e4dSBiju Das		dmac2: dma-controller@e7310000 {
33037a61e4dSBiju Das			compatible = "renesas,dmac-r8a774a1",
33137a61e4dSBiju Das				     "renesas,rcar-dmac";
33237a61e4dSBiju Das			reg = <0 0xe7310000 0 0x10000>;
33337a61e4dSBiju Das			interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH
33437a61e4dSBiju Das				      GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH
33537a61e4dSBiju Das				      GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH
33637a61e4dSBiju Das				      GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH
33737a61e4dSBiju Das				      GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH
33837a61e4dSBiju Das				      GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH
33937a61e4dSBiju Das				      GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH
34037a61e4dSBiju Das				      GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH
34137a61e4dSBiju Das				      GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH
34237a61e4dSBiju Das				      GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH
34337a61e4dSBiju Das				      GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH
34437a61e4dSBiju Das				      GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH
34537a61e4dSBiju Das				      GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH
34637a61e4dSBiju Das				      GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH
34737a61e4dSBiju Das				      GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH
34837a61e4dSBiju Das				      GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH
34937a61e4dSBiju Das				      GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>;
35037a61e4dSBiju Das			interrupt-names = "error",
35137a61e4dSBiju Das					"ch0", "ch1", "ch2", "ch3",
35237a61e4dSBiju Das					"ch4", "ch5", "ch6", "ch7",
35337a61e4dSBiju Das					"ch8", "ch9", "ch10", "ch11",
35437a61e4dSBiju Das					"ch12", "ch13", "ch14", "ch15";
35537a61e4dSBiju Das			clocks = <&cpg CPG_MOD 217>;
35637a61e4dSBiju Das			clock-names = "fck";
35737a61e4dSBiju Das			power-domains = <&sysc 32>;
35837a61e4dSBiju Das			resets = <&cpg 217>;
35937a61e4dSBiju Das			#dma-cells = <1>;
36037a61e4dSBiju Das			dma-channels = <16>;
36137a61e4dSBiju Das		};
36237a61e4dSBiju Das
36371bddde2SFabrizio Castro		avb: ethernet@e6800000 {
36471bddde2SFabrizio Castro			compatible = "renesas,etheravb-r8a774a1",
36571bddde2SFabrizio Castro				     "renesas,etheravb-rcar-gen3";
36671bddde2SFabrizio Castro			reg = <0 0xe6800000 0 0x800>;
36771bddde2SFabrizio Castro			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
36871bddde2SFabrizio Castro				     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
36971bddde2SFabrizio Castro				     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
37071bddde2SFabrizio Castro				     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
37171bddde2SFabrizio Castro				     <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
37271bddde2SFabrizio Castro				     <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
37371bddde2SFabrizio Castro				     <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
37471bddde2SFabrizio Castro				     <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
37571bddde2SFabrizio Castro				     <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
37671bddde2SFabrizio Castro				     <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
37771bddde2SFabrizio Castro				     <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
37871bddde2SFabrizio Castro				     <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
37971bddde2SFabrizio Castro				     <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
38071bddde2SFabrizio Castro				     <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
38171bddde2SFabrizio Castro				     <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
38271bddde2SFabrizio Castro				     <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
38371bddde2SFabrizio Castro				     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
38471bddde2SFabrizio Castro				     <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
38571bddde2SFabrizio Castro				     <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
38671bddde2SFabrizio Castro				     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
38771bddde2SFabrizio Castro				     <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
38871bddde2SFabrizio Castro				     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
38971bddde2SFabrizio Castro				     <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
39071bddde2SFabrizio Castro				     <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
39171bddde2SFabrizio Castro				     <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
39271bddde2SFabrizio Castro			interrupt-names = "ch0", "ch1", "ch2", "ch3",
39371bddde2SFabrizio Castro					  "ch4", "ch5", "ch6", "ch7",
39471bddde2SFabrizio Castro					  "ch8", "ch9", "ch10", "ch11",
39571bddde2SFabrizio Castro					  "ch12", "ch13", "ch14", "ch15",
39671bddde2SFabrizio Castro					  "ch16", "ch17", "ch18", "ch19",
39771bddde2SFabrizio Castro					  "ch20", "ch21", "ch22", "ch23",
39871bddde2SFabrizio Castro					  "ch24";
39971bddde2SFabrizio Castro			clocks = <&cpg CPG_MOD 812>;
40071bddde2SFabrizio Castro			power-domains = <&sysc 32>;
40171bddde2SFabrizio Castro			resets = <&cpg 812>;
40271bddde2SFabrizio Castro			phy-mode = "rgmii";
40371bddde2SFabrizio Castro			#address-cells = <1>;
40471bddde2SFabrizio Castro			#size-cells = <0>;
40571bddde2SFabrizio Castro			status = "disabled";
40671bddde2SFabrizio Castro		};
40771bddde2SFabrizio Castro
4083a3933a4SFabrizio Castro		scif0: serial@e6e60000 {
4093a3933a4SFabrizio Castro			compatible = "renesas,scif-r8a774a1",
4103a3933a4SFabrizio Castro				     "renesas,rcar-gen3-scif", "renesas,scif";
4113a3933a4SFabrizio Castro			reg = <0 0xe6e60000 0 0x40>;
4123a3933a4SFabrizio Castro			interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
4133a3933a4SFabrizio Castro			clocks = <&cpg CPG_MOD 207>,
4143a3933a4SFabrizio Castro				 <&cpg CPG_CORE 19>,
4153a3933a4SFabrizio Castro				 <&scif_clk>;
4163a3933a4SFabrizio Castro			clock-names = "fck", "brg_int", "scif_clk";
4173a3933a4SFabrizio Castro			dmas = <&dmac1 0x51>, <&dmac1 0x50>,
4183a3933a4SFabrizio Castro			       <&dmac2 0x51>, <&dmac2 0x50>;
4193a3933a4SFabrizio Castro			dma-names = "tx", "rx", "tx", "rx";
4203a3933a4SFabrizio Castro			power-domains = <&sysc 32>;
4213a3933a4SFabrizio Castro			resets = <&cpg 207>;
4223a3933a4SFabrizio Castro			status = "disabled";
4233a3933a4SFabrizio Castro		};
4243a3933a4SFabrizio Castro
4253a3933a4SFabrizio Castro		scif1: serial@e6e68000 {
4263a3933a4SFabrizio Castro			compatible = "renesas,scif-r8a774a1",
4273a3933a4SFabrizio Castro				     "renesas,rcar-gen3-scif", "renesas,scif";
4283a3933a4SFabrizio Castro			reg = <0 0xe6e68000 0 0x40>;
4293a3933a4SFabrizio Castro			interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
4303a3933a4SFabrizio Castro			clocks = <&cpg CPG_MOD 206>,
4313a3933a4SFabrizio Castro				 <&cpg CPG_CORE 19>,
4323a3933a4SFabrizio Castro				 <&scif_clk>;
4333a3933a4SFabrizio Castro			clock-names = "fck", "brg_int", "scif_clk";
4343a3933a4SFabrizio Castro			dmas = <&dmac1 0x53>, <&dmac1 0x52>,
4353a3933a4SFabrizio Castro			       <&dmac2 0x53>, <&dmac2 0x52>;
4363a3933a4SFabrizio Castro			dma-names = "tx", "rx", "tx", "rx";
4373a3933a4SFabrizio Castro			power-domains = <&sysc 32>;
4383a3933a4SFabrizio Castro			resets = <&cpg 206>;
4393a3933a4SFabrizio Castro			status = "disabled";
4403a3933a4SFabrizio Castro		};
4413a3933a4SFabrizio Castro
4423a3933a4SFabrizio Castro		scif2: serial@e6e88000 {
4433a3933a4SFabrizio Castro			compatible = "renesas,scif-r8a774a1",
4443a3933a4SFabrizio Castro				     "renesas,rcar-gen3-scif", "renesas,scif";
4453a3933a4SFabrizio Castro			reg = <0 0xe6e88000 0 0x40>;
4463a3933a4SFabrizio Castro			interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
4473a3933a4SFabrizio Castro			clocks = <&cpg CPG_MOD 310>,
4483a3933a4SFabrizio Castro				 <&cpg CPG_CORE 19>,
4493a3933a4SFabrizio Castro				 <&scif_clk>;
4503a3933a4SFabrizio Castro			clock-names = "fck", "brg_int", "scif_clk";
4513a3933a4SFabrizio Castro			power-domains = <&sysc 32>;
4523a3933a4SFabrizio Castro			resets = <&cpg 310>;
4533a3933a4SFabrizio Castro			status = "disabled";
4543a3933a4SFabrizio Castro		};
4553a3933a4SFabrizio Castro
4563a3933a4SFabrizio Castro		scif3: serial@e6c50000 {
4573a3933a4SFabrizio Castro			compatible = "renesas,scif-r8a774a1",
4583a3933a4SFabrizio Castro				     "renesas,rcar-gen3-scif", "renesas,scif";
4593a3933a4SFabrizio Castro			reg = <0 0xe6c50000 0 0x40>;
4603a3933a4SFabrizio Castro			interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
4613a3933a4SFabrizio Castro			clocks = <&cpg CPG_MOD 204>,
4623a3933a4SFabrizio Castro				 <&cpg CPG_CORE 19>,
4633a3933a4SFabrizio Castro				 <&scif_clk>;
4643a3933a4SFabrizio Castro			clock-names = "fck", "brg_int", "scif_clk";
4653a3933a4SFabrizio Castro			dmas = <&dmac0 0x57>, <&dmac0 0x56>;
4663a3933a4SFabrizio Castro			dma-names = "tx", "rx";
4673a3933a4SFabrizio Castro			power-domains = <&sysc 32>;
4683a3933a4SFabrizio Castro			resets = <&cpg 204>;
4693a3933a4SFabrizio Castro			status = "disabled";
4703a3933a4SFabrizio Castro		};
4713a3933a4SFabrizio Castro
4723a3933a4SFabrizio Castro		scif4: serial@e6c40000 {
4733a3933a4SFabrizio Castro			compatible = "renesas,scif-r8a774a1",
4743a3933a4SFabrizio Castro				     "renesas,rcar-gen3-scif", "renesas,scif";
4753a3933a4SFabrizio Castro			reg = <0 0xe6c40000 0 0x40>;
4763a3933a4SFabrizio Castro			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
4773a3933a4SFabrizio Castro			clocks = <&cpg CPG_MOD 203>,
4783a3933a4SFabrizio Castro				 <&cpg CPG_CORE 19>,
4793a3933a4SFabrizio Castro				 <&scif_clk>;
4803a3933a4SFabrizio Castro			clock-names = "fck", "brg_int", "scif_clk";
4813a3933a4SFabrizio Castro			dmas = <&dmac0 0x59>, <&dmac0 0x58>;
4823a3933a4SFabrizio Castro			dma-names = "tx", "rx";
4833a3933a4SFabrizio Castro			power-domains = <&sysc 32>;
4843a3933a4SFabrizio Castro			resets = <&cpg 203>;
4853a3933a4SFabrizio Castro			status = "disabled";
4863a3933a4SFabrizio Castro		};
4873a3933a4SFabrizio Castro
4883a3933a4SFabrizio Castro		scif5: serial@e6f30000 {
4893a3933a4SFabrizio Castro			compatible = "renesas,scif-r8a774a1",
4903a3933a4SFabrizio Castro				     "renesas,rcar-gen3-scif", "renesas,scif";
4913a3933a4SFabrizio Castro			reg = <0 0xe6f30000 0 0x40>;
4923a3933a4SFabrizio Castro			interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
4933a3933a4SFabrizio Castro			clocks = <&cpg CPG_MOD 202>,
4943a3933a4SFabrizio Castro				 <&cpg CPG_CORE 19>,
4953a3933a4SFabrizio Castro				 <&scif_clk>;
4963a3933a4SFabrizio Castro			clock-names = "fck", "brg_int", "scif_clk";
4973a3933a4SFabrizio Castro			dmas = <&dmac1 0x5b>, <&dmac1 0x5a>,
4983a3933a4SFabrizio Castro			       <&dmac2 0x5b>, <&dmac2 0x5a>;
4993a3933a4SFabrizio Castro			dma-names = "tx", "rx", "tx", "rx";
5003a3933a4SFabrizio Castro			power-domains = <&sysc 32>;
5013a3933a4SFabrizio Castro			resets = <&cpg 202>;
5023a3933a4SFabrizio Castro			status = "disabled";
5033a3933a4SFabrizio Castro		};
5043a3933a4SFabrizio Castro
50590493b09SBiju Das		gic: interrupt-controller@f1010000 {
50690493b09SBiju Das			compatible = "arm,gic-400";
50790493b09SBiju Das			#interrupt-cells = <3>;
50890493b09SBiju Das			#address-cells = <0>;
50990493b09SBiju Das			interrupt-controller;
51090493b09SBiju Das			reg = <0x0 0xf1010000 0 0x1000>,
51190493b09SBiju Das			      <0x0 0xf1020000 0 0x20000>,
51290493b09SBiju Das			      <0x0 0xf1040000 0 0x20000>,
51390493b09SBiju Das			      <0x0 0xf1060000 0 0x20000>;
51490493b09SBiju Das			interrupts = <GIC_PPI 9
51590493b09SBiju Das					(GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
51690493b09SBiju Das			clocks = <&cpg CPG_MOD 408>;
51790493b09SBiju Das			clock-names = "clk";
51890493b09SBiju Das			power-domains = <&sysc 32>;
51990493b09SBiju Das			resets = <&cpg 408>;
52090493b09SBiju Das		};
52190493b09SBiju Das
52290493b09SBiju Das		prr: chipid@fff00044 {
52390493b09SBiju Das			compatible = "renesas,prr";
52490493b09SBiju Das			reg = <0 0xfff00044 0 4>;
52590493b09SBiju Das		};
52690493b09SBiju Das	};
52790493b09SBiju Das
52890493b09SBiju Das	timer {
52990493b09SBiju Das		compatible = "arm,armv8-timer";
53090493b09SBiju Das		interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
53190493b09SBiju Das				      <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
53290493b09SBiju Das				      <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
53390493b09SBiju Das				      <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
53490493b09SBiju Das	};
53590493b09SBiju Das
53690493b09SBiju Das	/* External USB clocks - can be overridden by the board */
53790493b09SBiju Das	usb3s0_clk: usb3s0 {
53890493b09SBiju Das		compatible = "fixed-clock";
53990493b09SBiju Das		#clock-cells = <0>;
54090493b09SBiju Das		clock-frequency = <0>;
54190493b09SBiju Das	};
54290493b09SBiju Das
54390493b09SBiju Das	usb_extal_clk: usb_extal {
54490493b09SBiju Das		compatible = "fixed-clock";
54590493b09SBiju Das		#clock-cells = <0>;
54690493b09SBiju Das		clock-frequency = <0>;
54790493b09SBiju Das	};
54890493b09SBiju Das};
549