blob: 593d35a267918e0418310f8ce8559610d9cadad2 [file] [log] [blame]
Yoshihiro Shimoda19df5952018-04-11 18:37:41 +09001/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Device Tree Source for the r8a77990 SoC
4 *
5 * Copyright (C) 2018 Renesas Electronics Corp.
6 */
7
8#include <dt-bindings/clock/renesas-cpg-mssr.h>
9#include <dt-bindings/interrupt-controller/arm-gic.h>
Hiroyuki Yokoyama2a1eade2018-09-27 19:05:18 +090010#include <dt-bindings/power/r8a77990-sysc.h>
Yoshihiro Shimoda19df5952018-04-11 18:37:41 +090011
12/ {
13 compatible = "renesas,r8a77990";
14 #address-cells = <2>;
15 #size-cells = <2>;
16
17 cpus {
18 #address-cells = <1>;
19 #size-cells = <0>;
20
21 /* 1 core only at this point */
22 a53_0: cpu@0 {
23 compatible = "arm,cortex-a53", "arm,armv8";
24 reg = <0x0>;
25 device_type = "cpu";
26 power-domains = <&sysc 5>;
27 next-level-cache = <&L2_CA53>;
28 enable-method = "psci";
29 };
30
Marek Vasut0bb5d242018-05-31 18:30:17 +020031 L2_CA53: cache-controller-0 {
Yoshihiro Shimoda19df5952018-04-11 18:37:41 +090032 compatible = "cache";
Yoshihiro Shimoda19df5952018-04-11 18:37:41 +090033 power-domains = <&sysc 21>;
34 cache-unified;
35 cache-level = <2>;
36 };
37 };
38
39 extal_clk: extal {
40 compatible = "fixed-clock";
41 #clock-cells = <0>;
42 /* This value must be overridden by the board */
43 clock-frequency = <0>;
44 };
45
Marek Vasut0bb5d242018-05-31 18:30:17 +020046 pmu_a53 {
47 compatible = "arm,cortex-a53-pmu";
48 interrupts-extended = <&gic GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
49 interrupt-affinity = <&a53_0>;
50 };
51
Yoshihiro Shimoda19df5952018-04-11 18:37:41 +090052 psci {
Marek Vasut0bb5d242018-05-31 18:30:17 +020053 compatible = "arm,psci-1.0", "arm,psci-0.2";
Yoshihiro Shimoda19df5952018-04-11 18:37:41 +090054 method = "smc";
55 };
56
57 soc: soc {
58 compatible = "simple-bus";
59 interrupt-parent = <&gic>;
60 #address-cells = <2>;
61 #size-cells = <2>;
62 ranges;
63
Marek Vasut0bb5d242018-05-31 18:30:17 +020064 gpio0: gpio@e6050000 {
65 compatible = "renesas,gpio-r8a77990",
66 "renesas,rcar-gen3-gpio";
67 reg = <0 0xe6050000 0 0x50>;
68 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
69 #gpio-cells = <2>;
70 gpio-controller;
71 gpio-ranges = <&pfc 0 0 18>;
72 #interrupt-cells = <2>;
73 interrupt-controller;
74 clocks = <&cpg CPG_MOD 912>;
75 power-domains = <&sysc 32>;
76 resets = <&cpg 912>;
77 };
78
79 gpio1: gpio@e6051000 {
80 compatible = "renesas,gpio-r8a77990",
81 "renesas,rcar-gen3-gpio";
82 reg = <0 0xe6051000 0 0x50>;
83 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
84 #gpio-cells = <2>;
85 gpio-controller;
86 gpio-ranges = <&pfc 0 32 23>;
87 #interrupt-cells = <2>;
88 interrupt-controller;
89 clocks = <&cpg CPG_MOD 911>;
90 power-domains = <&sysc 32>;
91 resets = <&cpg 911>;
92 };
93
94 gpio2: gpio@e6052000 {
95 compatible = "renesas,gpio-r8a77990",
96 "renesas,rcar-gen3-gpio";
97 reg = <0 0xe6052000 0 0x50>;
98 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
99 #gpio-cells = <2>;
100 gpio-controller;
101 gpio-ranges = <&pfc 0 64 26>;
102 #interrupt-cells = <2>;
103 interrupt-controller;
104 clocks = <&cpg CPG_MOD 910>;
105 power-domains = <&sysc 32>;
106 resets = <&cpg 910>;
107 };
108
109 gpio3: gpio@e6053000 {
110 compatible = "renesas,gpio-r8a77990",
111 "renesas,rcar-gen3-gpio";
112 reg = <0 0xe6053000 0 0x50>;
113 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
114 #gpio-cells = <2>;
115 gpio-controller;
116 gpio-ranges = <&pfc 0 96 16>;
117 #interrupt-cells = <2>;
118 interrupt-controller;
119 clocks = <&cpg CPG_MOD 909>;
120 power-domains = <&sysc 32>;
121 resets = <&cpg 909>;
122 };
123
124 gpio4: gpio@e6054000 {
125 compatible = "renesas,gpio-r8a77990",
126 "renesas,rcar-gen3-gpio";
127 reg = <0 0xe6054000 0 0x50>;
128 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
129 #gpio-cells = <2>;
130 gpio-controller;
131 gpio-ranges = <&pfc 0 128 11>;
132 #interrupt-cells = <2>;
133 interrupt-controller;
134 clocks = <&cpg CPG_MOD 908>;
135 power-domains = <&sysc 32>;
136 resets = <&cpg 908>;
137 };
138
139 gpio5: gpio@e6055000 {
140 compatible = "renesas,gpio-r8a77990",
141 "renesas,rcar-gen3-gpio";
142 reg = <0 0xe6055000 0 0x50>;
143 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
144 #gpio-cells = <2>;
145 gpio-controller;
146 gpio-ranges = <&pfc 0 160 20>;
147 #interrupt-cells = <2>;
148 interrupt-controller;
149 clocks = <&cpg CPG_MOD 907>;
150 power-domains = <&sysc 32>;
151 resets = <&cpg 907>;
152 };
153
154 gpio6: gpio@e6055400 {
155 compatible = "renesas,gpio-r8a77990",
156 "renesas,rcar-gen3-gpio";
157 reg = <0 0xe6055400 0 0x50>;
158 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
159 #gpio-cells = <2>;
160 gpio-controller;
161 gpio-ranges = <&pfc 0 192 18>;
162 #interrupt-cells = <2>;
163 interrupt-controller;
164 clocks = <&cpg CPG_MOD 906>;
165 power-domains = <&sysc 32>;
166 resets = <&cpg 906>;
167 };
168
Hiroyuki Yokoyama2a1eade2018-09-27 19:05:18 +0900169 ohci0: usb@ee080000 {
170 compatible = "generic-ohci";
171 reg = <0 0xee080000 0 0x100>;
172 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
173 clocks = <&cpg CPG_MOD 703>;
174 phys = <&usb2_phy0>;
175 phy-names = "usb";
176 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
177 resets = <&cpg 703>;
178 status = "disabled";
179 };
180
181 ehci0: usb@ee080100 {
182 compatible = "generic-ehci";
183 reg = <0 0xee080100 0 0x100>;
184 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
185 clocks = <&cpg CPG_MOD 703>;
186 phys = <&usb2_phy0>;
187 phy-names = "usb";
188 companion = <&ohci0>;
189 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
190 resets = <&cpg 703>;
191 status = "disabled";
192 };
193
194 usb2_phy0: usb-phy@ee080200 {
195 compatible = "renesas,usb2-phy-r8a7790",
196 "renesas,rcar-gen3-usb2-phy";
197 reg = <0 0xee080200 0 0x700>;
198 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
199 clocks = <&cpg CPG_MOD 703>;
200 power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
201 resets = <&cpg 703>;
202 #phy-cells = <0>;
203 status = "disabled";
204 };
205
Marek Vasut0bb5d242018-05-31 18:30:17 +0200206 pfc: pin-controller@e6060000 {
207 compatible = "renesas,pfc-r8a77990";
208 reg = <0 0xe6060000 0 0x508>;
209 };
210
211 cpg: clock-controller@e6150000 {
212 compatible = "renesas,r8a77990-cpg-mssr";
213 reg = <0 0xe6150000 0 0x1000>;
214 clocks = <&extal_clk>;
215 clock-names = "extal";
216 #clock-cells = <2>;
217 #power-domain-cells = <0>;
218 #reset-cells = <1>;
219 };
220
221 rst: reset-controller@e6160000 {
222 compatible = "renesas,r8a77990-rst";
223 reg = <0 0xe6160000 0 0x0200>;
224 };
225
226 sysc: system-controller@e6180000 {
227 compatible = "renesas,r8a77990-sysc";
228 reg = <0 0xe6180000 0 0x0400>;
229 #power-domain-cells = <1>;
230 };
231
232 avb: ethernet@e6800000 {
233 compatible = "renesas,etheravb-r8a77990",
234 "renesas,etheravb-rcar-gen3";
235 reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>;
236 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
237 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
238 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
239 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
240 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
241 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
242 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
243 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
244 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
245 <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
246 <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
247 <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
248 <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
249 <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
250 <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
251 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
252 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
253 <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
254 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
255 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
256 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
257 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
258 <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
259 <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
260 <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
261 interrupt-names = "ch0", "ch1", "ch2", "ch3",
262 "ch4", "ch5", "ch6", "ch7",
263 "ch8", "ch9", "ch10", "ch11",
264 "ch12", "ch13", "ch14", "ch15",
265 "ch16", "ch17", "ch18", "ch19",
266 "ch20", "ch21", "ch22", "ch23",
267 "ch24";
268 clocks = <&cpg CPG_MOD 812>;
269 power-domains = <&sysc 32>;
270 resets = <&cpg 812>;
271 phy-mode = "rgmii";
272 #address-cells = <1>;
273 #size-cells = <0>;
274 status = "disabled";
275 };
276
277 scif2: serial@e6e88000 {
278 compatible = "renesas,scif-r8a77990",
279 "renesas,rcar-gen3-scif", "renesas,scif";
280 reg = <0 0xe6e88000 0 64>;
281 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
282 clocks = <&cpg CPG_MOD 310>;
283 clock-names = "fck";
284 power-domains = <&sysc 32>;
285 resets = <&cpg 310>;
286 status = "disabled";
287 };
288
Yoshihiro Shimoda19df5952018-04-11 18:37:41 +0900289 gic: interrupt-controller@f1010000 {
290 compatible = "arm,gic-400";
291 #interrupt-cells = <3>;
292 #address-cells = <0>;
293 interrupt-controller;
294 reg = <0x0 0xf1010000 0 0x1000>,
295 <0x0 0xf1020000 0 0x20000>,
296 <0x0 0xf1040000 0 0x20000>,
297 <0x0 0xf1060000 0 0x20000>;
298 interrupts = <GIC_PPI 9
299 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
300 clocks = <&cpg CPG_MOD 408>;
301 clock-names = "clk";
302 power-domains = <&sysc 32>;
303 resets = <&cpg 408>;
304 };
305
Yoshihiro Shimoda19df5952018-04-11 18:37:41 +0900306 prr: chipid@fff00044 {
307 compatible = "renesas,prr";
308 reg = <0 0xfff00044 0 4>;
309 };
Marek Vasut0bb5d242018-05-31 18:30:17 +0200310 };
Yoshihiro Shimoda19df5952018-04-11 18:37:41 +0900311
Marek Vasut0bb5d242018-05-31 18:30:17 +0200312 timer {
313 compatible = "arm,armv8-timer";
314 interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
315 <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
316 <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
317 <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
Yoshihiro Shimoda19df5952018-04-11 18:37:41 +0900318 };
319};