xref: /linux/scripts/dtc/include-prefixes/arm64/renesas/r8a77990.dtsi (revision 913a78b575c313b8bee8384a542e637049232e40)
1f37a7767SYoshihiro Shimoda/* SPDX-License-Identifier: GPL-2.0 */
2f37a7767SYoshihiro Shimoda/*
3f37a7767SYoshihiro Shimoda * Device Tree Source for the r8a77990 SoC
4f37a7767SYoshihiro Shimoda *
5f37a7767SYoshihiro Shimoda * Copyright (C) 2018 Renesas Electronics Corp.
6f37a7767SYoshihiro Shimoda */
7f37a7767SYoshihiro Shimoda
8f37a7767SYoshihiro Shimoda#include <dt-bindings/clock/renesas-cpg-mssr.h>
9f37a7767SYoshihiro Shimoda#include <dt-bindings/interrupt-controller/arm-gic.h>
10f37a7767SYoshihiro Shimoda
11f37a7767SYoshihiro Shimoda/ {
12f37a7767SYoshihiro Shimoda	compatible = "renesas,r8a77990";
13f37a7767SYoshihiro Shimoda	#address-cells = <2>;
14f37a7767SYoshihiro Shimoda	#size-cells = <2>;
15f37a7767SYoshihiro Shimoda
16f37a7767SYoshihiro Shimoda	cpus {
17f37a7767SYoshihiro Shimoda		#address-cells = <1>;
18f37a7767SYoshihiro Shimoda		#size-cells = <0>;
19f37a7767SYoshihiro Shimoda
20f37a7767SYoshihiro Shimoda		/* 1 core only at this point */
21f37a7767SYoshihiro Shimoda		a53_0: cpu@0 {
22f37a7767SYoshihiro Shimoda			compatible = "arm,cortex-a53", "arm,armv8";
23f37a7767SYoshihiro Shimoda			reg = <0x0>;
24f37a7767SYoshihiro Shimoda			device_type = "cpu";
25f37a7767SYoshihiro Shimoda			power-domains = <&sysc 5>;
26f37a7767SYoshihiro Shimoda			next-level-cache = <&L2_CA53>;
27f37a7767SYoshihiro Shimoda			enable-method = "psci";
28f37a7767SYoshihiro Shimoda		};
29f37a7767SYoshihiro Shimoda
30de1eb23cSYoshihiro Shimoda		L2_CA53: cache-controller-0 {
31f37a7767SYoshihiro Shimoda			compatible = "cache";
32f37a7767SYoshihiro Shimoda			power-domains = <&sysc 21>;
33f37a7767SYoshihiro Shimoda			cache-unified;
34f37a7767SYoshihiro Shimoda			cache-level = <2>;
35f37a7767SYoshihiro Shimoda		};
36f37a7767SYoshihiro Shimoda	};
37f37a7767SYoshihiro Shimoda
38f37a7767SYoshihiro Shimoda	extal_clk: extal {
39f37a7767SYoshihiro Shimoda		compatible = "fixed-clock";
40f37a7767SYoshihiro Shimoda		#clock-cells = <0>;
41f37a7767SYoshihiro Shimoda		/* This value must be overridden by the board */
42f37a7767SYoshihiro Shimoda		clock-frequency = <0>;
43f37a7767SYoshihiro Shimoda	};
44f37a7767SYoshihiro Shimoda
45f37a7767SYoshihiro Shimoda	pmu_a53 {
46f37a7767SYoshihiro Shimoda		compatible = "arm,cortex-a53-pmu";
47f37a7767SYoshihiro Shimoda		interrupts-extended = <&gic GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
48f37a7767SYoshihiro Shimoda		interrupt-affinity = <&a53_0>;
49f37a7767SYoshihiro Shimoda	};
50f37a7767SYoshihiro Shimoda
51f37a7767SYoshihiro Shimoda	psci {
52bc26b8f4SYoshihiro Shimoda		compatible = "arm,psci-1.0", "arm,psci-0.2";
53f37a7767SYoshihiro Shimoda		method = "smc";
54f37a7767SYoshihiro Shimoda	};
55f37a7767SYoshihiro Shimoda
56f37a7767SYoshihiro Shimoda	soc: soc {
57f37a7767SYoshihiro Shimoda		compatible = "simple-bus";
58f37a7767SYoshihiro Shimoda		interrupt-parent = <&gic>;
59f37a7767SYoshihiro Shimoda		#address-cells = <2>;
60f37a7767SYoshihiro Shimoda		#size-cells = <2>;
61f37a7767SYoshihiro Shimoda		ranges;
62f37a7767SYoshihiro Shimoda
630d292de1SYoshihiro Shimoda		gpio0: gpio@e6050000 {
640d292de1SYoshihiro Shimoda			compatible = "renesas,gpio-r8a77990",
650d292de1SYoshihiro Shimoda				     "renesas,rcar-gen3-gpio";
660d292de1SYoshihiro Shimoda			reg = <0 0xe6050000 0 0x50>;
670d292de1SYoshihiro Shimoda			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
680d292de1SYoshihiro Shimoda			#gpio-cells = <2>;
690d292de1SYoshihiro Shimoda			gpio-controller;
700d292de1SYoshihiro Shimoda			gpio-ranges = <&pfc 0 0 18>;
710d292de1SYoshihiro Shimoda			#interrupt-cells = <2>;
720d292de1SYoshihiro Shimoda			interrupt-controller;
730d292de1SYoshihiro Shimoda			clocks = <&cpg CPG_MOD 912>;
740d292de1SYoshihiro Shimoda			power-domains = <&sysc 32>;
750d292de1SYoshihiro Shimoda			resets = <&cpg 912>;
760d292de1SYoshihiro Shimoda		};
770d292de1SYoshihiro Shimoda
780d292de1SYoshihiro Shimoda		gpio1: gpio@e6051000 {
790d292de1SYoshihiro Shimoda			compatible = "renesas,gpio-r8a77990",
800d292de1SYoshihiro Shimoda				     "renesas,rcar-gen3-gpio";
810d292de1SYoshihiro Shimoda			reg = <0 0xe6051000 0 0x50>;
820d292de1SYoshihiro Shimoda			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
830d292de1SYoshihiro Shimoda			#gpio-cells = <2>;
840d292de1SYoshihiro Shimoda			gpio-controller;
850d292de1SYoshihiro Shimoda			gpio-ranges = <&pfc 0 32 23>;
860d292de1SYoshihiro Shimoda			#interrupt-cells = <2>;
870d292de1SYoshihiro Shimoda			interrupt-controller;
880d292de1SYoshihiro Shimoda			clocks = <&cpg CPG_MOD 911>;
890d292de1SYoshihiro Shimoda			power-domains = <&sysc 32>;
900d292de1SYoshihiro Shimoda			resets = <&cpg 911>;
910d292de1SYoshihiro Shimoda		};
920d292de1SYoshihiro Shimoda
930d292de1SYoshihiro Shimoda		gpio2: gpio@e6052000 {
940d292de1SYoshihiro Shimoda			compatible = "renesas,gpio-r8a77990",
950d292de1SYoshihiro Shimoda				     "renesas,rcar-gen3-gpio";
960d292de1SYoshihiro Shimoda			reg = <0 0xe6052000 0 0x50>;
970d292de1SYoshihiro Shimoda			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
980d292de1SYoshihiro Shimoda			#gpio-cells = <2>;
990d292de1SYoshihiro Shimoda			gpio-controller;
1000d292de1SYoshihiro Shimoda			gpio-ranges = <&pfc 0 64 26>;
1010d292de1SYoshihiro Shimoda			#interrupt-cells = <2>;
1020d292de1SYoshihiro Shimoda			interrupt-controller;
1030d292de1SYoshihiro Shimoda			clocks = <&cpg CPG_MOD 910>;
1040d292de1SYoshihiro Shimoda			power-domains = <&sysc 32>;
1050d292de1SYoshihiro Shimoda			resets = <&cpg 910>;
1060d292de1SYoshihiro Shimoda		};
1070d292de1SYoshihiro Shimoda
1080d292de1SYoshihiro Shimoda		gpio3: gpio@e6053000 {
1090d292de1SYoshihiro Shimoda			compatible = "renesas,gpio-r8a77990",
1100d292de1SYoshihiro Shimoda				     "renesas,rcar-gen3-gpio";
1110d292de1SYoshihiro Shimoda			reg = <0 0xe6053000 0 0x50>;
1120d292de1SYoshihiro Shimoda			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
1130d292de1SYoshihiro Shimoda			#gpio-cells = <2>;
1140d292de1SYoshihiro Shimoda			gpio-controller;
1150d292de1SYoshihiro Shimoda			gpio-ranges = <&pfc 0 96 16>;
1160d292de1SYoshihiro Shimoda			#interrupt-cells = <2>;
1170d292de1SYoshihiro Shimoda			interrupt-controller;
1180d292de1SYoshihiro Shimoda			clocks = <&cpg CPG_MOD 909>;
1190d292de1SYoshihiro Shimoda			power-domains = <&sysc 32>;
1200d292de1SYoshihiro Shimoda			resets = <&cpg 909>;
1210d292de1SYoshihiro Shimoda		};
1220d292de1SYoshihiro Shimoda
1230d292de1SYoshihiro Shimoda		gpio4: gpio@e6054000 {
1240d292de1SYoshihiro Shimoda			compatible = "renesas,gpio-r8a77990",
1250d292de1SYoshihiro Shimoda				     "renesas,rcar-gen3-gpio";
1260d292de1SYoshihiro Shimoda			reg = <0 0xe6054000 0 0x50>;
1270d292de1SYoshihiro Shimoda			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
1280d292de1SYoshihiro Shimoda			#gpio-cells = <2>;
1290d292de1SYoshihiro Shimoda			gpio-controller;
1300d292de1SYoshihiro Shimoda			gpio-ranges = <&pfc 0 128 11>;
1310d292de1SYoshihiro Shimoda			#interrupt-cells = <2>;
1320d292de1SYoshihiro Shimoda			interrupt-controller;
1330d292de1SYoshihiro Shimoda			clocks = <&cpg CPG_MOD 908>;
1340d292de1SYoshihiro Shimoda			power-domains = <&sysc 32>;
1350d292de1SYoshihiro Shimoda			resets = <&cpg 908>;
1360d292de1SYoshihiro Shimoda		};
1370d292de1SYoshihiro Shimoda
1380d292de1SYoshihiro Shimoda		gpio5: gpio@e6055000 {
1390d292de1SYoshihiro Shimoda			compatible = "renesas,gpio-r8a77990",
1400d292de1SYoshihiro Shimoda				     "renesas,rcar-gen3-gpio";
1410d292de1SYoshihiro Shimoda			reg = <0 0xe6055000 0 0x50>;
1420d292de1SYoshihiro Shimoda			interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1430d292de1SYoshihiro Shimoda			#gpio-cells = <2>;
1440d292de1SYoshihiro Shimoda			gpio-controller;
1450d292de1SYoshihiro Shimoda			gpio-ranges = <&pfc 0 160 20>;
1460d292de1SYoshihiro Shimoda			#interrupt-cells = <2>;
1470d292de1SYoshihiro Shimoda			interrupt-controller;
1480d292de1SYoshihiro Shimoda			clocks = <&cpg CPG_MOD 907>;
1490d292de1SYoshihiro Shimoda			power-domains = <&sysc 32>;
1500d292de1SYoshihiro Shimoda			resets = <&cpg 907>;
1510d292de1SYoshihiro Shimoda		};
1520d292de1SYoshihiro Shimoda
1530d292de1SYoshihiro Shimoda		gpio6: gpio@e6055400 {
1540d292de1SYoshihiro Shimoda			compatible = "renesas,gpio-r8a77990",
1550d292de1SYoshihiro Shimoda				     "renesas,rcar-gen3-gpio";
1560d292de1SYoshihiro Shimoda			reg = <0 0xe6055400 0 0x50>;
1570d292de1SYoshihiro Shimoda			interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1580d292de1SYoshihiro Shimoda			#gpio-cells = <2>;
1590d292de1SYoshihiro Shimoda			gpio-controller;
1600d292de1SYoshihiro Shimoda			gpio-ranges = <&pfc 0 192 18>;
1610d292de1SYoshihiro Shimoda			#interrupt-cells = <2>;
1620d292de1SYoshihiro Shimoda			interrupt-controller;
1630d292de1SYoshihiro Shimoda			clocks = <&cpg CPG_MOD 906>;
1640d292de1SYoshihiro Shimoda			power-domains = <&sysc 32>;
1650d292de1SYoshihiro Shimoda			resets = <&cpg 906>;
1660d292de1SYoshihiro Shimoda		};
1670d292de1SYoshihiro Shimoda
1684ab0df33SYoshihiro Shimoda		pfc: pin-controller@e6060000 {
1694ab0df33SYoshihiro Shimoda			compatible = "renesas,pfc-r8a77990";
1704ab0df33SYoshihiro Shimoda			reg = <0 0xe6060000 0 0x508>;
1714ab0df33SYoshihiro Shimoda		};
1724ab0df33SYoshihiro Shimoda
173f37a7767SYoshihiro Shimoda		cpg: clock-controller@e6150000 {
174f37a7767SYoshihiro Shimoda			compatible = "renesas,r8a77990-cpg-mssr";
175f37a7767SYoshihiro Shimoda			reg = <0 0xe6150000 0 0x1000>;
176f37a7767SYoshihiro Shimoda			clocks = <&extal_clk>;
177f37a7767SYoshihiro Shimoda			clock-names = "extal";
178f37a7767SYoshihiro Shimoda			#clock-cells = <2>;
179f37a7767SYoshihiro Shimoda			#power-domain-cells = <0>;
180f37a7767SYoshihiro Shimoda			#reset-cells = <1>;
181f37a7767SYoshihiro Shimoda		};
182f37a7767SYoshihiro Shimoda
183f37a7767SYoshihiro Shimoda		rst: reset-controller@e6160000 {
184f37a7767SYoshihiro Shimoda			compatible = "renesas,r8a77990-rst";
185f37a7767SYoshihiro Shimoda			reg = <0 0xe6160000 0 0x0200>;
186f37a7767SYoshihiro Shimoda		};
187f37a7767SYoshihiro Shimoda
188f37a7767SYoshihiro Shimoda		sysc: system-controller@e6180000 {
189f37a7767SYoshihiro Shimoda			compatible = "renesas,r8a77990-sysc";
190f37a7767SYoshihiro Shimoda			reg = <0 0xe6180000 0 0x0400>;
191f37a7767SYoshihiro Shimoda			#power-domain-cells = <1>;
192f37a7767SYoshihiro Shimoda		};
193f37a7767SYoshihiro Shimoda
194*913a78b5SYoshihiro Shimoda		avb: ethernet@e6800000 {
195*913a78b5SYoshihiro Shimoda			compatible = "renesas,etheravb-r8a77990",
196*913a78b5SYoshihiro Shimoda				     "renesas,etheravb-rcar-gen3";
197*913a78b5SYoshihiro Shimoda			reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>;
198*913a78b5SYoshihiro Shimoda			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
199*913a78b5SYoshihiro Shimoda				     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
200*913a78b5SYoshihiro Shimoda				     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
201*913a78b5SYoshihiro Shimoda				     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
202*913a78b5SYoshihiro Shimoda				     <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
203*913a78b5SYoshihiro Shimoda				     <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
204*913a78b5SYoshihiro Shimoda				     <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
205*913a78b5SYoshihiro Shimoda				     <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
206*913a78b5SYoshihiro Shimoda				     <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
207*913a78b5SYoshihiro Shimoda				     <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
208*913a78b5SYoshihiro Shimoda				     <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
209*913a78b5SYoshihiro Shimoda				     <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
210*913a78b5SYoshihiro Shimoda				     <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
211*913a78b5SYoshihiro Shimoda				     <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
212*913a78b5SYoshihiro Shimoda				     <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
213*913a78b5SYoshihiro Shimoda				     <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
214*913a78b5SYoshihiro Shimoda				     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
215*913a78b5SYoshihiro Shimoda				     <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
216*913a78b5SYoshihiro Shimoda				     <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
217*913a78b5SYoshihiro Shimoda				     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
218*913a78b5SYoshihiro Shimoda				     <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
219*913a78b5SYoshihiro Shimoda				     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
220*913a78b5SYoshihiro Shimoda				     <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
221*913a78b5SYoshihiro Shimoda				     <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
222*913a78b5SYoshihiro Shimoda				     <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
223*913a78b5SYoshihiro Shimoda			interrupt-names = "ch0", "ch1", "ch2", "ch3",
224*913a78b5SYoshihiro Shimoda					  "ch4", "ch5", "ch6", "ch7",
225*913a78b5SYoshihiro Shimoda					  "ch8", "ch9", "ch10", "ch11",
226*913a78b5SYoshihiro Shimoda					  "ch12", "ch13", "ch14", "ch15",
227*913a78b5SYoshihiro Shimoda					  "ch16", "ch17", "ch18", "ch19",
228*913a78b5SYoshihiro Shimoda					  "ch20", "ch21", "ch22", "ch23",
229*913a78b5SYoshihiro Shimoda					  "ch24";
230*913a78b5SYoshihiro Shimoda			clocks = <&cpg CPG_MOD 812>;
231*913a78b5SYoshihiro Shimoda			power-domains = <&sysc 32>;
232*913a78b5SYoshihiro Shimoda			resets = <&cpg 812>;
233*913a78b5SYoshihiro Shimoda			phy-mode = "rgmii";
234*913a78b5SYoshihiro Shimoda			#address-cells = <1>;
235*913a78b5SYoshihiro Shimoda			#size-cells = <0>;
236*913a78b5SYoshihiro Shimoda			status = "disabled";
237*913a78b5SYoshihiro Shimoda		};
238*913a78b5SYoshihiro Shimoda
239f37a7767SYoshihiro Shimoda		scif2: serial@e6e88000 {
240f37a7767SYoshihiro Shimoda			compatible = "renesas,scif-r8a77990",
241f37a7767SYoshihiro Shimoda				     "renesas,rcar-gen3-scif", "renesas,scif";
242f37a7767SYoshihiro Shimoda			reg = <0 0xe6e88000 0 64>;
243f37a7767SYoshihiro Shimoda			interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
244f37a7767SYoshihiro Shimoda			clocks = <&cpg CPG_MOD 310>;
245f37a7767SYoshihiro Shimoda			clock-names = "fck";
246f37a7767SYoshihiro Shimoda			power-domains = <&sysc 32>;
247f37a7767SYoshihiro Shimoda			resets = <&cpg 310>;
248f37a7767SYoshihiro Shimoda			status = "disabled";
249f37a7767SYoshihiro Shimoda		};
250f37a7767SYoshihiro Shimoda
251f37a7767SYoshihiro Shimoda		gic: interrupt-controller@f1010000 {
252f37a7767SYoshihiro Shimoda			compatible = "arm,gic-400";
253f37a7767SYoshihiro Shimoda			#interrupt-cells = <3>;
254f37a7767SYoshihiro Shimoda			#address-cells = <0>;
255f37a7767SYoshihiro Shimoda			interrupt-controller;
256f37a7767SYoshihiro Shimoda			reg = <0x0 0xf1010000 0 0x1000>,
257f37a7767SYoshihiro Shimoda			      <0x0 0xf1020000 0 0x20000>,
258f37a7767SYoshihiro Shimoda			      <0x0 0xf1040000 0 0x20000>,
259f37a7767SYoshihiro Shimoda			      <0x0 0xf1060000 0 0x20000>;
260f37a7767SYoshihiro Shimoda			interrupts = <GIC_PPI 9
261f37a7767SYoshihiro Shimoda					(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
262f37a7767SYoshihiro Shimoda			clocks = <&cpg CPG_MOD 408>;
263f37a7767SYoshihiro Shimoda			clock-names = "clk";
264f37a7767SYoshihiro Shimoda			power-domains = <&sysc 32>;
265f37a7767SYoshihiro Shimoda			resets = <&cpg 408>;
266f37a7767SYoshihiro Shimoda		};
267f37a7767SYoshihiro Shimoda
268f37a7767SYoshihiro Shimoda		prr: chipid@fff00044 {
269f37a7767SYoshihiro Shimoda			compatible = "renesas,prr";
270f37a7767SYoshihiro Shimoda			reg = <0 0xfff00044 0 4>;
271f37a7767SYoshihiro Shimoda		};
272f37a7767SYoshihiro Shimoda	};
273f37a7767SYoshihiro Shimoda
274f37a7767SYoshihiro Shimoda	timer {
275f37a7767SYoshihiro Shimoda		compatible = "arm,armv8-timer";
276f37a7767SYoshihiro Shimoda		interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
277f37a7767SYoshihiro Shimoda				      <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
278f37a7767SYoshihiro Shimoda				      <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
279f37a7767SYoshihiro Shimoda				      <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
280f37a7767SYoshihiro Shimoda	};
281f37a7767SYoshihiro Shimoda};
282