1# 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... 82