renesas,tpu-pwm.yaml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. # SPDX-License-Identifier: GPL-2.0
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/pwm/renesas,tpu-pwm.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Renesas R-Car Timer Pulse Unit PWM Controller
  7. maintainers:
  8. - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
  9. select:
  10. properties:
  11. compatible:
  12. contains:
  13. const: renesas,tpu
  14. required:
  15. - compatible
  16. - '#pwm-cells'
  17. properties:
  18. compatible:
  19. items:
  20. - enum:
  21. - renesas,tpu-r8a73a4 # R-Mobile APE6
  22. - renesas,tpu-r8a7740 # R-Mobile A1
  23. - renesas,tpu-r8a7742 # RZ/G1H
  24. - renesas,tpu-r8a7743 # RZ/G1M
  25. - renesas,tpu-r8a7744 # RZ/G1N
  26. - renesas,tpu-r8a7745 # RZ/G1E
  27. - renesas,tpu-r8a7790 # R-Car H2
  28. - renesas,tpu-r8a7791 # R-Car M2-W
  29. - renesas,tpu-r8a7792 # R-Car V2H
  30. - renesas,tpu-r8a7793 # R-Car M2-N
  31. - renesas,tpu-r8a7794 # R-Car E2
  32. - renesas,tpu-r8a7795 # R-Car H3
  33. - renesas,tpu-r8a7796 # R-Car M3-W
  34. - renesas,tpu-r8a77961 # R-Car M3-W+
  35. - renesas,tpu-r8a77965 # R-Car M3-N
  36. - renesas,tpu-r8a77970 # R-Car V3M
  37. - renesas,tpu-r8a77980 # R-Car V3H
  38. - renesas,tpu-r8a779a0 # R-Car V3U
  39. - renesas,tpu-r8a779g0 # R-Car V4H
  40. - renesas,tpu-r8a779h0 # R-Car V4M
  41. - const: renesas,tpu
  42. reg:
  43. # Base address and length of each memory resource used by the PWM
  44. # controller hardware module.
  45. maxItems: 1
  46. interrupts:
  47. maxItems: 1
  48. '#pwm-cells':
  49. # should be 3. See pwm.yaml in this directory for a description of
  50. # the cells format. The only third cell flag supported by this binding is
  51. # PWM_POLARITY_INVERTED.
  52. const: 3
  53. clocks:
  54. maxItems: 1
  55. power-domains:
  56. maxItems: 1
  57. resets:
  58. maxItems: 1
  59. required:
  60. - compatible
  61. - reg
  62. - clocks
  63. - power-domains
  64. allOf:
  65. - $ref: pwm.yaml#
  66. - if:
  67. not:
  68. properties:
  69. compatible:
  70. contains:
  71. enum:
  72. - renesas,tpu-r8a73a4
  73. - renesas,tpu-r8a7740
  74. then:
  75. required:
  76. - resets
  77. additionalProperties: false
  78. examples:
  79. - |
  80. #include <dt-bindings/clock/r8a7740-clock.h>
  81. tpu: pwm@e6600000 {
  82. compatible = "renesas,tpu-r8a7740", "renesas,tpu";
  83. reg = <0xe6600000 0x148>;
  84. clocks = <&mstp3_clks R8A7740_CLK_TPU0>;
  85. power-domains = <&pd_a3sp>;
  86. #pwm-cells = <3>;
  87. };