1 Binding for a type of flexgen structure found on certain
2 STMicroelectronics consumer electronics SoC devices
4 This structure includes:
5 - a clock cross bar (represented by a mux element)
6 - a pre and final dividers (represented by a divider and gate elements)
8 Flexgen structure is a part of Clockgen[1].
10 Please find an example below:
12 Clockgen block diagram
13 -------------------------------------------------------------------
15 | --------------------------------------------- |
16 | | ------- -------- -------- | |
17 clk_sysin | | | | | | | | |
18 ---|-----------------|-->| | | | | | | |
20 | | ------- | | | |Pre | |Final | | |
21 | | |PLL0 | | | | |Dividers| |Dividers| | |
22 | |->| | | | | | x32 | | x32 | | |
23 | | | odf_0|----|-->| | | | | | | |
24 | | | | | | | | | | | | |
25 | | | | | | | | | | | | |
26 | | | | | | | | | | | | |
27 | | | | | | | | | | | | |
28 | | ------- | | | | | | | | |
30 | | ------- | | Clock | | | | | | |
31 | | |PLL1 | | | | | | | | | |
32 | |->| | | | Cross | | | | | | |
33 | | | odf_0|----|-->| | | | | | CLK_DIV[31:0]
34 | | | | | | Bar |====>| |====>| |===|=========>
35 | | | | | | | | | | | | |
36 | | | | | | | | | | | | |
37 | | | | | | | | | | | | |
38 | | ------- | | | | | | | | |
40 | | ------- | | | | | | | | |
41 | | |QUADFS | | | | | | | | | |
42 | |->| ch0|----|-->| | | | | | | |
43 | | | | | | | | | | | |
44 | | ch1|----|-->| | | | | | | |
45 | | | | | | | | | | | |
46 | | ch2|----|-->| | | DIV | | DIV | | |
47 | | | | | | | 1 to | | 1 to | | |
48 | | ch3|----|-->| | | 1024 | | 64 | | |
49 | ------- | | | | | | | | |
50 | | ------- -------- -------- | |
51 | -------------------------------------------- |
53 -------------------------------------------------------------------
55 This binding uses the common clock binding[2].
57 [1] Documentation/devicetree/bindings/clock/st/st,clkgen.txt
58 [2] Documentation/devicetree/bindings/clock/clock-bindings.txt
61 - compatible : shall be:
63 "st,flexgen-audio", "st,flexgen" (enable clock propagation on parent for
65 "st,flexgen-video", "st,flexgen" (enable clock propagation on parent
66 and activate synchronous mode)
68 - #clock-cells : from common clock binding; shall be set to 1 (multiple clock
71 - clocks : must be set to the parent's phandle. it's could be output clocks of
72 a quadsfs or/and a pll or/and clk_sysin (up to 7 clocks)
74 - clock-output-names : List of strings used to name the clock outputs.
78 clk_s_c0_flexgen: clk-s-c0-flexgen {
81 compatible = "st,flexgen";
83 clocks = <&clk_s_c0_pll0 0>,
91 clock-output-names = "clk-icn-gpu",
118 "clk-eth-ref-phyclk",