# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/interrupt-controller/atmel,aic.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Advanced Interrupt Controller (AIC) maintainers: - Nicolas Ferre - Dharma balasubiramani description: The Advanced Interrupt Controller (AIC) is an 8-level priority, individually maskable, vectored interrupt controller providing handling of up to one hundred and twenty-eight interrupt sources. properties: compatible: enum: - atmel,at91rm9200-aic - atmel,sama5d2-aic - atmel,sama5d3-aic - atmel,sama5d4-aic - microchip,sam9x60-aic reg: maxItems: 1 interrupt-controller: true "#interrupt-cells": const: 3 description: | The 1st cell is the IRQ number (Peripheral IDentifier on datasheet). The 2nd cell specifies flags: bits[3:0] trigger type and level flags: 1 = low-to-high edge triggered. 2 = high-to-low edge triggered. 4 = active high level-sensitive. 8 = active low level-sensitive. Valid combinations: 1, 2, 3, 4, 8. Default for internal sources: 4 (active high). The 3rd cell specifies irq priority from 0 (lowest) to 7 (highest). interrupts: maxItems: 1 atmel,external-irqs: $ref: /schemas/types.yaml#/definitions/uint32-array description: u32 array of external irqs. allOf: - $ref: /schemas/interrupt-controller.yaml# - if: properties: compatible: contains: const: atmel,at91rm9200-aic then: properties: atmel,external-irqs: minItems: 1 maxItems: 7 else: properties: atmel,external-irqs: minItems: 1 maxItems: 1 required: - compatible - reg - interrupt-controller - "#interrupt-cells" - atmel,external-irqs unevaluatedProperties: false examples: - | interrupt-controller@fffff000 { compatible = "atmel,at91rm9200-aic"; reg = <0xfffff000 0x200>; interrupt-controller; #interrupt-cells = <3>; atmel,external-irqs = <31>; }; ...