2 * Copyright (C) 2014-2015 ROCKCHIP, Inc.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 #include <dt-bindings/clock/rockchip,rk3368.h>
20 compatible = "rockchip,rk-clocks";
26 compatible = "rockchip,rk-fixed-rate-cons";
29 compatible = "rockchip,rk-fixed-clock";
30 clock-output-names = "xin24m";
31 clock-frequency = <24000000>;
36 compatible = "rockchip,rk-fixed-clock";
38 clock-output-names = "xin12m";
39 clock-frequency = <12000000>;
44 compatible = "rockchip,rk-fixed-clock";
45 clock-output-names = "xin32k";
46 clock-frequency = <32000>;
51 compatible = "rockchip,rk-fixed-clock";
52 clock-output-names = "dummy";
53 clock-frequency = <0>;
57 jtag_clkin: jtag_clkin {
58 compatible = "rockchip,rk-fixed-clock";
59 clock-output-names = "jtag_clkin";
60 clock-frequency = <0>;
64 gmac_clkin: gmac_clkin {
65 compatible = "rockchip,rk-fixed-clock";
66 clock-output-names = "gmac_clkin";
67 clock-frequency = <0>;
71 pclkin_isp: pclkin_isp {
72 compatible = "rockchip,rk-fixed-clock";
73 clock-output-names = "pclkin_isp";
74 clock-frequency = <0>;
78 pclkin_vip: pclkin_vip {
79 compatible = "rockchip,rk-fixed-clock";
80 clock-output-names = "pclkin_vip";
81 clock-frequency = <0>;
85 clkin_hsadc_tsp: clkin_hsadc_tsp {
86 compatible = "rockchip,rk-fixed-clock";
87 clock-output-names = "clkin_hsadc_tsp";
88 clock-frequency = <0>;
92 i2s_clkin: i2s_clkin {
93 compatible = "rockchip,rk-fixed-clock";
94 clock-output-names = "i2s_clkin";
95 clock-frequency = <0>;
101 compatible = "rockchip,rk-fixed-factor-cons";
103 hclk_vepu: hclk_vepu {
104 compatible = "rockchip,rk-fixed-factor-clock";
105 clocks = <&aclk_vepu>;
106 clock-output-names = "hclk_vepu";
112 hclk_vdpu: hclk_vdpu {
113 compatible = "rockchip,rk-fixed-factor-clock";
114 clocks = <&aclk_vdpu>;
115 clock-output-names = "hclk_vdpu";
121 usbotg_480m_out: usbotg_480m_out {
122 compatible = "rockchip,rk-fixed-factor-clock";
123 clocks = <&clk_gates8 1>;
124 clock-output-names = "usbotg_480m_out";
130 pclkin_isp_inv: pclkin_isp_inv {
131 compatible = "rockchip,rk-fixed-factor-clock";
132 clocks = <&clk_gates17 2>;
133 clock-output-names = "pclkin_isp_inv";
139 pclkin_vip_inv: pclkin_vip_inv {
140 compatible = "rockchip,rk-fixed-factor-clock";
141 clocks = <&clk_gates16 13>;
142 clock-output-names = "pclkin_vip_inv";
149 compatible = "rockchip,rk-fixed-factor-clock";
150 clocks = <&clk_gates16 8>;
151 clock-output-names = "pclk_vio";
159 compatible = "rockchip,rk-clock-regs";
160 #address-cells = <1>;
162 ranges = <0x0 0xFF760000 0x0264>;
163 reg = <0xFF760000 0x0264>;/* NEED CONFIRM */
165 /* PLL control regs */
167 compatible = "rockchip,rk-pll-cons";
168 #address-cells = <1>;
172 clk_apllb: pll-clk@0000 {
173 compatible = "rockchip,rk3188-pll-clk";
175 mode-reg = <0x000c 8>;
176 status-reg = <0x0480 1>;
178 clock-output-names = "clk_apllb";
179 rockchip,pll-type = <CLK_PLL_3368_APLLB>;
184 clk_aplll: pll-clk@0010 {
185 compatible = "rockchip,rk3188-pll-clk";
187 mode-reg = <0x001c 8>;
188 status-reg = <0x0480 0>;
190 clock-output-names = "clk_aplll";
191 rockchip,pll-type = <CLK_PLL_3368_APLLL>;
195 clk_dpll: pll-clk@0020 {
196 compatible = "rockchip,rk3188-pll-clk";
198 mode-reg = <0x002c 8>;
199 status-reg = <0x0480 2>;
201 clock-output-names = "clk_dpll";
202 rockchip,pll-type = <CLK_PLL_3188PLUS>;
207 clk_cpll: pll-clk@0030 {
208 compatible = "rockchip,rk3188-pll-clk";
210 mode-reg = <0x003c 8>;
211 status-reg = <0x0480 3>;
213 clock-output-names = "clk_cpll";
214 rockchip,pll-type = <CLK_PLL_3188PLUS>;
216 #clock-init-cells = <1>;
219 clk_gpll: pll-clk@0040 {
220 compatible = "rockchip,rk3188-pll-clk";
222 mode-reg = <0x004c 8>;
223 status-reg = <0x0480 4>;
225 clock-output-names = "clk_gpll";
226 rockchip,pll-type = <CLK_PLL_3188PLUS>;
228 #clock-init-cells = <1>;
231 clk_npll: pll-clk@0050 {
232 compatible = "rockchip,rk3188-pll-clk";
234 mode-reg = <0x005c 8>;
235 status-reg = <0x0480 5>;
237 clock-output-names = "clk_npll";
238 rockchip,pll-type = <CLK_PLL_3188PLUS_AUTO>;
240 #clock-init-cells = <1>;
244 /* Select control regs */
246 compatible = "rockchip,rk-sel-cons";
247 #address-cells = <1>;
251 clk_sel_con0: sel-con@0100 {
252 compatible = "rockchip,rk3188-selcon";
254 #address-cells = <1>;
257 clk_core_b_div: clk_core_b_div {
258 compatible = "rockchip,rk3188-div-con";
259 rockchip,bits = <0 5>;
260 clocks = <&clk_core_b>;
261 clock-output-names = "clk_core_b";
262 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
264 rockchip,clkops-idx = <CLKOPS_RATE_CORE>;
265 rockchip,flags = <(CLK_GET_RATE_NOCACHE |
266 CLK_SET_RATE_NO_REPARENT)>;
271 clk_core_b: clk_core_b_mux {
272 compatible = "rockchip,rk3188-mux-con";
273 rockchip,bits = <7 1>;
274 clocks = <&clk_apllb>, <&clk_gpll>;
275 clock-output-names = "clk_core_b";
277 #clock-init-cells = <1>;
280 aclkm_core_b: aclkm_core_b_div {
281 compatible = "rockchip,rk3188-div-con";
282 rockchip,bits = <8 5>;
283 clocks = <&clk_core_b>;
284 clock-output-names = "aclkm_core_b";
285 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
287 rockchip,clkops-idx = <CLKOPS_RATE_CORE_CHILD>;
293 clk_sel_con1: sel-con@0104 {
294 compatible = "rockchip,rk3188-selcon";
296 #address-cells = <1>;
299 atclk_core_b: atclk_core_b_div {
300 compatible = "rockchip,rk3188-div-con";
301 rockchip,bits = <0 5>;
302 clocks = <&clk_core_b>;
303 clock-output-names = "atclk_core_b";
304 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
306 rockchip,clkops-idx = <CLKOPS_RATE_CORE_CHILD>;
311 pclk_dbg_b: pclk_dbg_b_div {
312 compatible = "rockchip,rk3188-div-con";
313 rockchip,bits = <8 5>;
314 clocks = <&clk_core_b>;
315 clock-output-names = "pclk_dbg_b";
316 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
318 rockchip,clkops-idx = <CLKOPS_RATE_CORE_CHILD>;
322 clk_sel_con2: sel-con@0108 {
323 compatible = "rockchip,rk3188-selcon";
325 #address-cells = <1>;
328 clk_core_l_div: clk_core_l_div {
329 compatible = "rockchip,rk3188-div-con";
330 rockchip,bits = <0 5>;
331 clocks = <&clk_core_l>;
332 clock-output-names = "clk_core_l";
333 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
335 rockchip,clkops-idx = <CLKOPS_RATE_CORE>;
336 rockchip,flags = <(CLK_GET_RATE_NOCACHE |
337 CLK_SET_RATE_NO_REPARENT)>;
342 clk_core_l: clk_core_l_mux {
343 compatible = "rockchip,rk3188-mux-con";
344 rockchip,bits = <7 1>;
345 clocks = <&clk_aplll>, <&clk_gpll>;
346 clock-output-names = "clk_core_l";
348 #clock-init-cells = <1>;
351 aclkm_core_l: aclkm_core_l_div {
352 compatible = "rockchip,rk3188-div-con";
353 rockchip,bits = <8 5>;
354 clocks = <&clk_core_l>;
355 clock-output-names = "aclkm_core_l";
356 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
358 rockchip,clkops-idx = <CLKOPS_RATE_CORE_CHILD>;
364 clk_sel_con3: sel-con@010c {
365 compatible = "rockchip,rk3188-selcon";
367 #address-cells = <1>;
370 atclk_core_l: atclk_core_l_div {
371 compatible = "rockchip,rk3188-div-con";
372 rockchip,bits = <0 5>;
373 clocks = <&clk_core_l>;
374 clock-output-names = "atclk_core_l";
375 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
377 rockchip,clkops-idx = <CLKOPS_RATE_CORE_CHILD>;
382 pclk_dbg_l: pclk_dbg_l_div {
383 compatible = "rockchip,rk3188-div-con";
384 rockchip,bits = <8 5>;
385 clocks = <&clk_core_l>;
386 clock-output-names = "pclk_dbg_l";
387 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
389 rockchip,clkops-idx = <CLKOPS_RATE_CORE_CHILD>;
393 clk_sel_con4: sel-con@0110 {
394 compatible = "rockchip,rk3188-selcon";
396 #address-cells = <1>;
399 clk_cs_div: clk_cs_div {
400 compatible = "rockchip,rk3188-div-con";
401 rockchip,bits = <0 5>;
403 clock-output-names = "clk_cs";
404 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
406 rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>;
412 compatible = "rockchip,rk3188-mux-con";
413 rockchip,bits = <6 2>;
414 clocks = <&clk_gates0 9>, <&clk_gates0 10>, <&clk_gates0 8>, <&dummy>;
415 clock-output-names = "clk_cs";
417 #clock-init-cells = <1>;
420 clkin_trace: clkin_trace_div {
421 compatible = "rockchip,rk3188-div-con";
422 rockchip,bits = <8 5>;
424 clock-output-names = "clkin_trace";
425 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
431 clk_sel_con5: sel-con@0114 {
432 compatible = "rockchip,rk3188-selcon";
434 #address-cells = <1>;
437 aclk_cci_div: aclk_cci_div {
438 compatible = "rockchip,rk3188-div-con";
439 rockchip,bits = <0 5>;
440 clocks = <&aclk_cci>;
441 clock-output-names = "aclk_cci";
442 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
444 rockchip,clkops-idx = <CLKOPS_RATE_RK3368_MUX_DIV_NPLL>;
449 aclk_cci: aclk_cci_mux {
450 compatible = "rockchip,rk3188-mux-con";
451 rockchip,bits = <6 2>;
452 clocks = <&clk_cpll>, <&clk_gpll>, <&usbphy_480m>, <&clk_npll>;
453 clock-output-names = "aclk_cci";
455 #clock-init-cells = <1>;
459 /* sel[7:6] reserved */
461 clk_sel_con8: sel-con@0120 {
462 compatible = "rockchip,rk3188-selcon";
464 #address-cells = <1>;
467 aclk_bus_div: aclk_bus_div {
468 compatible = "rockchip,rk3188-div-con";
469 rockchip,bits = <0 5>;
470 clocks = <&aclk_bus>;
471 clock-output-names = "aclk_bus_div";
472 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
474 rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>;
479 aclk_bus: aclk_bus_mux {
480 compatible = "rockchip,rk3188-mux-con";
481 rockchip,bits = <7 1>;
482 clocks = <&clk_gates1 11>, <&clk_gates1 10>;
483 clock-output-names = "aclk_bus";
485 #clock-init-cells = <1>;
488 hclk_bus: hclk_bus_div {
489 compatible = "rockchip,rk3188-div-con";
490 rockchip,bits = <8 2>;
491 clocks = <&aclk_bus>;
492 clock-output-names = "hclk_bus";
493 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
495 #clock-init-cells = <1>;
500 pclk_bus: pclk_bus_div {
501 compatible = "rockchip,rk3188-div-con";
502 rockchip,bits = <12 3>;
503 clocks = <&aclk_bus>;
504 clock-output-names = "pclk_bus";
505 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
507 #clock-init-cells = <1>;
511 clk_sel_con9: sel-con@0124 {
512 compatible = "rockchip,rk3188-selcon";
514 #address-cells = <1>;
517 aclk_peri_div: aclk_peri_div {
518 compatible = "rockchip,rk3188-div-con";
519 rockchip,bits = <0 5>;
520 clocks = <&aclk_peri>;
521 clock-output-names = "aclk_peri_div";
522 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
524 rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>;
529 aclk_peri: aclk_peri_mux {
530 compatible = "rockchip,rk3188-mux-con";
531 rockchip,bits = <7 1>;
532 clocks = <&clk_cpll>, <&clk_gpll>;
533 clock-output-names = "aclk_peri";
535 #clock-init-cells = <1>;
538 hclk_peri: hclk_peri_div {
539 compatible = "rockchip,rk3188-div-con";
540 rockchip,bits = <8 2>;
541 clocks = <&aclk_peri>;
542 clock-output-names = "hclk_peri";
543 rockchip,div-type = <CLK_DIVIDER_USER_DEFINE>;
544 rockchip,div-relations =
549 #clock-init-cells = <1>;
554 pclk_peri: pclk_peri_div {
555 compatible = "rockchip,rk3188-div-con";
556 rockchip,bits = <12 2>;
557 clocks = <&aclk_peri>;
558 clock-output-names = "pclk_peri";
559 rockchip,div-type = <CLK_DIVIDER_USER_DEFINE>;
560 rockchip,div-relations =
566 #clock-init-cells = <1>;
570 clk_sel_con10: sel-con@0128 {
571 compatible = "rockchip,rk3188-selcon";
573 #address-cells = <1>;
576 pclk_pmu_pre: pclk_pmu_pre_div {
577 compatible = "rockchip,rk3188-div-con";
578 rockchip,bits = <0 5>;
579 clocks = <&clk_gpll>;
580 clock-output-names = "pclk_pmu_pre";
581 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
587 pclk_alive_pre: pclk_alive_pre_div {
588 compatible = "rockchip,rk3188-div-con";
589 rockchip,bits = <8 5>;
590 clocks = <&clk_gpll>;
591 clock-output-names = "pclk_alive_pre";
592 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
598 clk_crypto: clk_crypto_div {
599 compatible = "rockchip,rk3188-div-con";
600 rockchip,bits = <14 2>;
601 clocks = <&aclk_bus>;
602 clock-output-names = "clk_crypto";
603 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
605 #clock-init-cells = <1>;
609 /* sel[11]: reserved */
611 clk_sel_con12: sel-con@0130 {
612 compatible = "rockchip,rk3188-selcon";
614 #address-cells = <1>;
617 fclk_mcu_div: fclk_mcu_div {
618 compatible = "rockchip,rk3188-div-con";
619 rockchip,bits = <0 5>;
620 clocks = <&fclk_mcu>;
621 clock-output-names = "fclk_mcu";
622 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
624 rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>;
629 fclk_mcu: fclk_mcu_mux {
630 compatible = "rockchip,rk3188-mux-con";
631 rockchip,bits = <7 1>;
632 clocks = <&clk_cpll>, <&clk_gpll>;
633 clock-output-names = "fclk_mcu";
635 #clock-init-cells = <1>;
638 stclk_mcu: stclk_mcu_div {
639 compatible = "rockchip,rk3188-div-con";
640 rockchip,bits = <8 3>;
641 clocks = <&fclk_mcu>;
642 clock-output-names = "stclk_mcu";
643 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
648 clk_sel_con13: sel-con@0134 {
649 compatible = "rockchip,rk3188-selcon";
651 #address-cells = <1>;
654 clk_ddr_div: clk_ddr_div {
655 compatible = "rockchip,rk3188-div-con";
656 rockchip,bits = <0 2>;
658 clock-output-names = "clk_ddr";
659 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
661 rockchip,flags = <(CLK_GET_RATE_NOCACHE |
662 CLK_SET_RATE_NO_REPARENT)>;
663 rockchip,clkops-idx =
664 <CLKOPS_RATE_DDR_DIV4>;
669 clk_ddr: clk_ddr_mux {
670 compatible = "rockchip,rk3188-mux-con";
671 rockchip,bits = <4 1>;
672 clocks = <&clk_dpll>, <&clk_gpll>;
673 clock-output-names = "clk_ddr";
681 usbphy_480m: usbphy_480m_mux {
682 compatible = "rockchip,rk3188-mux-con";
683 rockchip,bits = <8 1>;
684 clocks = <&xin24m>, <&usbotg_480m_out>;
685 clock-output-names = "usbphy_480m";
687 rockchip,clkops-idx =
688 <CLKOPS_RATE_RK3288_USB480M>;
689 #clock-init-cells = <1>;
692 clk4x_ddr: clk4x_ddr_mux {
693 compatible = "rockchip,rk3188-mux-con";
694 rockchip,bits = <4 1>;
695 clocks = <&clk_dpll>, <&clk_gpll>;
696 clock-output-names = "clk4x_ddr";
701 clk_sel_con14: sel-con@0138 {
702 compatible = "rockchip,rk3188-selcon";
704 #address-cells = <1>;
707 clk_gpu_core_div: clk_gpu_core_div {
708 compatible = "rockchip,rk3188-div-con";
709 rockchip,bits = <0 5>;
710 clocks = <&clk_gpu_core>;
711 clock-output-names = "clk_gpu_core";
712 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
714 rockchip,clkops-idx = <CLKOPS_RATE_RK3368_MUX_DIV_NPLL>;
715 rockchip,flags = <CLK_SET_RATE_PARENT_IN_ORDER>;
720 clk_gpu_core: clk_gpu_core_mux {
721 compatible = "rockchip,rk3188-mux-con";
722 rockchip,bits = <6 2>;
723 clocks = <&clk_cpll>, <&clk_gpll>, <&usbphy_480m>, <&clk_npll>;
724 clock-output-names = "clk_gpu_core";
726 #clock-init-cells = <1>;
729 aclk_gpu_mem: aclk_gpu_mem_div {
730 compatible = "rockchip,rk3188-div-con";
731 rockchip,bits = <8 5>;
732 clocks = <&aclk_gpu>;
733 clock-output-names = "aclk_gpu_mem";
734 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
740 aclk_gpu: aclk_gpu_mux {
741 compatible = "rockchip,rk3188-mux-con";
742 rockchip,bits = <14 1>;
743 clocks = <&clk_cpll>, <&clk_gpll>;
744 clock-output-names = "aclk_gpu";
746 #clock-init-cells = <1>;
750 clk_sel_con15: sel-con@013c {
751 compatible = "rockchip,rk3188-selcon";
753 #address-cells = <1>;
756 aclk_vepu_div: aclk_vepu_div {
757 compatible = "rockchip,rk3188-div-con";
758 rockchip,bits = <0 5>;
759 clocks = <&aclk_vepu>;
760 clock-output-names = "aclk_vepu";
761 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
763 rockchip,clkops-idx = <CLKOPS_RATE_RK3368_MUX_DIV_NPLL>;
768 aclk_vepu: aclk_vepu_mux {
769 compatible = "rockchip,rk3188-mux-con";
770 rockchip,bits = <6 2>;
771 clocks = <&clk_cpll>, <&clk_gpll>, <&clk_npll>, <&usbphy_480m>;
772 clock-output-names = "aclk_vepu";
774 #clock-init-cells = <1>;
777 aclk_vdpu_div: aclk_vdpu_div {
778 compatible = "rockchip,rk3188-div-con";
779 rockchip,bits = <8 5>;
780 clocks = <&aclk_vdpu>;
781 clock-output-names = "aclk_vdpu";
782 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
784 rockchip,clkops-idx = <CLKOPS_RATE_RK3368_MUX_DIV_NPLL>;
789 aclk_vdpu: aclk_vdpu_mux {
790 compatible = "rockchip,rk3188-mux-con";
791 rockchip,bits = <14 2>;
792 clocks = <&clk_cpll>, <&clk_gpll>, <&clk_npll>, <&usbphy_480m>;
793 clock-output-names = "aclk_vdpu";
795 #clock-init-cells = <1>;
799 clk_sel_con16: sel-con@0140 {
800 compatible = "rockchip,rk3188-selcon";
802 #address-cells = <1>;
805 aclk_gpu_cfg: aclk_gpu_cfg_div {
806 compatible = "rockchip,rk3188-div-con";
807 rockchip,bits = <8 5>;
808 clocks = <&aclk_gpu>;
809 clock-output-names = "aclk_gpu_cfg";
810 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
815 clk_sel_con17: sel-con@0144 {
816 compatible = "rockchip,rk3188-selcon";
818 #address-cells = <1>;
821 clk_hevc_cabac_div: clk_hevc_cabac_div {
822 compatible = "rockchip,rk3188-div-con";
823 rockchip,bits = <0 5>;
824 clocks = <&clk_hevc_cabac>;
825 clock-output-names = "clk_hevc_cabac";
826 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
828 rockchip,clkops-idx = <CLKOPS_RATE_RK3368_MUX_DIV_NPLL>;
833 clk_hevc_cabac: clk_hevc_cabac_mux {
834 compatible = "rockchip,rk3188-mux-con";
835 rockchip,bits = <6 2>;
836 clocks = <&clk_cpll>, <&clk_gpll>, <&clk_npll>, <&usbphy_480m>;
837 clock-output-names = "clk_hevc_cabac";
839 #clock-init-cells = <1>;
842 clk_hevc_core_div: clk_hevc_core_div {
843 compatible = "rockchip,rk3188-div-con";
844 rockchip,bits = <8 5>;
845 clocks = <&clk_hevc_core>;
846 clock-output-names = "clk_hevc_core";
847 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
849 rockchip,clkops-idx = <CLKOPS_RATE_RK3368_MUX_DIV_NPLL>;
854 clk_hevc_core: clk_hevc_core_mux {
855 compatible = "rockchip,rk3188-mux-con";
856 rockchip,bits = <14 2>;
857 clocks = <&clk_cpll>, <&clk_gpll>, <&clk_npll>, <&usbphy_480m>;
858 clock-output-names = "clk_hevc_core";
860 #clock-init-cells = <1>;
864 clk_sel_con18: sel-con@0148 {
865 compatible = "rockchip,rk3188-selcon";
867 #address-cells = <1>;
870 clk_rga_div: clk_rga_div {
871 compatible = "rockchip,rk3188-div-con";
872 rockchip,bits = <0 5>;
874 clock-output-names = "clk_rga";
875 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
877 rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>;
882 clk_rga: clk_rga_mux {
883 compatible = "rockchip,rk3188-mux-con";
884 rockchip,bits = <6 2>;
885 clocks = <&clk_cpll>, <&clk_gpll>, <&usbphy_480m>, <&usbphy_480m>;
886 clock-output-names = "clk_rga";
888 #clock-init-cells = <1>;
891 aclk_rga_div: aclk_rga_div {
892 compatible = "rockchip,rk3188-div-con";
893 rockchip,bits = <8 5>;
894 clocks = <&aclk_rga_pre>;
895 clock-output-names = "aclk_rga_pre";
896 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
898 rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>;
903 aclk_rga_pre: aclk_rga_mux {
904 compatible = "rockchip,rk3188-mux-con";
905 rockchip,bits = <14 2>;
906 clocks = <&clk_cpll>, <&clk_gpll>, <&usbphy_480m>, <&usbphy_480m>;
907 clock-output-names = "aclk_rga_pre";
909 #clock-init-cells = <1>;
913 clk_sel_con19: sel-con@014c {
914 compatible = "rockchip,rk3188-selcon";
916 #address-cells = <1>;
919 aclk_vio0_div: aclk_vio0_div {
920 compatible = "rockchip,rk3188-div-con";
921 rockchip,bits = <0 5>;
922 clocks = <&aclk_vio0>;
923 clock-output-names = "aclk_vio0";
924 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
926 rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>;
931 aclk_vio0: aclk_vio0_mux {
932 compatible = "rockchip,rk3188-mux-con";
933 rockchip,bits = <6 2>;
934 clocks = <&clk_cpll>, <&clk_gpll>, <&usbphy_480m>, <&usbphy_480m>;
935 clock-output-names = "aclk_vio0";
937 #clock-init-cells = <1>;
941 clk_sel_con20: sel-con@0150 {
942 compatible = "rockchip,rk3188-selcon";
944 #address-cells = <1>;
947 dclk_vop0_div: dclk_vop0_div {
948 compatible = "rockchip,rk3188-div-con";
949 rockchip,bits = <0 8>;
950 clocks = <&dclk_vop0>;
951 clock-output-names = "dclk_vop0";
952 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
954 rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>;
955 rockchip,flags = <CLK_SET_RATE_NO_REPARENT>;
958 dclk_vop0: dclk_vop0_mux {
959 compatible = "rockchip,rk3188-mux-con";
960 rockchip,bits = <8 2>;
961 clocks = <&clk_cpll>, <&clk_gpll>, <&clk_npll>, <&dummy>;
962 clock-output-names = "dclk_vop0";
964 #clock-init-cells = <1>;
970 clk_sel_con21: sel-con@0154 {
971 compatible = "rockchip,rk3188-selcon";
973 #address-cells = <1>;
976 hclk_vio: hclk_vio_div {
977 compatible = "rockchip,rk3188-div-con";
978 rockchip,bits = <0 5>;
979 clocks = <&aclk_vio0>;
980 clock-output-names = "hclk_vio";
981 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
983 #clock-init-cells = <1>;
988 pclk_isp: pclk_isp_mux {
989 compatible = "rockchip,rk3188-mux-con";
990 rockchip,bits = <6 1>;
991 clocks = <&clk_gates17 2>, <&pclkin_isp_inv>;
992 clock-output-names = "pclk_isp";
998 clk_vip_div: clk_vip_div {
999 compatible = "rockchip,rk3188-div-con";
1000 rockchip,bits = <8 5>;
1001 clocks = <&clk_vip>;
1002 clock-output-names = "clk_vip";
1003 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1005 rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>;
1008 pclk_vip: pclk_vip_mux {
1009 compatible = "rockchip,rk3188-mux-con";
1010 rockchip,bits = <13 1>;
1011 clocks = <&clk_gates16 13>, <&pclkin_vip_inv>;
1012 clock-output-names = "pclk_vip";
1016 clk_vip: clk_vip_mux {
1017 compatible = "rockchip,rk3188-mux-con";
1018 rockchip,bits = <14 2>;
1019 clocks = <&clk_cpll>, <&xin24m>, <&clk_gpll>, <&xin24m>;
1020 clock-output-names = "clk_vip";
1022 #clock-init-cells = <1>;
1026 clk_sel_con22: sel-con@0158 {
1027 compatible = "rockchip,rk3188-selcon";
1029 #address-cells = <1>;
1032 clk_isp_div: clk_isp_div {
1033 compatible = "rockchip,rk3188-div-con";
1034 rockchip,bits = <0 6>;
1035 clocks = <&clk_isp>;
1036 clock-output-names = "clk_isp";
1037 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1039 rockchip,clkops-idx = <CLKOPS_RATE_RK3368_MUX_DIV_NPLL>;
1042 clk_isp: clk_isp_mux {
1043 compatible = "rockchip,rk3188-mux-con";
1044 rockchip,bits = <6 2>;
1045 clocks = <&clk_cpll>, <&clk_gpll>, <&clk_npll>, <&clk_npll>;
1046 clock-output-names = "clk_isp";
1048 #clock-init-cells = <1>;
1052 clk_sel_con23: sel-con@015c {
1053 compatible = "rockchip,rk3188-selcon";
1055 #address-cells = <1>;
1058 clk_edp_div: clk_edp_div {
1059 compatible = "rockchip,rk3188-div-con";
1060 rockchip,bits = <0 6>;
1061 clocks = <&clk_edp>;
1062 clock-output-names = "clk_edp";
1063 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1065 rockchip,clkops-idx = <CLKOPS_RATE_RK3368_MUX_DIV_NPLL>;
1068 clk_edp: clk_edp_mux {
1069 compatible = "rockchip,rk3188-mux-con";
1070 rockchip,bits = <6 2>;
1071 clocks = <&clk_cpll>, <&clk_gpll>, <&clk_npll>, <&clk_npll>;
1072 clock-output-names = "clk_edp";
1076 clk_edp_24m: clk_edp_24m_mux {
1077 compatible = "rockchip,rk3188-mux-con";
1078 rockchip,bits = <8 1>;
1079 clocks = <&xin24m>, <&dummy>;
1080 clock-output-names = "clk_edp_24m";
1085 /* sel[24]: reserved */
1087 clk_sel_con25: sel-con@0164 {
1088 compatible = "rockchip,rk3188-selcon";
1090 #address-cells = <1>;
1093 clk_tsadc: clk_tsadc_div {
1094 compatible = "rockchip,rk3188-div-con";
1095 rockchip,bits = <0 6>;
1096 clocks = <&clk_32k_mux>;
1097 clock-output-names = "clk_tsadc";
1098 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1102 clk_saradc: clk_saradc_div {
1103 compatible = "rockchip,rk3188-div-con";
1104 rockchip,bits = <8 8>;
1106 clock-output-names = "clk_saradc";
1107 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1112 clk_sel_con26: sel-con@0168 {
1113 compatible = "rockchip,rk3188-selcon";
1115 #address-cells = <1>;
1120 hsic_usb_480m: hsic_usb_480m_mux {
1121 compatible = "rockchip,rk3188-mux-con";
1122 rockchip,bits = <8 1>;
1123 clocks = <&usbotg_480m_out>, <&dummy>;
1124 clock-output-names = "hsic_usb_480m";
1130 hsicphy_480m: hsicphy_480m_mux {
1131 compatible = "rockchip,rk3188-mux-con";
1132 rockchip,bits = <12 2>;
1133 clocks = <&clk_cpll>, <&clk_gpll>, <&hsic_usb_480m>, <&hsic_usb_480m>;
1134 clock-output-names = "hsicphy_480m";
1139 clk_sel_con27: sel-con@016c {
1140 compatible = "rockchip,rk3188-selcon";
1142 #address-cells = <1>;
1145 i2s_pll_div: i2s_pll_div {
1146 compatible = "rockchip,rk3188-div-con";
1147 rockchip,bits = <0 7>;
1148 clocks = <&i2s_pll>;
1149 clock-output-names = "i2s_pll";
1150 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1152 rockchip,clkops-idx =
1153 <CLKOPS_RATE_MUX_DIV>;
1154 rockchip,flags = <CLK_SET_RATE_NO_REPARENT>;
1159 clk_i2s: clk_i2s_mux {
1160 compatible = "rockchip,rk3188-mux-con";
1161 rockchip,bits = <8 2>;
1162 clocks = <&i2s_pll>, <&i2s_frac>, <&i2s_clkin>, <&xin12m>;
1163 clock-output-names = "clk_i2s";
1165 rockchip,clkops-idx =
1166 <CLKOPS_RATE_RK3288_I2S>;
1167 rockchip,flags = <CLK_SET_RATE_PARENT>;
1170 /* 11:10 reserved */
1172 i2s_pll: i2s_pll_mux {
1173 compatible = "rockchip,rk3188-mux-con";
1174 rockchip,bits = <12 1>;
1175 clocks = <&clk_cpll>, <&clk_gpll>;
1176 clock-output-names = "i2s_pll";
1180 /* 14:13 reserved */
1182 i2s_out: i2s_out_mux {
1183 compatible = "rockchip,rk3188-mux-con";
1184 rockchip,bits = <15 1>;
1185 clocks = <&clk_i2s>, <&xin12m>;
1186 clock-output-names = "i2s_out";
1191 clk_sel_con28: sel-con@0170 {
1192 compatible = "rockchip,rk3188-selcon";
1194 #address-cells = <1>;
1197 i2s_frac: i2s_frac {
1198 compatible = "rockchip,rk3188-frac-con";
1199 clocks = <&i2s_pll>;
1200 clock-output-names = "i2s_frac";
1201 /* numerator denominator */
1202 rockchip,bits = <0 32>;
1203 rockchip,clkops-idx =
1209 /* sel[30:29] reserved */
1211 clk_sel_con31: sel-con@017c {
1212 compatible = "rockchip,rk3188-selcon";
1214 #address-cells = <1>;
1218 spdif_8ch_pll_div: spdif_8ch_pll_div {
1219 compatible = "rockchip,rk3188-div-con";
1220 rockchip,bits = <0 7>;
1221 clocks = <&spdif_8ch_pll>;
1222 clock-output-names = "spdif_8ch_pll";
1223 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1225 rockchip,clkops-idx =
1226 <CLKOPS_RATE_MUX_DIV>;
1227 rockchip,flags = <CLK_SET_RATE_NO_REPARENT>;
1232 clk_spidf_8ch: clk_spidf_8ch_mux {
1233 compatible = "rockchip,rk3188-mux-con";
1234 rockchip,bits = <8 2>;
1235 clocks = <&spdif_8ch_pll>, <&spdif_8ch_frac>, <&i2s_clkin>, <&xin12m>;
1236 clock-output-names = "clk_spidf_8ch";
1238 rockchip,clkops-idx =
1239 <CLKOPS_RATE_RK3288_I2S>;
1240 rockchip,flags = <CLK_SET_RATE_PARENT>;
1243 /* 11:10 reserved */
1245 spdif_8ch_pll: spdif_8ch_pll_mux {
1246 compatible = "rockchip,rk3188-mux-con";
1247 rockchip,bits = <12 1>;
1248 clocks = <&clk_cpll>, <&clk_gpll>;
1249 clock-output-names = "spdif_8ch_pll";
1253 /* 15:13 reserved */
1256 clk_sel_con32: sel-con@0180 {
1257 compatible = "rockchip,rk3188-selcon";
1259 #address-cells = <1>;
1262 spdif_8ch_frac: spdif_8ch_frac {
1263 compatible = "rockchip,rk3188-frac-con";
1264 clocks = <&spdif_8ch_pll>;
1265 clock-output-names = "spdif_8ch_frac";
1266 /* numerator denominator */
1267 rockchip,bits = <0 32>;
1268 rockchip,clkops-idx =
1274 clk_sel_con33: sel-con@0184 {
1275 compatible = "rockchip,rk3188-selcon";
1277 #address-cells = <1>;
1280 clk_uart0_pll_div: clk_uart0_pll_div {
1281 compatible = "rockchip,rk3188-div-con";
1282 rockchip,bits = <0 7>;
1283 clocks = <&clk_uart0_pll>;
1284 clock-output-names = "clk_uart0_pll";
1285 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1287 rockchip,clkops-idx =
1288 <CLKOPS_RATE_MUX_DIV>;
1293 clk_uart0: clk_uart0_mux {
1294 compatible = "rockchip,rk3188-mux-con";
1295 rockchip,bits = <8 2>;
1296 clocks = <&clk_uart0_pll>, <&uart0_frac>, <&xin24m>, <&xin24m>;
1297 clock-output-names = "clk_uart0";
1299 rockchip,clkops-idx =
1300 <CLKOPS_RATE_RK3288_I2S>;
1301 rockchip,flags = <CLK_SET_RATE_PARENT>;
1304 /* 11:10 reserved */
1306 clk_uart0_pll: clk_uart0_pll_mux {
1307 compatible = "rockchip,rk3188-mux-con";
1308 rockchip,bits = <12 2>;
1309 clocks = <&clk_cpll>, <&clk_gpll>, <&usbphy_480m>, <&usbphy_480m>;
1310 clock-output-names = "clk_uart0_pll";
1315 clk_sel_con34: sel-con@0188 {
1316 compatible = "rockchip,rk3188-selcon";
1318 #address-cells = <1>;
1321 uart0_frac: uart0_frac {
1322 compatible = "rockchip,rk3188-frac-con";
1323 clocks = <&clk_uart0_pll>;
1324 clock-output-names = "uart0_frac";
1325 /* numerator denominator */
1326 rockchip,bits = <0 32>;
1327 rockchip,clkops-idx =
1333 clk_sel_con35: sel-con@018c {
1334 compatible = "rockchip,rk3188-selcon";
1336 #address-cells = <1>;
1339 uart1_div: uart1_div {
1340 compatible = "rockchip,rk3188-div-con";
1341 rockchip,bits = <0 7>;
1342 clocks = <&clk_uart_pll>;
1343 clock-output-names = "uart1_div";
1344 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1350 clk_uart1: clk_uart1_mux {
1351 compatible = "rockchip,rk3188-mux-con";
1352 rockchip,bits = <8 2>;
1353 clocks = <&uart1_div>, <&uart1_frac>, <&xin24m>, <&xin24m>;
1354 clock-output-names = "clk_uart1";
1356 rockchip,clkops-idx =
1357 <CLKOPS_RATE_RK3288_I2S>;
1358 rockchip,flags = <CLK_SET_RATE_PARENT>;
1361 /* 11:10 reserved */
1363 clk_uart_pll: clk_uart_pll_mux {
1364 compatible = "rockchip,rk3188-mux-con";
1365 rockchip,bits = <12 1>;
1366 clocks = <&clk_cpll>, <&clk_gpll>;
1367 clock-output-names = "clk_uart_pll";
1371 /* 14:13 reserved */
1374 clk_sel_con36: sel-con@0190 {
1375 compatible = "rockchip,rk3188-selcon";
1377 #address-cells = <1>;
1380 uart1_frac: uart1_frac {
1381 compatible = "rockchip,rk3188-frac-con";
1382 clocks = <&uart1_div>;
1383 clock-output-names = "uart1_frac";
1384 /* numerator denominator */
1385 rockchip,bits = <0 32>;
1386 rockchip,clkops-idx =
1392 clk_sel_con37: sel-con@0194 {
1393 compatible = "rockchip,rk3188-selcon";
1395 #address-cells = <1>;
1398 uart2_div: uart2_div {
1399 compatible = "rockchip,rk3188-div-con";
1400 rockchip,bits = <0 7>;
1401 clocks = <&clk_uart_pll>;
1402 clock-output-names = "uart2_div";
1403 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1409 clk_uart2: clk_uart2_mux {
1410 compatible = "rockchip,rk3188-mux-con";
1411 rockchip,bits = <8 1>;
1412 clocks = <&uart2_div>, <&xin24m>;
1413 clock-output-names = "clk_uart2";
1415 rockchip,flags = <CLK_SET_RATE_PARENT>;
1419 /* sel[38] reserved */
1421 clk_sel_con39: sel-con@019c {
1422 compatible = "rockchip,rk3188-selcon";
1424 #address-cells = <1>;
1427 uart3_div: uart3_div {
1428 compatible = "rockchip,rk3188-div-con";
1429 rockchip,bits = <0 7>;
1430 clocks = <&clk_uart_pll>;
1431 clock-output-names = "uart3_div";
1432 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1438 clk_uart3: clk_uart3_mux {
1439 compatible = "rockchip,rk3188-mux-con";
1440 rockchip,bits = <8 2>;
1441 clocks = <&uart3_div>, <&uart3_frac>, <&xin24m>, <&xin24m>;
1442 clock-output-names = "clk_uart3";
1444 rockchip,clkops-idx =
1445 <CLKOPS_RATE_RK3288_I2S>;
1446 rockchip,flags = <CLK_SET_RATE_PARENT>;
1450 clk_sel_con40: sel-con@01a0 {
1451 compatible = "rockchip,rk3188-selcon";
1453 #address-cells = <1>;
1456 uart3_frac: uart3_frac {
1457 compatible = "rockchip,rk3188-frac-con";
1458 clocks = <&uart3_div>;
1459 clock-output-names = "uart3_frac";
1460 /* numerator denominator */
1461 rockchip,bits = <0 32>;
1462 rockchip,clkops-idx =
1468 clk_sel_con41: sel-con@01a4 {
1469 compatible = "rockchip,rk3188-selcon";
1471 #address-cells = <1>;
1474 uart4_div: uart4_div {
1475 compatible = "rockchip,rk3188-div-con";
1476 rockchip,bits = <0 7>;
1477 clocks = <&clk_uart_pll>;
1478 clock-output-names = "uart4_div";
1479 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1485 clk_uart4: clk_uart4_mux {
1486 compatible = "rockchip,rk3188-mux-con";
1487 rockchip,bits = <8 2>;
1488 clocks = <&uart4_div>, <&uart4_frac>, <&xin24m>, <&xin24m>;
1489 clock-output-names = "clk_uart4";
1491 rockchip,clkops-idx =
1492 <CLKOPS_RATE_RK3288_I2S>;
1493 rockchip,flags = <CLK_SET_RATE_PARENT>;
1497 clk_sel_con42: sel-con@01a8 {
1498 compatible = "rockchip,rk3188-selcon";
1500 #address-cells = <1>;
1503 uart4_frac: uart4_frac {
1504 compatible = "rockchip,rk3188-frac-con";
1505 clocks = <&uart4_div>;
1506 clock-output-names = "uart4_frac";
1507 /* numerator denominator */
1508 rockchip,bits = <0 32>;
1509 rockchip,clkops-idx =
1515 clk_sel_con43: sel-con@01ac {
1516 compatible = "rockchip,rk3188-selcon";
1518 #address-cells = <1>;
1521 clk_mac_pll_div: clk_mac_pll_div {
1522 compatible = "rockchip,rk3188-div-con";
1523 rockchip,bits = <0 5>;
1524 clocks = <&clk_mac_pll>;
1525 clock-output-names = "clk_mac_pll";
1526 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1528 rockchip,clkops-idx = <CLKOPS_RATE_RK3368_MUX_DIV_NPLL>;
1533 clk_mac_pll: clk_mac_pll_mux {
1534 compatible = "rockchip,rk3188-mux-con";
1535 rockchip,bits = <6 2>;
1536 clocks = <&clk_npll>, <&clk_cpll>, <&clk_gpll>, <&clk_gpll>;
1537 clock-output-names = "clk_mac_pll";
1541 clk_mac: clk_mac_mux {
1542 compatible = "rockchip,rk3188-mux-con";
1543 rockchip,bits = <8 1>;
1544 clocks = <&clk_mac_pll>, <&gmac_clkin>;
1545 clock-output-names = "clk_mac";
1547 rockchip,flags = <CLK_SET_RATE_PARENT>;
1552 /* 12: test_clk: wifi_pll_sel */
1554 /* 15:13 reserved */
1557 clk_sel_con44: sel-con@01b0 {
1558 compatible = "rockchip,rk3188-selcon";
1560 #address-cells = <1>;
1563 /* test_clk: wifi_frac */
1566 clk_sel_con45: sel-con@01b4 {
1567 compatible = "rockchip,rk3188-selcon";
1569 #address-cells = <1>;
1572 clk_spi0_div: clk_spi0_div {
1573 compatible = "rockchip,rk3188-div-con";
1574 rockchip,bits = <0 7>;
1575 clocks = <&clk_spi0>;
1576 clock-output-names = "clk_spi0";
1577 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1579 rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>;
1582 clk_spi0: clk_spi0_mux {
1583 compatible = "rockchip,rk3188-mux-con";
1584 rockchip,bits = <7 1>;
1585 clocks = <&clk_cpll>, <&clk_gpll>;
1586 clock-output-names = "clk_spi0";
1590 clk_spi1_div: clk_spi1_div {
1591 compatible = "rockchip,rk3188-div-con";
1592 rockchip,bits = <8 7>;
1593 clocks = <&clk_spi1>;
1594 clock-output-names = "clk_spi1";
1595 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1597 rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>;
1600 clk_spi1: clk_spi1_mux {
1601 compatible = "rockchip,rk3188-mux-con";
1602 rockchip,bits = <15 1>;
1603 clocks = <&clk_cpll>, <&clk_gpll>;
1604 clock-output-names = "clk_spi1";
1609 clk_sel_con46: sel-con@01b8 {
1610 compatible = "rockchip,rk3188-selcon";
1612 #address-cells = <1>;
1615 clk_tsp_div: clk_tsp_div {
1616 compatible = "rockchip,rk3188-div-con";
1617 rockchip,bits = <0 5>;
1618 clocks = <&clk_tsp>;
1619 clock-output-names = "clk_tsp";
1620 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1622 rockchip,clkops-idx = <CLKOPS_RATE_RK3368_MUX_DIV_NPLL>;
1627 clk_tsp: clk_tsp_mux {
1628 compatible = "rockchip,rk3188-mux-con";
1629 rockchip,bits = <6 2>;
1630 clocks = <&clk_cpll>, <&clk_gpll>, <&clk_npll>, <&clk_npll>;
1631 clock-output-names = "clk_tsp";
1635 clk_spi2_div: clk_spi2_div {
1636 compatible = "rockchip,rk3188-div-con";
1637 rockchip,bits = <8 7>;
1638 clocks = <&clk_spi2>;
1639 clock-output-names = "clk_spi2";
1640 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1642 rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>;
1645 clk_spi2: clk_spi2_mux {
1646 compatible = "rockchip,rk3188-mux-con";
1647 rockchip,bits = <15 1>;
1648 clocks = <&clk_cpll>, <&clk_gpll>;
1649 clock-output-names = "clk_spi2";
1654 clk_sel_con47: sel-con@01bc {
1655 compatible = "rockchip,rk3188-selcon";
1657 #address-cells = <1>;
1660 clk_nandc0_div: clk_nandc0_div {
1661 compatible = "rockchip,rk3188-div-con";
1662 rockchip,bits = <0 5>;
1663 clocks = <&clk_nandc0>;
1664 clock-output-names = "clk_nandc0";
1665 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1667 rockchip,clkops-idx = <CLKOPS_RATE_MUX_EVENDIV>;
1672 clk_nandc0: clk_nandc0_mux {
1673 compatible = "rockchip,rk3188-mux-con";
1674 rockchip,bits = <7 1>;
1675 clocks = <&clk_cpll>, <&clk_gpll>;
1676 clock-output-names = "clk_nandc0";
1682 /* 15:13 reserved */
1685 clk_sel_con48: sel-con@01c0 {
1686 compatible = "rockchip,rk3188-selcon";
1688 #address-cells = <1>;
1691 clk_sdio0_div: clk_sdio0_div {
1692 compatible = "rockchip,rk3188-div-con";
1693 rockchip,bits = <0 7>;
1694 clocks = <&clk_sdio0>;
1695 clock-output-names = "clk_sdio0";
1696 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1698 rockchip,clkops-idx = <CLKOPS_RATE_MUX_EVENDIV>;
1703 clk_sdio0: clk_sdio0_mux {
1704 compatible = "rockchip,rk3188-mux-con";
1705 rockchip,bits = <8 2>;
1706 clocks = <&clk_cpll>, <&clk_gpll>, <&usbphy_480m>, <&xin24m>;
1707 clock-output-names = "clk_sdio0";
1711 /* 15:10 reserved */
1714 /* sel[49] reserved */
1716 clk_sel_con50: sel-con@01c8 {
1717 compatible = "rockchip,rk3188-selcon";
1719 #address-cells = <1>;
1722 clk_sdmmc0_div: clk_sdmmc0_div {
1723 compatible = "rockchip,rk3188-div-con";
1724 rockchip,bits = <0 7>;
1725 clocks = <&clk_sdmmc0>;
1726 clock-output-names = "clk_sdmmc0";
1727 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1729 rockchip,clkops-idx = <CLKOPS_RATE_MUX_EVENDIV>;
1734 clk_sdmmc0: clk_sdmmc0_mux {
1735 compatible = "rockchip,rk3188-mux-con";
1736 rockchip,bits = <8 2>;
1737 clocks = <&clk_cpll>, <&clk_gpll>, <&usbphy_480m>, <&xin24m>;
1738 clock-output-names = "clk_sdmmc0";
1742 /* 15:10 reserved */
1745 clk_sel_con51: sel-con@01cc {
1746 compatible = "rockchip,rk3188-selcon";
1748 #address-cells = <1>;
1751 clk_emmc_div: clk_emmc_div {
1752 compatible = "rockchip,rk3188-div-con";
1753 rockchip,bits = <0 7>;
1754 clocks = <&clk_emmc>;
1755 clock-output-names = "clk_emmc";
1756 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1758 rockchip,clkops-idx = <CLKOPS_RATE_MUX_EVENDIV>;
1763 clk_emmc: clk_emmc_mux {
1764 compatible = "rockchip,rk3188-mux-con";
1765 rockchip,bits = <8 2>;
1766 clocks = <&clk_cpll>, <&clk_gpll>, <&usbphy_480m>, <&xin24m>;
1767 clock-output-names = "clk_emmc";
1771 /* 15:10 reserved */
1774 clk_sel_con52: sel-con@01d0 {
1775 compatible = "rockchip,rk3188-selcon";
1777 #address-cells = <1>;
1780 clk_sfc_div: clk_sfc_div {
1781 compatible = "rockchip,rk3188-div-con";
1782 rockchip,bits = <0 5>;
1783 clocks = <&clk_sfc>;
1784 clock-output-names = "clk_sfc";
1785 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1787 rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>;
1792 clk_sfc: clk_sfc_mux {
1793 compatible = "rockchip,rk3188-mux-con";
1794 rockchip,bits = <7 1>;
1795 clocks = <&clk_cpll>, <&clk_gpll>;
1796 clock-output-names = "clk_sfc";
1803 clk_sel_con53: sel-con@01d4 {
1804 compatible = "rockchip,rk3188-selcon";
1806 #address-cells = <1>;
1809 i2s_2ch_pll_div: i2s_2ch_pll_div {
1810 compatible = "rockchip,rk3188-div-con";
1811 rockchip,bits = <0 7>;
1812 clocks = <&i2s_2ch_pll>;
1813 clock-output-names = "i2s_2ch_pll";
1814 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1816 rockchip,clkops-idx = <CLKOPS_RATE_MUX_DIV>;
1821 clk_i2s_2ch: clk_i2s_2ch_mux {
1822 compatible = "rockchip,rk3188-mux-con";
1823 rockchip,bits = <8 2>;
1824 clocks = <&i2s_2ch_pll>, <&i2s_2ch_frac>, <&dummy>, <&xin12m>;
1825 clock-output-names = "clk_i2s_2ch";
1827 rockchip,clkops-idx =
1828 <CLKOPS_RATE_RK3288_I2S>;
1829 rockchip,flags = <CLK_SET_RATE_PARENT>;
1832 /* 11:10 reserved */
1834 i2s_2ch_pll: i2s_2ch_pll_mux {
1835 compatible = "rockchip,rk3188-mux-con";
1836 rockchip,bits = <12 1>;
1837 clocks = <&clk_cpll>, <&clk_gpll>;
1838 clock-output-names = "i2s_2ch_pll";
1844 clk_sel_con54: sel-con@01d8 {
1845 compatible = "rockchip,rk3188-selcon";
1847 #address-cells = <1>;
1850 i2s_2ch_frac: i2s_2ch_frac {
1851 compatible = "rockchip,rk3188-frac-con";
1852 clocks = <&i2s_2ch_pll>;
1853 clock-output-names = "i2s_2ch_frac";
1854 /* numerator denominator */
1855 rockchip,bits = <0 32>;
1856 rockchip,clkops-idx =
1862 clk_sel_con55: sel-con@01dc {
1863 compatible = "rockchip,rk3188-selcon";
1865 #address-cells = <1>;
1868 clk_hdcp_div: clk_hdcp_div {
1869 compatible = "rockchip,rk3188-div-con";
1870 rockchip,bits = <0 6>;
1871 clocks = <&clk_hdcp>;
1872 clock-output-names = "clk_hdcp";
1873 rockchip,div-type = <CLK_DIVIDER_PLUS_ONE>;
1875 rockchip,clkops-idx = <CLKOPS_RATE_RK3368_MUX_DIV_NPLL>;
1878 clk_hdcp: clk_hdcp_mux {
1879 compatible = "rockchip,rk3188-mux-con";
1880 rockchip,bits = <6 2>;
1881 clocks = <&clk_cpll>, <&clk_gpll>, <&clk_npll>, <&clk_npll>;
1882 clock-output-names = "clk_hdcp";
1888 /* Gate control regs */
1890 compatible = "rockchip,rk-gate-cons";
1891 #address-cells = <1>;
1895 clk_gates0: gate-clk@0200 {
1896 compatible = "rockchip,rk3188-gate-clk";
1905 <&clk_gpll>, <&clk_apllb>,
1906 <&clk_aplll>, <&dummy>,
1908 <&aclk_cci>, <&clkin_trace>,
1911 clock-output-names =
1912 "reserved", "reserved",/* core_b_apll core_b_gpll */
1913 "reserved", "reserved",
1915 "reserved", "reserved",/* core_l_apll core_l_gpll */
1916 "reserved", "reserved",
1918 "g_clk_cs_gpll", "g_clk_cs_apllb",
1919 "g_clk_cs_aplll", "reserved",
1921 "aclk_cci", "clkin_trace",
1922 "reserved", "reserved";
1927 clk_gates1: gate-clk@0204 {
1928 compatible = "rockchip,rk3188-gate-clk";
1931 <&aclk_bus>, <&hclk_bus>,
1932 <&pclk_bus>, <&fclk_mcu>,
1938 <&clk_gpll>, <&clk_cpll>,
1943 clock-output-names =
1944 "aclk_bus", "hclk_bus",
1945 "pclk_bus", "fclk_mcu",
1947 "reserved", "reserved",
1948 "reserved", "reserved",
1950 "reserved", "reserved",/* ddr_dpll ddr_gpll */
1951 "aclk_bus_gpll", "aclk_bus_cpll",
1953 "reserved", "reserved",
1954 "reserved", "reserved";
1959 clk_gates2: gate-clk@0208 {
1960 compatible = "rockchip,rk3188-gate-clk";
1963 <&clk_uart0_pll>, <&uart0_frac>,
1964 <&uart1_div>, <&uart1_frac>,
1966 <&uart2_div>, <&dummy>,
1967 <&uart3_div>, <&uart3_frac>,
1969 <&uart4_div>, <&uart4_frac>,
1975 clock-output-names =
1976 "clk_uart0_pll", "uart0_frac",
1977 "uart1_div", "uart1_frac",
1979 "uart2_div", "reserved",
1980 "uart3_div", "uart3_frac",
1982 "uart4_div", "uart4_frac",
1983 "reserved", "reserved",
1985 "reserved", "reserved",
1986 "reserved", "reserved";
1991 clk_gates3: gate-clk@020c {
1992 compatible = "rockchip,rk3188-gate-clk";
1995 <&aclk_peri>, <&dummy>,
1996 <&hclk_peri>, <&pclk_peri>,
1998 <&clk_mac_pll>, <&clk_tsadc>,
1999 <&clk_saradc>, <&clk_spi0>,
2001 <&clk_spi1>, <&clk_spi2>,
2007 clock-output-names =
2008 "aclk_peri", "reserved", /* bit1: aclk_peri */
2009 "hclk_peri", "pclk_peri",
2011 "clk_mac_pll", "clk_tsadc",
2012 "clk_saradc", "clk_spi0",
2014 "clk_spi1", "clk_spi2",
2015 "reserved", "reserved",
2017 "reserved", "reserved",
2018 "reserved", "reserved";
2023 clk_gates4: gate-clk@0210 {
2024 compatible = "rockchip,rk3188-gate-clk";
2027 <&aclk_vio0>, <&dclk_vop0>,
2028 <&xin24m>, <&aclk_rga_pre>,
2030 <&clk_rga>, <&clk_vip>,
2031 <&aclk_vepu>, <&aclk_vdpu>,
2033 <&dummy>, <&clk_isp>,
2034 <&dummy>, <&clk_gpu_core>,
2036 <&xin32k>, <&xin24m>,
2037 <&xin24m>, <&dummy>;
2039 clock-output-names =
2040 "aclk_vio0", "dclk_vop0",
2041 "clk_vop0_pwm", "aclk_rga_pre",
2043 "clk_rga", "clk_vip",
2044 "aclk_vepu", "aclk_vdpu",
2046 "reserved", "clk_isp", /* bit8: hclk_vpu */
2047 "reserved", "clk_gpu_core",
2049 "clk_hdmi_cec", "clk_hdmi_hdcp",
2050 "clk_dsiphy_24m", "reserved";
2055 clk_gates5: gate-clk@0214 {
2056 compatible = "rockchip,rk3188-gate-clk";
2059 <&dummy>, <&clk_hevc_cabac>,
2060 <&clk_hevc_core>, <&clk_edp>,
2062 <&clk_edp_24m>, <&clk_hdcp>,
2065 <&aclk_gpu_mem>, <&aclk_gpu_cfg>,
2068 <&dummy>, <&i2s_pll>,
2069 <&i2s_2ch_frac>, <&clk_i2s_2ch>;
2071 clock-output-names =
2072 "reserved", "clk_hevc_cabac",
2073 "clk_hevc_core", "clk_edp",
2075 "clk_edp_24m", "clk_hdcp",
2076 "reserved", "reserved",
2078 "aclk_gpu_mem", "aclk_gpu_cfg",
2079 "reserved", "reserved",
2081 "reserved", "i2s_pll",
2082 "i2s_2ch_frac", "clk_i2s_2ch";
2087 clk_gates6: gate-clk@0218 {
2088 compatible = "rockchip,rk3188-gate-clk";
2091 <&i2s_out>, <&i2s_pll>,
2092 <&i2s_frac>, <&clk_i2s>,
2094 <&spdif_8ch_pll>, <&spdif_8ch_frac>,
2095 <&clk_spidf_8ch>, <&clk_sfc>,
2100 <&clk_tsp>, <&dummy>,
2103 clock-output-names =
2104 "i2s_out", "i2s_pll",
2105 "i2s_frac", "clk_i2s",
2107 "spdif_8ch_pll", "spdif_8ch_frac",
2108 "clk_spidf_8ch", "clk_sfc",
2110 "reserved", "reserved",
2111 "reserved", "reserved",
2113 "clk_tsp", "reserved",
2114 "reserved", "reserved";/* clk_ddrphy_gate clk4x_ddrphy_gate */
2119 clk_gates7: gate-clk@021c {
2120 compatible = "rockchip,rk3188-gate-clk";
2123 <&jtag_clkin>, <&dummy>,
2124 <&clk_crypto>, <&xin24m>,
2127 <&clk_mac>, <&clk_mac>,
2129 <&clk_nandc0>, <&pclk_pmu_pre>,
2130 <&xin24m>, <&xin24m>,
2135 clock-output-names =
2136 "clk_jtag", "reserved",/* bit1: test_clk */
2137 "clk_crypto", "clk_pvtm_pmu",
2139 "reserved", "reserved",/* clk_mac_rx clk_mac_tx */
2140 "clk_mac_ref", "clk_mac_refout",
2142 "clk_nandc0", "pclk_pmu_pre",
2143 "clk_pvtm_core", "clk_pvtm_gpu",
2145 "clk_sdmmc0", "clk_sdio0",
2146 "reserved", "clk_emmc";
2151 clk_gates8: gate-clk@0220 {
2152 compatible = "rockchip,rk3188-gate-clk";
2155 <&hsic_usb_480m>, <&xin24m>,
2158 <&clk_32k_mux>, <&dummy>,
2159 <&xin12m>, <&hsicphy_480m>,
2167 clock-output-names =
2168 "hsic_usb_480m", "clk_otgphy0",
2169 "reserved", "reserved",
2171 "g_clk_otg_adp", "reserved",/* bit4: clk_otg_adp */
2172 "hsicphy_12m", "hsicphy_480m",
2174 "reserved", "reserved",
2175 "reserved", "reserved",
2177 "reserved", "reserved",
2178 "reserved", "reserved";
2183 clk_gates9: gate-clk@0224 {
2184 compatible = "rockchip,rk3188-gate-clk";
2199 clock-output-names =
2200 "reserved", "reserved",
2201 "reserved", "reserved",
2203 "reserved", "reserved",
2204 "reserved", "reserved",
2206 "reserved", "reserved",
2207 "reserved", "reserved",
2209 "reserved", "reserved",
2210 "reserved", "reserved";
2215 clk_gates10: gate-clk@0228 {
2216 compatible = "rockchip,rk3188-gate-clk";
2231 clock-output-names =
2232 "reserved", "reserved",
2233 "reserved", "reserved",
2235 "reserved", "reserved",
2236 "reserved", "reserved",
2238 "reserved", "reserved",
2239 "reserved", "reserved",
2241 "reserved", "reserved",
2242 "reserved", "reserved";
2247 clk_gates11: gate-clk@022c {
2248 compatible = "rockchip,rk3188-gate-clk";
2263 clock-output-names =
2264 "reserved", "reserved",
2265 "reserved", "reserved",
2267 "reserved", "reserved",
2268 "reserved", "reserved",
2270 "reserved", "reserved",
2271 "reserved", "reserved",
2273 "reserved", "reserved",
2274 "reserved", "reserved";
2279 clk_gates12: gate-clk@0230 {
2280 compatible = "rockchip,rk3188-gate-clk";
2283 <&pclk_bus>, <&pclk_bus>,
2284 <&pclk_bus>, <&pclk_bus>,
2286 <&aclk_bus>, <&aclk_bus>,
2287 <&aclk_bus>, <&hclk_bus>,
2289 <&hclk_bus>, <&hclk_bus>,
2290 <&hclk_bus>, <&aclk_bus>,
2292 <&aclk_bus>, <&dummy>,
2295 clock-output-names =
2296 "g_pclk_pwm0", "g_p_mailbox",
2297 "g_p_i2cpmu", "g_p_i2caudio",
2299 "g_aclk_intmem", "g_clk_intmem0",
2300 "g_clk_intmem1", "g_h_i2s_8ch",
2302 "g_h_i2s_2ch", "g_hclk_rom",
2303 "g_hclk_spdif", "g_aclk_dmac",
2305 "g_a_strc_sys", "reserved",/* bit13: pclk_ddrupctl */
2306 "reserved", "reserved";/* bit14: pclk_ddrphy */
2311 clk_gates13: gate-clk@0234 {
2312 compatible = "rockchip,rk3188-gate-clk";
2315 <&pclk_bus>, <&pclk_bus>,
2316 <&dummy>, <&hclk_bus>,
2318 <&hclk_bus>, <&pclk_bus>,
2319 <&pclk_bus>, <&clkin_hsadc_tsp>,
2321 <&pclk_bus>, <&aclk_bus>,
2322 <&hclk_bus>, <&dummy>,
2327 clock-output-names =
2328 "g_p_efuse_1024", "g_p_efuse_256",
2329 "reserved", "g_mclk_crypto",/* bit2: nclk_ddrupctl */
2331 "g_sclk_crypto", "g_p_uartdbg",
2332 "g_pclk_pwm1", "clk_hsadc_tsp",
2334 "g_pclk_sim", "g_aclk_gic400",
2335 "g_hclk_tsp", "reserved",
2337 "reserved", "reserved",
2338 "reserved", "reserved";
2343 clk_gates14: gate-clk@0238 {
2344 compatible = "rockchip,rk3188-gate-clk";
2359 clock-output-names =
2360 "reserved", "reserved",
2361 "reserved", "reserved",
2363 "reserved", "reserved",
2364 "reserved", "reserved",
2366 "reserved", "reserved",
2367 "reserved", "reserved",
2369 "reserved", "reserved",
2370 "reserved", "reserved";
2375 clk_gates15: gate-clk@023c {
2376 compatible = "rockchip,rk3188-gate-clk";
2391 clock-output-names =
2392 "reserved", "reserved",/* aclk_video hclk_video */
2393 "reserved", "reserved",
2395 "reserved", "reserved",
2396 "reserved", "reserved",
2398 "reserved", "reserved",
2399 "reserved", "reserved",
2401 "reserved", "reserved",
2402 "reserved", "reserved";
2407 clk_gates16: gate-clk@0240 {
2408 compatible = "rockchip,rk3188-gate-clk";
2411 <&clk_gates16 10>, <&clk_gates16 8>,
2412 <&clk_gates16 9>, <&clk_gates16 8>,
2414 <&clk_gates16 9>, <&clk_gates16 9>,
2415 <&clk_gates16 8>, <&clk_gates16 8>,
2417 <&hclk_vio>, <&aclk_vio0>,
2418 <&aclk_rga_pre>, <&clk_gates16 9>,
2420 <&clk_gates16 8>, <&pclkin_vip>,
2421 <&clk_isp>, <&dummy>;
2423 clock-output-names =
2424 "g_aclk_rga", "g_hclk_rga",
2425 "g_aclk_iep", "g_hclk_iep",
2427 "g_aclk_vop_iep", "g_aclk_vop",
2428 "g_hclk_vop", "g_h_vio_ahb_arbi",
2430 "g_hclk_vio_noc", "g_aclk_vio0_noc",
2431 "g_aclk_vio1_noc", "g_aclk_vip",
2433 "g_hclk_vip", "g_pclkin_vip",
2434 "g_hclk_isp", "reserved";
2439 clk_gates17: gate-clk@0244 {
2440 compatible = "rockchip,rk3188-gate-clk";
2443 <&clk_isp>, <&dummy>,
2444 <&pclkin_isp>, <&pclk_vio>,
2446 <&pclk_vio>, <&dummy>,
2447 <&pclk_vio>, <&clk_gates16 8>,
2449 <&pclk_vio>, <&pclk_vio>,
2450 <&clk_gates16 10>, <&pclk_vio>,
2452 <&clk_gates16 8>, <&dummy>,
2455 clock-output-names =
2456 "g_aclk_isp", "reserved",
2457 "g_pclkin_isp", "g_p_mipi_dsi0",
2459 "g_p_mipi_csi", "reserved",
2460 "g_p_hdmi_ctrl", "g_hclk_vio_h2p",
2462 "g_pclk_vio_h2p", "g_p_edp_ctrl",
2463 "g_aclk_hdcp", "g_pclk_hdcp",
2465 "g_h_hdcpmmu", "reserved",
2466 "reserved", "reserved";
2471 clk_gates18: gate-clk@0248 {
2472 compatible = "rockchip,rk3188-gate-clk";
2487 clock-output-names =
2488 "reserved", "reserved",/* bit0-1: aclk_gpu_cfg aclk_gpu_mem */
2489 "reserved", "reserved",/* bit2: clk_gpu_core */
2491 "reserved", "reserved",
2492 "reserved", "reserved",
2494 "reserved", "reserved",
2495 "reserved", "reserved",
2497 "reserved", "reserved",
2498 "reserved", "reserved";
2503 clk_gates19: gate-clk@024c {
2504 compatible = "rockchip,rk3188-gate-clk";
2507 <&hclk_peri>, <&pclk_peri>,
2508 <&aclk_peri>, <&aclk_peri>,
2510 <&pclk_peri>, <&pclk_peri>,
2511 <&pclk_peri>, <&pclk_peri>,
2513 <&pclk_peri>, <&pclk_peri>,
2514 <&pclk_peri>, <&pclk_peri>,
2516 <&pclk_peri>, <&pclk_peri>,
2517 <&pclk_peri>, <&pclk_peri>;
2519 clock-output-names =
2520 "g_h_p_axi_matrix", "g_p_p_axi_matrix",
2521 "g_a_p_axi_matrix", "g_a_dmac_peri",
2523 "g_pclk_spi0", "g_pclk_spi1",
2524 "g_pclk_spi2", "g_pclk_uart0",
2526 "g_pclk_uart1", "g_pclk_uart3",
2527 "g_pclk_uart4", "g_pclk_i2c2",
2529 "g_pclk_i2c3", "g_pclk_i2c4",
2530 "g_pclk_i2c5", "g_pclk_saradc";
2535 clk_gates20: gate-clk@0250 {
2536 compatible = "rockchip,rk3188-gate-clk";
2539 <&pclk_peri>, <&hclk_peri>,
2540 <&hclk_peri>, <&hclk_peri>,
2542 <&dummy>, <&hclk_peri>,
2543 <&hclk_peri>, <&hclk_peri>,
2545 <&aclk_peri>, <&hclk_peri>,
2546 <&hclk_peri>, <&hclk_peri>,
2548 <&dummy>, <&aclk_peri>,
2549 <&pclk_peri>, <&aclk_peri>;
2551 clock-output-names =
2552 "g_pclk_tsadc", "g_hclk_otg0",
2553 "g_h_pmu_otg0", "g_hclk_host0",
2555 "reserved", "g_hclk_hsic",
2556 "g_h_usb_peri", "g_h_p_ahb_arbi",
2558 "g_a_peri_niu", "g_h_emem_peri",
2559 "g_h_mmc_peri", "g_hclk_nand0",
2561 "reserved", "g_aclk_gmac",
2562 "g_pclk_gmac", "g_hclk_sfc";
2567 clk_gates21: gate-clk@0254 {
2568 compatible = "rockchip,rk3188-gate-clk";
2571 <&hclk_peri>, <&hclk_peri>,
2572 <&hclk_peri>, <&hclk_peri>,
2574 <&aclk_peri>, <&dummy>,
2583 clock-output-names =
2584 "g_hclk_sdmmc", "g_hclk_sdio0",
2585 "g_hclk_emmc", "g_hclk_hsadc",
2587 "g_aclk_peri_mmu", "reserved",
2588 "reserved", "reserved",
2590 "reserved", "reserved",
2591 "reserved", "reserved",
2593 "reserved", "reserved",
2594 "reserved", "reserved";
2599 clk_gates22: gate-clk@0258 {
2600 compatible = "rockchip,rk3188-gate-clk";
2603 <&dummy>, <&pclk_alive_pre>,
2604 <&pclk_alive_pre>, <&pclk_alive_pre>,
2609 <&pclk_alive_pre>, <&pclk_alive_pre>,
2610 <&pclk_vio>, <&pclk_vio>,
2612 <&pclk_alive_pre>, <&pclk_alive_pre>,
2615 clock-output-names =
2616 "reserved", "g_pclk_gpio1",
2617 "g_pclk_gpio2", "g_pclk_gpio3",
2619 "reserved", "reserved",
2620 "reserved", "reserved",
2622 "g_pclk_grf", "g_p_alive_niu",
2623 "g_pclk_dphytx0", "g_pclk_dphyrx",
2625 "g_pclk_timer0", "g_pclk_timer1",
2626 "reserved", "reserved";
2631 clk_gates23: gate-clk@025c {
2632 compatible = "rockchip,rk3188-gate-clk";
2635 <&pclk_pmu_pre>, <&pclk_pmu_pre>,
2636 <&pclk_pmu_pre>, <&pclk_pmu_pre>,
2638 <&pclk_pmu_pre>, <&pclk_pmu_pre>,
2647 clock-output-names =
2648 "g_pclk_pmu", "g_pclk_intmem1",
2649 "g_pclk_pmu_noc", "g_pclk_sgrf",
2651 "g_pclk_gpio0", "g_pclk_pmugrf",
2652 "reserved", "reserved",
2654 "reserved", "reserved",
2655 "reserved", "reserved",
2657 "reserved", "reserved",
2658 "reserved", "reserved";
2663 clk_gates24: gate-clk@0260 {
2664 compatible = "rockchip,rk3188-gate-clk";
2667 <&xin24m>, <&xin24m>,
2668 <&xin24m>, <&xin24m>,
2670 <&xin24m>, <&xin24m>,
2671 <&xin24m>, <&xin24m>,
2673 <&xin24m>, <&xin24m>,
2674 <&xin24m>, <&xin24m>,
2679 clock-output-names =
2680 "g_clk_timer0", "g_clk_timer1",
2681 "g_clk_timer2", "g_clk_timer3",
2683 "g_clk_timer4", "g_clk_timer5",
2684 "g_clk_timer10", "g_clk_timer11",
2686 "g_clk_timer12", "g_clk_timer13",
2687 "g_clk_timer14", "g_clk_timer15",
2689 "reserved", "reserved",
2690 "reserved", "reserved";
2698 compatible = "rockchip,rk-clock-special-regs";
2699 #address-cells = <1>;
2703 clk_32k_mux: clk_32k_mux {
2704 compatible = "rockchip,rk3188-mux-con";
2705 reg = <0xff738100 0x4>;
2706 rockchip,bits = <6 1>;
2707 clocks = <&xin32k>, <&clk_gates7 3>;
2708 clock-output-names = "clk_32k_mux";
2710 #clock-init-cells = <1>;