gate.txt 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. Binding for Texas Instruments gate clock.
  2. Binding status: Unstable - ABI compatibility may be broken in the future
  3. This binding uses the common clock binding[1]. This clock is
  4. quite much similar to the basic gate-clock [2], however,
  5. it supports a number of additional features. If no register
  6. is provided for this clock, the code assumes that a clockdomain
  7. will be controlled instead and the corresponding hw-ops for
  8. that is used.
  9. [1] Documentation/devicetree/bindings/clock/clock-bindings.txt
  10. [2] Documentation/devicetree/bindings/clock/gate-clock.txt
  11. [3] Documentation/devicetree/bindings/clock/ti/clockdomain.txt
  12. Required properties:
  13. - compatible : shall be one of:
  14. "ti,gate-clock" - basic gate clock
  15. "ti,wait-gate-clock" - gate clock which waits until clock is active before
  16. returning from clk_enable()
  17. "ti,dss-gate-clock" - gate clock with DSS specific hardware handling
  18. "ti,am35xx-gate-clock" - gate clock with AM35xx specific hardware handling
  19. "ti,clkdm-gate-clock" - clockdomain gate clock, which derives its functional
  20. clock directly from a clockdomain, see [3] how
  21. to map clockdomains properly
  22. "ti,hsdiv-gate-clock" - gate clock with OMAP36xx specific hardware handling,
  23. required for a hardware errata
  24. "ti,composite-gate-clock" - composite gate clock, to be part of composite
  25. clock
  26. "ti,composite-no-wait-gate-clock" - composite gate clock that does not wait
  27. for clock to be active before returning
  28. from clk_enable()
  29. - #clock-cells : from common clock binding; shall be set to 0
  30. - clocks : link to phandle of parent clock
  31. - reg : offset for register controlling adjustable gate, not needed for
  32. ti,clkdm-gate-clock type
  33. Optional properties:
  34. - ti,bit-shift : bit shift for programming the clock gate, invalid for
  35. ti,clkdm-gate-clock type
  36. - ti,set-bit-to-disable : inverts default gate programming. Setting the bit
  37. gates the clock and clearing the bit ungates the clock.
  38. Examples:
  39. mmchs2_fck: mmchs2_fck@48004a00 {
  40. #clock-cells = <0>;
  41. compatible = "ti,gate-clock";
  42. clocks = <&core_96m_fck>;
  43. reg = <0x0a00>;
  44. ti,bit-shift = <25>;
  45. };
  46. uart4_fck_am35xx: uart4_fck_am35xx {
  47. #clock-cells = <0>;
  48. compatible = "ti,wait-gate-clock";
  49. clocks = <&core_48m_fck>;
  50. reg = <0x0a00>;
  51. ti,bit-shift = <23>;
  52. };
  53. dss1_alwon_fck_3430es2: dss1_alwon_fck_3430es2@48004e00 {
  54. #clock-cells = <0>;
  55. compatible = "ti,dss-gate-clock";
  56. clocks = <&dpll4_m4x2_ck>;
  57. reg = <0x0e00>;
  58. ti,bit-shift = <0>;
  59. };
  60. emac_ick: emac_ick@4800259c {
  61. #clock-cells = <0>;
  62. compatible = "ti,am35xx-gate-clock";
  63. clocks = <&ipss_ick>;
  64. reg = <0x059c>;
  65. ti,bit-shift = <1>;
  66. };
  67. emu_src_ck: emu_src_ck {
  68. #clock-cells = <0>;
  69. compatible = "ti,clkdm-gate-clock";
  70. clocks = <&emu_src_mux_ck>;
  71. };
  72. dpll4_m2x2_ck: dpll4_m2x2_ck@48004d00 {
  73. #clock-cells = <0>;
  74. compatible = "ti,hsdiv-gate-clock";
  75. clocks = <&dpll4_m2x2_mul_ck>;
  76. ti,bit-shift = <0x1b>;
  77. reg = <0x0d00>;
  78. ti,set-bit-to-disable;
  79. };
  80. vlynq_gate_fck: vlynq_gate_fck {
  81. #clock-cells = <0>;
  82. compatible = "ti,composite-gate-clock";
  83. clocks = <&core_ck>;
  84. ti,bit-shift = <3>;
  85. reg = <0x0200>;
  86. };
  87. sys_clkout2_src_gate: sys_clkout2_src_gate {
  88. #clock-cells = <0>;
  89. compatible = "ti,composite-no-wait-gate-clock";
  90. clocks = <&core_ck>;
  91. ti,bit-shift = <15>;
  92. reg = <0x0070>;
  93. };