Merge tag 'pull-work.fd-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / arch / arm / boot / dts / am43xx-clocks.dtsi
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * Device Tree Source for AM43xx clock data
4  *
5  * Copyright (C) 2013 Texas Instruments, Inc.
6  */
7 &scm_clocks {
8         sys_clkin_ck: clock-sys-clkin-31@40 {
9                 #clock-cells = <0>;
10                 compatible = "ti,mux-clock";
11                 clock-output-names = "sys_clkin_ck";
12                 clocks = <&sysboot_freq_sel_ck>, <&crystal_freq_sel_ck>;
13                 ti,bit-shift = <31>;
14                 reg = <0x0040>;
15         };
16
17         crystal_freq_sel_ck: clock-crystal-freq-sel-29@40 {
18                 #clock-cells = <0>;
19                 compatible = "ti,mux-clock";
20                 clock-output-names = "crystal_freq_sel_ck";
21                 clocks = <&virt_19200000_ck>, <&virt_24000000_ck>, <&virt_25000000_ck>, <&virt_26000000_ck>;
22                 ti,bit-shift = <29>;
23                 reg = <0x0040>;
24         };
25
26         sysboot_freq_sel_ck: clock-sysboot-freq-sel-22@44e10040 {
27                 #clock-cells = <0>;
28                 compatible = "ti,mux-clock";
29                 clock-output-names = "sysboot_freq_sel_ck";
30                 clocks = <&virt_19200000_ck>, <&virt_24000000_ck>, <&virt_25000000_ck>, <&virt_26000000_ck>;
31                 ti,bit-shift = <22>;
32                 reg = <0x0040>;
33         };
34
35         adc_tsc_fck: clock-adc-tsc-fck {
36                 #clock-cells = <0>;
37                 compatible = "fixed-factor-clock";
38                 clock-output-names = "adc_tsc_fck";
39                 clocks = <&sys_clkin_ck>;
40                 clock-mult = <1>;
41                 clock-div = <1>;
42         };
43
44         dcan0_fck: clock-dcan0-fck {
45                 #clock-cells = <0>;
46                 compatible = "fixed-factor-clock";
47                 clock-output-names = "dcan0_fck";
48                 clocks = <&sys_clkin_ck>;
49                 clock-mult = <1>;
50                 clock-div = <1>;
51         };
52
53         dcan1_fck: clock-dcan1-fck {
54                 #clock-cells = <0>;
55                 compatible = "fixed-factor-clock";
56                 clock-output-names = "dcan1_fck";
57                 clocks = <&sys_clkin_ck>;
58                 clock-mult = <1>;
59                 clock-div = <1>;
60         };
61
62         mcasp0_fck: clock-mcasp0-fck {
63                 #clock-cells = <0>;
64                 compatible = "fixed-factor-clock";
65                 clock-output-names = "mcasp0_fck";
66                 clocks = <&sys_clkin_ck>;
67                 clock-mult = <1>;
68                 clock-div = <1>;
69         };
70
71         mcasp1_fck: clock-mcasp1-fck {
72                 #clock-cells = <0>;
73                 compatible = "fixed-factor-clock";
74                 clock-output-names = "mcasp1_fck";
75                 clocks = <&sys_clkin_ck>;
76                 clock-mult = <1>;
77                 clock-div = <1>;
78         };
79
80         smartreflex0_fck: clock-smartreflex0-fck {
81                 #clock-cells = <0>;
82                 compatible = "fixed-factor-clock";
83                 clock-output-names = "smartreflex0_fck";
84                 clocks = <&sys_clkin_ck>;
85                 clock-mult = <1>;
86                 clock-div = <1>;
87         };
88
89         smartreflex1_fck: clock-smartreflex1-fck {
90                 #clock-cells = <0>;
91                 compatible = "fixed-factor-clock";
92                 clock-output-names = "smartreflex1_fck";
93                 clocks = <&sys_clkin_ck>;
94                 clock-mult = <1>;
95                 clock-div = <1>;
96         };
97
98         sha0_fck: clock-sha0-fck {
99                 #clock-cells = <0>;
100                 compatible = "fixed-factor-clock";
101                 clock-output-names = "sha0_fck";
102                 clocks = <&sys_clkin_ck>;
103                 clock-mult = <1>;
104                 clock-div = <1>;
105         };
106
107         aes0_fck: clock-aes0-fck {
108                 #clock-cells = <0>;
109                 compatible = "fixed-factor-clock";
110                 clock-output-names = "aes0_fck";
111                 clocks = <&sys_clkin_ck>;
112                 clock-mult = <1>;
113                 clock-div = <1>;
114         };
115
116         rng_fck: clock-rng-fck {
117                 #clock-cells = <0>;
118                 compatible = "fixed-factor-clock";
119                 clock-output-names = "rng_fck";
120                 clocks = <&sys_clkin_ck>;
121                 clock-mult = <1>;
122                 clock-div = <1>;
123         };
124
125         ehrpwm0_tbclk: clock-ehrpwm0-tbclk-0@664 {
126                 #clock-cells = <0>;
127                 compatible = "ti,gate-clock";
128                 clock-output-names = "ehrpwm0_tbclk";
129                 clocks = <&l4ls_gclk>;
130                 ti,bit-shift = <0>;
131                 reg = <0x0664>;
132         };
133
134         ehrpwm1_tbclk: clock-ehrpwm1-tbclk-1@664 {
135                 #clock-cells = <0>;
136                 compatible = "ti,gate-clock";
137                 clock-output-names = "ehrpwm1_tbclk";
138                 clocks = <&l4ls_gclk>;
139                 ti,bit-shift = <1>;
140                 reg = <0x0664>;
141         };
142
143         ehrpwm2_tbclk: clock-ehrpwm2-tbclk-2@664 {
144                 #clock-cells = <0>;
145                 compatible = "ti,gate-clock";
146                 clock-output-names = "ehrpwm2_tbclk";
147                 clocks = <&l4ls_gclk>;
148                 ti,bit-shift = <2>;
149                 reg = <0x0664>;
150         };
151
152         ehrpwm3_tbclk: clock-ehrpwm3-tbclk-4@664 {
153                 #clock-cells = <0>;
154                 compatible = "ti,gate-clock";
155                 clock-output-names = "ehrpwm3_tbclk";
156                 clocks = <&l4ls_gclk>;
157                 ti,bit-shift = <4>;
158                 reg = <0x0664>;
159         };
160
161         ehrpwm4_tbclk: clock-ehrpwm4-tbclk-5@664 {
162                 #clock-cells = <0>;
163                 compatible = "ti,gate-clock";
164                 clock-output-names = "ehrpwm4_tbclk";
165                 clocks = <&l4ls_gclk>;
166                 ti,bit-shift = <5>;
167                 reg = <0x0664>;
168         };
169
170         ehrpwm5_tbclk: clock-ehrpwm5-tbclk-6@664 {
171                 #clock-cells = <0>;
172                 compatible = "ti,gate-clock";
173                 clock-output-names = "ehrpwm5_tbclk";
174                 clocks = <&l4ls_gclk>;
175                 ti,bit-shift = <6>;
176                 reg = <0x0664>;
177         };
178 };
179 &prcm_clocks {
180         clk_32768_ck: clock-clk-32768 {
181                 #clock-cells = <0>;
182                 compatible = "fixed-clock";
183                 clock-output-names = "clk_32768_ck";
184                 clock-frequency = <32768>;
185         };
186
187         clk_rc32k_ck: clock-clk-rc32k {
188                 #clock-cells = <0>;
189                 compatible = "fixed-clock";
190                 clock-output-names = "clk_rc32k_ck";
191                 clock-frequency = <32768>;
192         };
193
194         virt_19200000_ck: clock-virt-19200000 {
195                 #clock-cells = <0>;
196                 compatible = "fixed-clock";
197                 clock-output-names = "virt_19200000_ck";
198                 clock-frequency = <19200000>;
199         };
200
201         virt_24000000_ck: clock-virt-24000000 {
202                 #clock-cells = <0>;
203                 compatible = "fixed-clock";
204                 clock-output-names = "virt_24000000_ck";
205                 clock-frequency = <24000000>;
206         };
207
208         virt_25000000_ck: clock-virt-25000000 {
209                 #clock-cells = <0>;
210                 compatible = "fixed-clock";
211                 clock-output-names = "virt_25000000_ck";
212                 clock-frequency = <25000000>;
213         };
214
215         virt_26000000_ck: clock-virt-26000000 {
216                 #clock-cells = <0>;
217                 compatible = "fixed-clock";
218                 clock-output-names = "virt_26000000_ck";
219                 clock-frequency = <26000000>;
220         };
221
222         tclkin_ck: clock-tclkin {
223                 #clock-cells = <0>;
224                 compatible = "fixed-clock";
225                 clock-output-names = "tclkin_ck";
226                 clock-frequency = <26000000>;
227         };
228
229         dpll_core_ck: clock@2d20 {
230                 #clock-cells = <0>;
231                 compatible = "ti,am3-dpll-core-clock";
232                 clock-output-names = "dpll_core_ck";
233                 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
234                 reg = <0x2d20>, <0x2d24>, <0x2d2c>, <0x2d48>, <0x2d4c>;
235         };
236
237         dpll_core_x2_ck: clock-dpll-core-x2 {
238                 #clock-cells = <0>;
239                 compatible = "ti,am3-dpll-x2-clock";
240                 clock-output-names = "dpll_core_x2_ck";
241                 clocks = <&dpll_core_ck>;
242         };
243
244         dpll_core_m4_ck: clock-dpll-core-m4-8@2d38 {
245                 #clock-cells = <0>;
246                 compatible = "ti,divider-clock";
247                 clock-output-names = "dpll_core_m4_ck";
248                 clocks = <&dpll_core_x2_ck>;
249                 ti,max-div = <31>;
250                 ti,autoidle-shift = <8>;
251                 reg = <0x2d38>;
252                 ti,index-starts-at-one;
253                 ti,invert-autoidle-bit;
254         };
255
256         dpll_core_m5_ck: clock-dpll-core-m5-8@2d3c {
257                 #clock-cells = <0>;
258                 compatible = "ti,divider-clock";
259                 clock-output-names = "dpll_core_m5_ck";
260                 clocks = <&dpll_core_x2_ck>;
261                 ti,max-div = <31>;
262                 ti,autoidle-shift = <8>;
263                 reg = <0x2d3c>;
264                 ti,index-starts-at-one;
265                 ti,invert-autoidle-bit;
266         };
267
268         dpll_core_m6_ck: clock-dpll-core-m6-8@2d40 {
269                 #clock-cells = <0>;
270                 compatible = "ti,divider-clock";
271                 clock-output-names = "dpll_core_m6_ck";
272                 clocks = <&dpll_core_x2_ck>;
273                 ti,max-div = <31>;
274                 ti,autoidle-shift = <8>;
275                 reg = <0x2d40>;
276                 ti,index-starts-at-one;
277                 ti,invert-autoidle-bit;
278         };
279
280         dpll_mpu_ck: clock@2d60 {
281                 #clock-cells = <0>;
282                 compatible = "ti,am3-dpll-clock";
283                 clock-output-names = "dpll_mpu_ck";
284                 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
285                 reg = <0x2d60>, <0x2d64>, <0x2d6c>, <0x2d88>, <0x2d8c>;
286         };
287
288         dpll_mpu_m2_ck: clock-dpll-mpu-m2-8@2d70 {
289                 #clock-cells = <0>;
290                 compatible = "ti,divider-clock";
291                 clock-output-names = "dpll_mpu_m2_ck";
292                 clocks = <&dpll_mpu_ck>;
293                 ti,max-div = <31>;
294                 ti,autoidle-shift = <8>;
295                 reg = <0x2d70>;
296                 ti,index-starts-at-one;
297                 ti,invert-autoidle-bit;
298         };
299
300         mpu_periphclk: clock-mpu-periphclk {
301                 #clock-cells = <0>;
302                 compatible = "fixed-factor-clock";
303                 clock-output-names = "mpu_periphclk";
304                 clocks = <&dpll_mpu_m2_ck>;
305                 clock-mult = <1>;
306                 clock-div = <2>;
307         };
308
309         dpll_ddr_ck: clock@2da0 {
310                 #clock-cells = <0>;
311                 compatible = "ti,am3-dpll-clock";
312                 clock-output-names = "dpll_ddr_ck";
313                 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
314                 reg = <0x2da0>, <0x2da4>, <0x2dac>, <0x2dc8>, <0x2dcc>;
315         };
316
317         dpll_ddr_m2_ck: clock-dpll-ddr-m2-8@2db0 {
318                 #clock-cells = <0>;
319                 compatible = "ti,divider-clock";
320                 clock-output-names = "dpll_ddr_m2_ck";
321                 clocks = <&dpll_ddr_ck>;
322                 ti,max-div = <31>;
323                 ti,autoidle-shift = <8>;
324                 reg = <0x2db0>;
325                 ti,index-starts-at-one;
326                 ti,invert-autoidle-bit;
327         };
328
329         dpll_disp_ck: clock@2e20 {
330                 #clock-cells = <0>;
331                 compatible = "ti,am3-dpll-clock";
332                 clock-output-names = "dpll_disp_ck";
333                 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
334                 reg = <0x2e20>, <0x2e24>, <0x2e2c>, <0x2e48>, <0x2e4c>;
335         };
336
337         dpll_disp_m2_ck: clock-dpll-disp-m2-8@2e30 {
338                 #clock-cells = <0>;
339                 compatible = "ti,divider-clock";
340                 clock-output-names = "dpll_disp_m2_ck";
341                 clocks = <&dpll_disp_ck>;
342                 ti,max-div = <31>;
343                 ti,autoidle-shift = <8>;
344                 reg = <0x2e30>;
345                 ti,index-starts-at-one;
346                 ti,invert-autoidle-bit;
347                 ti,set-rate-parent;
348         };
349
350         dpll_per_ck: clock@2de0 {
351                 #clock-cells = <0>;
352                 compatible = "ti,am3-dpll-j-type-clock";
353                 clock-output-names = "dpll_per_ck";
354                 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
355                 reg = <0x2de0>, <0x2de4>, <0x2dec>, <0x2e08>, <0x2e0c>;
356         };
357
358         dpll_per_m2_ck: clock-dpll-per-m2-8@2df0 {
359                 #clock-cells = <0>;
360                 compatible = "ti,divider-clock";
361                 clock-output-names = "dpll_per_m2_ck";
362                 clocks = <&dpll_per_ck>;
363                 ti,max-div = <127>;
364                 ti,autoidle-shift = <8>;
365                 reg = <0x2df0>;
366                 ti,index-starts-at-one;
367                 ti,invert-autoidle-bit;
368         };
369
370         dpll_per_m2_div4_wkupdm_ck: clock-dpll-per-m2-div4-wkupdm {
371                 #clock-cells = <0>;
372                 compatible = "fixed-factor-clock";
373                 clock-output-names = "dpll_per_m2_div4_wkupdm_ck";
374                 clocks = <&dpll_per_m2_ck>;
375                 clock-mult = <1>;
376                 clock-div = <4>;
377         };
378
379         dpll_per_m2_div4_ck: clock-dpll-per-m2-div4 {
380                 #clock-cells = <0>;
381                 compatible = "fixed-factor-clock";
382                 clock-output-names = "dpll_per_m2_div4_ck";
383                 clocks = <&dpll_per_m2_ck>;
384                 clock-mult = <1>;
385                 clock-div = <4>;
386         };
387
388         clk_24mhz: clock-clk-24mhz {
389                 #clock-cells = <0>;
390                 compatible = "fixed-factor-clock";
391                 clock-output-names = "clk_24mhz";
392                 clocks = <&dpll_per_m2_ck>;
393                 clock-mult = <1>;
394                 clock-div = <8>;
395         };
396
397         clkdiv32k_ck: clock-clkdiv32k {
398                 #clock-cells = <0>;
399                 compatible = "fixed-factor-clock";
400                 clock-output-names = "clkdiv32k_ck";
401                 clocks = <&clk_24mhz>;
402                 clock-mult = <1>;
403                 clock-div = <732>;
404         };
405
406         clkdiv32k_ick: clock-clkdiv32k-ick-8@2a38 {
407                 #clock-cells = <0>;
408                 compatible = "ti,gate-clock";
409                 clock-output-names = "clkdiv32k_ick";
410                 clocks = <&clkdiv32k_ck>;
411                 ti,bit-shift = <8>;
412                 reg = <0x2a38>;
413         };
414
415         sysclk_div: clock-sysclk-div {
416                 #clock-cells = <0>;
417                 compatible = "fixed-factor-clock";
418                 clock-output-names = "sysclk_div";
419                 clocks = <&dpll_core_m4_ck>;
420                 clock-mult = <1>;
421                 clock-div = <1>;
422         };
423
424         pruss_ocp_gclk: clock-pruss-ocp-gclk@4248 {
425                 #clock-cells = <0>;
426                 compatible = "ti,mux-clock";
427                 clock-output-names = "pruss_ocp_gclk";
428                 clocks = <&sysclk_div>, <&dpll_disp_m2_ck>;
429                 reg = <0x4248>;
430         };
431
432         clk_32k_tpm_ck: clock-clk-32k-tpm {
433                 #clock-cells = <0>;
434                 compatible = "fixed-clock";
435                 clock-output-names = "clk_32k_tpm_ck";
436                 clock-frequency = <32768>;
437         };
438
439         timer1_fck: clock-timer1-fck@4200 {
440                 #clock-cells = <0>;
441                 compatible = "ti,mux-clock";
442                 clock-output-names = "timer1_fck";
443                 clocks = <&sys_clkin_ck>, <&clkdiv32k_ick>, <&tclkin_ck>, <&clk_rc32k_ck>, <&clk_32768_ck>, <&clk_32k_tpm_ck>;
444                 reg = <0x4200>;
445         };
446
447         timer2_fck: clock-timer2-fck@4204 {
448                 #clock-cells = <0>;
449                 compatible = "ti,mux-clock";
450                 clock-output-names = "timer2_fck";
451                 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
452                 reg = <0x4204>;
453         };
454
455         timer3_fck: clock-timer3-fck@4208 {
456                 #clock-cells = <0>;
457                 compatible = "ti,mux-clock";
458                 clock-output-names = "timer3_fck";
459                 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
460                 reg = <0x4208>;
461         };
462
463         timer4_fck: clock-timer4-fck@420c {
464                 #clock-cells = <0>;
465                 compatible = "ti,mux-clock";
466                 clock-output-names = "timer4_fck";
467                 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
468                 reg = <0x420c>;
469         };
470
471         timer5_fck: clock-timer5-fck@4210 {
472                 #clock-cells = <0>;
473                 compatible = "ti,mux-clock";
474                 clock-output-names = "timer5_fck";
475                 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
476                 reg = <0x4210>;
477         };
478
479         timer6_fck: clock-timer6-fck@4214 {
480                 #clock-cells = <0>;
481                 compatible = "ti,mux-clock";
482                 clock-output-names = "timer6_fck";
483                 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
484                 reg = <0x4214>;
485         };
486
487         timer7_fck: clock-timer7-fck@4218 {
488                 #clock-cells = <0>;
489                 compatible = "ti,mux-clock";
490                 clock-output-names = "timer7_fck";
491                 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
492                 reg = <0x4218>;
493         };
494
495         wdt1_fck: clock-wdt1-fck@422c {
496                 #clock-cells = <0>;
497                 compatible = "ti,mux-clock";
498                 clock-output-names = "wdt1_fck";
499                 clocks = <&clk_rc32k_ck>, <&clkdiv32k_ick>;
500                 reg = <0x422c>;
501         };
502
503         adc_mag_fck: adc_mag_fck@424c {
504                 #clock-cells = <0>;
505                 compatible = "ti,mux-clock";
506                 clocks = <&sys_clkin_ck>, <&dpll_per_m2_ck>;
507                 reg = <0x424c>;
508         };
509
510         l3_gclk: clock-l3-gclk {
511                 #clock-cells = <0>;
512                 compatible = "fixed-factor-clock";
513                 clock-output-names = "l3_gclk";
514                 clocks = <&dpll_core_m4_ck>;
515                 clock-mult = <1>;
516                 clock-div = <1>;
517         };
518
519         dpll_core_m4_div2_ck: clock-dpll-core-m4-div2 {
520                 #clock-cells = <0>;
521                 compatible = "fixed-factor-clock";
522                 clock-output-names = "dpll_core_m4_div2_ck";
523                 clocks = <&sysclk_div>;
524                 clock-mult = <1>;
525                 clock-div = <2>;
526         };
527
528         l4hs_gclk: clock-l4hs-gclk {
529                 #clock-cells = <0>;
530                 compatible = "fixed-factor-clock";
531                 clock-output-names = "l4hs_gclk";
532                 clocks = <&dpll_core_m4_ck>;
533                 clock-mult = <1>;
534                 clock-div = <1>;
535         };
536
537         l3s_gclk: clock-l3s-gclk {
538                 #clock-cells = <0>;
539                 compatible = "fixed-factor-clock";
540                 clock-output-names = "l3s_gclk";
541                 clocks = <&dpll_core_m4_div2_ck>;
542                 clock-mult = <1>;
543                 clock-div = <1>;
544         };
545
546         l4ls_gclk: clock-l4ls-gclk {
547                 #clock-cells = <0>;
548                 compatible = "fixed-factor-clock";
549                 clock-output-names = "l4ls_gclk";
550                 clocks = <&dpll_core_m4_div2_ck>;
551                 clock-mult = <1>;
552                 clock-div = <1>;
553         };
554
555         cpsw_125mhz_gclk: clock-cpsw-125mhz-gclk {
556                 #clock-cells = <0>;
557                 compatible = "fixed-factor-clock";
558                 clock-output-names = "cpsw_125mhz_gclk";
559                 clocks = <&dpll_core_m5_ck>;
560                 clock-mult = <1>;
561                 clock-div = <2>;
562         };
563
564         cpsw_cpts_rft_clk: clock-cpsw-cpts-rft@4238 {
565                 #clock-cells = <0>;
566                 compatible = "ti,mux-clock";
567                 clock-output-names = "cpsw_cpts_rft_clk";
568                 clocks = <&sysclk_div>, <&dpll_core_m5_ck>, <&dpll_disp_m2_ck>;
569                 reg = <0x4238>;
570         };
571
572         dpll_clksel_mac_clk: clock-dpll-clksel-mac-2@4234 {
573                 #clock-cells = <0>;
574                 compatible = "ti,divider-clock";
575                 clock-output-names = "dpll_clksel_mac_clk";
576                 clocks = <&dpll_core_m5_ck>;
577                 reg = <0x4234>;
578                 ti,bit-shift = <2>;
579                 ti,dividers = <2>, <5>;
580         };
581
582         clk_32k_mosc_ck: clock-clk-32k-mosc {
583                 #clock-cells = <0>;
584                 compatible = "fixed-clock";
585                 clock-output-names = "clk_32k_mosc_ck";
586                 clock-frequency = <32768>;
587         };
588
589         gpio0_dbclk_mux_ck: clock-gpio0-dbclk-mux@4240 {
590                 #clock-cells = <0>;
591                 compatible = "ti,mux-clock";
592                 clock-output-names = "gpio0_dbclk_mux_ck";
593                 clocks = <&clk_rc32k_ck>, <&clk_32768_ck>, <&clkdiv32k_ick>, <&clk_32k_mosc_ck>, <&clk_32k_tpm_ck>;
594                 reg = <0x4240>;
595         };
596
597         mmc_clk: clock-mmc {
598                 #clock-cells = <0>;
599                 compatible = "fixed-factor-clock";
600                 clock-output-names = "mmc_clk";
601                 clocks = <&dpll_per_m2_ck>;
602                 clock-mult = <1>;
603                 clock-div = <2>;
604         };
605
606         gfx_fclk_clksel_ck: clock-gfx-fclk-clksel-1@423c {
607                 #clock-cells = <0>;
608                 compatible = "ti,mux-clock";
609                 clock-output-names = "gfx_fclk_clksel_ck";
610                 clocks = <&sysclk_div>, <&dpll_per_m2_ck>;
611                 ti,bit-shift = <1>;
612                 reg = <0x423c>;
613         };
614
615         gfx_fck_div_ck: clock-gfx-fck-div@423c {
616                 #clock-cells = <0>;
617                 compatible = "ti,divider-clock";
618                 clock-output-names = "gfx_fck_div_ck";
619                 clocks = <&gfx_fclk_clksel_ck>;
620                 reg = <0x423c>;
621                 ti,max-div = <2>;
622         };
623
624         disp_clk: clock-disp@4244 {
625                 #clock-cells = <0>;
626                 compatible = "ti,mux-clock";
627                 clock-output-names = "disp_clk";
628                 clocks = <&dpll_disp_m2_ck>, <&dpll_core_m5_ck>, <&dpll_per_m2_ck>;
629                 reg = <0x4244>;
630                 ti,set-rate-parent;
631         };
632
633         dpll_extdev_ck: clock@2e60 {
634                 #clock-cells = <0>;
635                 compatible = "ti,am3-dpll-clock";
636                 clock-output-names = "dpll_extdev_ck";
637                 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
638                 reg = <0x2e60>, <0x2e64>, <0x2e6c>, <0x2e88>, <0x2e8c>;
639         };
640
641         dpll_extdev_m2_ck: clock-dpll-extdev-m2-8@2e70 {
642                 #clock-cells = <0>;
643                 compatible = "ti,divider-clock";
644                 clock-output-names = "dpll_extdev_m2_ck";
645                 clocks = <&dpll_extdev_ck>;
646                 ti,max-div = <127>;
647                 ti,autoidle-shift = <8>;
648                 reg = <0x2e70>;
649                 ti,index-starts-at-one;
650                 ti,invert-autoidle-bit;
651         };
652
653         mux_synctimer32k_ck: clock-mux-synctimer32k@4230 {
654                 #clock-cells = <0>;
655                 compatible = "ti,mux-clock";
656                 clock-output-names = "mux_synctimer32k_ck";
657                 clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>, <&clkdiv32k_ick>;
658                 reg = <0x4230>;
659         };
660
661         timer8_fck: clock-timer8-fck@421c {
662                 #clock-cells = <0>;
663                 compatible = "ti,mux-clock";
664                 clock-output-names = "timer8_fck";
665                 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
666                 reg = <0x421c>;
667         };
668
669         timer9_fck: clock-timer9-fck@4220 {
670                 #clock-cells = <0>;
671                 compatible = "ti,mux-clock";
672                 clock-output-names = "timer9_fck";
673                 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
674                 reg = <0x4220>;
675         };
676
677         timer10_fck: clock-timer10-fck@4224 {
678                 #clock-cells = <0>;
679                 compatible = "ti,mux-clock";
680                 clock-output-names = "timer10_fck";
681                 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
682                 reg = <0x4224>;
683         };
684
685         timer11_fck: clock-timer11-fck@4228 {
686                 #clock-cells = <0>;
687                 compatible = "ti,mux-clock";
688                 clock-output-names = "timer11_fck";
689                 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
690                 reg = <0x4228>;
691         };
692
693         cpsw_50m_clkdiv: clock-cpsw-50m-clkdiv {
694                 #clock-cells = <0>;
695                 compatible = "fixed-factor-clock";
696                 clock-output-names = "cpsw_50m_clkdiv";
697                 clocks = <&dpll_core_m5_ck>;
698                 clock-mult = <1>;
699                 clock-div = <1>;
700         };
701
702         cpsw_5m_clkdiv: clock-cpsw-5m-clkdiv {
703                 #clock-cells = <0>;
704                 compatible = "fixed-factor-clock";
705                 clock-output-names = "cpsw_5m_clkdiv";
706                 clocks = <&cpsw_50m_clkdiv>;
707                 clock-mult = <1>;
708                 clock-div = <10>;
709         };
710
711         dpll_ddr_x2_ck: clock-dpll-ddr-x2 {
712                 #clock-cells = <0>;
713                 compatible = "ti,am3-dpll-x2-clock";
714                 clock-output-names = "dpll_ddr_x2_ck";
715                 clocks = <&dpll_ddr_ck>;
716         };
717
718         dpll_ddr_m4_ck: clock-dpll-ddr-m4-8@2db8 {
719                 #clock-cells = <0>;
720                 compatible = "ti,divider-clock";
721                 clock-output-names = "dpll_ddr_m4_ck";
722                 clocks = <&dpll_ddr_x2_ck>;
723                 ti,max-div = <31>;
724                 ti,autoidle-shift = <8>;
725                 reg = <0x2db8>;
726                 ti,index-starts-at-one;
727                 ti,invert-autoidle-bit;
728         };
729
730         dpll_per_clkdcoldo: clock-dpll-per-clkdcoldo-8@2e14 {
731                 #clock-cells = <0>;
732                 compatible = "ti,fixed-factor-clock";
733                 clock-output-names = "dpll_per_clkdcoldo";
734                 clocks = <&dpll_per_ck>;
735                 ti,clock-mult = <1>;
736                 ti,clock-div = <1>;
737                 ti,autoidle-shift = <8>;
738                 reg = <0x2e14>;
739                 ti,invert-autoidle-bit;
740         };
741
742         dll_aging_clk_div: clock-dll-aging-clk-div@4250 {
743                 #clock-cells = <0>;
744                 compatible = "ti,divider-clock";
745                 clock-output-names = "dll_aging_clk_div";
746                 clocks = <&sys_clkin_ck>;
747                 reg = <0x4250>;
748                 ti,dividers = <8>, <16>, <32>;
749         };
750
751         div_core_25m_ck: clock-div-core-25m {
752                 #clock-cells = <0>;
753                 compatible = "fixed-factor-clock";
754                 clock-output-names = "div_core_25m_ck";
755                 clocks = <&sysclk_div>;
756                 clock-mult = <1>;
757                 clock-div = <8>;
758         };
759
760         func_12m_clk: clock-func-12m {
761                 #clock-cells = <0>;
762                 compatible = "fixed-factor-clock";
763                 clock-output-names = "func_12m_clk";
764                 clocks = <&dpll_per_m2_ck>;
765                 clock-mult = <1>;
766                 clock-div = <16>;
767         };
768
769         vtp_clk_div: clock-vtp-clk-div {
770                 #clock-cells = <0>;
771                 compatible = "fixed-factor-clock";
772                 clock-output-names = "vtp_clk_div";
773                 clocks = <&sys_clkin_ck>;
774                 clock-mult = <1>;
775                 clock-div = <2>;
776         };
777
778         usbphy_32khz_clkmux: clock-usbphy-32khz-clkmux@4260 {
779                 #clock-cells = <0>;
780                 compatible = "ti,mux-clock";
781                 clock-output-names = "usbphy_32khz_clkmux";
782                 clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>;
783                 reg = <0x4260>;
784         };
785
786         usb_phy0_always_on_clk32k: clock-usb-phy0-always-on-clk32k-8@2a40 {
787                 #clock-cells = <0>;
788                 compatible = "ti,gate-clock";
789                 clock-output-names = "usb_phy0_always_on_clk32k";
790                 clocks = <&usbphy_32khz_clkmux>;
791                 ti,bit-shift = <8>;
792                 reg = <0x2a40>;
793         };
794
795         usb_phy1_always_on_clk32k: clock-usb-phy1-always-on-clk32k-8@2a48 {
796                 #clock-cells = <0>;
797                 compatible = "ti,gate-clock";
798                 clock-output-names = "usb_phy1_always_on_clk32k";
799                 clocks = <&usbphy_32khz_clkmux>;
800                 ti,bit-shift = <8>;
801                 reg = <0x2a48>;
802         };
803
804         clkout1_osc_div_ck: clock-clkout1-osc-div-ck {
805                 #clock-cells = <0>;
806                 compatible = "ti,divider-clock";
807                 clock-output-names = "clkout1_osc_div_ck";
808                 clocks = <&sys_clkin_ck>;
809                 ti,bit-shift = <20>;
810                 ti,max-div = <4>;
811                 reg = <0x4100>;
812         };
813
814         clkout1_src2_mux_ck: clock-clkout1-src2-mux-ck {
815                 #clock-cells = <0>;
816                 compatible = "ti,mux-clock";
817                 clock-output-names = "clkout1_src2_mux_ck";
818                 clocks = <&clk_rc32k_ck>, <&sysclk_div>, <&dpll_ddr_m2_ck>,
819                          <&dpll_per_m2_ck>, <&dpll_disp_m2_ck>,
820                          <&dpll_mpu_m2_ck>;
821                 reg = <0x4100>;
822         };
823
824         clkout1_src2_pre_div_ck: clock-clkout1-src2-pre-div-ck {
825                 #clock-cells = <0>;
826                 compatible = "ti,divider-clock";
827                 clock-output-names = "clkout1_src2_pre_div_ck";
828                 clocks = <&clkout1_src2_mux_ck>;
829                 ti,bit-shift = <4>;
830                 ti,max-div = <8>;
831                 reg = <0x4100>;
832         };
833
834         clkout1_src2_post_div_ck: clock-clkout1-src2-post-div-ck {
835                 #clock-cells = <0>;
836                 compatible = "ti,divider-clock";
837                 clock-output-names = "clkout1_src2_post_div_ck";
838                 clocks = <&clkout1_src2_pre_div_ck>;
839                 ti,bit-shift = <8>;
840                 ti,max-div = <32>;
841                 ti,index-power-of-two;
842                 reg = <0x4100>;
843         };
844
845         clkout1_mux_ck: clock-clkout1-mux-ck {
846                 #clock-cells = <0>;
847                 compatible = "ti,mux-clock";
848                 clock-output-names = "clkout1_mux_ck";
849                 clocks = <&clkout1_osc_div_ck>, <&clk_rc32k_ck>,
850                          <&clkout1_src2_post_div_ck>, <&dpll_extdev_m2_ck>;
851                 ti,bit-shift = <16>;
852                 reg = <0x4100>;
853         };
854
855         clkout1_ck: clock-clkout1-ck {
856                 #clock-cells = <0>;
857                 compatible = "ti,gate-clock";
858                 clock-output-names = "clkout1_ck";
859                 clocks = <&clkout1_mux_ck>;
860                 ti,bit-shift = <23>;
861                 reg = <0x4100>;
862         };
863 };
864
865 &prcm {
866         wkup_cm: clock@2800 {
867                 compatible = "ti,omap4-cm";
868                 clock-output-names = "wkup_cm";
869                 reg = <0x2800 0x400>;
870                 #address-cells = <1>;
871                 #size-cells = <1>;
872                 ranges = <0 0x2800 0x400>;
873
874                 l3s_tsc_clkctrl: clock@120 {
875                         compatible = "ti,clkctrl";
876                         clock-output-names = "l3s_tsc_clkctrl";
877                         reg = <0x120 0x4>;
878                         #clock-cells = <2>;
879                 };
880
881                 l4_wkup_aon_clkctrl: clock@228 {
882                         compatible = "ti,clkctrl";
883                         clock-output-names = "l4_wkup_aon_clkctrl";
884                         reg = <0x228 0xc>;
885                         #clock-cells = <2>;
886                 };
887
888                 l4_wkup_clkctrl: clock@220 {
889                         compatible = "ti,clkctrl";
890                         clock-output-names = "l4_wkup_clkctrl";
891                         reg = <0x220 0x4>, <0x328 0x44>;
892                         #clock-cells = <2>;
893                 };
894
895         };
896
897         mpu_cm: clock@8300 {
898                 compatible = "ti,omap4-cm";
899                 clock-output-names = "mpu_cm";
900                 reg = <0x8300 0x100>;
901                 #address-cells = <1>;
902                 #size-cells = <1>;
903                 ranges = <0 0x8300 0x100>;
904
905                 mpu_clkctrl: clock@20 {
906                         compatible = "ti,clkctrl";
907                         clock-output-names = "mpu_clkctrl";
908                         reg = <0x20 0x4>;
909                         #clock-cells = <2>;
910                 };
911         };
912
913         gfx_l3_cm: clock@8400 {
914                 compatible = "ti,omap4-cm";
915                 clock-output-names = "gfx_l3_cm";
916                 reg = <0x8400 0x100>;
917                 #address-cells = <1>;
918                 #size-cells = <1>;
919                 ranges = <0 0x8400 0x100>;
920
921                 gfx_l3_clkctrl: clock@20 {
922                         compatible = "ti,clkctrl";
923                         clock-output-names = "gfx_l3_clkctrl";
924                         reg = <0x20 0x4>;
925                         #clock-cells = <2>;
926                 };
927         };
928
929         l4_rtc_cm: clock@8500 {
930                 compatible = "ti,omap4-cm";
931                 clock-output-names = "l4_rtc_cm";
932                 reg = <0x8500 0x100>;
933                 #address-cells = <1>;
934                 #size-cells = <1>;
935                 ranges = <0 0x8500 0x100>;
936
937                 l4_rtc_clkctrl: clock@20 {
938                         compatible = "ti,clkctrl";
939                         clock-output-names = "l4_rtc_clkctrl";
940                         reg = <0x20 0x4>;
941                         #clock-cells = <2>;
942                 };
943         };
944
945         per_cm: clock@8800 {
946                 compatible = "ti,omap4-cm";
947                 clock-output-names = "per_cm";
948                 reg = <0x8800 0xc00>;
949                 #address-cells = <1>;
950                 #size-cells = <1>;
951                 ranges = <0 0x8800 0xc00>;
952
953                 l3_clkctrl: clock@20 {
954                         compatible = "ti,clkctrl";
955                         clock-output-names = "l3_clkctrl";
956                         reg = <0x20 0x3c>, <0x78 0x2c>;
957                         #clock-cells = <2>;
958                 };
959
960                 l3s_clkctrl: clock@68 {
961                         compatible = "ti,clkctrl";
962                         clock-output-names = "l3s_clkctrl";
963                         reg = <0x68 0xc>, <0x220 0x4c>;
964                         #clock-cells = <2>;
965                 };
966
967                 pruss_ocp_clkctrl: clock@320 {
968                         compatible = "ti,clkctrl";
969                         clock-output-names = "pruss_ocp_clkctrl";
970                         reg = <0x320 0x4>;
971                         #clock-cells = <2>;
972                 };
973
974                 l4ls_clkctrl: clock@420 {
975                         compatible = "ti,clkctrl";
976                         clock-output-names = "l4ls_clkctrl";
977                         reg = <0x420 0x1a4>;
978                         #clock-cells = <2>;
979                 };
980
981                 emif_clkctrl: clock@720 {
982                         compatible = "ti,clkctrl";
983                         clock-output-names = "emif_clkctrl";
984                         reg = <0x720 0x4>;
985                         #clock-cells = <2>;
986                 };
987
988                 dss_clkctrl: clock@a20 {
989                         compatible = "ti,clkctrl";
990                         clock-output-names = "dss_clkctrl";
991                         reg = <0xa20 0x4>;
992                         #clock-cells = <2>;
993                 };
994
995                 cpsw_125mhz_clkctrl: clock@b20 {
996                         compatible = "ti,clkctrl";
997                         clock-output-names = "cpsw_125mhz_clkctrl";
998                         reg = <0xb20 0x4>;
999                         #clock-cells = <2>;
1000                 };
1001
1002         };
1003 };