1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/interrupt-controller/atmel,aic.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Advanced Interrupt Controller (AIC) 8 9maintainers: 10 - Nicolas Ferre <nicolas.ferre@microchip.com> 11 - Dharma balasubiramani <dharma.b@microchip.com> 12 13description: 14 The Advanced Interrupt Controller (AIC) is an 8-level priority, individually 15 maskable, vectored interrupt controller providing handling of up to one 16 hundred and twenty-eight interrupt sources. 17 18properties: 19 compatible: 20 enum: 21 - atmel,at91rm9200-aic 22 - atmel,sama5d2-aic 23 - atmel,sama5d3-aic 24 - atmel,sama5d4-aic 25 - microchip,sam9x60-aic 26 27 reg: 28 maxItems: 1 29 30 interrupt-controller: true 31 32 "#interrupt-cells": 33 const: 3 34 description: | 35 The 1st cell is the IRQ number (Peripheral IDentifier on datasheet). 36 The 2nd cell specifies flags: 37 bits[3:0] trigger type and level flags: 38 1 = low-to-high edge triggered. 39 2 = high-to-low edge triggered. 40 4 = active high level-sensitive. 41 8 = active low level-sensitive. 42 Valid combinations: 1, 2, 3, 4, 8. 43 Default for internal sources: 4 (active high). 44 The 3rd cell specifies irq priority from 0 (lowest) to 7 (highest). 45 46 interrupts: 47 maxItems: 1 48 49 atmel,external-irqs: 50 $ref: /schemas/types.yaml#/definitions/uint32-array 51 description: u32 array of external irqs. 52 53allOf: 54 - $ref: /schemas/interrupt-controller.yaml# 55 - if: 56 properties: 57 compatible: 58 contains: 59 const: atmel,at91rm9200-aic 60 then: 61 properties: 62 atmel,external-irqs: 63 minItems: 1 64 maxItems: 7 65 else: 66 properties: 67 atmel,external-irqs: 68 minItems: 1 69 maxItems: 1 70 71required: 72 - compatible 73 - reg 74 - interrupt-controller 75 - "#interrupt-cells" 76 - atmel,external-irqs 77 78unevaluatedProperties: false 79 80examples: 81 - | 82 interrupt-controller@fffff000 { 83 compatible = "atmel,at91rm9200-aic"; 84 reg = <0xfffff000 0x200>; 85 interrupt-controller; 86 #interrupt-cells = <3>; 87 atmel,external-irqs = <31>; 88 }; 89... 90