mrvl,intc.yaml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/interrupt-controller/mrvl,intc.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Marvell MMP/Orion Interrupt controller
  7. maintainers:
  8. - Andrew Lunn <andrew@lunn.ch>
  9. - Gregory Clement <gregory.clement@bootlin.com>
  10. allOf:
  11. - if:
  12. properties:
  13. compatible:
  14. not:
  15. contains:
  16. const: marvell,orion-intc
  17. then:
  18. required:
  19. - mrvl,intc-nr-irqs
  20. - if:
  21. properties:
  22. compatible:
  23. contains:
  24. enum:
  25. - mrvl,mmp-intc
  26. - mrvl,mmp2-intc
  27. then:
  28. properties:
  29. reg:
  30. maxItems: 1
  31. - if:
  32. properties:
  33. compatible:
  34. contains:
  35. enum:
  36. - marvell,mmp3-intc
  37. - mrvl,mmp2-mux-intc
  38. then:
  39. properties:
  40. reg:
  41. minItems: 2
  42. - if:
  43. properties:
  44. compatible:
  45. contains:
  46. const: mrvl,mmp2-mux-intc
  47. then:
  48. properties:
  49. interrupts:
  50. maxItems: 1
  51. reg-names:
  52. items:
  53. - const: mux status
  54. - const: mux mask
  55. required:
  56. - interrupts
  57. else:
  58. properties:
  59. interrupts: false
  60. properties:
  61. '#interrupt-cells':
  62. const: 1
  63. compatible:
  64. enum:
  65. - mrvl,mmp-intc
  66. - mrvl,mmp2-intc
  67. - marvell,mmp3-intc
  68. - marvell,orion-intc
  69. - mrvl,mmp2-mux-intc
  70. reg:
  71. minItems: 1
  72. maxItems: 2
  73. reg-names: true
  74. interrupts: true
  75. interrupt-controller: true
  76. mrvl,intc-nr-irqs:
  77. description: |
  78. Specifies the number of interrupts in the interrupt controller.
  79. $ref: /schemas/types.yaml#/definitions/uint32
  80. mrvl,clr-mfp-irq:
  81. description: |
  82. Specifies the interrupt that needs to clear MFP edge detection first.
  83. $ref: /schemas/types.yaml#/definitions/uint32
  84. required:
  85. - '#interrupt-cells'
  86. - compatible
  87. - reg
  88. - interrupt-controller
  89. additionalProperties: false
  90. examples:
  91. - |
  92. interrupt-controller@d4282000 {
  93. compatible = "mrvl,mmp2-intc";
  94. interrupt-controller;
  95. #interrupt-cells = <1>;
  96. reg = <0xd4282000 0x1000>;
  97. mrvl,intc-nr-irqs = <64>;
  98. };
  99. interrupt-controller@d4282150 {
  100. compatible = "mrvl,mmp2-mux-intc";
  101. interrupts = <4>;
  102. interrupt-controller;
  103. #interrupt-cells = <1>;
  104. reg = <0x150 0x4>, <0x168 0x4>;
  105. reg-names = "mux status", "mux mask";
  106. mrvl,intc-nr-irqs = <2>;
  107. };
  108. - |
  109. interrupt-controller@fed20204 {
  110. compatible = "marvell,orion-intc";
  111. interrupt-controller;
  112. #interrupt-cells = <1>;
  113. reg = <0xfed20204 0x04>,
  114. <0xfed20214 0x04>;
  115. };
  116. ...