# SPDX-License-Identifier: GPL-2.0 %YAML 1.2 --- $id: http://devicetree.org/schemas/interrupt-controller/arm,vic.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: ARM Vectored Interrupt Controller maintainers: - Rob Herring <robh@kernel.org> description: |+ One or more Vectored Interrupt Controllers (VIC's) can be connected in an ARM system for interrupt routing. For multiple controllers they can either be nested or have the outputs wire-OR'd together. allOf: - $ref: /schemas/interrupt-controller.yaml# properties: compatible: enum: - arm,pl190-vic - arm,pl192-vic - arm,versatile-vic interrupt-controller: true "#interrupt-cells": const: 1 description: The number of cells to define the interrupts. It must be 1 as the VIC has no configuration options for interrupt sources. The single cell defines the interrupt number. reg: maxItems: 1 interrupts: maxItems: 1 valid-mask: description: A one cell big bit mask of valid interrupt sources. Each bit represents single interrupt source, starting from source 0 at LSb and ending at source 31 at MSb. A bit that is set means that the source is wired and clear means otherwise. If unspecified, defaults to all valid. $ref: /schemas/types.yaml#/definitions/uint32 valid-wakeup-mask: description: A one cell big bit mask of interrupt sources that can be configured as wake up source for the system. Order of bits is the same as for valid-mask property. A set bit means that this interrupt source can be configured as a wake up source for the system. If unspecied, defaults to all interrupt sources configurable as wake up sources. $ref: /schemas/types.yaml#/definitions/uint32 required: - compatible - reg - interrupt-controller - "#interrupt-cells" additionalProperties: false examples: - | // PL192 VIC vic0: interrupt-controller@60000 { compatible = "arm,pl192-vic"; interrupt-controller; #interrupt-cells = <1>; reg = <0x60000 0x1000>; valid-mask = <0xffffff7f>; valid-wakeup-mask = <0x0000ff7f>; }; ...