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