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