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