1 // SPDX-License-Identifier: GPL-2.0
3 * Device Tree Source for Keystone 2 clock tree
5 * Copyright (C) 2013-2017 Texas Instruments Incorporated - http://www.ti.com/
13 mainmuxclk: mainmuxclk@2310108 {
15 compatible = "ti,keystone,pll-mux-clock";
16 clocks = <&mainpllclk>, <&refclksys>;
20 clock-output-names = "mainmuxclk";
25 compatible = "fixed-factor-clock";
26 clocks = <&mainmuxclk>;
29 clock-output-names = "chipclk1";
32 chipclk1rstiso: chipclk1rstiso {
34 compatible = "fixed-factor-clock";
35 clocks = <&mainmuxclk>;
38 clock-output-names = "chipclk1rstiso";
41 gemtraceclk: gemtraceclk@2310120 {
43 compatible = "ti,keystone,pll-divider-clock";
44 clocks = <&mainmuxclk>;
48 clock-output-names = "gemtraceclk";
51 chipstmxptclk: chipstmxptclk@2310164 {
53 compatible = "ti,keystone,pll-divider-clock";
54 clocks = <&mainmuxclk>;
58 clock-output-names = "chipstmxptclk";
61 chipclk12: chipclk12 {
63 compatible = "fixed-factor-clock";
67 clock-output-names = "chipclk12";
70 chipclk13: chipclk13 {
72 compatible = "fixed-factor-clock";
76 clock-output-names = "chipclk13";
81 compatible = "fixed-factor-clock";
85 clock-output-names = "paclk13";
88 chipclk14: chipclk14 {
90 compatible = "fixed-factor-clock";
94 clock-output-names = "chipclk14";
97 chipclk16: chipclk16 {
99 compatible = "fixed-factor-clock";
100 clocks = <&chipclk1>;
103 clock-output-names = "chipclk16";
106 chipclk112: chipclk112 {
108 compatible = "fixed-factor-clock";
109 clocks = <&chipclk1>;
112 clock-output-names = "chipclk112";
115 chipclk124: chipclk124 {
117 compatible = "fixed-factor-clock";
118 clocks = <&chipclk1>;
121 clock-output-names = "chipclk114";
124 chipclk1rstiso13: chipclk1rstiso13 {
126 compatible = "fixed-factor-clock";
127 clocks = <&chipclk1rstiso>;
130 clock-output-names = "chipclk1rstiso13";
133 chipclk1rstiso14: chipclk1rstiso14 {
135 compatible = "fixed-factor-clock";
136 clocks = <&chipclk1rstiso>;
139 clock-output-names = "chipclk1rstiso14";
142 chipclk1rstiso16: chipclk1rstiso16 {
144 compatible = "fixed-factor-clock";
145 clocks = <&chipclk1rstiso>;
148 clock-output-names = "chipclk1rstiso16";
151 chipclk1rstiso112: chipclk1rstiso112 {
153 compatible = "fixed-factor-clock";
154 clocks = <&chipclk1rstiso>;
157 clock-output-names = "chipclk1rstiso112";
160 clkmodrst0: clkmodrst0@2350000 {
162 compatible = "ti,keystone,psc-clock";
163 clocks = <&chipclk16>;
164 clock-output-names = "modrst0";
165 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
166 reg-names = "control", "domain";
171 clkusb: clkusb@2350008 {
173 compatible = "ti,keystone,psc-clock";
174 clocks = <&chipclk16>;
175 clock-output-names = "usb";
176 reg = <0x02350008 0xb00>, <0x02350000 0x400>;
177 reg-names = "control", "domain";
181 clkaemifspi: clkaemifspi@235000c {
183 compatible = "ti,keystone,psc-clock";
184 clocks = <&chipclk16>;
185 clock-output-names = "aemif-spi";
186 reg = <0x0235000c 0xb00>, <0x02350000 0x400>;
187 reg-names = "control", "domain";
192 clkdebugsstrc: clkdebugsstrc@2350014 {
194 compatible = "ti,keystone,psc-clock";
195 clocks = <&chipclk13>;
196 clock-output-names = "debugss-trc";
197 reg = <0x02350014 0xb00>, <0x02350000 0x400>;
198 reg-names = "control", "domain";
202 clktetbtrc: clktetbtrc@2350018 {
204 compatible = "ti,keystone,psc-clock";
205 clocks = <&chipclk13>;
206 clock-output-names = "tetb-trc";
207 reg = <0x02350018 0xb00>, <0x02350004 0x400>;
208 reg-names = "control", "domain";
212 clkpa: clkpa@235001c {
214 compatible = "ti,keystone,psc-clock";
216 clock-output-names = "pa";
217 reg = <0x0235001c 0xb00>, <0x02350008 0x400>;
218 reg-names = "control", "domain";
222 clkcpgmac: clkcpgmac@2350020 {
224 compatible = "ti,keystone,psc-clock";
226 clock-output-names = "cpgmac";
227 reg = <0x02350020 0xb00>, <0x02350008 0x400>;
228 reg-names = "control", "domain";
232 clksa: clksa@2350024 {
234 compatible = "ti,keystone,psc-clock";
236 clock-output-names = "sa";
237 reg = <0x02350024 0xb00>, <0x02350008 0x400>;
238 reg-names = "control", "domain";
242 clkpcie: clkpcie@2350028 {
244 compatible = "ti,keystone,psc-clock";
245 clocks = <&chipclk12>;
246 clock-output-names = "pcie";
247 reg = <0x02350028 0xb00>, <0x0235000c 0x400>;
248 reg-names = "control", "domain";
252 clksr: clksr@2350034 {
254 compatible = "ti,keystone,psc-clock";
255 clocks = <&chipclk1rstiso112>;
256 clock-output-names = "sr";
257 reg = <0x02350034 0xb00>, <0x02350018 0x400>;
258 reg-names = "control", "domain";
262 clkgem0: clkgem0@235003c {
264 compatible = "ti,keystone,psc-clock";
265 clocks = <&chipclk1>;
266 clock-output-names = "gem0";
267 reg = <0x0235003c 0xb00>, <0x02350020 0x400>;
268 reg-names = "control", "domain";
272 clkddr30: clkddr30@235005c {
274 compatible = "ti,keystone,psc-clock";
275 clocks = <&chipclk12>;
276 clock-output-names = "ddr3-0";
277 reg = <0x0235005c 0xb00>, <0x02350040 0x400>;
278 reg-names = "control", "domain";
282 clkwdtimer0: clkwdtimer0@2350000 {
284 compatible = "ti,keystone,psc-clock";
285 clocks = <&clkmodrst0>;
286 clock-output-names = "timer0";
287 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
288 reg-names = "control", "domain";
292 clkwdtimer1: clkwdtimer1@2350000 {
294 compatible = "ti,keystone,psc-clock";
295 clocks = <&clkmodrst0>;
296 clock-output-names = "timer1";
297 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
298 reg-names = "control", "domain";
302 clkwdtimer2: clkwdtimer2@2350000 {
304 compatible = "ti,keystone,psc-clock";
305 clocks = <&clkmodrst0>;
306 clock-output-names = "timer2";
307 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
308 reg-names = "control", "domain";
312 clkwdtimer3: clkwdtimer3@2350000 {
314 compatible = "ti,keystone,psc-clock";
315 clocks = <&clkmodrst0>;
316 clock-output-names = "timer3";
317 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
318 reg-names = "control", "domain";
322 clktimer15: clktimer15@2350000 {
324 compatible = "ti,keystone,psc-clock";
325 clocks = <&clkmodrst0>;
326 clock-output-names = "timer15";
327 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
328 reg-names = "control", "domain";
332 clkuart0: clkuart0@2350000 {
334 compatible = "ti,keystone,psc-clock";
335 clocks = <&clkmodrst0>;
336 clock-output-names = "uart0";
337 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
338 reg-names = "control", "domain";
342 clkuart1: clkuart1@2350000 {
344 compatible = "ti,keystone,psc-clock";
345 clocks = <&clkmodrst0>;
346 clock-output-names = "uart1";
347 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
348 reg-names = "control", "domain";
352 clkaemif: clkaemif@2350000 {
354 compatible = "ti,keystone,psc-clock";
355 clocks = <&clkaemifspi>;
356 clock-output-names = "aemif";
357 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
358 reg-names = "control", "domain";
362 clkusim: clkusim@2350000 {
364 compatible = "ti,keystone,psc-clock";
365 clocks = <&clkmodrst0>;
366 clock-output-names = "usim";
367 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
368 reg-names = "control", "domain";
372 clki2c: clki2c@2350000 {
374 compatible = "ti,keystone,psc-clock";
375 clocks = <&clkmodrst0>;
376 clock-output-names = "i2c";
377 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
378 reg-names = "control", "domain";
382 clkspi: clkspi@2350000 {
384 compatible = "ti,keystone,psc-clock";
385 clocks = <&clkaemifspi>;
386 clock-output-names = "spi";
387 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
388 reg-names = "control", "domain";
392 clkgpio: clkgpio@2350000 {
394 compatible = "ti,keystone,psc-clock";
395 clocks = <&clkmodrst0>;
396 clock-output-names = "gpio";
397 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
398 reg-names = "control", "domain";
402 clkkeymgr: clkkeymgr@2350000 {
404 compatible = "ti,keystone,psc-clock";
405 clocks = <&clkmodrst0>;
406 clock-output-names = "keymgr";
407 reg = <0x02350000 0xb00>, <0x02350000 0x400>;
408 reg-names = "control", "domain";
413 * Below are set of fixed, input clocks definitions,
414 * for which real frequencies have to be defined in board files.
415 * Those clocks can be used as reference clocks for some HW modules
416 * (as cpts, for example) by configuring corresponding clock muxes.
420 compatible = "fixed-clock";
421 clock-frequency = <0>;
422 clock-output-names = "timi0";
427 compatible = "fixed-clock";
428 clock-frequency = <0>;
429 clock-output-names = "timi1";
434 compatible = "fixed-clock";
435 clock-frequency = <0>;
436 clock-output-names = "tsrefclk";