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";
127 chipclk14: chipclk14 {
129 compatible = "fixed-factor-clock";
130 clocks = <&chipclk1>;
133 clock-output-names = "chipclk14";
136 chipclk16: chipclk16 {
138 compatible = "fixed-factor-clock";
139 clocks = <&chipclk1>;
142 clock-output-names = "chipclk16";
145 chipclk112: chipclk112 {
147 compatible = "fixed-factor-clock";
148 clocks = <&chipclk1>;
151 clock-output-names = "chipclk112";
154 chipclk124: chipclk124 {
156 compatible = "fixed-factor-clock";
157 clocks = <&chipclk1>;
160 clock-output-names = "chipclk114";
163 chipclk1rstiso13: chipclk1rstiso13 {
165 compatible = "fixed-factor-clock";
166 clocks = <&chipclk1rstiso>;
169 clock-output-names = "chipclk1rstiso13";
172 chipclk1rstiso14: chipclk1rstiso14 {
174 compatible = "fixed-factor-clock";
175 clocks = <&chipclk1rstiso>;
178 clock-output-names = "chipclk1rstiso14";
181 chipclk1rstiso16: chipclk1rstiso16 {
183 compatible = "fixed-factor-clock";
184 clocks = <&chipclk1rstiso>;
187 clock-output-names = "chipclk1rstiso16";
190 chipclk1rstiso112: chipclk1rstiso112 {
192 compatible = "fixed-factor-clock";
193 clocks = <&chipclk1rstiso>;
196 clock-output-names = "chipclk1rstiso112";
199 clkmodrst0: clkmodrst0 {
201 compatible = "ti,keystone,psc-clock";
202 clocks = <&chipclk16>;
203 clock-output-names = "modrst0";
204 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
205 reg-names = "control", "domain";
212 compatible = "ti,keystone,psc-clock";
213 clocks = <&chipclk16>;
214 clock-output-names = "usb";
215 reg = <0x02350008 0xb00>, <0x02350000 0x400>;
216 reg-names = "control", "domain";
220 clkaemifspi: clkaemifspi {
222 compatible = "ti,keystone,psc-clock";
223 clocks = <&chipclk16>;
224 clock-output-names = "aemif-spi";
225 reg = <0x0235000c 0xb00>, <0x02350000 0x400>;
226 reg-names = "control", "domain";
231 clkdebugsstrc: clkdebugsstrc {
233 compatible = "ti,keystone,psc-clock";
234 clocks = <&chipclk13>;
235 clock-output-names = "debugss-trc";
236 reg = <0x02350014 0xb00>, <0x02350000 0x400>;
237 reg-names = "control", "domain";
241 clktetbtrc: clktetbtrc {
243 compatible = "ti,keystone,psc-clock";
244 clocks = <&chipclk13>;
245 clock-output-names = "tetb-trc";
246 reg = <0x02350018 0xb00>, <0x02350004 0x400>;
247 reg-names = "control", "domain";
253 compatible = "ti,keystone,psc-clock";
254 clocks = <&chipclk16>;
255 clock-output-names = "pa";
256 reg = <0x0235001c 0xb00>, <0x02350008 0x400>;
257 reg-names = "control", "domain";
261 clkcpgmac: clkcpgmac {
263 compatible = "ti,keystone,psc-clock";
265 clock-output-names = "cpgmac";
266 reg = <0x02350020 0xb00>, <0x02350008 0x400>;
267 reg-names = "control", "domain";
273 compatible = "ti,keystone,psc-clock";
275 clock-output-names = "sa";
276 reg = <0x02350024 0xb00>, <0x02350008 0x400>;
277 reg-names = "control", "domain";
283 compatible = "ti,keystone,psc-clock";
284 clocks = <&chipclk12>;
285 clock-output-names = "pcie";
286 reg = <0x02350028 0xb00>, <0x0235000c 0x400>;
287 reg-names = "control", "domain";
293 compatible = "ti,keystone,psc-clock";
294 clocks = <&chipclk1rstiso13>;
295 clock-output-names = "srio";
296 reg = <0x0235002c 0xb00>, <0x02350010 0x400>;
297 reg-names = "control", "domain";
301 clkhyperlink0: clkhyperlink0 {
303 compatible = "ti,keystone,psc-clock";
304 clocks = <&chipclk12>;
305 clock-output-names = "hyperlink-0";
306 reg = <0x02350030 0xb00>, <0x02350014 0x400>;
307 reg-names = "control", "domain";
313 compatible = "ti,keystone,psc-clock";
314 clocks = <&chipclk1rstiso112>;
315 clock-output-names = "sr";
316 reg = <0x02350034 0xb00>, <0x02350018 0x400>;
317 reg-names = "control", "domain";
321 clkmsmcsram: clkmsmcsram {
323 compatible = "ti,keystone,psc-clock";
324 clocks = <&chipclk1>;
325 clock-output-names = "msmcsram";
326 reg = <0x02350038 0xb00>, <0x0235001c 0x400>;
327 reg-names = "control", "domain";
333 compatible = "ti,keystone,psc-clock";
334 clocks = <&chipclk1>;
335 clock-output-names = "gem0";
336 reg = <0x0235003c 0xb00>, <0x02350020 0x400>;
337 reg-names = "control", "domain";
343 compatible = "ti,keystone,psc-clock";
344 clocks = <&chipclk1>;
345 clock-output-names = "gem1";
346 reg = <0x02350040 0xb00>, <0x02350024 0x400>;
347 reg-names = "control", "domain";
353 compatible = "ti,keystone,psc-clock";
354 clocks = <&chipclk1>;
355 clock-output-names = "gem2";
356 reg = <0x02350044 0xb00>, <0x02350028 0x400>;
357 reg-names = "control", "domain";
363 compatible = "ti,keystone,psc-clock";
364 clocks = <&chipclk1>;
365 clock-output-names = "gem3";
366 reg = <0x02350048 0xb00>, <0x0235002c 0x400>;
367 reg-names = "control", "domain";
373 compatible = "ti,keystone,psc-clock";
374 clocks = <&chipclk1>;
375 clock-output-names = "gem4";
376 reg = <0x0235004c 0xb00>, <0x02350030 0x400>;
377 reg-names = "control", "domain";
383 compatible = "ti,keystone,psc-clock";
384 clocks = <&chipclk1>;
385 clock-output-names = "gem5";
386 reg = <0x02350050 0xb00>, <0x02350034 0x400>;
387 reg-names = "control", "domain";
393 compatible = "ti,keystone,psc-clock";
394 clocks = <&chipclk1>;
395 clock-output-names = "gem6";
396 reg = <0x02350054 0xb00>, <0x02350038 0x400>;
397 reg-names = "control", "domain";
403 compatible = "ti,keystone,psc-clock";
404 clocks = <&chipclk1>;
405 clock-output-names = "gem7";
406 reg = <0x02350058 0xb00>, <0x0235003c 0x400>;
407 reg-names = "control", "domain";
413 compatible = "ti,keystone,psc-clock";
414 clocks = <&chipclk12>;
415 clock-output-names = "ddr3-0";
416 reg = <0x0235005c 0xb00>, <0x02350040 0x400>;
417 reg-names = "control", "domain";
423 compatible = "ti,keystone,psc-clock";
424 clocks = <&chipclk13>;
425 clock-output-names = "ddr3-1";
426 reg = <0x02350060 0xb00>, <0x02350040 0x400>;
427 reg-names = "control", "domain";
433 compatible = "ti,keystone,psc-clock";
434 clocks = <&chipclk13>;
435 clock-output-names = "tac";
436 reg = <0x02350064 0xb00>, <0x02350044 0x400>;
437 reg-names = "control", "domain";
443 compatible = "ti,keystone,psc-clock";
444 clocks = <&chipclk13>;
445 clock-output-names = "rac-01";
446 reg = <0x02350068 0xb00>, <0x02350044 0x400>;
447 reg-names = "control", "domain";
453 compatible = "ti,keystone,psc-clock";
454 clocks = <&chipclk13>;
455 clock-output-names = "rac-23";
456 reg = <0x0235006c 0xb00>, <0x02350048 0x400>;
457 reg-names = "control", "domain";
463 compatible = "ti,keystone,psc-clock";
464 clocks = <&chipclk13>;
465 clock-output-names = "fftc-0";
466 reg = <0x02350070 0xb00>, <0x0235004c 0x400>;
467 reg-names = "control", "domain";
473 compatible = "ti,keystone,psc-clock";
474 clocks = <&chipclk13>;
475 clock-output-names = "fftc-1";
476 reg = <0x02350074 0xb00>, <0x023504c0 0x400>;
477 reg-names = "control", "domain";
483 compatible = "ti,keystone,psc-clock";
484 clocks = <&chipclk13>;
485 clock-output-names = "fftc-2";
486 reg = <0x02350078 0xb00>, <0x02350050 0x400>;
487 reg-names = "control", "domain";
493 compatible = "ti,keystone,psc-clock";
494 clocks = <&chipclk13>;
495 clock-output-names = "fftc-3";
496 reg = <0x0235007c 0xb00>, <0x02350050 0x400>;
497 reg-names = "control", "domain";
503 compatible = "ti,keystone,psc-clock";
504 clocks = <&chipclk13>;
505 clock-output-names = "fftc-4";
506 reg = <0x02350080 0xb00>, <0x02350050 0x400>;
507 reg-names = "control", "domain";
513 compatible = "ti,keystone,psc-clock";
514 clocks = <&chipclk13>;
515 clock-output-names = "fftc-5";
516 reg = <0x02350084 0xb00>, <0x02350050 0x400>;
517 reg-names = "control", "domain";
523 compatible = "ti,keystone,psc-clock";
524 clocks = <&chipclk13>;
525 clock-output-names = "aif";
526 reg = <0x02350088 0xb00>, <0x02350054 0x400>;
527 reg-names = "control", "domain";
531 clktcp3d0: clktcp3d0 {
533 compatible = "ti,keystone,psc-clock";
534 clocks = <&chipclk13>;
535 clock-output-names = "tcp3d-0";
536 reg = <0x0235008c 0xb00>, <0x02350058 0x400>;
537 reg-names = "control", "domain";
541 clktcp3d1: clktcp3d1 {
543 compatible = "ti,keystone,psc-clock";
544 clocks = <&chipclk13>;
545 clock-output-names = "tcp3d-1";
546 reg = <0x02350090 0xb00>, <0x02350058 0x400>;
547 reg-names = "control", "domain";
551 clktcp3d2: clktcp3d2 {
553 compatible = "ti,keystone,psc-clock";
554 clocks = <&chipclk13>;
555 clock-output-names = "tcp3d-2";
556 reg = <0x02350094 0xb00>, <0x0235005c 0x400>;
557 reg-names = "control", "domain";
561 clktcp3d3: clktcp3d3 {
563 compatible = "ti,keystone,psc-clock";
564 clocks = <&chipclk13>;
565 clock-output-names = "tcp3d-3";
566 reg = <0x02350098 0xb00>, <0x0235005c 0x400>;
567 reg-names = "control", "domain";
573 compatible = "ti,keystone,psc-clock";
574 clocks = <&chipclk13>;
575 clock-output-names = "vcp-0";
576 reg = <0x0235009c 0xb00>, <0x02350060 0x400>;
577 reg-names = "control", "domain";
583 compatible = "ti,keystone,psc-clock";
584 clocks = <&chipclk13>;
585 clock-output-names = "vcp-1";
586 reg = <0x023500a0 0xb00>, <0x02350060 0x400>;
587 reg-names = "control", "domain";
593 compatible = "ti,keystone,psc-clock";
594 clocks = <&chipclk13>;
595 clock-output-names = "vcp-2";
596 reg = <0x023500a4 0xb00>, <0x02350060 0x400>;
597 reg-names = "control", "domain";
603 compatible = "ti,keystone,psc-clock";
604 clocks = <&chipclk13>;
605 clock-output-names = "vcp-3";
606 reg = <0x0235000a8 0xb00>, <0x02350060 0x400>;
607 reg-names = "control", "domain";
613 compatible = "ti,keystone,psc-clock";
614 clocks = <&chipclk13>;
615 clock-output-names = "vcp-4";
616 reg = <0x023500ac 0xb00>, <0x02350064 0x400>;
617 reg-names = "control", "domain";
623 compatible = "ti,keystone,psc-clock";
624 clocks = <&chipclk13>;
625 clock-output-names = "vcp-5";
626 reg = <0x023500b0 0xb00>, <0x02350064 0x400>;
627 reg-names = "control", "domain";
633 compatible = "ti,keystone,psc-clock";
634 clocks = <&chipclk13>;
635 clock-output-names = "vcp-6";
636 reg = <0x023500b4 0xb00>, <0x02350064 0x400>;
637 reg-names = "control", "domain";
643 compatible = "ti,keystone,psc-clock";
644 clocks = <&chipclk13>;
645 clock-output-names = "vcp-7";
646 reg = <0x023500b8 0xb00>, <0x02350064 0x400>;
647 reg-names = "control", "domain";
653 compatible = "ti,keystone,psc-clock";
654 clocks = <&chipclk13>;
655 clock-output-names = "bcp";
656 reg = <0x023500bc 0xb00>, <0x02350068 0x400>;
657 reg-names = "control", "domain";
663 compatible = "ti,keystone,psc-clock";
664 clocks = <&chipclk13>;
665 clock-output-names = "dxb";
666 reg = <0x023500c0 0xb00>, <0x0235006c 0x400>;
667 reg-names = "control", "domain";
671 clkhyperlink1: clkhyperlink1 {
673 compatible = "ti,keystone,psc-clock";
674 clocks = <&chipclk12>;
675 clock-output-names = "hyperlink-1";
676 reg = <0x023500c4 0xb00>, <0x02350070 0x400>;
677 reg-names = "control", "domain";
683 compatible = "ti,keystone,psc-clock";
684 clocks = <&chipclk13>;
685 clock-output-names = "xge";
686 reg = <0x023500c8 0xb00>, <0x02350074 0x400>;
687 reg-names = "control", "domain";
691 clkwdtimer0: clkwdtimer0 {
693 compatible = "ti,keystone,psc-clock";
694 clocks = <&clkmodrst0>;
695 clock-output-names = "timer0";
696 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
697 reg-names = "control", "domain";
701 clkwdtimer1: clkwdtimer1 {
703 compatible = "ti,keystone,psc-clock";
704 clocks = <&clkmodrst0>;
705 clock-output-names = "timer1";
706 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
707 reg-names = "control", "domain";
711 clkwdtimer2: clkwdtimer2 {
713 compatible = "ti,keystone,psc-clock";
714 clocks = <&clkmodrst0>;
715 clock-output-names = "timer2";
716 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
717 reg-names = "control", "domain";
721 clkwdtimer3: clkwdtimer3 {
723 compatible = "ti,keystone,psc-clock";
724 clocks = <&clkmodrst0>;
725 clock-output-names = "timer3";
726 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
727 reg-names = "control", "domain";
733 compatible = "ti,keystone,psc-clock";
734 clocks = <&clkmodrst0>;
735 clock-output-names = "uart0";
736 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
737 reg-names = "control", "domain";
743 compatible = "ti,keystone,psc-clock";
744 clocks = <&clkmodrst0>;
745 clock-output-names = "uart1";
746 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
747 reg-names = "control", "domain";
753 compatible = "ti,keystone,psc-clock";
754 clocks = <&clkaemifspi>;
755 clock-output-names = "aemif";
756 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
757 reg-names = "control", "domain";
763 compatible = "ti,keystone,psc-clock";
764 clocks = <&clkmodrst0>;
765 clock-output-names = "usim";
766 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
767 reg-names = "control", "domain";
773 compatible = "ti,keystone,psc-clock";
774 clocks = <&clkmodrst0>;
775 clock-output-names = "i2c";
776 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
777 reg-names = "control", "domain";
783 compatible = "ti,keystone,psc-clock";
784 clocks = <&clkaemifspi>;
785 clock-output-names = "spi";
786 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
787 reg-names = "control", "domain";
793 compatible = "ti,keystone,psc-clock";
794 clocks = <&clkmodrst0>;
795 clock-output-names = "gpio";
796 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
797 reg-names = "control", "domain";
801 clkkeymgr: clkkeymgr {
803 compatible = "ti,keystone,psc-clock";
804 clocks = <&clkmodrst0>;
805 clock-output-names = "keymgr";
806 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
807 reg-names = "control", "domain";