st,flexgen.txt 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. Binding for a type of flexgen structure found on certain
  2. STMicroelectronics consumer electronics SoC devices
  3. This structure includes:
  4. - a clock cross bar (represented by a mux element)
  5. - a pre and final dividers (represented by a divider and gate elements)
  6. Flexgen structure is a part of Clockgen[1].
  7. Please find an example below:
  8. Clockgen block diagram
  9. -------------------------------------------------------------------
  10. | Flexgen structure |
  11. | --------------------------------------------- |
  12. | | ------- -------- -------- | |
  13. clk_sysin | | | | | | | | |
  14. ---|-----------------|-->| | | | | | | |
  15. | | | | | | | | | | |
  16. | | ------- | | | |Pre | |Final | | |
  17. | | |PLL0 | | | | |Dividers| |Dividers| | |
  18. | |->| | | | | | x32 | | x32 | | |
  19. | | | odf_0|----|-->| | | | | | | |
  20. | | | | | | | | | | | | |
  21. | | | | | | | | | | | | |
  22. | | | | | | | | | | | | |
  23. | | | | | | | | | | | | |
  24. | | ------- | | | | | | | | |
  25. | | | | | | | | | | |
  26. | | ------- | | Clock | | | | | | |
  27. | | |PLL1 | | | | | | | | | |
  28. | |->| | | | Cross | | | | | | |
  29. | | | odf_0|----|-->| | | | | | CLK_DIV[31:0]
  30. | | | | | | Bar |====>| |====>| |===|=========>
  31. | | | | | | | | | | | | |
  32. | | | | | | | | | | | | |
  33. | | | | | | | | | | | | |
  34. | | ------- | | | | | | | | |
  35. | | | | | | | | | | |
  36. | | ------- | | | | | | | | |
  37. | | |QUADFS | | | | | | | | | |
  38. | |->| ch0|----|-->| | | | | | | |
  39. | | | | | | | | | | | |
  40. | | ch1|----|-->| | | | | | | |
  41. | | | | | | | | | | | |
  42. | | ch2|----|-->| | | DIV | | DIV | | |
  43. | | | | | | | 1 to | | 1 to | | |
  44. | | ch3|----|-->| | | 1024 | | 64 | | |
  45. | ------- | | | | | | | | |
  46. | | ------- -------- -------- | |
  47. | -------------------------------------------- |
  48. | |
  49. -------------------------------------------------------------------
  50. This binding uses the common clock binding[2].
  51. [1] Documentation/devicetree/bindings/clock/st/st,clkgen.txt
  52. [2] Documentation/devicetree/bindings/clock/clock-bindings.txt
  53. Required properties:
  54. - compatible : shall be:
  55. "st,flexgen"
  56. - #clock-cells : from common clock binding; shall be set to 1 (multiple clock
  57. outputs).
  58. - clocks : must be set to the parent's phandle. it's could be output clocks of
  59. a quadsfs or/and a pll or/and clk_sysin (up to 7 clocks)
  60. - clock-output-names : List of strings used to name the clock outputs.
  61. Example:
  62. clk_s_c0_flexgen: clk-s-c0-flexgen {
  63. #clock-cells = <1>;
  64. compatible = "st,flexgen";
  65. clocks = <&clk_s_c0_pll0 0>,
  66. <&clk_s_c0_pll1 0>,
  67. <&clk_s_c0_quadfs 0>,
  68. <&clk_s_c0_quadfs 1>,
  69. <&clk_s_c0_quadfs 2>,
  70. <&clk_s_c0_quadfs 3>,
  71. <&clk_sysin>;
  72. clock-output-names = "clk-icn-gpu",
  73. "clk-fdma",
  74. "clk-nand",
  75. "clk-hva",
  76. "clk-proc-stfe",
  77. "clk-proc-tp",
  78. "clk-rx-icn-dmu",
  79. "clk-rx-icn-hva",
  80. "clk-icn-cpu",
  81. "clk-tx-icn-dmu",
  82. "clk-mmc-0",
  83. "clk-mmc-1",
  84. "clk-jpegdec",
  85. "clk-ext2fa9",
  86. "clk-ic-bdisp-0",
  87. "clk-ic-bdisp-1",
  88. "clk-pp-dmu",
  89. "clk-vid-dmu",
  90. "clk-dss-lpc",
  91. "clk-st231-aud-0",
  92. "clk-st231-gp-1",
  93. "clk-st231-dmu",
  94. "clk-icn-lmi",
  95. "clk-tx-icn-disp-1",
  96. "clk-icn-sbc",
  97. "clk-stfe-frc2",
  98. "clk-eth-phy",
  99. "clk-eth-ref-phyclk",
  100. "clk-flash-promip",
  101. "clk-main-disp",
  102. "clk-aux-disp",
  103. "clk-compo-dvp";
  104. };