aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts
diff options
context:
space:
mode:
authorUlrich Hecht <ulrich.hecht+renesas@gmail.com>2015-01-20 07:51:39 -0500
committerSimon Horman <horms+renesas@verge.net.au>2015-02-23 16:37:46 -0500
commita76809a329d6ebae6cdf995670cc770304e265c0 (patch)
tree38b6359127920e22d65f573b4a99f38f3645faa0 /arch/arm/boot/dts
parentbdba0101c7e90e60481018005654227bdfd67aec (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.dtsi294
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};