ARM: dts: rmobile: Factor out U-Boot extras
[oweals/u-boot.git] / arch / arm / dts / r8a77995.dtsi
1 /*
2  * Device Tree Source for the r8a77995 SoC
3  *
4  * Copyright (C) 2016 Renesas Electronics Corp.
5  * Copyright (C) 2017 Glider bvba
6  *
7  * SPDX-License-Identifier:     GPL-2.0
8  */
9
10 #include <dt-bindings/clock/r8a77995-cpg-mssr.h>
11 #include <dt-bindings/interrupt-controller/arm-gic.h>
12 #include <dt-bindings/power/r8a77995-sysc.h>
13
14 / {
15         compatible = "renesas,r8a77995";
16         #address-cells = <2>;
17         #size-cells = <2>;
18
19         psci {
20                 compatible = "arm,psci-1.0", "arm,psci-0.2";
21                 method = "smc";
22         };
23
24         cpus {
25                 #address-cells = <1>;
26                 #size-cells = <0>;
27
28                 a53_0: cpu@0 {
29                         compatible = "arm,cortex-a53", "arm,armv8";
30                         reg = <0x0>;
31                         device_type = "cpu";
32                         power-domains = <&sysc R8A77995_PD_CA53_CPU0>;
33                         next-level-cache = <&L2_CA53>;
34                         enable-method = "psci";
35                 };
36
37                 L2_CA53: cache-controller-1 {
38                         compatible = "cache";
39                         power-domains = <&sysc R8A77995_PD_CA53_SCU>;
40                         cache-unified;
41                         cache-level = <2>;
42                 };
43         };
44
45         extal_clk: extal {
46                 compatible = "fixed-clock";
47                 #clock-cells = <0>;
48                 /* This value must be overridden by the board */
49                 clock-frequency = <0>;
50         };
51
52         scif_clk: scif {
53                 compatible = "fixed-clock";
54                 #clock-cells = <0>;
55                 clock-frequency = <0>;
56         };
57
58         soc {
59                 compatible = "simple-bus";
60                 interrupt-parent = <&gic>;
61                 #address-cells = <2>;
62                 #size-cells = <2>;
63                 ranges;
64
65                 gic: interrupt-controller@f1010000 {
66                         compatible = "arm,gic-400";
67                         #interrupt-cells = <3>;
68                         #address-cells = <0>;
69                         interrupt-controller;
70                         reg = <0x0 0xf1010000 0 0x1000>,
71                               <0x0 0xf1020000 0 0x20000>,
72                               <0x0 0xf1040000 0 0x20000>,
73                               <0x0 0xf1060000 0 0x20000>;
74                         interrupts = <GIC_PPI 9
75                                         (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
76                         clocks = <&cpg CPG_MOD 408>;
77                         clock-names = "clk";
78                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
79                         resets = <&cpg 408>;
80                 };
81
82                 timer {
83                         compatible = "arm,armv8-timer";
84                         interrupts = <GIC_PPI 13
85                                         (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
86                                      <GIC_PPI 14
87                                         (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
88                                      <GIC_PPI 11
89                                         (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
90                                      <GIC_PPI 10
91                                         (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
92                 };
93
94                 rwdt: watchdog@e6020000 {
95                         compatible = "renesas,r8a77995-wdt",
96                                      "renesas,rcar-gen3-wdt";
97                         reg = <0 0xe6020000 0 0x0c>;
98                         clocks = <&cpg CPG_MOD 402>;
99                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
100                         resets = <&cpg 402>;
101                         status = "disabled";
102                 };
103
104                 pmu_a53 {
105                         compatible = "arm,cortex-a53-pmu";
106                         interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
107                 };
108
109                 cpg: clock-controller@e6150000 {
110                         compatible = "renesas,r8a77995-cpg-mssr";
111                         reg = <0 0xe6150000 0 0x1000>;
112                         clocks = <&extal_clk>;
113                         clock-names = "extal";
114                         #clock-cells = <2>;
115                         #power-domain-cells = <0>;
116                         #reset-cells = <1>;
117                 };
118
119                 rst: reset-controller@e6160000 {
120                         compatible = "renesas,r8a77995-rst";
121                         reg = <0 0xe6160000 0 0x0200>;
122                 };
123
124                 pfc: pin-controller@e6060000 {
125                         compatible = "renesas,pfc-r8a77995";
126                         reg = <0 0xe6060000 0 0x508>;
127                 };
128
129                 prr: chipid@fff00044 {
130                         compatible = "renesas,prr";
131                         reg = <0 0xfff00044 0 4>;
132                 };
133
134                 sysc: system-controller@e6180000 {
135                         compatible = "renesas,r8a77995-sysc";
136                         reg = <0 0xe6180000 0 0x0400>;
137                         #power-domain-cells = <1>;
138                 };
139
140                 intc_ex: interrupt-controller@e61c0000 {
141                         compatible = "renesas,intc-ex-r8a77995", "renesas,irqc";
142                         #interrupt-cells = <2>;
143                         interrupt-controller;
144                         reg = <0 0xe61c0000 0 0x200>;
145                         interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH
146                                       GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH
147                                       GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH
148                                       GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH
149                                       GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH
150                                       GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
151                         clocks = <&cpg CPG_MOD 407>;
152                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
153                         resets = <&cpg 407>;
154                 };
155
156                 gpio0: gpio@e6050000 {
157                         compatible = "renesas,gpio-r8a77995",
158                                      "renesas,rcar-gen3-gpio",
159                                      "renesas,gpio-rcar";
160                         reg = <0 0xe6050000 0 0x50>;
161                         interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
162                         #gpio-cells = <2>;
163                         gpio-controller;
164                         gpio-ranges = <&pfc 0 0 9>;
165                         #interrupt-cells = <2>;
166                         interrupt-controller;
167                         clocks = <&cpg CPG_MOD 912>;
168                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
169                         resets = <&cpg 912>;
170                 };
171
172                 gpio1: gpio@e6051000 {
173                         compatible = "renesas,gpio-r8a77995",
174                                      "renesas,rcar-gen3-gpio",
175                                      "renesas,gpio-rcar";
176                         reg = <0 0xe6051000 0 0x50>;
177                         interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
178                         #gpio-cells = <2>;
179                         gpio-controller;
180                         gpio-ranges = <&pfc 0 32 32>;
181                         #interrupt-cells = <2>;
182                         interrupt-controller;
183                         clocks = <&cpg CPG_MOD 911>;
184                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
185                         resets = <&cpg 911>;
186                 };
187
188                 gpio2: gpio@e6052000 {
189                         compatible = "renesas,gpio-r8a77995",
190                                      "renesas,rcar-gen3-gpio",
191                                      "renesas,gpio-rcar";
192                         reg = <0 0xe6052000 0 0x50>;
193                         interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
194                         #gpio-cells = <2>;
195                         gpio-controller;
196                         gpio-ranges = <&pfc 0 64 32>;
197                         #interrupt-cells = <2>;
198                         interrupt-controller;
199                         clocks = <&cpg CPG_MOD 910>;
200                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
201                         resets = <&cpg 910>;
202                 };
203
204                 gpio3: gpio@e6053000 {
205                         compatible = "renesas,gpio-r8a77995",
206                                      "renesas,rcar-gen3-gpio",
207                                      "renesas,gpio-rcar";
208                         reg = <0 0xe6053000 0 0x50>;
209                         interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
210                         #gpio-cells = <2>;
211                         gpio-controller;
212                         gpio-ranges = <&pfc 0 96 10>;
213                         #interrupt-cells = <2>;
214                         interrupt-controller;
215                         clocks = <&cpg CPG_MOD 909>;
216                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
217                         resets = <&cpg 909>;
218                 };
219
220                 gpio4: gpio@e6054000 {
221                         compatible = "renesas,gpio-r8a77995",
222                                      "renesas,rcar-gen3-gpio",
223                                      "renesas,gpio-rcar";
224                         reg = <0 0xe6054000 0 0x50>;
225                         interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
226                         #gpio-cells = <2>;
227                         gpio-controller;
228                         gpio-ranges = <&pfc 0 128 32>;
229                         #interrupt-cells = <2>;
230                         interrupt-controller;
231                         clocks = <&cpg CPG_MOD 908>;
232                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
233                         resets = <&cpg 908>;
234                 };
235
236                 gpio5: gpio@e6055000 {
237                         compatible = "renesas,gpio-r8a77995",
238                                      "renesas,rcar-gen3-gpio",
239                                      "renesas,gpio-rcar";
240                         reg = <0 0xe6055000 0 0x50>;
241                         interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
242                         #gpio-cells = <2>;
243                         gpio-controller;
244                         gpio-ranges = <&pfc 0 160 21>;
245                         #interrupt-cells = <2>;
246                         interrupt-controller;
247                         clocks = <&cpg CPG_MOD 907>;
248                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
249                         resets = <&cpg 907>;
250                 };
251
252                 gpio6: gpio@e6055400 {
253                         compatible = "renesas,gpio-r8a77995",
254                                      "renesas,rcar-gen3-gpio",
255                                      "renesas,gpio-rcar";
256                         reg = <0 0xe6055400 0 0x50>;
257                         interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
258                         #gpio-cells = <2>;
259                         gpio-controller;
260                         gpio-ranges = <&pfc 0 192 14>;
261                         #interrupt-cells = <2>;
262                         interrupt-controller;
263                         clocks = <&cpg CPG_MOD 906>;
264                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
265                         resets = <&cpg 906>;
266                 };
267
268                 avb: ethernet@e6800000 {
269                         compatible = "renesas,etheravb-r8a77995",
270                                      "renesas,etheravb-rcar-gen3";
271                         reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>;
272                         interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
273                                      <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
274                                      <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
275                                      <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
276                                      <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
277                                      <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
278                                      <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
279                                      <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
280                                      <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
281                                      <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
282                                      <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
283                                      <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
284                                      <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
285                                      <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
286                                      <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
287                                      <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
288                                      <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
289                                      <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
290                                      <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
291                                      <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
292                                      <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
293                                      <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
294                                      <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
295                                      <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
296                                      <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
297                         interrupt-names = "ch0", "ch1", "ch2", "ch3",
298                                           "ch4", "ch5", "ch6", "ch7",
299                                           "ch8", "ch9", "ch10", "ch11",
300                                           "ch12", "ch13", "ch14", "ch15",
301                                           "ch16", "ch17", "ch18", "ch19",
302                                           "ch20", "ch21", "ch22", "ch23",
303                                           "ch24";
304                         clocks = <&cpg CPG_MOD 812>;
305                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
306                         resets = <&cpg 812>;
307                         phy-mode = "rgmii-txid";
308                         #address-cells = <1>;
309                         #size-cells = <0>;
310                         status = "disabled";
311                 };
312
313                 scif2: serial@e6e88000 {
314                         compatible = "renesas,scif-r8a77995",
315                                      "renesas,rcar-gen3-scif", "renesas,scif";
316                         reg = <0 0xe6e88000 0 64>;
317                         interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
318                         clocks = <&cpg CPG_MOD 310>,
319                                  <&cpg CPG_CORE R8A77995_CLK_S3D1C>,
320                                  <&scif_clk>;
321                         clock-names = "fck", "brg_int", "scif_clk";
322                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
323                         resets = <&cpg 310>;
324                         status = "disabled";
325                 };
326
327                 pwm0: pwm@e6e30000 {
328                         compatible = "renesas,pwm-r8a77995", "renesas,pwm-rcar";
329                         reg = <0 0xe6e30000 0 0x8>;
330                         #pwm-cells = <2>;
331                         clocks = <&cpg CPG_MOD 523>;
332                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
333                         resets = <&cpg 523>;
334                         status = "disabled";
335                 };
336
337                 pwm1: pwm@e6e31000 {
338                         compatible = "renesas,pwm-r8a77995", "renesas,pwm-rcar";
339                         reg = <0 0xe6e31000 0 0x8>;
340                         #pwm-cells = <2>;
341                         clocks = <&cpg CPG_MOD 523>;
342                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
343                         resets = <&cpg 523>;
344                         status = "disabled";
345                 };
346
347                 pwm2: pwm@e6e32000 {
348                         compatible = "renesas,pwm-r8a77995", "renesas,pwm-rcar";
349                         reg = <0 0xe6e32000 0 0x8>;
350                         #pwm-cells = <2>;
351                         clocks = <&cpg CPG_MOD 523>;
352                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
353                         resets = <&cpg 523>;
354                         status = "disabled";
355                 };
356
357                 pwm3: pwm@e6e33000 {
358                         compatible = "renesas,pwm-r8a77995", "renesas,pwm-rcar";
359                         reg = <0 0xe6e33000 0 0x8>;
360                         #pwm-cells = <2>;
361                         clocks = <&cpg CPG_MOD 523>;
362                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
363                         resets = <&cpg 523>;
364                         status = "disabled";
365                 };
366
367                 ehci0: usb@ee080100 {
368                         compatible = "generic-ehci";
369                         reg = <0 0xee080100 0 0x100>;
370                         interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
371                         clocks = <&cpg CPG_MOD 703>;
372                         phys = <&usb2_phy0>;
373                         phy-names = "usb";
374                         companion = <&ohci0>;
375                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
376                         resets = <&cpg 703>;
377                         status = "disabled";
378                 };
379
380                 ohci0: usb@ee080000 {
381                         compatible = "generic-ohci";
382                         reg = <0 0xee080000 0 0x100>;
383                         interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
384                         clocks = <&cpg CPG_MOD 703>;
385                         phys = <&usb2_phy0>;
386                         phy-names = "usb";
387                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
388                         resets = <&cpg 703>;
389                         status = "disabled";
390                 };
391
392                 usb2_phy0: usb-phy@ee080200 {
393                         compatible = "renesas,usb2-phy-r8a77995",
394                                      "renesas,rcar-gen3-usb2-phy";
395                         reg = <0 0xee080200 0 0x700>;
396                         interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
397                         clocks = <&cpg CPG_MOD 703>;
398                         power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
399                         resets = <&cpg 703>;
400                         #phy-cells = <0>;
401                         status = "disabled";
402                 };
403         };
404 };