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