blob: f50fbc8f3bd9584a5d8a74fb9fb55c4bfe01225b [file] [log] [blame]
Magnus Damme3da5b32013-09-19 05:11:11 +09001/*
2 * Device Tree Source for the r7s72100 SoC
3 *
Wolfram Sangb6face42014-05-14 03:10:06 +02004 * Copyright (C) 2013-14 Renesas Solutions Corp.
5 * Copyright (C) 2014 Wolfram Sang, Sang Engineering <wsa@sang-engineering.com>
Magnus Damme3da5b32013-09-19 05:11:11 +09006 *
7 * This file is licensed under the terms of the GNU General Public License
8 * version 2. This program is licensed "as is" without any warranty of any
9 * kind, whether express or implied.
10 */
11
Wolfram Sangb6face42014-05-14 03:10:06 +020012#include <dt-bindings/clock/r7s72100-clock.h>
Geert Uytterhoeven4b18e832014-02-04 16:23:59 +010013#include <dt-bindings/interrupt-controller/irq.h>
14
Magnus Damme3da5b32013-09-19 05:11:11 +090015/ {
16 compatible = "renesas,r7s72100";
17 interrupt-parent = <&gic>;
18 #address-cells = <1>;
19 #size-cells = <1>;
20
Geert Uytterhoeven4b18e832014-02-04 16:23:59 +010021 aliases {
Wolfram Sangc81a4d32014-02-17 22:19:17 +010022 i2c0 = &i2c0;
23 i2c1 = &i2c1;
24 i2c2 = &i2c2;
25 i2c3 = &i2c3;
Geert Uytterhoeven4b18e832014-02-04 16:23:59 +010026 spi0 = &spi0;
27 spi1 = &spi1;
28 spi2 = &spi2;
29 spi3 = &spi3;
30 spi4 = &spi4;
31 };
32
Wolfram Sangb6face42014-05-14 03:10:06 +020033 clocks {
34 ranges;
35 #address-cells = <1>;
36 #size-cells = <1>;
37
38 /* External clocks */
39 extal_clk: extal_clk {
40 #clock-cells = <0>;
41 compatible = "fixed-clock";
42 /* If clk present, value must be set by board */
43 clock-frequency = <0>;
44 clock-output-names = "extal";
45 };
46
47 usb_x1_clk: usb_x1_clk {
48 #clock-cells = <0>;
49 compatible = "fixed-clock";
50 /* If clk present, value must be set by board */
51 clock-frequency = <0>;
52 clock-output-names = "usb_x1";
53 };
54
55 /* Special CPG clocks */
56 cpg_clocks: cpg_clocks@fcfe0000 {
57 #clock-cells = <1>;
58 compatible = "renesas,r7s72100-cpg-clocks",
59 "renesas,rz-cpg-clocks";
60 reg = <0xfcfe0000 0x18>;
61 clocks = <&extal_clk>, <&usb_x1_clk>;
62 clock-output-names = "pll", "i", "g";
63 };
64
65 /* Fixed factor clocks */
66 b_clk: b_clk {
67 #clock-cells = <0>;
68 compatible = "fixed-factor-clock";
69 clocks = <&cpg_clocks R7S72100_CLK_PLL>;
70 clock-mult = <1>;
71 clock-div = <3>;
72 clock-output-names = "b";
73 };
74 p1_clk: p1_clk {
75 #clock-cells = <0>;
76 compatible = "fixed-factor-clock";
77 clocks = <&cpg_clocks R7S72100_CLK_PLL>;
78 clock-mult = <1>;
79 clock-div = <6>;
80 clock-output-names = "p1";
81 };
82 p0_clk: p0_clk {
83 #clock-cells = <0>;
84 compatible = "fixed-factor-clock";
85 clocks = <&cpg_clocks R7S72100_CLK_PLL>;
86 clock-mult = <1>;
87 clock-div = <12>;
88 clock-output-names = "p0";
89 };
90
91 /* MSTP clocks */
92 mstp3_clks: mstp3_clks@fcfe0420 {
93 #clock-cells = <1>;
94 compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks";
95 reg = <0xfcfe0420 4>;
96 clocks = <&p0_clk>;
97 clock-indices = <R7S72100_CLK_MTU2>;
98 clock-output-names = "mtu2";
99 };
100
101 mstp4_clks: mstp4_clks@fcfe0424 {
102 #clock-cells = <1>;
103 compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks";
104 reg = <0xfcfe0424 4>;
105 clocks = <&p1_clk>, <&p1_clk>, <&p1_clk>, <&p1_clk>,
106 <&p1_clk>, <&p1_clk>, <&p1_clk>, <&p1_clk>;
107 clock-indices = <
108 R7S72100_CLK_SCIF0 R7S72100_CLK_SCIF1 R7S72100_CLK_SCIF2 R7S72100_CLK_SCIF3
109 R7S72100_CLK_SCIF4 R7S72100_CLK_SCIF5 R7S72100_CLK_SCIF6 R7S72100_CLK_SCIF7
110 >;
111 clock-output-names = "scif0", "scif1", "scif2", "scif3", "scif4", "scif5", "scif6", "scif7";
112 };
Wolfram Sangd1655662014-05-14 03:10:11 +0200113
114 mstp9_clks: mstp9_clks@fcfe0438 {
115 #clock-cells = <1>;
116 compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks";
117 reg = <0xfcfe0438 4>;
118 clocks = <&p0_clk>, <&p0_clk>, <&p0_clk>, <&p0_clk>;
119 clock-indices = <
120 R7S72100_CLK_I2C0 R7S72100_CLK_I2C1 R7S72100_CLK_I2C2 R7S72100_CLK_I2C3
121 >;
122 clock-output-names = "i2c0", "i2c1", "i2c2", "i2c3";
123 };
Wolfram Sang52eed4f2014-05-14 03:10:13 +0200124
125 mstp10_clks: mstp10_clks@fcfe043c {
126 #clock-cells = <1>;
127 compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks";
128 reg = <0xfcfe043c 4>;
129 clocks = <&p1_clk>, <&p1_clk>, <&p1_clk>, <&p1_clk>,
130 <&p1_clk>;
131 clock-indices = <
132 R7S72100_CLK_SPI0 R7S72100_CLK_SPI1 R7S72100_CLK_SPI2 R7S72100_CLK_SPI3
133 R7S72100_CLK_SPI4
134 >;
135 clock-output-names = "spi0", "spi1", "spi2", "spi3", "spi4";
136 };
Wolfram Sangb6face42014-05-14 03:10:06 +0200137 };
138
Magnus Damme3da5b32013-09-19 05:11:11 +0900139 cpus {
140 #address-cells = <1>;
141 #size-cells = <0>;
142
143 cpu@0 {
144 device_type = "cpu";
145 compatible = "arm,cortex-a9";
146 reg = <0>;
147 };
148 };
149
150 gic: interrupt-controller@e8201000 {
151 compatible = "arm,cortex-a9-gic";
152 #interrupt-cells = <3>;
153 #address-cells = <0>;
154 interrupt-controller;
155 reg = <0xe8201000 0x1000>,
156 <0xe8202000 0x1000>;
157 };
Geert Uytterhoeven4b18e832014-02-04 16:23:59 +0100158
Wolfram Sangc81a4d32014-02-17 22:19:17 +0100159 i2c0: i2c@fcfee000 {
160 #address-cells = <1>;
161 #size-cells = <0>;
162 compatible = "renesas,riic-r7s72100", "renesas,riic-rz";
163 reg = <0xfcfee000 0x44>;
164 interrupts = <0 157 IRQ_TYPE_LEVEL_HIGH>,
165 <0 158 IRQ_TYPE_EDGE_RISING>,
166 <0 159 IRQ_TYPE_EDGE_RISING>,
167 <0 160 IRQ_TYPE_LEVEL_HIGH>,
168 <0 161 IRQ_TYPE_LEVEL_HIGH>,
169 <0 162 IRQ_TYPE_LEVEL_HIGH>,
170 <0 163 IRQ_TYPE_LEVEL_HIGH>,
171 <0 164 IRQ_TYPE_LEVEL_HIGH>;
Wolfram Sangd1655662014-05-14 03:10:11 +0200172 clocks = <&mstp9_clks R7S72100_CLK_I2C0>;
Wolfram Sangc81a4d32014-02-17 22:19:17 +0100173 clock-frequency = <100000>;
174 status = "disabled";
175 };
176
177 i2c1: i2c@fcfee400 {
178 #address-cells = <1>;
179 #size-cells = <0>;
180 compatible = "renesas,riic-r7s72100", "renesas,riic-rz";
181 reg = <0xfcfee400 0x44>;
182 interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>,
183 <0 166 IRQ_TYPE_EDGE_RISING>,
184 <0 167 IRQ_TYPE_EDGE_RISING>,
185 <0 168 IRQ_TYPE_LEVEL_HIGH>,
186 <0 169 IRQ_TYPE_LEVEL_HIGH>,
187 <0 170 IRQ_TYPE_LEVEL_HIGH>,
188 <0 171 IRQ_TYPE_LEVEL_HIGH>,
189 <0 172 IRQ_TYPE_LEVEL_HIGH>;
Wolfram Sangd1655662014-05-14 03:10:11 +0200190 clocks = <&mstp9_clks R7S72100_CLK_I2C1>;
Wolfram Sangc81a4d32014-02-17 22:19:17 +0100191 clock-frequency = <100000>;
192 status = "disabled";
193 };
194
195 i2c2: i2c@fcfee800 {
196 #address-cells = <1>;
197 #size-cells = <0>;
198 compatible = "renesas,riic-r7s72100", "renesas,riic-rz";
199 reg = <0xfcfee800 0x44>;
200 interrupts = <0 173 IRQ_TYPE_LEVEL_HIGH>,
201 <0 174 IRQ_TYPE_EDGE_RISING>,
202 <0 175 IRQ_TYPE_EDGE_RISING>,
203 <0 176 IRQ_TYPE_LEVEL_HIGH>,
204 <0 177 IRQ_TYPE_LEVEL_HIGH>,
205 <0 178 IRQ_TYPE_LEVEL_HIGH>,
206 <0 179 IRQ_TYPE_LEVEL_HIGH>,
207 <0 180 IRQ_TYPE_LEVEL_HIGH>;
Wolfram Sangd1655662014-05-14 03:10:11 +0200208 clocks = <&mstp9_clks R7S72100_CLK_I2C2>;
Wolfram Sangc81a4d32014-02-17 22:19:17 +0100209 clock-frequency = <100000>;
210 status = "disabled";
211 };
212
213 i2c3: i2c@fcfeec00 {
214 #address-cells = <1>;
215 #size-cells = <0>;
216 compatible = "renesas,riic-r7s72100", "renesas,riic-rz";
217 reg = <0xfcfeec00 0x44>;
218 interrupts = <0 181 IRQ_TYPE_LEVEL_HIGH>,
219 <0 182 IRQ_TYPE_EDGE_RISING>,
220 <0 183 IRQ_TYPE_EDGE_RISING>,
221 <0 184 IRQ_TYPE_LEVEL_HIGH>,
222 <0 185 IRQ_TYPE_LEVEL_HIGH>,
223 <0 186 IRQ_TYPE_LEVEL_HIGH>,
224 <0 187 IRQ_TYPE_LEVEL_HIGH>,
225 <0 188 IRQ_TYPE_LEVEL_HIGH>;
Wolfram Sangd1655662014-05-14 03:10:11 +0200226 clocks = <&mstp9_clks R7S72100_CLK_I2C3>;
Wolfram Sangc81a4d32014-02-17 22:19:17 +0100227 clock-frequency = <100000>;
228 status = "disabled";
229 };
230
Wolfram Sang4c84c1b2014-05-14 03:10:08 +0200231 scif0: serial@e8007000 {
232 compatible = "renesas,scif-r7s72100", "renesas,scif";
233 reg = <0xe8007000 64>;
234 interrupts = <0 190 IRQ_TYPE_LEVEL_HIGH>,
235 <0 191 IRQ_TYPE_LEVEL_HIGH>,
236 <0 192 IRQ_TYPE_LEVEL_HIGH>,
237 <0 189 IRQ_TYPE_LEVEL_HIGH>;
238 clocks = <&mstp4_clks R7S72100_CLK_SCIF0>;
239 clock-names = "sci_ick";
240 status = "disabled";
241 };
242
243 scif1: serial@e8007800 {
244 compatible = "renesas,scif-r7s72100", "renesas,scif";
245 reg = <0xe8007800 64>;
246 interrupts = <0 194 IRQ_TYPE_LEVEL_HIGH>,
247 <0 195 IRQ_TYPE_LEVEL_HIGH>,
248 <0 196 IRQ_TYPE_LEVEL_HIGH>,
249 <0 193 IRQ_TYPE_LEVEL_HIGH>;
250 clocks = <&mstp4_clks R7S72100_CLK_SCIF1>;
251 clock-names = "sci_ick";
252 status = "disabled";
253 };
254
255 scif2: serial@e8008000 {
256 compatible = "renesas,scif-r7s72100", "renesas,scif";
257 reg = <0xe8008000 64>;
258 interrupts = <0 198 IRQ_TYPE_LEVEL_HIGH>,
259 <0 199 IRQ_TYPE_LEVEL_HIGH>,
260 <0 200 IRQ_TYPE_LEVEL_HIGH>,
261 <0 197 IRQ_TYPE_LEVEL_HIGH>;
262 clocks = <&mstp4_clks R7S72100_CLK_SCIF2>;
263 clock-names = "sci_ick";
264 status = "disabled";
265 };
266
267 scif3: serial@e8008800 {
268 compatible = "renesas,scif-r7s72100", "renesas,scif";
269 reg = <0xe8008800 64>;
270 interrupts = <0 202 IRQ_TYPE_LEVEL_HIGH>,
271 <0 203 IRQ_TYPE_LEVEL_HIGH>,
272 <0 204 IRQ_TYPE_LEVEL_HIGH>,
273 <0 201 IRQ_TYPE_LEVEL_HIGH>;
274 clocks = <&mstp4_clks R7S72100_CLK_SCIF3>;
275 clock-names = "sci_ick";
276 status = "disabled";
277 };
278
279 scif4: serial@e8009000 {
280 compatible = "renesas,scif-r7s72100", "renesas,scif";
281 reg = <0xe8009000 64>;
282 interrupts = <0 206 IRQ_TYPE_LEVEL_HIGH>,
283 <0 207 IRQ_TYPE_LEVEL_HIGH>,
284 <0 208 IRQ_TYPE_LEVEL_HIGH>,
285 <0 205 IRQ_TYPE_LEVEL_HIGH>;
286 clocks = <&mstp4_clks R7S72100_CLK_SCIF4>;
287 clock-names = "sci_ick";
288 status = "disabled";
289 };
290
291 scif5: serial@e8009800 {
292 compatible = "renesas,scif-r7s72100", "renesas,scif";
293 reg = <0xe8009800 64>;
294 interrupts = <0 210 IRQ_TYPE_LEVEL_HIGH>,
295 <0 211 IRQ_TYPE_LEVEL_HIGH>,
296 <0 212 IRQ_TYPE_LEVEL_HIGH>,
297 <0 209 IRQ_TYPE_LEVEL_HIGH>;
298 clocks = <&mstp4_clks R7S72100_CLK_SCIF5>;
299 clock-names = "sci_ick";
300 status = "disabled";
301 };
302
303 scif6: serial@e800a000 {
304 compatible = "renesas,scif-r7s72100", "renesas,scif";
305 reg = <0xe800a000 64>;
306 interrupts = <0 214 IRQ_TYPE_LEVEL_HIGH>,
307 <0 215 IRQ_TYPE_LEVEL_HIGH>,
308 <0 216 IRQ_TYPE_LEVEL_HIGH>,
309 <0 213 IRQ_TYPE_LEVEL_HIGH>;
310 clocks = <&mstp4_clks R7S72100_CLK_SCIF6>;
311 clock-names = "sci_ick";
312 status = "disabled";
313 };
314
315 scif7: serial@e800a800 {
316 compatible = "renesas,scif-r7s72100", "renesas,scif";
317 reg = <0xe800a800 64>;
318 interrupts = <0 218 IRQ_TYPE_LEVEL_HIGH>,
319 <0 219 IRQ_TYPE_LEVEL_HIGH>,
320 <0 220 IRQ_TYPE_LEVEL_HIGH>,
321 <0 217 IRQ_TYPE_LEVEL_HIGH>;
322 clocks = <&mstp4_clks R7S72100_CLK_SCIF7>;
323 clock-names = "sci_ick";
324 status = "disabled";
325 };
326
Geert Uytterhoeven4b18e832014-02-04 16:23:59 +0100327 spi0: spi@e800c800 {
328 compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz";
329 reg = <0xe800c800 0x24>;
330 interrupts = <0 238 IRQ_TYPE_LEVEL_HIGH>,
331 <0 239 IRQ_TYPE_LEVEL_HIGH>,
332 <0 240 IRQ_TYPE_LEVEL_HIGH>;
333 interrupt-names = "error", "rx", "tx";
Wolfram Sang52eed4f2014-05-14 03:10:13 +0200334 clocks = <&mstp10_clks R7S72100_CLK_SPI0>;
Geert Uytterhoeven4b18e832014-02-04 16:23:59 +0100335 num-cs = <1>;
336 #address-cells = <1>;
337 #size-cells = <0>;
338 status = "disabled";
339 };
340
341 spi1: spi@e800d000 {
342 compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz";
343 reg = <0xe800d000 0x24>;
344 interrupts = <0 241 IRQ_TYPE_LEVEL_HIGH>,
345 <0 242 IRQ_TYPE_LEVEL_HIGH>,
346 <0 243 IRQ_TYPE_LEVEL_HIGH>;
347 interrupt-names = "error", "rx", "tx";
Wolfram Sang52eed4f2014-05-14 03:10:13 +0200348 clocks = <&mstp10_clks R7S72100_CLK_SPI1>;
Geert Uytterhoeven4b18e832014-02-04 16:23:59 +0100349 num-cs = <1>;
350 #address-cells = <1>;
351 #size-cells = <0>;
352 status = "disabled";
353 };
354
355 spi2: spi@e800d800 {
356 compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz";
357 reg = <0xe800d800 0x24>;
358 interrupts = <0 244 IRQ_TYPE_LEVEL_HIGH>,
359 <0 245 IRQ_TYPE_LEVEL_HIGH>,
360 <0 246 IRQ_TYPE_LEVEL_HIGH>;
361 interrupt-names = "error", "rx", "tx";
Wolfram Sang52eed4f2014-05-14 03:10:13 +0200362 clocks = <&mstp10_clks R7S72100_CLK_SPI2>;
Geert Uytterhoeven4b18e832014-02-04 16:23:59 +0100363 num-cs = <1>;
364 #address-cells = <1>;
365 #size-cells = <0>;
366 status = "disabled";
367 };
368
369 spi3: spi@e800e000 {
370 compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz";
371 reg = <0xe800e000 0x24>;
372 interrupts = <0 247 IRQ_TYPE_LEVEL_HIGH>,
373 <0 248 IRQ_TYPE_LEVEL_HIGH>,
374 <0 249 IRQ_TYPE_LEVEL_HIGH>;
375 interrupt-names = "error", "rx", "tx";
Wolfram Sang52eed4f2014-05-14 03:10:13 +0200376 clocks = <&mstp10_clks R7S72100_CLK_SPI3>;
Geert Uytterhoeven4b18e832014-02-04 16:23:59 +0100377 num-cs = <1>;
378 #address-cells = <1>;
379 #size-cells = <0>;
380 status = "disabled";
381 };
382
383 spi4: spi@e800e800 {
384 compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz";
385 reg = <0xe800e800 0x24>;
386 interrupts = <0 250 IRQ_TYPE_LEVEL_HIGH>,
387 <0 251 IRQ_TYPE_LEVEL_HIGH>,
388 <0 252 IRQ_TYPE_LEVEL_HIGH>;
389 interrupt-names = "error", "rx", "tx";
Wolfram Sang52eed4f2014-05-14 03:10:13 +0200390 clocks = <&mstp10_clks R7S72100_CLK_SPI4>;
Geert Uytterhoeven4b18e832014-02-04 16:23:59 +0100391 num-cs = <1>;
392 #address-cells = <1>;
393 #size-cells = <0>;
394 status = "disabled";
395 };
Magnus Damme3da5b32013-09-19 05:11:11 +0900396};