2 * Device Tree Source for Keystone 2 clock tree
4 * Copyright (C) 2013 Texas Instruments, Inc.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
16 mainpllclk: mainpllclk@2310110 {
18 compatible = "ti,keystone,main-pll-clock";
19 clocks = <&refclksys>;
20 reg = <0x02620350 4>, <0x02310110 4>;
21 reg-names = "control", "multiplier";
25 papllclk: papllclk@2620358 {
27 compatible = "ti,keystone,pll-clock";
28 clocks = <&refclkpass>;
29 clock-output-names = "pa-pll-clk";
31 reg-names = "control";
34 ddr3apllclk: ddr3apllclk@2620360 {
36 compatible = "ti,keystone,pll-clock";
37 clocks = <&refclkddr3a>;
38 clock-output-names = "ddr-3a-pll-clk";
40 reg-names = "control";
43 ddr3bpllclk: ddr3bpllclk@2620368 {
45 compatible = "ti,keystone,pll-clock";
46 clocks = <&refclkddr3b>;
47 clock-output-names = "ddr-3b-pll-clk";
49 reg-names = "control";
52 armpllclk: armpllclk@2620370 {
54 compatible = "ti,keystone,pll-clock";
55 clocks = <&refclkarm>;
56 clock-output-names = "arm-pll-clk";
58 reg-names = "control";
61 mainmuxclk: mainmuxclk@2310108 {
63 compatible = "ti,keystone,pll-mux-clock";
64 clocks = <&mainpllclk>, <&refclksys>;
68 clock-output-names = "mainmuxclk";
73 compatible = "fixed-factor-clock";
74 clocks = <&mainmuxclk>;
77 clock-output-names = "chipclk1";
80 chipclk1rstiso: chipclk1rstiso {
82 compatible = "fixed-factor-clock";
83 clocks = <&mainmuxclk>;
86 clock-output-names = "chipclk1rstiso";
89 gemtraceclk: gemtraceclk@2310120 {
91 compatible = "ti,keystone,pll-divider-clock";
92 clocks = <&mainmuxclk>;
96 clock-output-names = "gemtraceclk";
99 chipstmxptclk: chipstmxptclk {
101 compatible = "ti,keystone,pll-divider-clock";
102 clocks = <&mainmuxclk>;
103 reg = <0x02310164 4>;
106 clock-output-names = "chipstmxptclk";
109 chipclk12: chipclk12 {
111 compatible = "fixed-factor-clock";
112 clocks = <&chipclk1>;
115 clock-output-names = "chipclk12";
118 chipclk13: chipclk13 {
120 compatible = "fixed-factor-clock";
121 clocks = <&chipclk1>;
124 clock-output-names = "chipclk13";
129 compatible = "fixed-factor-clock";
130 clocks = <&papllclk>;
133 clock-output-names = "paclk13";
136 chipclk14: chipclk14 {
138 compatible = "fixed-factor-clock";
139 clocks = <&chipclk1>;
142 clock-output-names = "chipclk14";
145 chipclk16: chipclk16 {
147 compatible = "fixed-factor-clock";
148 clocks = <&chipclk1>;
151 clock-output-names = "chipclk16";
154 chipclk112: chipclk112 {
156 compatible = "fixed-factor-clock";
157 clocks = <&chipclk1>;
160 clock-output-names = "chipclk112";
163 chipclk124: chipclk124 {
165 compatible = "fixed-factor-clock";
166 clocks = <&chipclk1>;
169 clock-output-names = "chipclk114";
172 chipclk1rstiso13: chipclk1rstiso13 {
174 compatible = "fixed-factor-clock";
175 clocks = <&chipclk1rstiso>;
178 clock-output-names = "chipclk1rstiso13";
181 chipclk1rstiso14: chipclk1rstiso14 {
183 compatible = "fixed-factor-clock";
184 clocks = <&chipclk1rstiso>;
187 clock-output-names = "chipclk1rstiso14";
190 chipclk1rstiso16: chipclk1rstiso16 {
192 compatible = "fixed-factor-clock";
193 clocks = <&chipclk1rstiso>;
196 clock-output-names = "chipclk1rstiso16";
199 chipclk1rstiso112: chipclk1rstiso112 {
201 compatible = "fixed-factor-clock";
202 clocks = <&chipclk1rstiso>;
205 clock-output-names = "chipclk1rstiso112";
208 clkmodrst0: clkmodrst0 {
210 compatible = "ti,keystone,psc-clock";
211 clocks = <&chipclk16>;
212 clock-output-names = "modrst0";
213 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
214 reg-names = "control", "domain";
221 compatible = "ti,keystone,psc-clock";
222 clocks = <&chipclk16>;
223 clock-output-names = "usb";
224 reg = <0x02350008 0xb00>, <0x02350000 0x400>;
225 reg-names = "control", "domain";
229 clkaemifspi: clkaemifspi {
231 compatible = "ti,keystone,psc-clock";
232 clocks = <&chipclk16>;
233 clock-output-names = "aemif-spi";
234 reg = <0x0235000c 0xb00>, <0x02350000 0x400>;
235 reg-names = "control", "domain";
240 clkdebugsstrc: clkdebugsstrc {
242 compatible = "ti,keystone,psc-clock";
243 clocks = <&chipclk13>;
244 clock-output-names = "debugss-trc";
245 reg = <0x02350014 0xb00>, <0x02350000 0x400>;
246 reg-names = "control", "domain";
250 clktetbtrc: clktetbtrc {
252 compatible = "ti,keystone,psc-clock";
253 clocks = <&chipclk13>;
254 clock-output-names = "tetb-trc";
255 reg = <0x02350018 0xb00>, <0x02350004 0x400>;
256 reg-names = "control", "domain";
262 compatible = "ti,keystone,psc-clock";
263 clocks = <&chipclk16>;
264 clock-output-names = "pa";
265 reg = <0x0235001c 0xb00>, <0x02350008 0x400>;
266 reg-names = "control", "domain";
270 clkcpgmac: clkcpgmac {
272 compatible = "ti,keystone,psc-clock";
274 clock-output-names = "cpgmac";
275 reg = <0x02350020 0xb00>, <0x02350008 0x400>;
276 reg-names = "control", "domain";
282 compatible = "ti,keystone,psc-clock";
284 clock-output-names = "sa";
285 reg = <0x02350024 0xb00>, <0x02350008 0x400>;
286 reg-names = "control", "domain";
292 compatible = "ti,keystone,psc-clock";
293 clocks = <&chipclk12>;
294 clock-output-names = "pcie";
295 reg = <0x02350028 0xb00>, <0x0235000c 0x400>;
296 reg-names = "control", "domain";
302 compatible = "ti,keystone,psc-clock";
303 clocks = <&chipclk1rstiso13>;
304 clock-output-names = "srio";
305 reg = <0x0235002c 0xb00>, <0x02350010 0x400>;
306 reg-names = "control", "domain";
310 clkhyperlink0: clkhyperlink0 {
312 compatible = "ti,keystone,psc-clock";
313 clocks = <&chipclk12>;
314 clock-output-names = "hyperlink-0";
315 reg = <0x02350030 0xb00>, <0x02350014 0x400>;
316 reg-names = "control", "domain";
322 compatible = "ti,keystone,psc-clock";
323 clocks = <&chipclk1rstiso112>;
324 clock-output-names = "sr";
325 reg = <0x02350034 0xb00>, <0x02350018 0x400>;
326 reg-names = "control", "domain";
330 clkmsmcsram: clkmsmcsram {
332 compatible = "ti,keystone,psc-clock";
333 clocks = <&chipclk1>;
334 clock-output-names = "msmcsram";
335 reg = <0x02350038 0xb00>, <0x0235001c 0x400>;
336 reg-names = "control", "domain";
342 compatible = "ti,keystone,psc-clock";
343 clocks = <&chipclk1>;
344 clock-output-names = "gem0";
345 reg = <0x0235003c 0xb00>, <0x02350020 0x400>;
346 reg-names = "control", "domain";
352 compatible = "ti,keystone,psc-clock";
353 clocks = <&chipclk1>;
354 clock-output-names = "gem1";
355 reg = <0x02350040 0xb00>, <0x02350024 0x400>;
356 reg-names = "control", "domain";
362 compatible = "ti,keystone,psc-clock";
363 clocks = <&chipclk1>;
364 clock-output-names = "gem2";
365 reg = <0x02350044 0xb00>, <0x02350028 0x400>;
366 reg-names = "control", "domain";
372 compatible = "ti,keystone,psc-clock";
373 clocks = <&chipclk1>;
374 clock-output-names = "gem3";
375 reg = <0x02350048 0xb00>, <0x0235002c 0x400>;
376 reg-names = "control", "domain";
382 compatible = "ti,keystone,psc-clock";
383 clocks = <&chipclk1>;
384 clock-output-names = "gem4";
385 reg = <0x0235004c 0xb00>, <0x02350030 0x400>;
386 reg-names = "control", "domain";
392 compatible = "ti,keystone,psc-clock";
393 clocks = <&chipclk1>;
394 clock-output-names = "gem5";
395 reg = <0x02350050 0xb00>, <0x02350034 0x400>;
396 reg-names = "control", "domain";
402 compatible = "ti,keystone,psc-clock";
403 clocks = <&chipclk1>;
404 clock-output-names = "gem6";
405 reg = <0x02350054 0xb00>, <0x02350038 0x400>;
406 reg-names = "control", "domain";
412 compatible = "ti,keystone,psc-clock";
413 clocks = <&chipclk1>;
414 clock-output-names = "gem7";
415 reg = <0x02350058 0xb00>, <0x0235003c 0x400>;
416 reg-names = "control", "domain";
422 compatible = "ti,keystone,psc-clock";
423 clocks = <&chipclk12>;
424 clock-output-names = "ddr3-0";
425 reg = <0x0235005c 0xb00>, <0x02350040 0x400>;
426 reg-names = "control", "domain";
432 compatible = "ti,keystone,psc-clock";
433 clocks = <&chipclk13>;
434 clock-output-names = "ddr3-1";
435 reg = <0x02350060 0xb00>, <0x02350040 0x400>;
436 reg-names = "control", "domain";
442 compatible = "ti,keystone,psc-clock";
443 clocks = <&chipclk13>;
444 clock-output-names = "tac";
445 reg = <0x02350064 0xb00>, <0x02350044 0x400>;
446 reg-names = "control", "domain";
452 compatible = "ti,keystone,psc-clock";
453 clocks = <&chipclk13>;
454 clock-output-names = "rac-01";
455 reg = <0x02350068 0xb00>, <0x02350044 0x400>;
456 reg-names = "control", "domain";
462 compatible = "ti,keystone,psc-clock";
463 clocks = <&chipclk13>;
464 clock-output-names = "rac-23";
465 reg = <0x0235006c 0xb00>, <0x02350048 0x400>;
466 reg-names = "control", "domain";
472 compatible = "ti,keystone,psc-clock";
473 clocks = <&chipclk13>;
474 clock-output-names = "fftc-0";
475 reg = <0x02350070 0xb00>, <0x0235004c 0x400>;
476 reg-names = "control", "domain";
482 compatible = "ti,keystone,psc-clock";
483 clocks = <&chipclk13>;
484 clock-output-names = "fftc-1";
485 reg = <0x02350074 0xb00>, <0x023504c0 0x400>;
486 reg-names = "control", "domain";
492 compatible = "ti,keystone,psc-clock";
493 clocks = <&chipclk13>;
494 clock-output-names = "fftc-2";
495 reg = <0x02350078 0xb00>, <0x02350050 0x400>;
496 reg-names = "control", "domain";
502 compatible = "ti,keystone,psc-clock";
503 clocks = <&chipclk13>;
504 clock-output-names = "fftc-3";
505 reg = <0x0235007c 0xb00>, <0x02350050 0x400>;
506 reg-names = "control", "domain";
512 compatible = "ti,keystone,psc-clock";
513 clocks = <&chipclk13>;
514 clock-output-names = "fftc-4";
515 reg = <0x02350080 0xb00>, <0x02350050 0x400>;
516 reg-names = "control", "domain";
522 compatible = "ti,keystone,psc-clock";
523 clocks = <&chipclk13>;
524 clock-output-names = "fftc-5";
525 reg = <0x02350084 0xb00>, <0x02350050 0x400>;
526 reg-names = "control", "domain";
532 compatible = "ti,keystone,psc-clock";
533 clocks = <&chipclk13>;
534 clock-output-names = "aif";
535 reg = <0x02350088 0xb00>, <0x02350054 0x400>;
536 reg-names = "control", "domain";
540 clktcp3d0: clktcp3d0 {
542 compatible = "ti,keystone,psc-clock";
543 clocks = <&chipclk13>;
544 clock-output-names = "tcp3d-0";
545 reg = <0x0235008c 0xb00>, <0x02350058 0x400>;
546 reg-names = "control", "domain";
550 clktcp3d1: clktcp3d1 {
552 compatible = "ti,keystone,psc-clock";
553 clocks = <&chipclk13>;
554 clock-output-names = "tcp3d-1";
555 reg = <0x02350090 0xb00>, <0x02350058 0x400>;
556 reg-names = "control", "domain";
560 clktcp3d2: clktcp3d2 {
562 compatible = "ti,keystone,psc-clock";
563 clocks = <&chipclk13>;
564 clock-output-names = "tcp3d-2";
565 reg = <0x02350094 0xb00>, <0x0235005c 0x400>;
566 reg-names = "control", "domain";
570 clktcp3d3: clktcp3d3 {
572 compatible = "ti,keystone,psc-clock";
573 clocks = <&chipclk13>;
574 clock-output-names = "tcp3d-3";
575 reg = <0x02350098 0xb00>, <0x0235005c 0x400>;
576 reg-names = "control", "domain";
582 compatible = "ti,keystone,psc-clock";
583 clocks = <&chipclk13>;
584 clock-output-names = "vcp-0";
585 reg = <0x0235009c 0xb00>, <0x02350060 0x400>;
586 reg-names = "control", "domain";
592 compatible = "ti,keystone,psc-clock";
593 clocks = <&chipclk13>;
594 clock-output-names = "vcp-1";
595 reg = <0x023500a0 0xb00>, <0x02350060 0x400>;
596 reg-names = "control", "domain";
602 compatible = "ti,keystone,psc-clock";
603 clocks = <&chipclk13>;
604 clock-output-names = "vcp-2";
605 reg = <0x023500a4 0xb00>, <0x02350060 0x400>;
606 reg-names = "control", "domain";
612 compatible = "ti,keystone,psc-clock";
613 clocks = <&chipclk13>;
614 clock-output-names = "vcp-3";
615 reg = <0x0235000a8 0xb00>, <0x02350060 0x400>;
616 reg-names = "control", "domain";
622 compatible = "ti,keystone,psc-clock";
623 clocks = <&chipclk13>;
624 clock-output-names = "vcp-4";
625 reg = <0x023500ac 0xb00>, <0x02350064 0x400>;
626 reg-names = "control", "domain";
632 compatible = "ti,keystone,psc-clock";
633 clocks = <&chipclk13>;
634 clock-output-names = "vcp-5";
635 reg = <0x023500b0 0xb00>, <0x02350064 0x400>;
636 reg-names = "control", "domain";
642 compatible = "ti,keystone,psc-clock";
643 clocks = <&chipclk13>;
644 clock-output-names = "vcp-6";
645 reg = <0x023500b4 0xb00>, <0x02350064 0x400>;
646 reg-names = "control", "domain";
652 compatible = "ti,keystone,psc-clock";
653 clocks = <&chipclk13>;
654 clock-output-names = "vcp-7";
655 reg = <0x023500b8 0xb00>, <0x02350064 0x400>;
656 reg-names = "control", "domain";
662 compatible = "ti,keystone,psc-clock";
663 clocks = <&chipclk13>;
664 clock-output-names = "bcp";
665 reg = <0x023500bc 0xb00>, <0x02350068 0x400>;
666 reg-names = "control", "domain";
672 compatible = "ti,keystone,psc-clock";
673 clocks = <&chipclk13>;
674 clock-output-names = "dxb";
675 reg = <0x023500c0 0xb00>, <0x0235006c 0x400>;
676 reg-names = "control", "domain";
680 clkhyperlink1: clkhyperlink1 {
682 compatible = "ti,keystone,psc-clock";
683 clocks = <&chipclk12>;
684 clock-output-names = "hyperlink-1";
685 reg = <0x023500c4 0xb00>, <0x02350070 0x400>;
686 reg-names = "control", "domain";
692 compatible = "ti,keystone,psc-clock";
693 clocks = <&chipclk13>;
694 clock-output-names = "xge";
695 reg = <0x023500c8 0xb00>, <0x02350074 0x400>;
696 reg-names = "control", "domain";
700 clkwdtimer0: clkwdtimer0 {
702 compatible = "ti,keystone,psc-clock";
703 clocks = <&clkmodrst0>;
704 clock-output-names = "timer0";
705 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
706 reg-names = "control", "domain";
710 clkwdtimer1: clkwdtimer1 {
712 compatible = "ti,keystone,psc-clock";
713 clocks = <&clkmodrst0>;
714 clock-output-names = "timer1";
715 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
716 reg-names = "control", "domain";
720 clkwdtimer2: clkwdtimer2 {
722 compatible = "ti,keystone,psc-clock";
723 clocks = <&clkmodrst0>;
724 clock-output-names = "timer2";
725 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
726 reg-names = "control", "domain";
730 clkwdtimer3: clkwdtimer3 {
732 compatible = "ti,keystone,psc-clock";
733 clocks = <&clkmodrst0>;
734 clock-output-names = "timer3";
735 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
736 reg-names = "control", "domain";
742 compatible = "ti,keystone,psc-clock";
743 clocks = <&clkmodrst0>;
744 clock-output-names = "uart0";
745 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
746 reg-names = "control", "domain";
752 compatible = "ti,keystone,psc-clock";
753 clocks = <&clkmodrst0>;
754 clock-output-names = "uart1";
755 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
756 reg-names = "control", "domain";
762 compatible = "ti,keystone,psc-clock";
763 clocks = <&clkaemifspi>;
764 clock-output-names = "aemif";
765 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
766 reg-names = "control", "domain";
772 compatible = "ti,keystone,psc-clock";
773 clocks = <&clkmodrst0>;
774 clock-output-names = "usim";
775 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
776 reg-names = "control", "domain";
782 compatible = "ti,keystone,psc-clock";
783 clocks = <&clkmodrst0>;
784 clock-output-names = "i2c";
785 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
786 reg-names = "control", "domain";
792 compatible = "ti,keystone,psc-clock";
793 clocks = <&clkaemifspi>;
794 clock-output-names = "spi";
795 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
796 reg-names = "control", "domain";
802 compatible = "ti,keystone,psc-clock";
803 clocks = <&clkmodrst0>;
804 clock-output-names = "gpio";
805 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
806 reg-names = "control", "domain";
810 clkkeymgr: clkkeymgr {
812 compatible = "ti,keystone,psc-clock";
813 clocks = <&clkmodrst0>;
814 clock-output-names = "keymgr";
815 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
816 reg-names = "control", "domain";