blob: 6eb9613d9c8defe1992174ca55b84d4fb9207a8e [file] [log] [blame]
Magnus Damm0468b2d2013-03-28 00:49:34 +09001/*
2 * Device Tree Source for the r8a7790 SoC
3 *
4 * Copyright (C) 2013 Renesas Solutions Corp.
5 *
6 * This file is licensed under the terms of the GNU General Public License
7 * version 2. This program is licensed "as is" without any warranty of any
8 * kind, whether express or implied.
9 */
10
Laurent Pinchart22a1f592013-12-11 15:05:14 +010011#include <dt-bindings/clock/r8a7790-clock.h>
Laurent Pinchart5f75e732013-11-19 03:18:25 +010012#include <dt-bindings/interrupt-controller/arm-gic.h>
13#include <dt-bindings/interrupt-controller/irq.h>
14
Magnus Damm0468b2d2013-03-28 00:49:34 +090015/ {
16 compatible = "renesas,r8a7790";
17 interrupt-parent = <&gic>;
Takashi Yoshii8585deb2013-03-29 16:49:17 +090018 #address-cells = <2>;
19 #size-cells = <2>;
Magnus Damm0468b2d2013-03-28 00:49:34 +090020
Wolfram Sang6b1d7c62014-02-16 10:40:58 +010021 aliases {
22 i2c0 = &i2c0;
23 i2c1 = &i2c1;
24 i2c2 = &i2c2;
25 i2c3 = &i2c3;
26 };
27
Magnus Damm0468b2d2013-03-28 00:49:34 +090028 cpus {
29 #address-cells = <1>;
30 #size-cells = <0>;
31
32 cpu0: cpu@0 {
33 device_type = "cpu";
34 compatible = "arm,cortex-a15";
35 reg = <0>;
36 clock-frequency = <1300000000>;
37 };
Magnus Dammc1f95972013-08-29 08:22:17 +090038
39 cpu1: cpu@1 {
40 device_type = "cpu";
41 compatible = "arm,cortex-a15";
42 reg = <1>;
43 clock-frequency = <1300000000>;
44 };
45
46 cpu2: cpu@2 {
47 device_type = "cpu";
48 compatible = "arm,cortex-a15";
49 reg = <2>;
50 clock-frequency = <1300000000>;
51 };
52
53 cpu3: cpu@3 {
54 device_type = "cpu";
55 compatible = "arm,cortex-a15";
56 reg = <3>;
57 clock-frequency = <1300000000>;
58 };
Magnus Damm2007e742013-09-15 00:28:58 +090059
60 cpu4: cpu@4 {
61 device_type = "cpu";
62 compatible = "arm,cortex-a7";
63 reg = <0x100>;
64 clock-frequency = <780000000>;
65 };
66
67 cpu5: cpu@5 {
68 device_type = "cpu";
69 compatible = "arm,cortex-a7";
70 reg = <0x101>;
71 clock-frequency = <780000000>;
72 };
73
74 cpu6: cpu@6 {
75 device_type = "cpu";
76 compatible = "arm,cortex-a7";
77 reg = <0x102>;
78 clock-frequency = <780000000>;
79 };
80
81 cpu7: cpu@7 {
82 device_type = "cpu";
83 compatible = "arm,cortex-a7";
84 reg = <0x103>;
85 clock-frequency = <780000000>;
86 };
Magnus Damm0468b2d2013-03-28 00:49:34 +090087 };
88
89 gic: interrupt-controller@f1001000 {
90 compatible = "arm,cortex-a15-gic";
91 #interrupt-cells = <3>;
92 #address-cells = <0>;
93 interrupt-controller;
Takashi Yoshii8585deb2013-03-29 16:49:17 +090094 reg = <0 0xf1001000 0 0x1000>,
95 <0 0xf1002000 0 0x1000>,
96 <0 0xf1004000 0 0x2000>,
97 <0 0xf1006000 0 0x2000>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +010098 interrupts = <1 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
Magnus Damm0468b2d2013-03-28 00:49:34 +090099 };
100
Magnus Damm23de2272013-11-21 14:19:29 +0900101 gpio0: gpio@e6050000 {
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200102 compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
Magnus Damm23de2272013-11-21 14:19:29 +0900103 reg = <0 0xe6050000 0 0x50>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100104 interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200105 #gpio-cells = <2>;
106 gpio-controller;
107 gpio-ranges = <&pfc 0 0 32>;
108 #interrupt-cells = <2>;
109 interrupt-controller;
110 };
111
Magnus Damm23de2272013-11-21 14:19:29 +0900112 gpio1: gpio@e6051000 {
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200113 compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
Magnus Damm23de2272013-11-21 14:19:29 +0900114 reg = <0 0xe6051000 0 0x50>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100115 interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200116 #gpio-cells = <2>;
117 gpio-controller;
118 gpio-ranges = <&pfc 0 32 32>;
119 #interrupt-cells = <2>;
120 interrupt-controller;
121 };
122
Magnus Damm23de2272013-11-21 14:19:29 +0900123 gpio2: gpio@e6052000 {
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200124 compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
Magnus Damm23de2272013-11-21 14:19:29 +0900125 reg = <0 0xe6052000 0 0x50>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100126 interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200127 #gpio-cells = <2>;
128 gpio-controller;
129 gpio-ranges = <&pfc 0 64 32>;
130 #interrupt-cells = <2>;
131 interrupt-controller;
132 };
133
Magnus Damm23de2272013-11-21 14:19:29 +0900134 gpio3: gpio@e6053000 {
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200135 compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
Magnus Damm23de2272013-11-21 14:19:29 +0900136 reg = <0 0xe6053000 0 0x50>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100137 interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200138 #gpio-cells = <2>;
139 gpio-controller;
140 gpio-ranges = <&pfc 0 96 32>;
141 #interrupt-cells = <2>;
142 interrupt-controller;
143 };
144
Magnus Damm23de2272013-11-21 14:19:29 +0900145 gpio4: gpio@e6054000 {
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200146 compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
Magnus Damm23de2272013-11-21 14:19:29 +0900147 reg = <0 0xe6054000 0 0x50>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100148 interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200149 #gpio-cells = <2>;
150 gpio-controller;
151 gpio-ranges = <&pfc 0 128 32>;
152 #interrupt-cells = <2>;
153 interrupt-controller;
154 };
155
Magnus Damm23de2272013-11-21 14:19:29 +0900156 gpio5: gpio@e6055000 {
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200157 compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
Magnus Damm23de2272013-11-21 14:19:29 +0900158 reg = <0 0xe6055000 0 0x50>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100159 interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf98e10c2013-05-10 15:51:14 +0200160 #gpio-cells = <2>;
161 gpio-controller;
162 gpio-ranges = <&pfc 0 160 32>;
163 #interrupt-cells = <2>;
164 interrupt-controller;
165 };
166
Magnus Damm03e2f562013-11-20 16:59:30 +0900167 thermal@e61f0000 {
168 compatible = "renesas,thermal-r8a7790", "renesas,rcar-thermal";
169 reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>;
Magnus Damm03e2f562013-11-20 16:59:30 +0900170 interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoevend3a439d2014-01-07 19:57:14 +0100171 clocks = <&mstp5_clks R8A7790_CLK_THERMAL>;
Magnus Damm03e2f562013-11-20 16:59:30 +0900172 };
173
Magnus Damm0468b2d2013-03-28 00:49:34 +0900174 timer {
175 compatible = "arm,armv7-timer";
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100176 interrupts = <1 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
177 <1 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
178 <1 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
179 <1 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
Magnus Damm0468b2d2013-03-28 00:49:34 +0900180 };
Magnus Damm8f5ec0a2013-03-28 00:49:54 +0900181
182 irqc0: interrupt-controller@e61c0000 {
Magnus Damm220fc352013-11-20 09:07:40 +0900183 compatible = "renesas,irqc-r8a7790", "renesas,irqc";
Magnus Damm8f5ec0a2013-03-28 00:49:54 +0900184 #interrupt-cells = <2>;
185 interrupt-controller;
Takashi Yoshii8585deb2013-03-29 16:49:17 +0900186 reg = <0 0xe61c0000 0 0x200>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100187 interrupts = <0 0 IRQ_TYPE_LEVEL_HIGH>,
188 <0 1 IRQ_TYPE_LEVEL_HIGH>,
189 <0 2 IRQ_TYPE_LEVEL_HIGH>,
190 <0 3 IRQ_TYPE_LEVEL_HIGH>;
Magnus Damm8f5ec0a2013-03-28 00:49:54 +0900191 };
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200192
Guennadi Liakhovetskiedd2b9f2013-09-26 19:20:58 +0200193 i2c0: i2c@e6508000 {
194 #address-cells = <1>;
195 #size-cells = <0>;
196 compatible = "renesas,i2c-r8a7790";
197 reg = <0 0xe6508000 0 0x40>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100198 interrupts = <0 287 IRQ_TYPE_LEVEL_HIGH>;
Ben Dooks2450bad2014-01-20 11:44:21 +0000199 clocks = <&mstp9_clks R8A7790_CLK_I2C0>;
Guennadi Liakhovetskiedd2b9f2013-09-26 19:20:58 +0200200 status = "disabled";
201 };
202
203 i2c1: i2c@e6518000 {
204 #address-cells = <1>;
205 #size-cells = <0>;
206 compatible = "renesas,i2c-r8a7790";
207 reg = <0 0xe6518000 0 0x40>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100208 interrupts = <0 288 IRQ_TYPE_LEVEL_HIGH>;
Ben Dooks2450bad2014-01-20 11:44:21 +0000209 clocks = <&mstp9_clks R8A7790_CLK_I2C1>;
Guennadi Liakhovetskiedd2b9f2013-09-26 19:20:58 +0200210 status = "disabled";
211 };
212
213 i2c2: i2c@e6530000 {
214 #address-cells = <1>;
215 #size-cells = <0>;
216 compatible = "renesas,i2c-r8a7790";
217 reg = <0 0xe6530000 0 0x40>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100218 interrupts = <0 286 IRQ_TYPE_LEVEL_HIGH>;
Ben Dooks2450bad2014-01-20 11:44:21 +0000219 clocks = <&mstp9_clks R8A7790_CLK_I2C2>;
Guennadi Liakhovetskiedd2b9f2013-09-26 19:20:58 +0200220 status = "disabled";
221 };
222
223 i2c3: i2c@e6540000 {
224 #address-cells = <1>;
225 #size-cells = <0>;
226 compatible = "renesas,i2c-r8a7790";
227 reg = <0 0xe6540000 0 0x40>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100228 interrupts = <0 290 IRQ_TYPE_LEVEL_HIGH>;
Ben Dooks2450bad2014-01-20 11:44:21 +0000229 clocks = <&mstp9_clks R8A7790_CLK_I2C3>;
Guennadi Liakhovetskiedd2b9f2013-09-26 19:20:58 +0200230 status = "disabled";
231 };
232
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200233 mmcif0: mmcif@ee200000 {
Magnus Damm063e85602013-11-20 09:05:53 +0900234 compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif";
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200235 reg = <0 0xee200000 0 0x80>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100236 interrupts = <0 169 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart72197ca2013-12-11 15:05:15 +0100237 clocks = <&mstp3_clks R8A7790_CLK_MMCIF0>;
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200238 reg-io-width = <4>;
239 status = "disabled";
240 };
241
Kuninori Morimotob718aa42013-10-21 19:36:13 -0700242 mmcif1: mmc@ee220000 {
Magnus Damm063e85602013-11-20 09:05:53 +0900243 compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif";
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200244 reg = <0 0xee220000 0 0x80>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100245 interrupts = <0 170 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart72197ca2013-12-11 15:05:15 +0100246 clocks = <&mstp3_clks R8A7790_CLK_MMCIF1>;
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200247 reg-io-width = <4>;
248 status = "disabled";
249 };
250
Laurent Pinchart9694c772013-05-09 15:05:57 +0200251 pfc: pfc@e6060000 {
252 compatible = "renesas,pfc-r8a7790";
253 reg = <0 0xe6060000 0 0x250>;
254 };
Olof Johansson55689bf2013-08-14 00:24:05 -0700255
Kuninori Morimotob718aa42013-10-21 19:36:13 -0700256 sdhi0: sd@ee100000 {
Guennadi Liakhovetskidf1d0582013-08-29 17:14:49 +0200257 compatible = "renesas,sdhi-r8a7790";
Ben Dooksd721a152013-12-16 12:38:48 +0000258 reg = <0 0xee100000 0 0x200>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100259 interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart72197ca2013-12-11 15:05:15 +0100260 clocks = <&mstp3_clks R8A7790_CLK_SDHI0>;
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200261 cap-sd-highspeed;
262 status = "disabled";
263 };
264
Kuninori Morimotob718aa42013-10-21 19:36:13 -0700265 sdhi1: sd@ee120000 {
Guennadi Liakhovetskidf1d0582013-08-29 17:14:49 +0200266 compatible = "renesas,sdhi-r8a7790";
Ben Dooksd721a152013-12-16 12:38:48 +0000267 reg = <0 0xee120000 0 0x200>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100268 interrupts = <0 166 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart72197ca2013-12-11 15:05:15 +0100269 clocks = <&mstp3_clks R8A7790_CLK_SDHI1>;
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200270 cap-sd-highspeed;
271 status = "disabled";
272 };
273
Kuninori Morimotob718aa42013-10-21 19:36:13 -0700274 sdhi2: sd@ee140000 {
Guennadi Liakhovetskidf1d0582013-08-29 17:14:49 +0200275 compatible = "renesas,sdhi-r8a7790";
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200276 reg = <0 0xee140000 0 0x100>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100277 interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart72197ca2013-12-11 15:05:15 +0100278 clocks = <&mstp3_clks R8A7790_CLK_SDHI2>;
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200279 cap-sd-highspeed;
280 status = "disabled";
281 };
282
Kuninori Morimotob718aa42013-10-21 19:36:13 -0700283 sdhi3: sd@ee160000 {
Guennadi Liakhovetskidf1d0582013-08-29 17:14:49 +0200284 compatible = "renesas,sdhi-r8a7790";
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200285 reg = <0 0xee160000 0 0x100>;
Laurent Pinchart5f75e732013-11-19 03:18:25 +0100286 interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart72197ca2013-12-11 15:05:15 +0100287 clocks = <&mstp3_clks R8A7790_CLK_SDHI3>;
Guennadi Liakhovetski8c9b1aa2013-07-08 17:54:46 +0200288 cap-sd-highspeed;
289 status = "disabled";
290 };
Laurent Pinchart22a1f592013-12-11 15:05:14 +0100291
Laurent Pinchart597af202013-10-29 16:23:12 +0100292 scifa0: serial@e6c40000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100293 compatible = "renesas,scifa-r8a7790", "renesas,scifa";
Laurent Pinchart597af202013-10-29 16:23:12 +0100294 reg = <0 0xe6c40000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100295 interrupts = <0 144 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100296 clocks = <&mstp2_clks R8A7790_CLK_SCIFA0>;
297 clock-names = "sci_ick";
298 status = "disabled";
299 };
300
301 scifa1: serial@e6c50000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100302 compatible = "renesas,scifa-r8a7790", "renesas,scifa";
Laurent Pinchart597af202013-10-29 16:23:12 +0100303 reg = <0 0xe6c50000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100304 interrupts = <0 145 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100305 clocks = <&mstp2_clks R8A7790_CLK_SCIFA1>;
306 clock-names = "sci_ick";
307 status = "disabled";
308 };
309
310 scifa2: serial@e6c60000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100311 compatible = "renesas,scifa-r8a7790", "renesas,scifa";
Laurent Pinchart597af202013-10-29 16:23:12 +0100312 reg = <0 0xe6c60000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100313 interrupts = <0 151 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100314 clocks = <&mstp2_clks R8A7790_CLK_SCIFA2>;
315 clock-names = "sci_ick";
316 status = "disabled";
317 };
318
319 scifb0: serial@e6c20000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100320 compatible = "renesas,scifb-r8a7790", "renesas,scifb";
Laurent Pinchart597af202013-10-29 16:23:12 +0100321 reg = <0 0xe6c20000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100322 interrupts = <0 148 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100323 clocks = <&mstp2_clks R8A7790_CLK_SCIFB0>;
324 clock-names = "sci_ick";
325 status = "disabled";
326 };
327
328 scifb1: serial@e6c30000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100329 compatible = "renesas,scifb-r8a7790", "renesas,scifb";
Laurent Pinchart597af202013-10-29 16:23:12 +0100330 reg = <0 0xe6c30000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100331 interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100332 clocks = <&mstp2_clks R8A7790_CLK_SCIFB1>;
333 clock-names = "sci_ick";
334 status = "disabled";
335 };
336
337 scifb2: serial@e6ce0000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100338 compatible = "renesas,scifb-r8a7790", "renesas,scifb";
Laurent Pinchart597af202013-10-29 16:23:12 +0100339 reg = <0 0xe6ce0000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100340 interrupts = <0 150 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100341 clocks = <&mstp2_clks R8A7790_CLK_SCIFB2>;
342 clock-names = "sci_ick";
343 status = "disabled";
344 };
345
346 scif0: serial@e6e60000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100347 compatible = "renesas,scif-r8a7790", "renesas,scif";
Laurent Pinchart597af202013-10-29 16:23:12 +0100348 reg = <0 0xe6e60000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100349 interrupts = <0 152 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100350 clocks = <&mstp7_clks R8A7790_CLK_SCIF0>;
351 clock-names = "sci_ick";
352 status = "disabled";
353 };
354
355 scif1: serial@e6e68000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100356 compatible = "renesas,scif-r8a7790", "renesas,scif";
Laurent Pinchart597af202013-10-29 16:23:12 +0100357 reg = <0 0xe6e68000 0 64>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100358 interrupts = <0 153 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100359 clocks = <&mstp7_clks R8A7790_CLK_SCIF1>;
360 clock-names = "sci_ick";
361 status = "disabled";
362 };
363
364 hscif0: serial@e62c0000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100365 compatible = "renesas,hscif-r8a7790", "renesas,hscif";
Laurent Pinchart597af202013-10-29 16:23:12 +0100366 reg = <0 0xe62c0000 0 96>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100367 interrupts = <0 154 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100368 clocks = <&mstp7_clks R8A7790_CLK_HSCIF0>;
369 clock-names = "sci_ick";
370 status = "disabled";
371 };
372
373 hscif1: serial@e62c8000 {
Laurent Pinchart59d2b512014-01-21 13:48:38 +0100374 compatible = "renesas,hscif-r8a7790", "renesas,hscif";
Laurent Pinchart597af202013-10-29 16:23:12 +0100375 reg = <0 0xe62c8000 0 96>;
Laurent Pinchart1f4c7452014-01-21 13:48:39 +0100376 interrupts = <0 155 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart597af202013-10-29 16:23:12 +0100377 clocks = <&mstp7_clks R8A7790_CLK_HSCIF1>;
378 clock-names = "sci_ick";
379 status = "disabled";
380 };
381
Valentine Barshakcde630f2014-01-14 21:05:30 +0400382 sata0: sata@ee300000 {
383 compatible = "renesas,sata-r8a7790";
384 reg = <0 0xee300000 0 0x2000>;
Valentine Barshakcde630f2014-01-14 21:05:30 +0400385 interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>;
386 clocks = <&mstp8_clks R8A7790_CLK_SATA0>;
387 status = "disabled";
388 };
389
390 sata1: sata@ee500000 {
391 compatible = "renesas,sata-r8a7790";
392 reg = <0 0xee500000 0 0x2000>;
Valentine Barshakcde630f2014-01-14 21:05:30 +0400393 interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>;
394 clocks = <&mstp8_clks R8A7790_CLK_SATA1>;
395 status = "disabled";
396 };
397
Laurent Pinchart22a1f592013-12-11 15:05:14 +0100398 clocks {
399 #address-cells = <2>;
400 #size-cells = <2>;
401 ranges;
402
403 /* External root clock */
404 extal_clk: extal_clk {
405 compatible = "fixed-clock";
406 #clock-cells = <0>;
407 /* This value must be overriden by the board. */
408 clock-frequency = <0>;
409 clock-output-names = "extal";
410 };
411
412 /* Special CPG clocks */
413 cpg_clocks: cpg_clocks@e6150000 {
414 compatible = "renesas,r8a7790-cpg-clocks",
415 "renesas,rcar-gen2-cpg-clocks";
416 reg = <0 0xe6150000 0 0x1000>;
417 clocks = <&extal_clk>;
418 #clock-cells = <1>;
419 clock-output-names = "main", "pll0", "pll1", "pll3",
420 "lb", "qspi", "sdh", "sd0", "sd1",
421 "z";
422 };
423
424 /* Variable factor clocks */
425 sd2_clk: sd2_clk@e6150078 {
426 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
427 reg = <0 0xe6150078 0 4>;
428 clocks = <&pll1_div2_clk>;
429 #clock-cells = <0>;
430 clock-output-names = "sd2";
431 };
432 sd3_clk: sd3_clk@e615007c {
433 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
434 reg = <0 0xe615007c 0 4>;
435 clocks = <&pll1_div2_clk>;
436 #clock-cells = <0>;
437 clock-output-names = "sd3";
438 };
439 mmc0_clk: mmc0_clk@e6150240 {
440 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
441 reg = <0 0xe6150240 0 4>;
442 clocks = <&pll1_div2_clk>;
443 #clock-cells = <0>;
444 clock-output-names = "mmc0";
445 };
446 mmc1_clk: mmc1_clk@e6150244 {
447 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
448 reg = <0 0xe6150244 0 4>;
449 clocks = <&pll1_div2_clk>;
450 #clock-cells = <0>;
451 clock-output-names = "mmc1";
452 };
453 ssp_clk: ssp_clk@e6150248 {
454 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
455 reg = <0 0xe6150248 0 4>;
456 clocks = <&pll1_div2_clk>;
457 #clock-cells = <0>;
458 clock-output-names = "ssp";
459 };
460 ssprs_clk: ssprs_clk@e615024c {
461 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
462 reg = <0 0xe615024c 0 4>;
463 clocks = <&pll1_div2_clk>;
464 #clock-cells = <0>;
465 clock-output-names = "ssprs";
466 };
467
468 /* Fixed factor clocks */
469 pll1_div2_clk: pll1_div2_clk {
470 compatible = "fixed-factor-clock";
471 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
472 #clock-cells = <0>;
473 clock-div = <2>;
474 clock-mult = <1>;
475 clock-output-names = "pll1_div2";
476 };
477 z2_clk: z2_clk {
478 compatible = "fixed-factor-clock";
479 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
480 #clock-cells = <0>;
481 clock-div = <2>;
482 clock-mult = <1>;
483 clock-output-names = "z2";
484 };
485 zg_clk: zg_clk {
486 compatible = "fixed-factor-clock";
487 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
488 #clock-cells = <0>;
489 clock-div = <3>;
490 clock-mult = <1>;
491 clock-output-names = "zg";
492 };
493 zx_clk: zx_clk {
494 compatible = "fixed-factor-clock";
495 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
496 #clock-cells = <0>;
497 clock-div = <3>;
498 clock-mult = <1>;
499 clock-output-names = "zx";
500 };
501 zs_clk: zs_clk {
502 compatible = "fixed-factor-clock";
503 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
504 #clock-cells = <0>;
505 clock-div = <6>;
506 clock-mult = <1>;
507 clock-output-names = "zs";
508 };
509 hp_clk: hp_clk {
510 compatible = "fixed-factor-clock";
511 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
512 #clock-cells = <0>;
513 clock-div = <12>;
514 clock-mult = <1>;
515 clock-output-names = "hp";
516 };
517 i_clk: i_clk {
518 compatible = "fixed-factor-clock";
519 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
520 #clock-cells = <0>;
521 clock-div = <2>;
522 clock-mult = <1>;
523 clock-output-names = "i";
524 };
525 b_clk: b_clk {
526 compatible = "fixed-factor-clock";
527 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
528 #clock-cells = <0>;
529 clock-div = <12>;
530 clock-mult = <1>;
531 clock-output-names = "b";
532 };
533 p_clk: p_clk {
534 compatible = "fixed-factor-clock";
535 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
536 #clock-cells = <0>;
537 clock-div = <24>;
538 clock-mult = <1>;
539 clock-output-names = "p";
540 };
541 cl_clk: cl_clk {
542 compatible = "fixed-factor-clock";
543 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
544 #clock-cells = <0>;
545 clock-div = <48>;
546 clock-mult = <1>;
547 clock-output-names = "cl";
548 };
549 m2_clk: m2_clk {
550 compatible = "fixed-factor-clock";
551 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
552 #clock-cells = <0>;
553 clock-div = <8>;
554 clock-mult = <1>;
555 clock-output-names = "m2";
556 };
557 imp_clk: imp_clk {
558 compatible = "fixed-factor-clock";
559 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
560 #clock-cells = <0>;
561 clock-div = <4>;
562 clock-mult = <1>;
563 clock-output-names = "imp";
564 };
565 rclk_clk: rclk_clk {
566 compatible = "fixed-factor-clock";
567 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
568 #clock-cells = <0>;
569 clock-div = <(48 * 1024)>;
570 clock-mult = <1>;
571 clock-output-names = "rclk";
572 };
573 oscclk_clk: oscclk_clk {
574 compatible = "fixed-factor-clock";
575 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
576 #clock-cells = <0>;
577 clock-div = <(12 * 1024)>;
578 clock-mult = <1>;
579 clock-output-names = "oscclk";
580 };
581 zb3_clk: zb3_clk {
582 compatible = "fixed-factor-clock";
583 clocks = <&cpg_clocks R8A7790_CLK_PLL3>;
584 #clock-cells = <0>;
585 clock-div = <4>;
586 clock-mult = <1>;
587 clock-output-names = "zb3";
588 };
589 zb3d2_clk: zb3d2_clk {
590 compatible = "fixed-factor-clock";
591 clocks = <&cpg_clocks R8A7790_CLK_PLL3>;
592 #clock-cells = <0>;
593 clock-div = <8>;
594 clock-mult = <1>;
595 clock-output-names = "zb3d2";
596 };
597 ddr_clk: ddr_clk {
598 compatible = "fixed-factor-clock";
599 clocks = <&cpg_clocks R8A7790_CLK_PLL3>;
600 #clock-cells = <0>;
601 clock-div = <8>;
602 clock-mult = <1>;
603 clock-output-names = "ddr";
604 };
605 mp_clk: mp_clk {
606 compatible = "fixed-factor-clock";
607 clocks = <&pll1_div2_clk>;
608 #clock-cells = <0>;
609 clock-div = <15>;
610 clock-mult = <1>;
611 clock-output-names = "mp";
612 };
613 cp_clk: cp_clk {
614 compatible = "fixed-factor-clock";
615 clocks = <&extal_clk>;
616 #clock-cells = <0>;
617 clock-div = <2>;
618 clock-mult = <1>;
619 clock-output-names = "cp";
620 };
621
622 /* Gate clocks */
Laurent Pinchart9d909512013-12-19 16:51:01 +0100623 mstp0_clks: mstp0_clks@e6150130 {
624 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
625 reg = <0 0xe6150130 0 4>, <0 0xe6150030 0 4>;
626 clocks = <&mp_clk>;
627 #clock-cells = <1>;
628 renesas,clock-indices = <R8A7790_CLK_MSIOF0>;
629 clock-output-names = "msiof0";
630 };
Laurent Pinchart22a1f592013-12-11 15:05:14 +0100631 mstp1_clks: mstp1_clks@e6150134 {
632 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
633 reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
634 clocks = <&p_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>,
635 <&cp_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>,
636 <&zs_clk>;
637 #clock-cells = <1>;
638 renesas,clock-indices = <
639 R8A7790_CLK_TMU1 R8A7790_CLK_TMU3 R8A7790_CLK_TMU2
640 R8A7790_CLK_CMT0 R8A7790_CLK_TMU0 R8A7790_CLK_VSP1_DU1
641 R8A7790_CLK_VSP1_DU0 R8A7790_CLK_VSP1_RT R8A7790_CLK_VSP1_SY
642 >;
643 clock-output-names =
644 "tmu1", "tmu3", "tmu2", "cmt0", "tmu0", "vsp1-du1",
645 "vsp1-du0", "vsp1-rt", "vsp1-sy";
646 };
647 mstp2_clks: mstp2_clks@e6150138 {
648 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
649 reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
650 clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
Laurent Pinchart9d909512013-12-19 16:51:01 +0100651 <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>;
Laurent Pinchart22a1f592013-12-11 15:05:14 +0100652 #clock-cells = <1>;
653 renesas,clock-indices = <
654 R8A7790_CLK_SCIFA2 R8A7790_CLK_SCIFA1 R8A7790_CLK_SCIFA0
Laurent Pinchart9d909512013-12-19 16:51:01 +0100655 R8A7790_CLK_MSIOF2 R8A7790_CLK_SCIFB0 R8A7790_CLK_SCIFB1
656 R8A7790_CLK_MSIOF1 R8A7790_CLK_MSIOF3 R8A7790_CLK_SCIFB2
Laurent Pinchart22a1f592013-12-11 15:05:14 +0100657 >;
658 clock-output-names =
Laurent Pinchart9d909512013-12-19 16:51:01 +0100659 "scifa2", "scifa1", "scifa0", "msiof2", "scifb0",
660 "scifb1", "msiof1", "msiof3", "scifb2";
Laurent Pinchart22a1f592013-12-11 15:05:14 +0100661 };
662 mstp3_clks: mstp3_clks@e615013c {
663 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
664 reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
665 clocks = <&cp_clk>, <&mmc1_clk>, <&sd3_clk>, <&sd2_clk>,
666 <&cpg_clocks R8A7790_CLK_SD1>, <&cpg_clocks R8A7790_CLK_SD0>,
667 <&mmc0_clk>, <&rclk_clk>;
668 #clock-cells = <1>;
669 renesas,clock-indices = <
670 R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3
671 R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0
672 R8A7790_CLK_MMCIF0 R8A7790_CLK_CMT1
673 >;
674 clock-output-names =
675 "tpu0", "mmcif1", "sdhi3", "sdhi2",
676 "sdhi1", "sdhi0", "mmcif0", "cmt1";
677 };
678 mstp5_clks: mstp5_clks@e6150144 {
679 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
680 reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
681 clocks = <&extal_clk>, <&p_clk>;
682 #clock-cells = <1>;
683 renesas,clock-indices = <R8A7790_CLK_THERMAL R8A7790_CLK_PWM>;
684 clock-output-names = "thermal", "pwm";
685 };
686 mstp7_clks: mstp7_clks@e615014c {
687 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
688 reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
689 clocks = <&mp_clk>, <&mp_clk>, <&zs_clk>, <&zs_clk>, <&p_clk>,
690 <&p_clk>, <&zx_clk>, <&zx_clk>, <&zx_clk>, <&zx_clk>,
691 <&zx_clk>;
692 #clock-cells = <1>;
693 renesas,clock-indices = <
694 R8A7790_CLK_EHCI R8A7790_CLK_HSUSB R8A7790_CLK_HSCIF1
695 R8A7790_CLK_HSCIF0 R8A7790_CLK_SCIF1 R8A7790_CLK_SCIF0
696 R8A7790_CLK_DU2 R8A7790_CLK_DU1 R8A7790_CLK_DU0
697 R8A7790_CLK_LVDS1 R8A7790_CLK_LVDS0
698 >;
699 clock-output-names =
700 "ehci", "hsusb", "hscif1", "hscif0", "scif1",
701 "scif0", "du2", "du1", "du0", "lvds1", "lvds0";
702 };
703 mstp8_clks: mstp8_clks@e6150990 {
704 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
705 reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>;
Laurent Pinchartbccccc32014-01-07 09:22:55 +0100706 clocks = <&zg_clk>, <&zg_clk>, <&zg_clk>, <&zg_clk>, <&p_clk>,
707 <&zs_clk>, <&zs_clk>;
Laurent Pinchart22a1f592013-12-11 15:05:14 +0100708 #clock-cells = <1>;
Laurent Pinchart3f2beaa2014-01-07 09:22:53 +0100709 renesas,clock-indices = <
710 R8A7790_CLK_VIN3 R8A7790_CLK_VIN2 R8A7790_CLK_VIN1
Laurent Pinchartbccccc32014-01-07 09:22:55 +0100711 R8A7790_CLK_VIN0 R8A7790_CLK_ETHER R8A7790_CLK_SATA1
712 R8A7790_CLK_SATA0
Laurent Pinchart3f2beaa2014-01-07 09:22:53 +0100713 >;
Laurent Pinchartbccccc32014-01-07 09:22:55 +0100714 clock-output-names =
715 "vin3", "vin2", "vin1", "vin0", "ether", "sata1", "sata0";
Laurent Pinchart22a1f592013-12-11 15:05:14 +0100716 };
717 mstp9_clks: mstp9_clks@e6150994 {
718 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
719 reg = <0 0xe6150994 0 4>, <0 0xe61509a4 0 4>;
Laurent Pinchart91b56ca2013-12-19 16:51:03 +0100720 clocks = <&p_clk>, <&p_clk>, <&cpg_clocks R8A7790_CLK_QSPI>,
721 <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>;
Laurent Pinchart22a1f592013-12-11 15:05:14 +0100722 #clock-cells = <1>;
723 renesas,clock-indices = <
Laurent Pinchart91b56ca2013-12-19 16:51:03 +0100724 R8A7790_CLK_RCAN1 R8A7790_CLK_RCAN0 R8A7790_CLK_QSPI_MOD
725 R8A7790_CLK_I2C3 R8A7790_CLK_I2C2 R8A7790_CLK_I2C1
726 R8A7790_CLK_I2C0
Laurent Pinchart22a1f592013-12-11 15:05:14 +0100727 >;
Laurent Pinchart91b56ca2013-12-19 16:51:03 +0100728 clock-output-names =
729 "rcan1", "rcan0", "qspi_mod", "i2c3", "i2c2", "i2c1", "i2c0";
Laurent Pinchart22a1f592013-12-11 15:05:14 +0100730 };
731 };
Geert Uytterhoeven7053e132014-02-10 11:47:29 +0100732
733 spi: spi@e6b10000 {
734 compatible = "renesas,qspi-r8a7790", "renesas,qspi";
735 reg = <0 0xe6b10000 0 0x2c>;
Geert Uytterhoeven7053e132014-02-10 11:47:29 +0100736 interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>;
737 clocks = <&mstp9_clks R8A7790_CLK_QSPI_MOD>;
738 num-cs = <1>;
739 #address-cells = <1>;
740 #size-cells = <0>;
741 status = "disabled";
742 };
Magnus Damm0468b2d2013-03-28 00:49:34 +0900743};