~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/clock/st/st,flexgen.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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   "st,flexgen-stih407-a0"
 68   "st,flexgen-stih410-a0"
 69   "st,flexgen-stih407-c0"
 70   "st,flexgen-stih410-c0"
 71   "st,flexgen-stih418-c0"
 72   "st,flexgen-stih407-d0"
 73   "st,flexgen-stih410-d0"
 74   "st,flexgen-stih407-d2"
 75   "st,flexgen-stih418-d2"
 76   "st,flexgen-stih407-d3"
 77 
 78 - #clock-cells : from common clock binding; shall be set to 1 (multiple clock
 79   outputs).
 80 
 81 - clocks : must be set to the parent's phandle. it could be output clocks of
 82   a quadsfs or/and a pll or/and clk_sysin (up to 7 clocks)
 83 
 84 - clock-output-names : List of strings used to name the clock outputs.
 85 
 86 Example:
 87 
 88         clk_s_c0_flexgen: clk-s-c0-flexgen {
 89 
 90                 #clock-cells = <1>;
 91                 compatible = "st,flexgen";
 92 
 93                 clocks = <&clk_s_c0_pll0 0>,
 94                          <&clk_s_c0_pll1 0>,
 95                          <&clk_s_c0_quadfs 0>,
 96                          <&clk_s_c0_quadfs 1>,
 97                          <&clk_s_c0_quadfs 2>,
 98                          <&clk_s_c0_quadfs 3>,
 99                          <&clk_sysin>;
100 
101                 clock-output-names = "clk-icn-gpu",
102                                      "clk-fdma",
103                                      "clk-nand",
104                                      "clk-hva",
105                                      "clk-proc-stfe",
106                                      "clk-proc-tp",
107                                      "clk-rx-icn-dmu",
108                                      "clk-rx-icn-hva",
109                                      "clk-icn-cpu",
110                                      "clk-tx-icn-dmu",
111                                      "clk-mmc-0",
112                                      "clk-mmc-1",
113                                      "clk-jpegdec",
114                                      "clk-ext2fa9",
115                                      "clk-ic-bdisp-0",
116                                      "clk-ic-bdisp-1",
117                                      "clk-pp-dmu",
118                                      "clk-vid-dmu",
119                                      "clk-dss-lpc",
120                                      "clk-st231-aud-0",
121                                      "clk-st231-gp-1",
122                                      "clk-st231-dmu",
123                                      "clk-icn-lmi",
124                                      "clk-tx-icn-disp-1",
125                                      "clk-icn-sbc",
126                                      "clk-stfe-frc2",
127                                      "clk-eth-phy",
128                                      "clk-eth-ref-phyclk",
129                                      "clk-flash-promip",
130                                      "clk-main-disp",
131                                      "clk-aux-disp",
132                                      "clk-compo-dvp";
133         };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php