diff options
Diffstat (limited to 'arch/arm/boot/dts/r8a7779.dtsi')
-rw-r--r-- | arch/arm/boot/dts/r8a7779.dtsi | 220 |
1 files changed, 220 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/r8a7779.dtsi b/arch/arm/boot/dts/r8a7779.dtsi index b517c8e6b420..94e2fc836492 100644 --- a/arch/arm/boot/dts/r8a7779.dtsi +++ b/arch/arm/boot/dts/r8a7779.dtsi | |||
@@ -11,6 +11,7 @@ | |||
11 | 11 | ||
12 | /include/ "skeleton.dtsi" | 12 | /include/ "skeleton.dtsi" |
13 | 13 | ||
14 | #include <dt-bindings/clock/r8a7779-clock.h> | ||
14 | #include <dt-bindings/interrupt-controller/irq.h> | 15 | #include <dt-bindings/interrupt-controller/irq.h> |
15 | 16 | ||
16 | / { | 17 | / { |
@@ -25,21 +26,25 @@ | |||
25 | device_type = "cpu"; | 26 | device_type = "cpu"; |
26 | compatible = "arm,cortex-a9"; | 27 | compatible = "arm,cortex-a9"; |
27 | reg = <0>; | 28 | reg = <0>; |
29 | clock-frequency = <1000000000>; | ||
28 | }; | 30 | }; |
29 | cpu@1 { | 31 | cpu@1 { |
30 | device_type = "cpu"; | 32 | device_type = "cpu"; |
31 | compatible = "arm,cortex-a9"; | 33 | compatible = "arm,cortex-a9"; |
32 | reg = <1>; | 34 | reg = <1>; |
35 | clock-frequency = <1000000000>; | ||
33 | }; | 36 | }; |
34 | cpu@2 { | 37 | cpu@2 { |
35 | device_type = "cpu"; | 38 | device_type = "cpu"; |
36 | compatible = "arm,cortex-a9"; | 39 | compatible = "arm,cortex-a9"; |
37 | reg = <2>; | 40 | reg = <2>; |
41 | clock-frequency = <1000000000>; | ||
38 | }; | 42 | }; |
39 | cpu@3 { | 43 | cpu@3 { |
40 | device_type = "cpu"; | 44 | device_type = "cpu"; |
41 | compatible = "arm,cortex-a9"; | 45 | compatible = "arm,cortex-a9"; |
42 | reg = <3>; | 46 | reg = <3>; |
47 | clock-frequency = <1000000000>; | ||
43 | }; | 48 | }; |
44 | }; | 49 | }; |
45 | 50 | ||
@@ -157,6 +162,7 @@ | |||
157 | compatible = "renesas,i2c-r8a7779"; | 162 | compatible = "renesas,i2c-r8a7779"; |
158 | reg = <0xffc70000 0x1000>; | 163 | reg = <0xffc70000 0x1000>; |
159 | interrupts = <0 79 IRQ_TYPE_LEVEL_HIGH>; | 164 | interrupts = <0 79 IRQ_TYPE_LEVEL_HIGH>; |
165 | clocks = <&mstp0_clks R8A7779_CLK_I2C0>; | ||
160 | status = "disabled"; | 166 | status = "disabled"; |
161 | }; | 167 | }; |
162 | 168 | ||
@@ -166,6 +172,7 @@ | |||
166 | compatible = "renesas,i2c-r8a7779"; | 172 | compatible = "renesas,i2c-r8a7779"; |
167 | reg = <0xffc71000 0x1000>; | 173 | reg = <0xffc71000 0x1000>; |
168 | interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>; | 174 | interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>; |
175 | clocks = <&mstp0_clks R8A7779_CLK_I2C1>; | ||
169 | status = "disabled"; | 176 | status = "disabled"; |
170 | }; | 177 | }; |
171 | 178 | ||
@@ -175,6 +182,7 @@ | |||
175 | compatible = "renesas,i2c-r8a7779"; | 182 | compatible = "renesas,i2c-r8a7779"; |
176 | reg = <0xffc72000 0x1000>; | 183 | reg = <0xffc72000 0x1000>; |
177 | interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>; | 184 | interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>; |
185 | clocks = <&mstp0_clks R8A7779_CLK_I2C2>; | ||
178 | status = "disabled"; | 186 | status = "disabled"; |
179 | }; | 187 | }; |
180 | 188 | ||
@@ -184,6 +192,67 @@ | |||
184 | compatible = "renesas,i2c-r8a7779"; | 192 | compatible = "renesas,i2c-r8a7779"; |
185 | reg = <0xffc73000 0x1000>; | 193 | reg = <0xffc73000 0x1000>; |
186 | interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>; | 194 | interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>; |
195 | clocks = <&mstp0_clks R8A7779_CLK_I2C3>; | ||
196 | status = "disabled"; | ||
197 | }; | ||
198 | |||
199 | scif0: serial@ffe40000 { | ||
200 | compatible = "renesas,scif-r8a7779", "renesas,scif"; | ||
201 | reg = <0xffe40000 0x100>; | ||
202 | interrupt-parent = <&gic>; | ||
203 | interrupts = <0 88 IRQ_TYPE_LEVEL_HIGH>; | ||
204 | clocks = <&cpg_clocks R8A7779_CLK_P>; | ||
205 | clock-names = "sci_ick"; | ||
206 | status = "disabled"; | ||
207 | }; | ||
208 | |||
209 | scif1: serial@ffe41000 { | ||
210 | compatible = "renesas,scif-r8a7779", "renesas,scif"; | ||
211 | reg = <0xffe41000 0x100>; | ||
212 | interrupt-parent = <&gic>; | ||
213 | interrupts = <0 89 IRQ_TYPE_LEVEL_HIGH>; | ||
214 | clocks = <&cpg_clocks R8A7779_CLK_P>; | ||
215 | clock-names = "sci_ick"; | ||
216 | status = "disabled"; | ||
217 | }; | ||
218 | |||
219 | scif2: serial@ffe42000 { | ||
220 | compatible = "renesas,scif-r8a7779", "renesas,scif"; | ||
221 | reg = <0xffe42000 0x100>; | ||
222 | interrupt-parent = <&gic>; | ||
223 | interrupts = <0 90 IRQ_TYPE_LEVEL_HIGH>; | ||
224 | clocks = <&cpg_clocks R8A7779_CLK_P>; | ||
225 | clock-names = "sci_ick"; | ||
226 | status = "disabled"; | ||
227 | }; | ||
228 | |||
229 | scif3: serial@ffe43000 { | ||
230 | compatible = "renesas,scif-r8a7779", "renesas,scif"; | ||
231 | reg = <0xffe43000 0x100>; | ||
232 | interrupt-parent = <&gic>; | ||
233 | interrupts = <0 91 IRQ_TYPE_LEVEL_HIGH>; | ||
234 | clocks = <&cpg_clocks R8A7779_CLK_P>; | ||
235 | clock-names = "sci_ick"; | ||
236 | status = "disabled"; | ||
237 | }; | ||
238 | |||
239 | scif4: serial@ffe44000 { | ||
240 | compatible = "renesas,scif-r8a7779", "renesas,scif"; | ||
241 | reg = <0xffe44000 0x100>; | ||
242 | interrupt-parent = <&gic>; | ||
243 | interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>; | ||
244 | clocks = <&cpg_clocks R8A7779_CLK_P>; | ||
245 | clock-names = "sci_ick"; | ||
246 | status = "disabled"; | ||
247 | }; | ||
248 | |||
249 | scif5: serial@ffe45000 { | ||
250 | compatible = "renesas,scif-r8a7779", "renesas,scif"; | ||
251 | reg = <0xffe45000 0x100>; | ||
252 | interrupt-parent = <&gic>; | ||
253 | interrupts = <0 93 IRQ_TYPE_LEVEL_HIGH>; | ||
254 | clocks = <&cpg_clocks R8A7779_CLK_P>; | ||
255 | clock-names = "sci_ick"; | ||
187 | status = "disabled"; | 256 | status = "disabled"; |
188 | }; | 257 | }; |
189 | 258 | ||
@@ -201,12 +270,14 @@ | |||
201 | compatible = "renesas,rcar-sata"; | 270 | compatible = "renesas,rcar-sata"; |
202 | reg = <0xfc600000 0x2000>; | 271 | reg = <0xfc600000 0x2000>; |
203 | interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>; | 272 | interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>; |
273 | clocks = <&mstp1_clks R8A7779_CLK_SATA>; | ||
204 | }; | 274 | }; |
205 | 275 | ||
206 | sdhi0: sd@ffe4c000 { | 276 | sdhi0: sd@ffe4c000 { |
207 | compatible = "renesas,sdhi-r8a7779"; | 277 | compatible = "renesas,sdhi-r8a7779"; |
208 | reg = <0xffe4c000 0x100>; | 278 | reg = <0xffe4c000 0x100>; |
209 | interrupts = <0 104 IRQ_TYPE_LEVEL_HIGH>; | 279 | interrupts = <0 104 IRQ_TYPE_LEVEL_HIGH>; |
280 | clocks = <&mstp3_clks R8A7779_CLK_SDHI0>; | ||
210 | cap-sd-highspeed; | 281 | cap-sd-highspeed; |
211 | cap-sdio-irq; | 282 | cap-sdio-irq; |
212 | status = "disabled"; | 283 | status = "disabled"; |
@@ -216,6 +287,7 @@ | |||
216 | compatible = "renesas,sdhi-r8a7779"; | 287 | compatible = "renesas,sdhi-r8a7779"; |
217 | reg = <0xffe4d000 0x100>; | 288 | reg = <0xffe4d000 0x100>; |
218 | interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>; | 289 | interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>; |
290 | clocks = <&mstp3_clks R8A7779_CLK_SDHI1>; | ||
219 | cap-sd-highspeed; | 291 | cap-sd-highspeed; |
220 | cap-sdio-irq; | 292 | cap-sdio-irq; |
221 | status = "disabled"; | 293 | status = "disabled"; |
@@ -225,6 +297,7 @@ | |||
225 | compatible = "renesas,sdhi-r8a7779"; | 297 | compatible = "renesas,sdhi-r8a7779"; |
226 | reg = <0xffe4e000 0x100>; | 298 | reg = <0xffe4e000 0x100>; |
227 | interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>; | 299 | interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>; |
300 | clocks = <&mstp3_clks R8A7779_CLK_SDHI2>; | ||
228 | cap-sd-highspeed; | 301 | cap-sd-highspeed; |
229 | cap-sdio-irq; | 302 | cap-sdio-irq; |
230 | status = "disabled"; | 303 | status = "disabled"; |
@@ -234,6 +307,7 @@ | |||
234 | compatible = "renesas,sdhi-r8a7779"; | 307 | compatible = "renesas,sdhi-r8a7779"; |
235 | reg = <0xffe4f000 0x100>; | 308 | reg = <0xffe4f000 0x100>; |
236 | interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>; | 309 | interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>; |
310 | clocks = <&mstp3_clks R8A7779_CLK_SDHI3>; | ||
237 | cap-sd-highspeed; | 311 | cap-sd-highspeed; |
238 | cap-sdio-irq; | 312 | cap-sdio-irq; |
239 | status = "disabled"; | 313 | status = "disabled"; |
@@ -245,6 +319,7 @@ | |||
245 | interrupts = <0 73 IRQ_TYPE_LEVEL_HIGH>; | 319 | interrupts = <0 73 IRQ_TYPE_LEVEL_HIGH>; |
246 | #address-cells = <1>; | 320 | #address-cells = <1>; |
247 | #size-cells = <0>; | 321 | #size-cells = <0>; |
322 | clocks = <&mstp0_clks R8A7779_CLK_HSPI>; | ||
248 | status = "disabled"; | 323 | status = "disabled"; |
249 | }; | 324 | }; |
250 | 325 | ||
@@ -254,6 +329,7 @@ | |||
254 | interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>; | 329 | interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>; |
255 | #address-cells = <1>; | 330 | #address-cells = <1>; |
256 | #size-cells = <0>; | 331 | #size-cells = <0>; |
332 | clocks = <&mstp0_clks R8A7779_CLK_HSPI>; | ||
257 | status = "disabled"; | 333 | status = "disabled"; |
258 | }; | 334 | }; |
259 | 335 | ||
@@ -263,6 +339,150 @@ | |||
263 | interrupts = <0 75 IRQ_TYPE_LEVEL_HIGH>; | 339 | interrupts = <0 75 IRQ_TYPE_LEVEL_HIGH>; |
264 | #address-cells = <1>; | 340 | #address-cells = <1>; |
265 | #size-cells = <0>; | 341 | #size-cells = <0>; |
342 | clocks = <&mstp0_clks R8A7779_CLK_HSPI>; | ||
266 | status = "disabled"; | 343 | status = "disabled"; |
267 | }; | 344 | }; |
345 | |||
346 | clocks { | ||
347 | #address-cells = <1>; | ||
348 | #size-cells = <1>; | ||
349 | ranges; | ||
350 | |||
351 | /* External root clock */ | ||
352 | extal_clk: extal_clk { | ||
353 | compatible = "fixed-clock"; | ||
354 | #clock-cells = <0>; | ||
355 | /* This value must be overriden by the board. */ | ||
356 | clock-frequency = <0>; | ||
357 | clock-output-names = "extal"; | ||
358 | }; | ||
359 | |||
360 | /* Special CPG clocks */ | ||
361 | cpg_clocks: clocks@ffc80000 { | ||
362 | compatible = "renesas,r8a7779-cpg-clocks"; | ||
363 | reg = <0xffc80000 0x30>; | ||
364 | clocks = <&extal_clk>; | ||
365 | #clock-cells = <1>; | ||
366 | clock-output-names = "plla", "z", "zs", "s", | ||
367 | "s1", "p", "b", "out"; | ||
368 | }; | ||
369 | |||
370 | /* Fixed factor clocks */ | ||
371 | i_clk: i_clk { | ||
372 | compatible = "fixed-factor-clock"; | ||
373 | clocks = <&cpg_clocks R8A7779_CLK_PLLA>; | ||
374 | #clock-cells = <0>; | ||
375 | clock-div = <2>; | ||
376 | clock-mult = <1>; | ||
377 | clock-output-names = "i"; | ||
378 | }; | ||
379 | s3_clk: s3_clk { | ||
380 | compatible = "fixed-factor-clock"; | ||
381 | clocks = <&cpg_clocks R8A7779_CLK_PLLA>; | ||
382 | #clock-cells = <0>; | ||
383 | clock-div = <8>; | ||
384 | clock-mult = <1>; | ||
385 | clock-output-names = "s3"; | ||
386 | }; | ||
387 | s4_clk: s4_clk { | ||
388 | compatible = "fixed-factor-clock"; | ||
389 | clocks = <&cpg_clocks R8A7779_CLK_PLLA>; | ||
390 | #clock-cells = <0>; | ||
391 | clock-div = <16>; | ||
392 | clock-mult = <1>; | ||
393 | clock-output-names = "s4"; | ||
394 | }; | ||
395 | g_clk: g_clk { | ||
396 | compatible = "fixed-factor-clock"; | ||
397 | clocks = <&cpg_clocks R8A7779_CLK_PLLA>; | ||
398 | #clock-cells = <0>; | ||
399 | clock-div = <24>; | ||
400 | clock-mult = <1>; | ||
401 | clock-output-names = "g"; | ||
402 | }; | ||
403 | |||
404 | /* Gate clocks */ | ||
405 | mstp0_clks: clocks@ffc80030 { | ||
406 | compatible = "renesas,r8a7779-mstp-clocks", | ||
407 | "renesas,cpg-mstp-clocks"; | ||
408 | reg = <0xffc80030 4>; | ||
409 | clocks = <&cpg_clocks R8A7779_CLK_S>, | ||
410 | <&cpg_clocks R8A7779_CLK_P>, | ||
411 | <&cpg_clocks R8A7779_CLK_P>, | ||
412 | <&cpg_clocks R8A7779_CLK_P>, | ||
413 | <&cpg_clocks R8A7779_CLK_S>, | ||
414 | <&cpg_clocks R8A7779_CLK_S>, | ||
415 | <&cpg_clocks R8A7779_CLK_S1>, | ||
416 | <&cpg_clocks R8A7779_CLK_S1>, | ||
417 | <&cpg_clocks R8A7779_CLK_S1>, | ||
418 | <&cpg_clocks R8A7779_CLK_S1>, | ||
419 | <&cpg_clocks R8A7779_CLK_S1>, | ||
420 | <&cpg_clocks R8A7779_CLK_S1>, | ||
421 | <&cpg_clocks R8A7779_CLK_P>, | ||
422 | <&cpg_clocks R8A7779_CLK_P>, | ||
423 | <&cpg_clocks R8A7779_CLK_P>, | ||
424 | <&cpg_clocks R8A7779_CLK_P>; | ||
425 | #clock-cells = <1>; | ||
426 | renesas,clock-indices = < | ||
427 | R8A7779_CLK_HSPI R8A7779_CLK_TMU2 | ||
428 | R8A7779_CLK_TMU1 R8A7779_CLK_TMU0 | ||
429 | R8A7779_CLK_HSCIF1 R8A7779_CLK_HSCIF0 | ||
430 | R8A7779_CLK_SCIF5 R8A7779_CLK_SCIF4 | ||
431 | R8A7779_CLK_SCIF3 R8A7779_CLK_SCIF2 | ||
432 | R8A7779_CLK_SCIF1 R8A7779_CLK_SCIF0 | ||
433 | R8A7779_CLK_I2C3 R8A7779_CLK_I2C2 | ||
434 | R8A7779_CLK_I2C1 R8A7779_CLK_I2C0 | ||
435 | >; | ||
436 | clock-output-names = | ||
437 | "hspi", "tmu2", "tmu1", "tmu0", "hscif1", | ||
438 | "hscif0", "scif5", "scif4", "scif3", "scif2", | ||
439 | "scif1", "scif0", "i2c3", "i2c2", "i2c1", | ||
440 | "i2c0"; | ||
441 | }; | ||
442 | mstp1_clks: clocks@ffc80034 { | ||
443 | compatible = "renesas,r8a7779-mstp-clocks", | ||
444 | "renesas,cpg-mstp-clocks"; | ||
445 | reg = <0xffc80034 4>, <0xffc80044 4>; | ||
446 | clocks = <&cpg_clocks R8A7779_CLK_P>, | ||
447 | <&cpg_clocks R8A7779_CLK_P>, | ||
448 | <&cpg_clocks R8A7779_CLK_S>, | ||
449 | <&cpg_clocks R8A7779_CLK_S>, | ||
450 | <&cpg_clocks R8A7779_CLK_S>, | ||
451 | <&cpg_clocks R8A7779_CLK_S>, | ||
452 | <&cpg_clocks R8A7779_CLK_P>, | ||
453 | <&cpg_clocks R8A7779_CLK_P>, | ||
454 | <&cpg_clocks R8A7779_CLK_P>, | ||
455 | <&cpg_clocks R8A7779_CLK_S>; | ||
456 | #clock-cells = <1>; | ||
457 | renesas,clock-indices = < | ||
458 | R8A7779_CLK_USB01 R8A7779_CLK_USB2 | ||
459 | R8A7779_CLK_DU R8A7779_CLK_VIN2 | ||
460 | R8A7779_CLK_VIN1 R8A7779_CLK_VIN0 | ||
461 | R8A7779_CLK_ETHER R8A7779_CLK_SATA | ||
462 | R8A7779_CLK_PCIE R8A7779_CLK_VIN3 | ||
463 | >; | ||
464 | clock-output-names = | ||
465 | "usb01", "usb2", | ||
466 | "du", "vin2", | ||
467 | "vin1", "vin0", | ||
468 | "ether", "sata", | ||
469 | "pcie", "vin3"; | ||
470 | }; | ||
471 | mstp3_clks: clocks@ffc8003c { | ||
472 | compatible = "renesas,r8a7779-mstp-clocks", | ||
473 | "renesas,cpg-mstp-clocks"; | ||
474 | reg = <0xffc8003c 4>; | ||
475 | clocks = <&s4_clk>, <&s4_clk>, <&s4_clk>, <&s4_clk>, | ||
476 | <&s4_clk>, <&s4_clk>; | ||
477 | #clock-cells = <1>; | ||
478 | renesas,clock-indices = < | ||
479 | R8A7779_CLK_SDHI3 R8A7779_CLK_SDHI2 | ||
480 | R8A7779_CLK_SDHI1 R8A7779_CLK_SDHI0 | ||
481 | R8A7779_CLK_MMC1 R8A7779_CLK_MMC0 | ||
482 | >; | ||
483 | clock-output-names = | ||
484 | "sdhi3", "sdhi2", "sdhi1", "sdhi0", | ||
485 | "mmc1", "mmc0"; | ||
486 | }; | ||
487 | }; | ||
268 | }; | 488 | }; |