Back to home page

OSCL-LXR

 
 

    


0001 Binding for a type of flexgen structure found on certain
0002 STMicroelectronics consumer electronics SoC devices
0003 
0004 This structure includes:
0005 - a clock cross bar (represented by a mux element)
0006 - a pre and final dividers (represented by a divider and gate elements)
0007 
0008 Flexgen structure is a part of Clockgen[1].
0009 
0010 Please find an example below:
0011 
0012     Clockgen block diagram
0013     -------------------------------------------------------------------
0014    |                     Flexgen structure                             |
0015    |                  ---------------------------------------------    |
0016    |                 |    -------       --------       --------    |   |
0017 clk_sysin            |   |       |     |        |     |        |   |   |
0018 ---|-----------------|-->|       |     |        |     |        |   |   |
0019    | |               |   |       |     |        |     |        |   |   |
0020    | |   -------     |   |       |     |Pre     |     |Final   |   |   |
0021    | |  |PLL0   |    |   |       |     |Dividers|     |Dividers|   |   |
0022    | |->|       |    |   |       |     |  x32   |     |  x32   |   |   |
0023    | |  |  odf_0|----|-->|       |     |        |     |        |   |   |
0024    | |  |       |    |   |       |     |        |     |        |   |   |
0025    | |  |       |    |   |       |     |        |     |        |   |   |
0026    | |  |       |    |   |       |     |        |     |        |   |   |
0027    | |  |       |    |   |       |     |        |     |        |   |   |
0028    | |   -------     |   |       |     |        |     |        |   |   |
0029    | |               |   |       |     |        |     |        |   |   |
0030    | |   -------     |   | Clock |     |        |     |        |   |   |
0031    | |  |PLL1   |    |   |       |     |        |     |        |   |   |
0032    | |->|       |    |   | Cross |     |        |     |        |   |   |
0033    | |  |  odf_0|----|-->|       |     |        |     |        | CLK_DIV[31:0]
0034    | |  |       |    |   | Bar   |====>|        |====>|        |===|=========>
0035    | |  |       |    |   |       |     |        |     |        |   |   |
0036    | |  |       |    |   |       |     |        |     |        |   |   |
0037    | |  |       |    |   |       |     |        |     |        |   |   |
0038    | |   -------     |   |       |     |        |     |        |   |   |
0039    | |               |   |       |     |        |     |        |   |   |
0040    | |   -------     |   |       |     |        |     |        |   |   |
0041    | |  |QUADFS |    |   |       |     |        |     |        |   |   |
0042    | |->|    ch0|----|-->|       |     |        |     |        |   |   |
0043    |    |       |    |   |       |     |        |     |        |   |   |
0044    |    |    ch1|----|-->|       |     |        |     |        |   |   |
0045    |    |       |    |   |       |     |        |     |        |   |   |
0046    |    |    ch2|----|-->|       |     | DIV    |     | DIV    |   |   |
0047    |    |       |    |   |       |     |  1 to  |     |  1 to  |   |   |
0048    |    |    ch3|----|-->|       |     |   1024 |     |     64 |   |   |
0049    |     -------     |   |       |     |        |     |        |   |   |
0050    |                 |    -------       --------       --------    |   |
0051    |                   --------------------------------------------    |
0052    |                                                                   |
0053     -------------------------------------------------------------------
0054 
0055 This binding uses the common clock binding[2].
0056 
0057 [1] Documentation/devicetree/bindings/clock/st/st,clkgen.txt
0058 [2] Documentation/devicetree/bindings/clock/clock-bindings.txt
0059 
0060 Required properties:
0061 - compatible : shall be:
0062   "st,flexgen"
0063   "st,flexgen-audio", "st,flexgen" (enable clock propagation on parent for
0064   audio use case)
0065   "st,flexgen-video", "st,flexgen" (enable clock propagation on parent
0066                                         and activate synchronous mode)
0067   "st,flexgen-stih407-a0"
0068   "st,flexgen-stih410-a0"
0069   "st,flexgen-stih407-c0"
0070   "st,flexgen-stih410-c0"
0071   "st,flexgen-stih418-c0"
0072   "st,flexgen-stih407-d0"
0073   "st,flexgen-stih410-d0"
0074   "st,flexgen-stih407-d2"
0075   "st,flexgen-stih418-d2"
0076   "st,flexgen-stih407-d3"
0077 
0078 - #clock-cells : from common clock binding; shall be set to 1 (multiple clock
0079   outputs).
0080 
0081 - clocks : must be set to the parent's phandle. it could be output clocks of
0082   a quadsfs or/and a pll or/and clk_sysin (up to 7 clocks)
0083 
0084 - clock-output-names : List of strings used to name the clock outputs.
0085 
0086 Example:
0087 
0088         clk_s_c0_flexgen: clk-s-c0-flexgen {
0089 
0090                 #clock-cells = <1>;
0091                 compatible = "st,flexgen";
0092 
0093                 clocks = <&clk_s_c0_pll0 0>,
0094                          <&clk_s_c0_pll1 0>,
0095                          <&clk_s_c0_quadfs 0>,
0096                          <&clk_s_c0_quadfs 1>,
0097                          <&clk_s_c0_quadfs 2>,
0098                          <&clk_s_c0_quadfs 3>,
0099                          <&clk_sysin>;
0100 
0101                 clock-output-names = "clk-icn-gpu",
0102                                      "clk-fdma",
0103                                      "clk-nand",
0104                                      "clk-hva",
0105                                      "clk-proc-stfe",
0106                                      "clk-proc-tp",
0107                                      "clk-rx-icn-dmu",
0108                                      "clk-rx-icn-hva",
0109                                      "clk-icn-cpu",
0110                                      "clk-tx-icn-dmu",
0111                                      "clk-mmc-0",
0112                                      "clk-mmc-1",
0113                                      "clk-jpegdec",
0114                                      "clk-ext2fa9",
0115                                      "clk-ic-bdisp-0",
0116                                      "clk-ic-bdisp-1",
0117                                      "clk-pp-dmu",
0118                                      "clk-vid-dmu",
0119                                      "clk-dss-lpc",
0120                                      "clk-st231-aud-0",
0121                                      "clk-st231-gp-1",
0122                                      "clk-st231-dmu",
0123                                      "clk-icn-lmi",
0124                                      "clk-tx-icn-disp-1",
0125                                      "clk-icn-sbc",
0126                                      "clk-stfe-frc2",
0127                                      "clk-eth-phy",
0128                                      "clk-eth-ref-phyclk",
0129                                      "clk-flash-promip",
0130                                      "clk-main-disp",
0131                                      "clk-aux-disp",
0132                                      "clk-compo-dvp";
0133         };