xref: /linux/scripts/dtc/include-prefixes/arm64/renesas/r8a77990.dtsi (revision bc26b8f4e43acc4d2e3ae0bbf8f20515b4de5c5b)
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
30f37a7767SYoshihiro Shimoda		L2_CA53: cache-controller@0 {
31f37a7767SYoshihiro Shimoda			compatible = "cache";
32f37a7767SYoshihiro Shimoda			reg = <0>;
33f37a7767SYoshihiro Shimoda			power-domains = <&sysc 21>;
34f37a7767SYoshihiro Shimoda			cache-unified;
35f37a7767SYoshihiro Shimoda			cache-level = <2>;
36f37a7767SYoshihiro Shimoda		};
37f37a7767SYoshihiro Shimoda	};
38f37a7767SYoshihiro Shimoda
39f37a7767SYoshihiro Shimoda	extal_clk: extal {
40f37a7767SYoshihiro Shimoda		compatible = "fixed-clock";
41f37a7767SYoshihiro Shimoda		#clock-cells = <0>;
42f37a7767SYoshihiro Shimoda		/* This value must be overridden by the board */
43f37a7767SYoshihiro Shimoda		clock-frequency = <0>;
44f37a7767SYoshihiro Shimoda	};
45f37a7767SYoshihiro Shimoda
46f37a7767SYoshihiro Shimoda	pmu_a53 {
47f37a7767SYoshihiro Shimoda		compatible = "arm,cortex-a53-pmu";
48f37a7767SYoshihiro Shimoda		interrupts-extended = <&gic GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
49f37a7767SYoshihiro Shimoda		interrupt-affinity = <&a53_0>;
50f37a7767SYoshihiro Shimoda	};
51f37a7767SYoshihiro Shimoda
52f37a7767SYoshihiro Shimoda	psci {
53*bc26b8f4SYoshihiro Shimoda		compatible = "arm,psci-1.0", "arm,psci-0.2";
54f37a7767SYoshihiro Shimoda		method = "smc";
55f37a7767SYoshihiro Shimoda	};
56f37a7767SYoshihiro Shimoda
57f37a7767SYoshihiro Shimoda	soc: soc {
58f37a7767SYoshihiro Shimoda		compatible = "simple-bus";
59f37a7767SYoshihiro Shimoda		interrupt-parent = <&gic>;
60f37a7767SYoshihiro Shimoda		#address-cells = <2>;
61f37a7767SYoshihiro Shimoda		#size-cells = <2>;
62f37a7767SYoshihiro Shimoda		ranges;
63f37a7767SYoshihiro Shimoda
64f37a7767SYoshihiro Shimoda		cpg: clock-controller@e6150000 {
65f37a7767SYoshihiro Shimoda			compatible = "renesas,r8a77990-cpg-mssr";
66f37a7767SYoshihiro Shimoda			reg = <0 0xe6150000 0 0x1000>;
67f37a7767SYoshihiro Shimoda			clocks = <&extal_clk>;
68f37a7767SYoshihiro Shimoda			clock-names = "extal";
69f37a7767SYoshihiro Shimoda			#clock-cells = <2>;
70f37a7767SYoshihiro Shimoda			#power-domain-cells = <0>;
71f37a7767SYoshihiro Shimoda			#reset-cells = <1>;
72f37a7767SYoshihiro Shimoda		};
73f37a7767SYoshihiro Shimoda
74f37a7767SYoshihiro Shimoda		rst: reset-controller@e6160000 {
75f37a7767SYoshihiro Shimoda			compatible = "renesas,r8a77990-rst";
76f37a7767SYoshihiro Shimoda			reg = <0 0xe6160000 0 0x0200>;
77f37a7767SYoshihiro Shimoda		};
78f37a7767SYoshihiro Shimoda
79f37a7767SYoshihiro Shimoda		sysc: system-controller@e6180000 {
80f37a7767SYoshihiro Shimoda			compatible = "renesas,r8a77990-sysc";
81f37a7767SYoshihiro Shimoda			reg = <0 0xe6180000 0 0x0400>;
82f37a7767SYoshihiro Shimoda			#power-domain-cells = <1>;
83f37a7767SYoshihiro Shimoda		};
84f37a7767SYoshihiro Shimoda
85f37a7767SYoshihiro Shimoda		scif2: serial@e6e88000 {
86f37a7767SYoshihiro Shimoda			compatible = "renesas,scif-r8a77990",
87f37a7767SYoshihiro Shimoda				     "renesas,rcar-gen3-scif", "renesas,scif";
88f37a7767SYoshihiro Shimoda			reg = <0 0xe6e88000 0 64>;
89f37a7767SYoshihiro Shimoda			interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
90f37a7767SYoshihiro Shimoda			clocks = <&cpg CPG_MOD 310>;
91f37a7767SYoshihiro Shimoda			clock-names = "fck";
92f37a7767SYoshihiro Shimoda			power-domains = <&sysc 32>;
93f37a7767SYoshihiro Shimoda			resets = <&cpg 310>;
94f37a7767SYoshihiro Shimoda			status = "disabled";
95f37a7767SYoshihiro Shimoda		};
96f37a7767SYoshihiro Shimoda
97f37a7767SYoshihiro Shimoda		gic: interrupt-controller@f1010000 {
98f37a7767SYoshihiro Shimoda			compatible = "arm,gic-400";
99f37a7767SYoshihiro Shimoda			#interrupt-cells = <3>;
100f37a7767SYoshihiro Shimoda			#address-cells = <0>;
101f37a7767SYoshihiro Shimoda			interrupt-controller;
102f37a7767SYoshihiro Shimoda			reg = <0x0 0xf1010000 0 0x1000>,
103f37a7767SYoshihiro Shimoda			      <0x0 0xf1020000 0 0x20000>,
104f37a7767SYoshihiro Shimoda			      <0x0 0xf1040000 0 0x20000>,
105f37a7767SYoshihiro Shimoda			      <0x0 0xf1060000 0 0x20000>;
106f37a7767SYoshihiro Shimoda			interrupts = <GIC_PPI 9
107f37a7767SYoshihiro Shimoda					(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
108f37a7767SYoshihiro Shimoda			clocks = <&cpg CPG_MOD 408>;
109f37a7767SYoshihiro Shimoda			clock-names = "clk";
110f37a7767SYoshihiro Shimoda			power-domains = <&sysc 32>;
111f37a7767SYoshihiro Shimoda			resets = <&cpg 408>;
112f37a7767SYoshihiro Shimoda		};
113f37a7767SYoshihiro Shimoda
114f37a7767SYoshihiro Shimoda		prr: chipid@fff00044 {
115f37a7767SYoshihiro Shimoda			compatible = "renesas,prr";
116f37a7767SYoshihiro Shimoda			reg = <0 0xfff00044 0 4>;
117f37a7767SYoshihiro Shimoda		};
118f37a7767SYoshihiro Shimoda	};
119f37a7767SYoshihiro Shimoda
120f37a7767SYoshihiro Shimoda	timer {
121f37a7767SYoshihiro Shimoda		compatible = "arm,armv8-timer";
122f37a7767SYoshihiro Shimoda		interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
123f37a7767SYoshihiro Shimoda				      <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
124f37a7767SYoshihiro Shimoda				      <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
125f37a7767SYoshihiro Shimoda				      <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
126f37a7767SYoshihiro Shimoda	};
127f37a7767SYoshihiro Shimoda};
128