Linux 5.6.13
[linux/fpc-iii.git] / arch / arm / boot / dts / keystone-clocks.dtsi
blob0397c3423d2db5d5ea4b9300565274b103565816
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree Source for Keystone 2 clock tree
4  *
5  * Copyright (C) 2013-2017 Texas Instruments Incorporated - http://www.ti.com/
6  */
8 clocks {
9         #address-cells = <1>;
10         #size-cells = <1>;
11         ranges;
13         mainmuxclk: mainmuxclk@2310108 {
14                 #clock-cells = <0>;
15                 compatible = "ti,keystone,pll-mux-clock";
16                 clocks = <&mainpllclk>, <&refclksys>;
17                 reg = <0x02310108 4>;
18                 bit-shift = <23>;
19                 bit-mask = <1>;
20                 clock-output-names = "mainmuxclk";
21         };
23         chipclk1: chipclk1 {
24                 #clock-cells = <0>;
25                 compatible = "fixed-factor-clock";
26                 clocks = <&mainmuxclk>;
27                 clock-div = <1>;
28                 clock-mult = <1>;
29                 clock-output-names = "chipclk1";
30         };
32         chipclk1rstiso: chipclk1rstiso {
33                 #clock-cells = <0>;
34                 compatible = "fixed-factor-clock";
35                 clocks = <&mainmuxclk>;
36                 clock-div = <1>;
37                 clock-mult = <1>;
38                 clock-output-names = "chipclk1rstiso";
39         };
41         gemtraceclk: gemtraceclk@2310120 {
42                 #clock-cells = <0>;
43                 compatible = "ti,keystone,pll-divider-clock";
44                 clocks = <&mainmuxclk>;
45                 reg = <0x02310120 4>;
46                 bit-shift = <0>;
47                 bit-mask = <8>;
48                 clock-output-names = "gemtraceclk";
49         };
51         chipstmxptclk: chipstmxptclk@2310164 {
52                 #clock-cells = <0>;
53                 compatible = "ti,keystone,pll-divider-clock";
54                 clocks = <&mainmuxclk>;
55                 reg = <0x02310164 4>;
56                 bit-shift = <0>;
57                 bit-mask = <8>;
58                 clock-output-names = "chipstmxptclk";
59         };
61         chipclk12: chipclk12 {
62                 #clock-cells = <0>;
63                 compatible = "fixed-factor-clock";
64                 clocks = <&chipclk1>;
65                 clock-div = <2>;
66                 clock-mult = <1>;
67                 clock-output-names = "chipclk12";
68         };
70         chipclk13: chipclk13 {
71                 #clock-cells = <0>;
72                 compatible = "fixed-factor-clock";
73                 clocks = <&chipclk1>;
74                 clock-div = <3>;
75                 clock-mult = <1>;
76                 clock-output-names = "chipclk13";
77         };
79         paclk13: paclk13 {
80                 #clock-cells = <0>;
81                 compatible = "fixed-factor-clock";
82                 clocks = <&papllclk>;
83                 clock-div = <3>;
84                 clock-mult = <1>;
85                 clock-output-names = "paclk13";
86         };
88         chipclk14: chipclk14 {
89                 #clock-cells = <0>;
90                 compatible = "fixed-factor-clock";
91                 clocks = <&chipclk1>;
92                 clock-div = <4>;
93                 clock-mult = <1>;
94                 clock-output-names = "chipclk14";
95         };
97         chipclk16: chipclk16 {
98                 #clock-cells = <0>;
99                 compatible = "fixed-factor-clock";
100                 clocks = <&chipclk1>;
101                 clock-div = <6>;
102                 clock-mult = <1>;
103                 clock-output-names = "chipclk16";
104         };
106         chipclk112: chipclk112 {
107                 #clock-cells = <0>;
108                 compatible = "fixed-factor-clock";
109                 clocks = <&chipclk1>;
110                 clock-div = <12>;
111                 clock-mult = <1>;
112                 clock-output-names = "chipclk112";
113         };
115         chipclk124: chipclk124 {
116                 #clock-cells = <0>;
117                 compatible = "fixed-factor-clock";
118                 clocks = <&chipclk1>;
119                 clock-div = <24>;
120                 clock-mult = <1>;
121                 clock-output-names = "chipclk114";
122         };
124         chipclk1rstiso13: chipclk1rstiso13 {
125                 #clock-cells = <0>;
126                 compatible = "fixed-factor-clock";
127                 clocks = <&chipclk1rstiso>;
128                 clock-div = <3>;
129                 clock-mult = <1>;
130                 clock-output-names = "chipclk1rstiso13";
131         };
133         chipclk1rstiso14: chipclk1rstiso14 {
134                 #clock-cells = <0>;
135                 compatible = "fixed-factor-clock";
136                 clocks = <&chipclk1rstiso>;
137                 clock-div = <4>;
138                 clock-mult = <1>;
139                 clock-output-names = "chipclk1rstiso14";
140         };
142         chipclk1rstiso16: chipclk1rstiso16 {
143                 #clock-cells = <0>;
144                 compatible = "fixed-factor-clock";
145                 clocks = <&chipclk1rstiso>;
146                 clock-div = <6>;
147                 clock-mult = <1>;
148                 clock-output-names = "chipclk1rstiso16";
149         };
151         chipclk1rstiso112: chipclk1rstiso112 {
152                 #clock-cells = <0>;
153                 compatible = "fixed-factor-clock";
154                 clocks = <&chipclk1rstiso>;
155                 clock-div = <12>;
156                 clock-mult = <1>;
157                 clock-output-names = "chipclk1rstiso112";
158         };
160         clkmodrst0: clkmodrst0@2350000 {
161                 #clock-cells = <0>;
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";
167                 domain-id = <0>;
168         };
171         clkusb: clkusb@2350008 {
172                 #clock-cells = <0>;
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";
178                 domain-id = <0>;
179         };
181         clkaemifspi: clkaemifspi@235000c {
182                 #clock-cells = <0>;
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";
188                 domain-id = <0>;
189         };
192         clkdebugsstrc: clkdebugsstrc@2350014 {
193                 #clock-cells = <0>;
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";
199                 domain-id = <1>;
200         };
202         clktetbtrc: clktetbtrc@2350018 {
203                 #clock-cells = <0>;
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";
209                 domain-id = <1>;
210         };
212         clkpa: clkpa@235001c {
213                 #clock-cells = <0>;
214                 compatible = "ti,keystone,psc-clock";
215                 clocks = <&paclk13>;
216                 clock-output-names = "pa";
217                 reg = <0x0235001c 0xb00>, <0x02350008 0x400>;
218                 reg-names = "control", "domain";
219                 domain-id = <2>;
220         };
222         clkcpgmac: clkcpgmac@2350020 {
223                 #clock-cells = <0>;
224                 compatible = "ti,keystone,psc-clock";
225                 clocks = <&clkpa>;
226                 clock-output-names = "cpgmac";
227                 reg = <0x02350020 0xb00>, <0x02350008 0x400>;
228                 reg-names = "control", "domain";
229                 domain-id = <2>;
230         };
232         clksa: clksa@2350024 {
233                 #clock-cells = <0>;
234                 compatible = "ti,keystone,psc-clock";
235                 clocks = <&clkpa>;
236                 clock-output-names = "sa";
237                 reg = <0x02350024 0xb00>, <0x02350008 0x400>;
238                 reg-names = "control", "domain";
239                 domain-id = <2>;
240         };
242         clkpcie: clkpcie@2350028 {
243                 #clock-cells = <0>;
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";
249                 domain-id = <3>;
250         };
252         clksr: clksr@2350034 {
253                 #clock-cells = <0>;
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";
259                 domain-id = <6>;
260         };
262         clkgem0: clkgem0@235003c {
263                 #clock-cells = <0>;
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";
269                 domain-id = <8>;
270         };
272         clkddr30: clkddr30@235005c {
273                 #clock-cells = <0>;
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";
279                 domain-id = <16>;
280         };
282         clkwdtimer0: clkwdtimer0@2350000 {
283                 #clock-cells = <0>;
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";
289                 domain-id = <0>;
290         };
292         clkwdtimer1: clkwdtimer1@2350000 {
293                 #clock-cells = <0>;
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";
299                 domain-id = <0>;
300         };
302         clkwdtimer2: clkwdtimer2@2350000 {
303                 #clock-cells = <0>;
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";
309                 domain-id = <0>;
310         };
312         clkwdtimer3: clkwdtimer3@2350000 {
313                 #clock-cells = <0>;
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";
319                 domain-id = <0>;
320         };
322         clktimer15: clktimer15@2350000 {
323                 #clock-cells = <0>;
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";
329                 domain-id = <0>;
330         };
332         clkuart0: clkuart0@2350000 {
333                 #clock-cells = <0>;
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";
339                 domain-id = <0>;
340         };
342         clkuart1: clkuart1@2350000 {
343                 #clock-cells = <0>;
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";
349                 domain-id = <0>;
350         };
352         clkaemif: clkaemif@2350000 {
353                 #clock-cells = <0>;
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";
359                 domain-id = <0>;
360         };
362         clkusim: clkusim@2350000 {
363                 #clock-cells = <0>;
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";
369                 domain-id = <0>;
370         };
372         clki2c: clki2c@2350000 {
373                 #clock-cells = <0>;
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";
379                 domain-id = <0>;
380         };
382         clkspi: clkspi@2350000 {
383                 #clock-cells = <0>;
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";
389                 domain-id = <0>;
390         };
392         clkgpio: clkgpio@2350000 {
393                 #clock-cells = <0>;
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";
399                 domain-id = <0>;
400         };
402         clkkeymgr: clkkeymgr@2350000 {
403                 #clock-cells = <0>;
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";
409                 domain-id = <0>;
410         };
412         /*
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.
417          */
418         timi0: timi0 {
419                 #clock-cells = <0>;
420                 compatible = "fixed-clock";
421                 clock-frequency = <0>;
422                 clock-output-names = "timi0";
423         };
425         timi1: timi1 {
426                 #clock-cells = <0>;
427                 compatible = "fixed-clock";
428                 clock-frequency = <0>;
429                 clock-output-names = "timi1";
430         };
432         tsrefclk: tsrefclk {
433                 #clock-cells = <0>;
434                 compatible = "fixed-clock";
435                 clock-frequency = <0>;
436                 clock-output-names = "tsrefclk";
437         };