st,clkgen.txt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. Binding for a Clockgen hardware block found on
  2. certain STMicroelectronics consumer electronics SoC devices.
  3. A Clockgen node can contain pll, diviser or multiplexer nodes.
  4. We will find only the base address of the Clockgen, this base
  5. address is common of all subnode.
  6. clockgen_node {
  7. reg = <>;
  8. pll_node {
  9. ...
  10. };
  11. prediv_node {
  12. ...
  13. };
  14. divmux_node {
  15. ...
  16. };
  17. quadfs_node {
  18. ...
  19. };
  20. mux_node {
  21. ...
  22. };
  23. vcc_node {
  24. ...
  25. };
  26. flexgen_node {
  27. ...
  28. };
  29. ...
  30. };
  31. This binding uses the common clock binding[1].
  32. Each subnode should use the binding discribe in [2]..[7]
  33. [1] Documentation/devicetree/bindings/clock/clock-bindings.txt
  34. [2] Documentation/devicetree/bindings/clock/st,clkgen-divmux.txt
  35. [3] Documentation/devicetree/bindings/clock/st,clkgen-mux.txt
  36. [4] Documentation/devicetree/bindings/clock/st,clkgen-pll.txt
  37. [5] Documentation/devicetree/bindings/clock/st,clkgen-prediv.txt
  38. [6] Documentation/devicetree/bindings/clock/st,vcc.txt
  39. [7] Documentation/devicetree/bindings/clock/st,quadfs.txt
  40. [8] Documentation/devicetree/bindings/clock/st,flexgen.txt
  41. Required properties:
  42. - reg : A Base address and length of the register set.
  43. Example:
  44. clockgen-a@fee62000 {
  45. reg = <0xfee62000 0xb48>;
  46. clk_s_a0_pll: clk-s-a0-pll {
  47. #clock-cells = <1>;
  48. compatible = "st,clkgena-plls-c65";
  49. clocks = <&clk-sysin>;
  50. clock-output-names = "clk-s-a0-pll0-hs",
  51. "clk-s-a0-pll0-ls",
  52. "clk-s-a0-pll1";
  53. };
  54. clk_s_a0_osc_prediv: clk-s-a0-osc-prediv {
  55. #clock-cells = <0>;
  56. compatible = "st,clkgena-prediv-c65",
  57. "st,clkgena-prediv";
  58. clocks = <&clk_sysin>;
  59. clock-output-names = "clk-s-a0-osc-prediv";
  60. };
  61. clk_s_a0_hs: clk-s-a0-hs {
  62. #clock-cells = <1>;
  63. compatible = "st,clkgena-divmux-c65-hs",
  64. "st,clkgena-divmux";
  65. clocks = <&clk-s_a0_osc_prediv>,
  66. <&clk-s_a0_pll 0>, /* pll0 hs */
  67. <&clk-s_a0_pll 2>; /* pll1 */
  68. clock-output-names = "clk-s-fdma-0",
  69. "clk-s-fdma-1",
  70. ""; /* clk-s-jit-sense */
  71. /* fourth output unused */
  72. };
  73. };