gpio-zynq.yaml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/gpio/gpio-zynq.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Xilinx Zynq GPIO controller
  7. maintainers:
  8. - Michal Simek <michal.simek@amd.com>
  9. properties:
  10. compatible:
  11. enum:
  12. - xlnx,zynq-gpio-1.0
  13. - xlnx,zynqmp-gpio-1.0
  14. - xlnx,versal-gpio-1.0
  15. - xlnx,pmc-gpio-1.0
  16. reg:
  17. maxItems: 1
  18. "#gpio-cells":
  19. const: 2
  20. interrupts:
  21. maxItems: 1
  22. gpio-controller: true
  23. gpio-line-names:
  24. description: strings describing the names of each gpio line
  25. minItems: 58
  26. maxItems: 174
  27. interrupt-controller: true
  28. "#interrupt-cells":
  29. const: 2
  30. clocks:
  31. maxItems: 1
  32. power-domains:
  33. maxItems: 1
  34. allOf:
  35. - if:
  36. properties:
  37. compatible:
  38. enum:
  39. - xlnx,zynqmp-gpio-1.0
  40. then:
  41. properties:
  42. gpio-line-names:
  43. minItems: 174
  44. maxItems: 174
  45. - if:
  46. properties:
  47. compatible:
  48. enum:
  49. - xlnx,zynq-gpio-1.0
  50. then:
  51. properties:
  52. gpio-line-names:
  53. minItems: 118
  54. maxItems: 118
  55. - if:
  56. properties:
  57. compatible:
  58. enum:
  59. - xlnx,versal-gpio-1.0
  60. then:
  61. properties:
  62. gpio-line-names:
  63. minItems: 58
  64. maxItems: 58
  65. - if:
  66. properties:
  67. compatible:
  68. enum:
  69. - xlnx,pmc-gpio-1.0
  70. then:
  71. properties:
  72. gpio-line-names:
  73. minItems: 116
  74. maxItems: 116
  75. required:
  76. - compatible
  77. - reg
  78. - "#gpio-cells"
  79. - interrupts
  80. - gpio-controller
  81. - interrupt-controller
  82. - "#interrupt-cells"
  83. - clocks
  84. additionalProperties: false
  85. examples:
  86. - |
  87. gpio@e000a000 {
  88. #gpio-cells = <2>;
  89. compatible = "xlnx,zynq-gpio-1.0";
  90. clocks = <&clkc 42>;
  91. gpio-controller;
  92. interrupt-parent = <&intc>;
  93. interrupts = <0 20 4>;
  94. interrupt-controller;
  95. #interrupt-cells = <2>;
  96. reg = <0xe000a000 0x1000>;
  97. };