xref: /openbmc/u-boot/doc/device-tree-bindings/clock/rockchip.txt (revision c9feb427aba860ebc79f9851a1bb49cc456a2d48)
1*344c8376SSimon GlassDevice Tree Clock bindings for arch-rockchip
2*344c8376SSimon Glass
3*344c8376SSimon GlassThis binding uses the common clock binding[1].
4*344c8376SSimon Glass
5*344c8376SSimon Glass[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
6*344c8376SSimon Glass
7*344c8376SSimon Glass== Gate clocks ==
8*344c8376SSimon Glass
9*344c8376SSimon GlassThese bindings are deprecated!
10*344c8376SSimon GlassPlease use the soc specific CRU bindings instead.
11*344c8376SSimon Glass
12*344c8376SSimon GlassThe gate registers form a continuos block which makes the dt node
13*344c8376SSimon Glassstructure a matter of taste, as either all gates can be put into
14*344c8376SSimon Glassone gate clock spanning all registers or they can be divided into
15*344c8376SSimon Glassthe 10 individual gates containing 16 clocks each.
16*344c8376SSimon GlassThe code supports both approaches.
17*344c8376SSimon Glass
18*344c8376SSimon GlassRequired properties:
19*344c8376SSimon Glass- compatible : "rockchip,rk2928-gate-clk"
20*344c8376SSimon Glass- reg : shall be the control register address(es) for the clock.
21*344c8376SSimon Glass- #clock-cells : from common clock binding; shall be set to 1
22*344c8376SSimon Glass- clock-output-names : the corresponding gate names that the clock controls
23*344c8376SSimon Glass- clocks : should contain the parent clock for each individual gate,
24*344c8376SSimon Glass  therefore the number of clocks elements should match the number of
25*344c8376SSimon Glass  clock-output-names
26*344c8376SSimon Glass
27*344c8376SSimon GlassExample using multiple gate clocks:
28*344c8376SSimon Glass
29*344c8376SSimon Glass		clk_gates0: gate-clk@200000d0 {
30*344c8376SSimon Glass			compatible = "rockchip,rk2928-gate-clk";
31*344c8376SSimon Glass			reg = <0x200000d0 0x4>;
32*344c8376SSimon Glass			clocks = <&dummy>, <&dummy>,
33*344c8376SSimon Glass				 <&dummy>, <&dummy>,
34*344c8376SSimon Glass				 <&dummy>, <&dummy>,
35*344c8376SSimon Glass				 <&dummy>, <&dummy>,
36*344c8376SSimon Glass				 <&dummy>, <&dummy>,
37*344c8376SSimon Glass				 <&dummy>, <&dummy>,
38*344c8376SSimon Glass				 <&dummy>, <&dummy>,
39*344c8376SSimon Glass				 <&dummy>, <&dummy>;
40*344c8376SSimon Glass
41*344c8376SSimon Glass			clock-output-names =
42*344c8376SSimon Glass				"gate_core_periph", "gate_cpu_gpll",
43*344c8376SSimon Glass				"gate_ddrphy", "gate_aclk_cpu",
44*344c8376SSimon Glass				"gate_hclk_cpu", "gate_pclk_cpu",
45*344c8376SSimon Glass				"gate_atclk_cpu", "gate_i2s0",
46*344c8376SSimon Glass				"gate_i2s0_frac", "gate_i2s1",
47*344c8376SSimon Glass				"gate_i2s1_frac", "gate_i2s2",
48*344c8376SSimon Glass				"gate_i2s2_frac", "gate_spdif",
49*344c8376SSimon Glass				"gate_spdif_frac", "gate_testclk";
50*344c8376SSimon Glass
51*344c8376SSimon Glass			#clock-cells = <1>;
52*344c8376SSimon Glass		};
53*344c8376SSimon Glass
54*344c8376SSimon Glass		clk_gates1: gate-clk@200000d4 {
55*344c8376SSimon Glass			compatible = "rockchip,rk2928-gate-clk";
56*344c8376SSimon Glass			reg = <0x200000d4 0x4>;
57*344c8376SSimon Glass			clocks = <&xin24m>, <&xin24m>,
58*344c8376SSimon Glass				 <&xin24m>, <&dummy>,
59*344c8376SSimon Glass				 <&dummy>, <&xin24m>,
60*344c8376SSimon Glass				 <&xin24m>, <&dummy>,
61*344c8376SSimon Glass				 <&xin24m>, <&dummy>,
62*344c8376SSimon Glass				 <&xin24m>, <&dummy>,
63*344c8376SSimon Glass				 <&xin24m>, <&dummy>,
64*344c8376SSimon Glass				 <&xin24m>, <&dummy>;
65*344c8376SSimon Glass
66*344c8376SSimon Glass			clock-output-names =
67*344c8376SSimon Glass				"gate_timer0", "gate_timer1",
68*344c8376SSimon Glass				"gate_timer2", "gate_jtag",
69*344c8376SSimon Glass				"gate_aclk_lcdc1_src", "gate_otgphy0",
70*344c8376SSimon Glass				"gate_otgphy1", "gate_ddr_gpll",
71*344c8376SSimon Glass				"gate_uart0", "gate_frac_uart0",
72*344c8376SSimon Glass				"gate_uart1", "gate_frac_uart1",
73*344c8376SSimon Glass				"gate_uart2", "gate_frac_uart2",
74*344c8376SSimon Glass				"gate_uart3", "gate_frac_uart3";
75*344c8376SSimon Glass
76*344c8376SSimon Glass			#clock-cells = <1>;
77*344c8376SSimon Glass		};
78