Merge tag 'ceph-for-4.9-rc1' of git://github.com/ceph/ceph-client
[cascardo/linux.git] / Documentation / devicetree / bindings / clock / st / st,flexgen.txt
1 Binding for a type of flexgen structure found on certain
2 STMicroelectronics consumer electronics SoC devices
3
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)
7
8 Flexgen structure is a part of Clockgen[1].
9
10 Please find an example below:
11
12     Clockgen block diagram
13     -------------------------------------------------------------------
14    |                     Flexgen structure                             |
15    |                  ---------------------------------------------    |
16    |                 |    -------       --------       --------    |   |
17 clk_sysin            |   |       |     |        |     |        |   |   |
18 ---|-----------------|-->|       |     |        |     |        |   |   |
19    | |               |   |       |     |        |     |        |   |   |
20    | |   -------     |   |       |     |Pre     |     |Final   |   |   |
21    | |  |PLL0   |    |   |       |     |Dividers|     |Dividers|   |   |
22    | |->|       |    |   |       |     |  x32   |     |  x32   |   |   |
23    | |  |  odf_0|----|-->|       |     |        |     |        |   |   |
24    | |  |       |    |   |       |     |        |     |        |   |   |
25    | |  |       |    |   |       |     |        |     |        |   |   |
26    | |  |       |    |   |       |     |        |     |        |   |   |
27    | |  |       |    |   |       |     |        |     |        |   |   |
28    | |   -------     |   |       |     |        |     |        |   |   |
29    | |               |   |       |     |        |     |        |   |   |
30    | |   -------     |   | Clock |     |        |     |        |   |   |
31    | |  |PLL1   |    |   |       |     |        |     |        |   |   |
32    | |->|       |    |   | Cross |     |        |     |        |   |   |
33    | |  |  odf_0|----|-->|       |     |        |     |        | CLK_DIV[31:0]
34    | |  |       |    |   | Bar   |====>|        |====>|        |===|=========>
35    | |  |       |    |   |       |     |        |     |        |   |   |
36    | |  |       |    |   |       |     |        |     |        |   |   |
37    | |  |       |    |   |       |     |        |     |        |   |   |
38    | |   -------     |   |       |     |        |     |        |   |   |
39    | |               |   |       |     |        |     |        |   |   |
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    |                   --------------------------------------------    |
52    |                                                                   |
53     -------------------------------------------------------------------
54
55 This binding uses the common clock binding[2].
56
57 [1] Documentation/devicetree/bindings/clock/st/st,clkgen.txt
58 [2] Documentation/devicetree/bindings/clock/clock-bindings.txt
59
60 Required properties:
61 - compatible : shall be:
62   "st,flexgen"
63   "st,flexgen-audio", "st,flexgen" (enable clock propagation on parent for
64   audio use case)
65   "st,flexgen-video", "st,flexgen" (enable clock propagation on parent
66                                         and activate synchronous mode)
67
68 - #clock-cells : from common clock binding; shall be set to 1 (multiple clock
69   outputs).
70
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)
73
74 - clock-output-names : List of strings used to name the clock outputs.
75
76 Example:
77
78         clk_s_c0_flexgen: clk-s-c0-flexgen {
79
80                 #clock-cells = <1>;
81                 compatible = "st,flexgen";
82
83                 clocks = <&clk_s_c0_pll0 0>,
84                          <&clk_s_c0_pll1 0>,
85                          <&clk_s_c0_quadfs 0>,
86                          <&clk_s_c0_quadfs 1>,
87                          <&clk_s_c0_quadfs 2>,
88                          <&clk_s_c0_quadfs 3>,
89                          <&clk_sysin>;
90
91                 clock-output-names = "clk-icn-gpu",
92                                      "clk-fdma",
93                                      "clk-nand",
94                                      "clk-hva",
95                                      "clk-proc-stfe",
96                                      "clk-proc-tp",
97                                      "clk-rx-icn-dmu",
98                                      "clk-rx-icn-hva",
99                                      "clk-icn-cpu",
100                                      "clk-tx-icn-dmu",
101                                      "clk-mmc-0",
102                                      "clk-mmc-1",
103                                      "clk-jpegdec",
104                                      "clk-ext2fa9",
105                                      "clk-ic-bdisp-0",
106                                      "clk-ic-bdisp-1",
107                                      "clk-pp-dmu",
108                                      "clk-vid-dmu",
109                                      "clk-dss-lpc",
110                                      "clk-st231-aud-0",
111                                      "clk-st231-gp-1",
112                                      "clk-st231-dmu",
113                                      "clk-icn-lmi",
114                                      "clk-tx-icn-disp-1",
115                                      "clk-icn-sbc",
116                                      "clk-stfe-frc2",
117                                      "clk-eth-phy",
118                                      "clk-eth-ref-phyclk",
119                                      "clk-flash-promip",
120                                      "clk-main-disp",
121                                      "clk-aux-disp",
122                                      "clk-compo-dvp";
123         };