aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2013-12-11 09:05:14 -0500
committerSimon Horman <horms+renesas@verge.net.au>2013-12-19 06:01:33 -0500
commit22a1f59547e1e63cd18ee1ddb32fa2d8ab591a22 (patch)
treeae45aa5472cb31c460244e1533d3fb6c12cf95c2
parent90c2434daa0b8c7ec2b75fcb182436813e9120bd (diff)
ARM: shmobile: r8a7790: Add clocks
Declare all core clocks and DIV6 clocks, as well as all MSTP clocks currently used by r8a7790 boards. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
-rw-r--r--arch/arm/boot/dts/r8a7790.dtsi318
1 files changed, 318 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/r8a7790.dtsi b/arch/arm/boot/dts/r8a7790.dtsi
index 0e4d5b57c48b..8dccbe7ba85a 100644
--- a/arch/arm/boot/dts/r8a7790.dtsi
+++ b/arch/arm/boot/dts/r8a7790.dtsi
@@ -8,6 +8,7 @@
8 * kind, whether express or implied. 8 * kind, whether express or implied.
9 */ 9 */
10 10
11#include <dt-bindings/clock/r8a7790-clock.h>
11#include <dt-bindings/interrupt-controller/arm-gic.h> 12#include <dt-bindings/interrupt-controller/arm-gic.h>
12#include <dt-bindings/interrupt-controller/irq.h> 13#include <dt-bindings/interrupt-controller/irq.h>
13 14
@@ -287,4 +288,321 @@
287 cap-sd-highspeed; 288 cap-sd-highspeed;
288 status = "disabled"; 289 status = "disabled";
289 }; 290 };
291
292 clocks {
293 #address-cells = <2>;
294 #size-cells = <2>;
295 ranges;
296
297 /* External root clock */
298 extal_clk: extal_clk {
299 compatible = "fixed-clock";
300 #clock-cells = <0>;
301 /* This value must be overriden by the board. */
302 clock-frequency = <0>;
303 clock-output-names = "extal";
304 };
305
306 /* Special CPG clocks */
307 cpg_clocks: cpg_clocks@e6150000 {
308 compatible = "renesas,r8a7790-cpg-clocks",
309 "renesas,rcar-gen2-cpg-clocks";
310 reg = <0 0xe6150000 0 0x1000>;
311 clocks = <&extal_clk>;
312 #clock-cells = <1>;
313 clock-output-names = "main", "pll0", "pll1", "pll3",
314 "lb", "qspi", "sdh", "sd0", "sd1",
315 "z";
316 };
317
318 /* Variable factor clocks */
319 sd2_clk: sd2_clk@e6150078 {
320 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
321 reg = <0 0xe6150078 0 4>;
322 clocks = <&pll1_div2_clk>;
323 #clock-cells = <0>;
324 clock-output-names = "sd2";
325 };
326 sd3_clk: sd3_clk@e615007c {
327 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
328 reg = <0 0xe615007c 0 4>;
329 clocks = <&pll1_div2_clk>;
330 #clock-cells = <0>;
331 clock-output-names = "sd3";
332 };
333 mmc0_clk: mmc0_clk@e6150240 {
334 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
335 reg = <0 0xe6150240 0 4>;
336 clocks = <&pll1_div2_clk>;
337 #clock-cells = <0>;
338 clock-output-names = "mmc0";
339 };
340 mmc1_clk: mmc1_clk@e6150244 {
341 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
342 reg = <0 0xe6150244 0 4>;
343 clocks = <&pll1_div2_clk>;
344 #clock-cells = <0>;
345 clock-output-names = "mmc1";
346 };
347 ssp_clk: ssp_clk@e6150248 {
348 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
349 reg = <0 0xe6150248 0 4>;
350 clocks = <&pll1_div2_clk>;
351 #clock-cells = <0>;
352 clock-output-names = "ssp";
353 };
354 ssprs_clk: ssprs_clk@e615024c {
355 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
356 reg = <0 0xe615024c 0 4>;
357 clocks = <&pll1_div2_clk>;
358 #clock-cells = <0>;
359 clock-output-names = "ssprs";
360 };
361
362 /* Fixed factor clocks */
363 pll1_div2_clk: pll1_div2_clk {
364 compatible = "fixed-factor-clock";
365 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
366 #clock-cells = <0>;
367 clock-div = <2>;
368 clock-mult = <1>;
369 clock-output-names = "pll1_div2";
370 };
371 z2_clk: z2_clk {
372 compatible = "fixed-factor-clock";
373 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
374 #clock-cells = <0>;
375 clock-div = <2>;
376 clock-mult = <1>;
377 clock-output-names = "z2";
378 };
379 zg_clk: zg_clk {
380 compatible = "fixed-factor-clock";
381 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
382 #clock-cells = <0>;
383 clock-div = <3>;
384 clock-mult = <1>;
385 clock-output-names = "zg";
386 };
387 zx_clk: zx_clk {
388 compatible = "fixed-factor-clock";
389 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
390 #clock-cells = <0>;
391 clock-div = <3>;
392 clock-mult = <1>;
393 clock-output-names = "zx";
394 };
395 zs_clk: zs_clk {
396 compatible = "fixed-factor-clock";
397 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
398 #clock-cells = <0>;
399 clock-div = <6>;
400 clock-mult = <1>;
401 clock-output-names = "zs";
402 };
403 hp_clk: hp_clk {
404 compatible = "fixed-factor-clock";
405 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
406 #clock-cells = <0>;
407 clock-div = <12>;
408 clock-mult = <1>;
409 clock-output-names = "hp";
410 };
411 i_clk: i_clk {
412 compatible = "fixed-factor-clock";
413 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
414 #clock-cells = <0>;
415 clock-div = <2>;
416 clock-mult = <1>;
417 clock-output-names = "i";
418 };
419 b_clk: b_clk {
420 compatible = "fixed-factor-clock";
421 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
422 #clock-cells = <0>;
423 clock-div = <12>;
424 clock-mult = <1>;
425 clock-output-names = "b";
426 };
427 p_clk: p_clk {
428 compatible = "fixed-factor-clock";
429 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
430 #clock-cells = <0>;
431 clock-div = <24>;
432 clock-mult = <1>;
433 clock-output-names = "p";
434 };
435 cl_clk: cl_clk {
436 compatible = "fixed-factor-clock";
437 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
438 #clock-cells = <0>;
439 clock-div = <48>;
440 clock-mult = <1>;
441 clock-output-names = "cl";
442 };
443 m2_clk: m2_clk {
444 compatible = "fixed-factor-clock";
445 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
446 #clock-cells = <0>;
447 clock-div = <8>;
448 clock-mult = <1>;
449 clock-output-names = "m2";
450 };
451 imp_clk: imp_clk {
452 compatible = "fixed-factor-clock";
453 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
454 #clock-cells = <0>;
455 clock-div = <4>;
456 clock-mult = <1>;
457 clock-output-names = "imp";
458 };
459 rclk_clk: rclk_clk {
460 compatible = "fixed-factor-clock";
461 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
462 #clock-cells = <0>;
463 clock-div = <(48 * 1024)>;
464 clock-mult = <1>;
465 clock-output-names = "rclk";
466 };
467 oscclk_clk: oscclk_clk {
468 compatible = "fixed-factor-clock";
469 clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
470 #clock-cells = <0>;
471 clock-div = <(12 * 1024)>;
472 clock-mult = <1>;
473 clock-output-names = "oscclk";
474 };
475 zb3_clk: zb3_clk {
476 compatible = "fixed-factor-clock";
477 clocks = <&cpg_clocks R8A7790_CLK_PLL3>;
478 #clock-cells = <0>;
479 clock-div = <4>;
480 clock-mult = <1>;
481 clock-output-names = "zb3";
482 };
483 zb3d2_clk: zb3d2_clk {
484 compatible = "fixed-factor-clock";
485 clocks = <&cpg_clocks R8A7790_CLK_PLL3>;
486 #clock-cells = <0>;
487 clock-div = <8>;
488 clock-mult = <1>;
489 clock-output-names = "zb3d2";
490 };
491 ddr_clk: ddr_clk {
492 compatible = "fixed-factor-clock";
493 clocks = <&cpg_clocks R8A7790_CLK_PLL3>;
494 #clock-cells = <0>;
495 clock-div = <8>;
496 clock-mult = <1>;
497 clock-output-names = "ddr";
498 };
499 mp_clk: mp_clk {
500 compatible = "fixed-factor-clock";
501 clocks = <&pll1_div2_clk>;
502 #clock-cells = <0>;
503 clock-div = <15>;
504 clock-mult = <1>;
505 clock-output-names = "mp";
506 };
507 cp_clk: cp_clk {
508 compatible = "fixed-factor-clock";
509 clocks = <&extal_clk>;
510 #clock-cells = <0>;
511 clock-div = <2>;
512 clock-mult = <1>;
513 clock-output-names = "cp";
514 };
515
516 /* Gate clocks */
517 mstp1_clks: mstp1_clks@e6150134 {
518 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
519 reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
520 clocks = <&p_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>,
521 <&cp_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>,
522 <&zs_clk>;
523 #clock-cells = <1>;
524 renesas,clock-indices = <
525 R8A7790_CLK_TMU1 R8A7790_CLK_TMU3 R8A7790_CLK_TMU2
526 R8A7790_CLK_CMT0 R8A7790_CLK_TMU0 R8A7790_CLK_VSP1_DU1
527 R8A7790_CLK_VSP1_DU0 R8A7790_CLK_VSP1_RT R8A7790_CLK_VSP1_SY
528 >;
529 clock-output-names =
530 "tmu1", "tmu3", "tmu2", "cmt0", "tmu0", "vsp1-du1",
531 "vsp1-du0", "vsp1-rt", "vsp1-sy";
532 };
533 mstp2_clks: mstp2_clks@e6150138 {
534 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
535 reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
536 clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
537 <&mp_clk>;
538 #clock-cells = <1>;
539 renesas,clock-indices = <
540 R8A7790_CLK_SCIFA2 R8A7790_CLK_SCIFA1 R8A7790_CLK_SCIFA0
541 R8A7790_CLK_SCIFB0 R8A7790_CLK_SCIFB1 R8A7790_CLK_SCIFB2
542 >;
543 clock-output-names =
544 "scifa2", "scifa1", "scifa0", "scifb0", "scifb1",
545 "scifb2";
546 };
547 mstp3_clks: mstp3_clks@e615013c {
548 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
549 reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
550 clocks = <&cp_clk>, <&mmc1_clk>, <&sd3_clk>, <&sd2_clk>,
551 <&cpg_clocks R8A7790_CLK_SD1>, <&cpg_clocks R8A7790_CLK_SD0>,
552 <&mmc0_clk>, <&rclk_clk>;
553 #clock-cells = <1>;
554 renesas,clock-indices = <
555 R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3
556 R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0
557 R8A7790_CLK_MMCIF0 R8A7790_CLK_CMT1
558 >;
559 clock-output-names =
560 "tpu0", "mmcif1", "sdhi3", "sdhi2",
561 "sdhi1", "sdhi0", "mmcif0", "cmt1";
562 };
563 mstp5_clks: mstp5_clks@e6150144 {
564 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
565 reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
566 clocks = <&extal_clk>, <&p_clk>;
567 #clock-cells = <1>;
568 renesas,clock-indices = <R8A7790_CLK_THERMAL R8A7790_CLK_PWM>;
569 clock-output-names = "thermal", "pwm";
570 };
571 mstp7_clks: mstp7_clks@e615014c {
572 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
573 reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
574 clocks = <&mp_clk>, <&mp_clk>, <&zs_clk>, <&zs_clk>, <&p_clk>,
575 <&p_clk>, <&zx_clk>, <&zx_clk>, <&zx_clk>, <&zx_clk>,
576 <&zx_clk>;
577 #clock-cells = <1>;
578 renesas,clock-indices = <
579 R8A7790_CLK_EHCI R8A7790_CLK_HSUSB R8A7790_CLK_HSCIF1
580 R8A7790_CLK_HSCIF0 R8A7790_CLK_SCIF1 R8A7790_CLK_SCIF0
581 R8A7790_CLK_DU2 R8A7790_CLK_DU1 R8A7790_CLK_DU0
582 R8A7790_CLK_LVDS1 R8A7790_CLK_LVDS0
583 >;
584 clock-output-names =
585 "ehci", "hsusb", "hscif1", "hscif0", "scif1",
586 "scif0", "du2", "du1", "du0", "lvds1", "lvds0";
587 };
588 mstp8_clks: mstp8_clks@e6150990 {
589 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
590 reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>;
591 clocks = <&p_clk>;
592 #clock-cells = <1>;
593 renesas,clock-indices = <R8A7790_CLK_ETHER>;
594 clock-output-names = "ether";
595 };
596 mstp9_clks: mstp9_clks@e6150994 {
597 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
598 reg = <0 0xe6150994 0 4>, <0 0xe61509a4 0 4>;
599 clocks = <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>;
600 #clock-cells = <1>;
601 renesas,clock-indices = <
602 R8A7790_CLK_RCAN1 R8A7790_CLK_RCAN0 R8A7790_CLK_I2C3
603 R8A7790_CLK_I2C2 R8A7790_CLK_I2C1 R8A7790_CLK_I2C0
604 >;
605 clock-output-names = "rcan1", "rcan0", "i2c3", "i2c2", "i2c1", "i2c0";
606 };
607 };
290}; 608};