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