xref: /linux/Documentation/devicetree/bindings/interrupt-controller/arm,versatile-fpga-irq.yaml (revision bf373e4c786bfe989e637195252698f45b157a68)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/interrupt-controller/arm,versatile-fpga-irq.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: ARM Versatile FPGA IRQ Controller
8
9maintainers:
10  - Linus Walleij <linus.walleij@linaro.org>
11
12description:
13  One or more FPGA IRQ controllers can be synthesized in an ARM reference board
14  such as the Integrator or Versatile family. The output of these different
15  controllers are OR:ed together and fed to the CPU tile's IRQ input. Each
16  instance can handle up to 32 interrupts.
17
18properties:
19  compatible:
20    const: arm,versatile-fpga-irq
21
22  interrupt-controller: true
23
24  '#interrupt-cells':
25    const: 1
26
27  reg:
28    maxItems: 1
29
30  clear-mask:
31    description: A mask written to clear all IRQs on the controller at boot.
32    $ref: /schemas/types.yaml#/definitions/uint32
33
34  valid-mask:
35    description:
36      A bit mask determining which interrupts are valid; unused lines are set to 0.
37    $ref: /schemas/types.yaml#/definitions/uint32
38
39  interrupts:
40    maxItems: 1
41
42additionalProperties: false
43
44required:
45  - compatible
46  - interrupt-controller
47  - '#interrupt-cells'
48  - reg
49  - clear-mask
50  - valid-mask
51
52examples:
53  - |
54    interrupt-controller@14000000 {
55        compatible = "arm,versatile-fpga-irq";
56        #interrupt-cells = <1>;
57        interrupt-controller;
58        reg = <0x14000000 0x100>;
59        clear-mask = <0xffffffff>;
60        valid-mask = <0x003fffff>;
61    };
62