diff options
author | Ulrich Hecht <ulrich.hecht+renesas@gmail.com> | 2015-01-20 07:51:39 -0500 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2015-02-23 16:37:46 -0500 |
commit | a76809a329d6ebae6cdf995670cc770304e265c0 (patch) | |
tree | 38b6359127920e22d65f573b4a99f38f3645faa0 /arch/arm/boot/dts | |
parent | bdba0101c7e90e60481018005654227bdfd67aec (diff) |
ARM: shmobile: r8a73a4: Common clock framework DT description
Declares all r8a73a4 clocks supported by the legacy clock framework.
Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch/arm/boot/dts')
-rw-r--r-- | arch/arm/boot/dts/r8a73a4.dtsi | 294 |
1 files changed, 294 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/r8a73a4.dtsi b/arch/arm/boot/dts/r8a73a4.dtsi index 38136d9f6d95..a1adfe4bc760 100644 --- a/arch/arm/boot/dts/r8a73a4.dtsi +++ b/arch/arm/boot/dts/r8a73a4.dtsi | |||
@@ -9,6 +9,7 @@ | |||
9 | * kind, whether express or implied. | 9 | * kind, whether express or implied. |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <dt-bindings/clock/r8a73a4-clock.h> | ||
12 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 13 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
13 | #include <dt-bindings/interrupt-controller/irq.h> | 14 | #include <dt-bindings/interrupt-controller/irq.h> |
14 | 15 | ||
@@ -377,4 +378,297 @@ | |||
377 | <0 0xf1006000 0 0x2000>; | 378 | <0 0xf1006000 0 0x2000>; |
378 | interrupts = <1 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; | 379 | interrupts = <1 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; |
379 | }; | 380 | }; |
381 | |||
382 | clocks { | ||
383 | #address-cells = <2>; | ||
384 | #size-cells = <2>; | ||
385 | ranges; | ||
386 | |||
387 | /* External root clocks */ | ||
388 | extalr_clk: extalr_clk { | ||
389 | compatible = "fixed-clock"; | ||
390 | #clock-cells = <0>; | ||
391 | clock-frequency = <32768>; | ||
392 | clock-output-names = "extalr"; | ||
393 | }; | ||
394 | extal1_clk: extal1_clk { | ||
395 | compatible = "fixed-clock"; | ||
396 | #clock-cells = <0>; | ||
397 | clock-frequency = <25000000>; | ||
398 | clock-output-names = "extal1"; | ||
399 | }; | ||
400 | extal2_clk: extal2_clk { | ||
401 | compatible = "fixed-clock"; | ||
402 | #clock-cells = <0>; | ||
403 | clock-frequency = <48000000>; | ||
404 | clock-output-names = "extal2"; | ||
405 | }; | ||
406 | fsiack_clk: fsiack_clk { | ||
407 | compatible = "fixed-clock"; | ||
408 | #clock-cells = <0>; | ||
409 | /* This value must be overridden by the board. */ | ||
410 | clock-frequency = <0>; | ||
411 | clock-output-names = "fsiack"; | ||
412 | }; | ||
413 | fsibck_clk: fsibck_clk { | ||
414 | compatible = "fixed-clock"; | ||
415 | #clock-cells = <0>; | ||
416 | /* This value must be overridden by the board. */ | ||
417 | clock-frequency = <0>; | ||
418 | clock-output-names = "fsibck"; | ||
419 | }; | ||
420 | |||
421 | /* Special CPG clocks */ | ||
422 | cpg_clocks: cpg_clocks@e6150000 { | ||
423 | compatible = "renesas,r8a73a4-cpg-clocks"; | ||
424 | reg = <0 0xe6150000 0 0x10000>; | ||
425 | clocks = <&extal1_clk>, <&extal2_clk>; | ||
426 | #clock-cells = <1>; | ||
427 | clock-output-names = "main", "pll0", "pll1", "pll2", | ||
428 | "pll2s", "pll2h", "z", "z2", | ||
429 | "i", "m3", "b", "m1", "m2", | ||
430 | "zx", "zs", "hp"; | ||
431 | }; | ||
432 | |||
433 | /* Variable factor clocks (DIV6) */ | ||
434 | zb_clk: zb_clk@e6150010 { | ||
435 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
436 | reg = <0 0xe6150010 0 4>; | ||
437 | clocks = <&pll1_div2_clk>, <0>, | ||
438 | <&cpg_clocks R8A73A4_CLK_PLL2S>, <0>; | ||
439 | #clock-cells = <0>; | ||
440 | clock-output-names = "zb"; | ||
441 | }; | ||
442 | sdhi0_clk: sdhi0_clk@e6150074 { | ||
443 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
444 | reg = <0 0xe6150074 0 4>; | ||
445 | clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, | ||
446 | <0>, <&extal2_clk>; | ||
447 | #clock-cells = <0>; | ||
448 | clock-output-names = "sdhi0ck"; | ||
449 | }; | ||
450 | sdhi1_clk: sdhi1_clk@e6150078 { | ||
451 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
452 | reg = <0 0xe6150078 0 4>; | ||
453 | clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, | ||
454 | <0>, <&extal2_clk>; | ||
455 | #clock-cells = <0>; | ||
456 | clock-output-names = "sdhi1ck"; | ||
457 | }; | ||
458 | sdhi2_clk: sdhi2_clk@e615007c { | ||
459 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
460 | reg = <0 0xe615007c 0 4>; | ||
461 | clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, | ||
462 | <0>, <&extal2_clk>; | ||
463 | #clock-cells = <0>; | ||
464 | clock-output-names = "sdhi2ck"; | ||
465 | }; | ||
466 | mmc0_clk: mmc0_clk@e6150240 { | ||
467 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
468 | reg = <0 0xe6150240 0 4>; | ||
469 | clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, | ||
470 | <0>, <&extal2_clk>; | ||
471 | #clock-cells = <0>; | ||
472 | clock-output-names = "mmc0"; | ||
473 | }; | ||
474 | mmc1_clk: mmc1_clk@e6150244 { | ||
475 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
476 | reg = <0 0xe6150244 0 4>; | ||
477 | clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, | ||
478 | <0>, <&extal2_clk>; | ||
479 | #clock-cells = <0>; | ||
480 | clock-output-names = "mmc1"; | ||
481 | }; | ||
482 | vclk1_clk: vclk1_clk@e6150008 { | ||
483 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
484 | reg = <0 0xe6150008 0 4>; | ||
485 | clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, | ||
486 | <0>, <&extal2_clk>, <&main_div2_clk>, | ||
487 | <&extalr_clk>, <0>, <0>; | ||
488 | #clock-cells = <0>; | ||
489 | clock-output-names = "vclk1"; | ||
490 | }; | ||
491 | vclk2_clk: vclk2_clk@e615000c { | ||
492 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
493 | reg = <0 0xe615000c 0 4>; | ||
494 | clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, | ||
495 | <0>, <&extal2_clk>, <&main_div2_clk>, | ||
496 | <&extalr_clk>, <0>, <0>; | ||
497 | #clock-cells = <0>; | ||
498 | clock-output-names = "vclk2"; | ||
499 | }; | ||
500 | vclk3_clk: vclk3_clk@e615001c { | ||
501 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
502 | reg = <0 0xe615001c 0 4>; | ||
503 | clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, | ||
504 | <0>, <&extal2_clk>, <&main_div2_clk>, | ||
505 | <&extalr_clk>, <0>, <0>; | ||
506 | #clock-cells = <0>; | ||
507 | clock-output-names = "vclk3"; | ||
508 | }; | ||
509 | vclk4_clk: vclk4_clk@e6150014 { | ||
510 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
511 | reg = <0 0xe6150014 0 4>; | ||
512 | clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, | ||
513 | <0>, <&extal2_clk>, <&main_div2_clk>, | ||
514 | <&extalr_clk>, <0>, <0>; | ||
515 | #clock-cells = <0>; | ||
516 | clock-output-names = "vclk4"; | ||
517 | }; | ||
518 | vclk5_clk: vclk5_clk@e6150034 { | ||
519 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
520 | reg = <0 0xe6150034 0 4>; | ||
521 | clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, | ||
522 | <0>, <&extal2_clk>, <&main_div2_clk>, | ||
523 | <&extalr_clk>, <0>, <0>; | ||
524 | #clock-cells = <0>; | ||
525 | clock-output-names = "vclk5"; | ||
526 | }; | ||
527 | fsia_clk: fsia_clk@e6150018 { | ||
528 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
529 | reg = <0 0xe6150018 0 4>; | ||
530 | clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, | ||
531 | <&fsiack_clk>, <0>; | ||
532 | #clock-cells = <0>; | ||
533 | clock-output-names = "fsia"; | ||
534 | }; | ||
535 | fsib_clk: fsib_clk@e6150090 { | ||
536 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
537 | reg = <0 0xe6150090 0 4>; | ||
538 | clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, | ||
539 | <&fsibck_clk>, <0>; | ||
540 | #clock-cells = <0>; | ||
541 | clock-output-names = "fsib"; | ||
542 | }; | ||
543 | mp_clk: mp_clk@e6150080 { | ||
544 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
545 | reg = <0 0xe6150080 0 4>; | ||
546 | clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, | ||
547 | <&extal2_clk>, <&extal2_clk>; | ||
548 | #clock-cells = <0>; | ||
549 | clock-output-names = "mp"; | ||
550 | }; | ||
551 | m4_clk: m4_clk@e6150098 { | ||
552 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
553 | reg = <0 0xe6150098 0 4>; | ||
554 | clocks = <&cpg_clocks R8A73A4_CLK_PLL2S>; | ||
555 | #clock-cells = <0>; | ||
556 | clock-output-names = "m4"; | ||
557 | }; | ||
558 | hsi_clk: hsi_clk@e615026c { | ||
559 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
560 | reg = <0 0xe615026c 0 4>; | ||
561 | clocks = <&cpg_clocks R8A73A4_CLK_PLL2H>, <&pll1_div2_clk>, | ||
562 | <&cpg_clocks R8A73A4_CLK_PLL2S>, <0>; | ||
563 | #clock-cells = <0>; | ||
564 | clock-output-names = "hsi"; | ||
565 | }; | ||
566 | spuv_clk: spuv_clk@e6150094 { | ||
567 | compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock"; | ||
568 | reg = <0 0xe6150094 0 4>; | ||
569 | clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, | ||
570 | <&extal2_clk>, <&extal2_clk>; | ||
571 | #clock-cells = <0>; | ||
572 | clock-output-names = "spuv"; | ||
573 | }; | ||
574 | |||
575 | /* Fixed factor clocks */ | ||
576 | main_div2_clk: main_div2_clk { | ||
577 | compatible = "fixed-factor-clock"; | ||
578 | clocks = <&cpg_clocks R8A73A4_CLK_MAIN>; | ||
579 | #clock-cells = <0>; | ||
580 | clock-div = <2>; | ||
581 | clock-mult = <1>; | ||
582 | clock-output-names = "main_div2"; | ||
583 | }; | ||
584 | pll0_div2_clk: pll0_div2_clk { | ||
585 | compatible = "fixed-factor-clock"; | ||
586 | clocks = <&cpg_clocks R8A73A4_CLK_PLL0>; | ||
587 | #clock-cells = <0>; | ||
588 | clock-div = <2>; | ||
589 | clock-mult = <1>; | ||
590 | clock-output-names = "pll0_div2"; | ||
591 | }; | ||
592 | pll1_div2_clk: pll1_div2_clk { | ||
593 | compatible = "fixed-factor-clock"; | ||
594 | clocks = <&cpg_clocks R8A73A4_CLK_PLL1>; | ||
595 | #clock-cells = <0>; | ||
596 | clock-div = <2>; | ||
597 | clock-mult = <1>; | ||
598 | clock-output-names = "pll1_div2"; | ||
599 | }; | ||
600 | extal1_div2_clk: extal1_div2_clk { | ||
601 | compatible = "fixed-factor-clock"; | ||
602 | clocks = <&extal1_clk>; | ||
603 | #clock-cells = <0>; | ||
604 | clock-div = <2>; | ||
605 | clock-mult = <1>; | ||
606 | clock-output-names = "extal1_div2"; | ||
607 | }; | ||
608 | |||
609 | /* Gate clocks */ | ||
610 | mstp2_clks: mstp2_clks@e6150138 { | ||
611 | compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks"; | ||
612 | reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>; | ||
613 | clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, | ||
614 | <&mp_clk>, <&mp_clk>, <&cpg_clocks R8A73A4_CLK_HP>; | ||
615 | #clock-cells = <1>; | ||
616 | clock-indices = < | ||
617 | R8A73A4_CLK_SCIFA0 R8A73A4_CLK_SCIFA1 | ||
618 | R8A73A4_CLK_SCIFB0 R8A73A4_CLK_SCIFB1 | ||
619 | R8A73A4_CLK_SCIFB2 R8A73A4_CLK_SCIFB3 | ||
620 | R8A73A4_CLK_DMAC | ||
621 | >; | ||
622 | clock-output-names = | ||
623 | "scifa0", "scifa1", "scifb0", "scifb1", | ||
624 | "scifb2", "scifb3", "dmac"; | ||
625 | }; | ||
626 | mstp3_clks: mstp3_clks@e615013c { | ||
627 | compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks"; | ||
628 | reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>; | ||
629 | clocks = <&cpg_clocks R8A73A4_CLK_HP>, <&mmc1_clk>, | ||
630 | <&sdhi2_clk>, <&sdhi1_clk>, <&sdhi0_clk>, | ||
631 | <&mmc0_clk>, <&cpg_clocks R8A73A4_CLK_HP>, | ||
632 | <&cpg_clocks R8A73A4_CLK_HP>, <&cpg_clocks | ||
633 | R8A73A4_CLK_HP>, <&cpg_clocks | ||
634 | R8A73A4_CLK_HP>, <&extalr_clk>; | ||
635 | #clock-cells = <1>; | ||
636 | clock-indices = < | ||
637 | R8A73A4_CLK_IIC2 R8A73A4_CLK_MMCIF1 | ||
638 | R8A73A4_CLK_SDHI2 R8A73A4_CLK_SDHI1 | ||
639 | R8A73A4_CLK_SDHI0 R8A73A4_CLK_MMCIF0 | ||
640 | R8A73A4_CLK_IIC6 R8A73A4_CLK_IIC7 | ||
641 | R8A73A4_CLK_IIC0 R8A73A4_CLK_IIC1 | ||
642 | R8A73A4_CLK_CMT1 | ||
643 | >; | ||
644 | clock-output-names = | ||
645 | "iic2", "mmcif1", "sdhi2", "sdhi1", "sdhi0", | ||
646 | "mmcif0", "iic6", "iic7", "iic0", "iic1", | ||
647 | "cmt1"; | ||
648 | }; | ||
649 | mstp4_clks: mstp4_clks@e6150140 { | ||
650 | compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks"; | ||
651 | reg = <0 0xe6150140 0 4>, <0 0xe615004c 0 4>; | ||
652 | clocks = <&main_div2_clk>, <&cpg_clocks R8A73A4_CLK_HP>, | ||
653 | <&cpg_clocks R8A73A4_CLK_HP>; | ||
654 | #clock-cells = <1>; | ||
655 | clock-indices = < | ||
656 | R8A73A4_CLK_IIC5 R8A73A4_CLK_IIC4 | ||
657 | R8A73A4_CLK_IIC3 | ||
658 | >; | ||
659 | clock-output-names = | ||
660 | "iic5", "iic4", "iic3"; | ||
661 | }; | ||
662 | mstp5_clks: mstp5_clks@e6150144 { | ||
663 | compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks"; | ||
664 | reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>; | ||
665 | clocks = <&extal2_clk>, <&cpg_clocks R8A73A4_CLK_HP>; | ||
666 | #clock-cells = <1>; | ||
667 | clock-indices = < | ||
668 | R8A73A4_CLK_THERMAL R8A73A4_CLK_IIC8 | ||
669 | >; | ||
670 | clock-output-names = | ||
671 | "thermal", "iic8"; | ||
672 | }; | ||
673 | }; | ||
380 | }; | 674 | }; |