| # 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>; |
| }; |
| |
| ... |