ti,timer-dm.yaml 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/timer/ti,timer-dm.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: TI dual-mode timer
  7. maintainers:
  8. - Tony Lindgren <tony@atomide.com>
  9. description: |
  10. The TI dual-mode timer is a general purpose timer with PWM capabilities.
  11. properties:
  12. compatible:
  13. oneOf:
  14. - items:
  15. - enum:
  16. - ti,am335x-timer
  17. - ti,am335x-timer-1ms
  18. - ti,am654-timer
  19. - ti,dm814-timer
  20. - ti,dm816-timer
  21. - ti,omap2420-timer
  22. - ti,omap3430-timer
  23. - ti,omap4430-timer
  24. - ti,omap5430-timer
  25. - items:
  26. - const: ti,am4372-timer
  27. - const: ti,am335x-timer
  28. - items:
  29. - const: ti,am4372-timer-1ms
  30. - const: ti,am335x-timer-1ms
  31. reg:
  32. items:
  33. - description: IO address
  34. - description: L3 to L4 mapping for omap4/5 L4 ABE
  35. minItems: 1
  36. clocks:
  37. items:
  38. - description: Functional clock
  39. - description: System clock for omap4/5 and dra7
  40. minItems: 1
  41. clock-names:
  42. items:
  43. - const: fck
  44. - const: timer_sys_ck
  45. minItems: 1
  46. power-domains:
  47. description:
  48. Power domain if available
  49. maxItems: 1
  50. interrupts:
  51. description:
  52. Interrupt if available. The timer PWM features may be usable
  53. in a limited way even without interrupts.
  54. maxItems: 1
  55. ti,timer-alwon:
  56. description:
  57. Timer is always enabled when the SoC is powered. Note that some SoCs like
  58. am335x can suspend to PM coprocessor RTC only mode and in that case the
  59. SoC power is cut including timers.
  60. type: boolean
  61. ti,timer-dsp:
  62. description:
  63. Timer is routable to the DSP in addition to the operating system.
  64. type: boolean
  65. ti,timer-pwm:
  66. description:
  67. Timer has been wired for PWM capability.
  68. type: boolean
  69. ti,timer-secure:
  70. description:
  71. Timer access has been limited to secure mode only.
  72. type: boolean
  73. ti,hwmods:
  74. description:
  75. Name of the HWMOD associated with timer. This is for legacy
  76. omap2/3 platforms only.
  77. $ref: /schemas/types.yaml#/definitions/string
  78. deprecated: true
  79. required:
  80. - compatible
  81. - reg
  82. additionalProperties: false
  83. allOf:
  84. - if:
  85. properties:
  86. compatible:
  87. contains:
  88. const: ti,am654-timer
  89. then:
  90. required:
  91. - power-domains
  92. else:
  93. required:
  94. - interrupts
  95. - if:
  96. not:
  97. properties:
  98. compatible:
  99. contains:
  100. enum:
  101. - ti,omap3430-timer
  102. - ti,omap4430-timer
  103. - ti,omap5430-timer
  104. then:
  105. properties:
  106. reg:
  107. maxItems: 1
  108. clocks:
  109. maxItems: 1
  110. clock-names:
  111. maxItems: 1
  112. - if:
  113. properties:
  114. compatible:
  115. contains:
  116. enum:
  117. - ti,dm814-timer
  118. - ti,dm816-timer
  119. - ti,omap2420-timer
  120. - ti,omap3430-timer
  121. then:
  122. properties:
  123. ti,hwmods:
  124. items:
  125. - pattern: "^timer([1-9]|1[0-2])$"
  126. else:
  127. properties:
  128. ti,hwmods: false
  129. examples:
  130. - |
  131. timer1: timer@0 {
  132. compatible = "ti,am335x-timer-1ms";
  133. reg = <0x0 0x400>;
  134. interrupts = <67>;
  135. ti,timer-alwon;
  136. clocks = <&timer1_fck>;
  137. clock-names = "fck";
  138. };
  139. ...