162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/interrupt-controller/arm,vic.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: ARM Vectored Interrupt Controller
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Rob Herring <robh@kernel.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |+
1362306a36Sopenharmony_ci  One or more Vectored Interrupt Controllers (VIC's) can be connected in an
1462306a36Sopenharmony_ci  ARM system for interrupt routing.  For multiple controllers they can either
1562306a36Sopenharmony_ci  be nested or have the outputs wire-OR'd together.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciallOf:
1862306a36Sopenharmony_ci  - $ref: /schemas/interrupt-controller.yaml#
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciproperties:
2162306a36Sopenharmony_ci  compatible:
2262306a36Sopenharmony_ci    enum:
2362306a36Sopenharmony_ci      - arm,pl190-vic
2462306a36Sopenharmony_ci      - arm,pl192-vic
2562306a36Sopenharmony_ci      - arm,versatile-vic
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci  interrupt-controller: true
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  "#interrupt-cells":
3062306a36Sopenharmony_ci    const: 1
3162306a36Sopenharmony_ci    description:
3262306a36Sopenharmony_ci      The number of cells to define the interrupts.  It must be 1 as the
3362306a36Sopenharmony_ci      VIC has no configuration options for interrupt sources. The single
3462306a36Sopenharmony_ci      cell defines the interrupt number.
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci  reg:
3762306a36Sopenharmony_ci    maxItems: 1
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  interrupts:
4062306a36Sopenharmony_ci    maxItems: 1
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci  valid-mask:
4362306a36Sopenharmony_ci    description:
4462306a36Sopenharmony_ci      A one cell big bit mask of valid interrupt sources. Each bit
4562306a36Sopenharmony_ci      represents single interrupt source, starting from source 0 at
4662306a36Sopenharmony_ci      LSb and ending at source 31 at MSb. A bit that is set means
4762306a36Sopenharmony_ci      that the source is wired and clear means otherwise. If unspecified,
4862306a36Sopenharmony_ci      defaults to all valid.
4962306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci  valid-wakeup-mask:
5262306a36Sopenharmony_ci    description:
5362306a36Sopenharmony_ci      A one cell big bit mask of interrupt sources that can be configured
5462306a36Sopenharmony_ci      as wake up source for the system. Order of bits is the same as for
5562306a36Sopenharmony_ci      valid-mask property. A set bit means that this interrupt source
5662306a36Sopenharmony_ci      can be configured as a wake up source for the system. If unspecied,
5762306a36Sopenharmony_ci      defaults to all interrupt sources configurable as wake up sources.
5862306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_cirequired:
6162306a36Sopenharmony_ci  - compatible
6262306a36Sopenharmony_ci  - reg
6362306a36Sopenharmony_ci  - interrupt-controller
6462306a36Sopenharmony_ci  - "#interrupt-cells"
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ciadditionalProperties: false
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ciexamples:
6962306a36Sopenharmony_ci  - |
7062306a36Sopenharmony_ci    // PL192 VIC
7162306a36Sopenharmony_ci    vic0: interrupt-controller@60000 {
7262306a36Sopenharmony_ci      compatible = "arm,pl192-vic";
7362306a36Sopenharmony_ci      interrupt-controller;
7462306a36Sopenharmony_ci      #interrupt-cells = <1>;
7562306a36Sopenharmony_ci      reg = <0x60000 0x1000>;
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci      valid-mask = <0xffffff7f>;
7862306a36Sopenharmony_ci      valid-wakeup-mask = <0x0000ff7f>;
7962306a36Sopenharmony_ci    };
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci...
82