arm,vic.yaml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. # SPDX-License-Identifier: GPL-2.0
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/interrupt-controller/arm,vic.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: ARM Vectored Interrupt Controller
  7. maintainers:
  8. - Rob Herring <robh@kernel.org>
  9. description: |+
  10. One or more Vectored Interrupt Controllers (VIC's) can be connected in an
  11. ARM system for interrupt routing. For multiple controllers they can either
  12. be nested or have the outputs wire-OR'd together.
  13. allOf:
  14. - $ref: /schemas/interrupt-controller.yaml#
  15. properties:
  16. compatible:
  17. enum:
  18. - arm,pl190-vic
  19. - arm,pl192-vic
  20. - arm,versatile-vic
  21. interrupt-controller: true
  22. "#interrupt-cells":
  23. const: 1
  24. description:
  25. The number of cells to define the interrupts. It must be 1 as the
  26. VIC has no configuration options for interrupt sources. The single
  27. cell defines the interrupt number.
  28. reg:
  29. maxItems: 1
  30. interrupts:
  31. maxItems: 1
  32. valid-mask:
  33. description:
  34. A one cell big bit mask of valid interrupt sources. Each bit
  35. represents single interrupt source, starting from source 0 at
  36. LSb and ending at source 31 at MSb. A bit that is set means
  37. that the source is wired and clear means otherwise. If unspecified,
  38. defaults to all valid.
  39. $ref: /schemas/types.yaml#/definitions/uint32
  40. valid-wakeup-mask:
  41. description:
  42. A one cell big bit mask of interrupt sources that can be configured
  43. as wake up source for the system. Order of bits is the same as for
  44. valid-mask property. A set bit means that this interrupt source
  45. can be configured as a wake up source for the system. If unspecied,
  46. defaults to all interrupt sources configurable as wake up sources.
  47. $ref: /schemas/types.yaml#/definitions/uint32
  48. required:
  49. - compatible
  50. - reg
  51. - interrupt-controller
  52. - "#interrupt-cells"
  53. additionalProperties: false
  54. examples:
  55. - |
  56. // PL192 VIC
  57. vic0: interrupt-controller@60000 {
  58. compatible = "arm,pl192-vic";
  59. interrupt-controller;
  60. #interrupt-cells = <1>;
  61. reg = <0x60000 0x1000>;
  62. valid-mask = <0xffffff7f>;
  63. valid-wakeup-mask = <0x0000ff7f>;
  64. };
  65. ...