blob: 0075e72fe8c16a83f2914f9cbca87f60f52eab1d [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
7title: ARM Vectored Interrupt Controller
8
9maintainers:
10 - Rob Herring <robh@kernel.org>
11
12description: |+
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
17allOf:
18 - $ref: /schemas/interrupt-controller.yaml#
19
20properties:
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
60required:
61 - compatible
62 - reg
63 - interrupt-controller
64 - "#interrupt-cells"
65
66additionalProperties: false
67
68examples:
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...