fsl,imxgpt.yaml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/timer/fsl,imxgpt.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Freescale i.MX General Purpose Timer (GPT)
  7. maintainers:
  8. - Sascha Hauer <s.hauer@pengutronix.de>
  9. properties:
  10. compatible:
  11. oneOf:
  12. - const: fsl,imx1-gpt
  13. - const: fsl,imx21-gpt
  14. - items:
  15. - const: fsl,imx27-gpt
  16. - const: fsl,imx21-gpt
  17. - const: fsl,imx31-gpt
  18. - items:
  19. - enum:
  20. - fsl,imx25-gpt
  21. - fsl,imx50-gpt
  22. - fsl,imx51-gpt
  23. - fsl,imx53-gpt
  24. - fsl,imx6q-gpt
  25. - const: fsl,imx31-gpt
  26. - const: fsl,imx6dl-gpt
  27. - items:
  28. - enum:
  29. - fsl,imx6sl-gpt
  30. - fsl,imx6sx-gpt
  31. - fsl,imx8mp-gpt
  32. - fsl,imxrt1050-gpt
  33. - fsl,imxrt1170-gpt
  34. - const: fsl,imx6dl-gpt
  35. - items:
  36. - enum:
  37. - fsl,imx6ul-gpt
  38. - fsl,imx7d-gpt
  39. - const: fsl,imx6sx-gpt
  40. reg:
  41. maxItems: 1
  42. interrupts:
  43. maxItems: 1
  44. clocks:
  45. minItems: 2
  46. items:
  47. - description: SoC GPT ipg clock
  48. - description: SoC GPT per clock
  49. - description: SoC GPT osc per clock
  50. clock-names:
  51. minItems: 2
  52. items:
  53. - const: ipg
  54. - const: per
  55. - const: osc_per
  56. required:
  57. - compatible
  58. - reg
  59. - interrupts
  60. - clocks
  61. - clock-names
  62. allOf:
  63. - if:
  64. properties:
  65. compatible:
  66. contains:
  67. enum:
  68. - fsl,imx6dl-gpt
  69. - fsl,imx6q-gpt
  70. then:
  71. properties:
  72. clocks:
  73. minItems: 2
  74. maxItems: 3
  75. clock-names:
  76. minItems: 2
  77. maxItems: 3
  78. else:
  79. properties:
  80. clocks:
  81. maxItems: 2
  82. clock-names:
  83. maxItems: 2
  84. additionalProperties: false
  85. examples:
  86. - |
  87. #include <dt-bindings/clock/imx27-clock.h>
  88. timer@10003000 {
  89. compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
  90. reg = <0x10003000 0x1000>;
  91. interrupts = <26>;
  92. clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
  93. <&clks IMX27_CLK_PER1_GATE>;
  94. clock-names = "ipg", "per";
  95. };