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 - microchip,sam9x7-aic 27 28 reg: 29 maxItems: 1 30 31 interrupt-controller: true 32 33 "#interrupt-cells": 34 const: 3 35 description: | 36 The 1st cell is the IRQ number (Peripheral IDentifier on datasheet). 37 The 2nd cell specifies flags: 38 bits[3:0] trigger type and level flags: 39 1 = low-to-high edge triggered. 40 2 = high-to-low edge triggered. 41 4 = active high level-sensitive. 42 8 = active low level-sensitive. 43 Valid combinations: 1, 2, 3, 4, 8. 44 Default for internal sources: 4 (active high). 45 The 3rd cell specifies irq priority from 0 (lowest) to 7 (highest). 46 47 interrupts: 48 maxItems: 1 49 50 atmel,external-irqs: 51 $ref: /schemas/types.yaml#/definitions/uint32-array 52 description: u32 array of external irqs. 53 54allOf: 55 - $ref: /schemas/interrupt-controller.yaml# 56 - if: 57 properties: 58 compatible: 59 contains: 60 const: atmel,at91rm9200-aic 61 then: 62 properties: 63 atmel,external-irqs: 64 minItems: 1 65 maxItems: 7 66 else: 67 properties: 68 atmel,external-irqs: 69 minItems: 1 70 maxItems: 1 71 72required: 73 - compatible 74 - reg 75 - interrupt-controller 76 - "#interrupt-cells" 77 - atmel,external-irqs 78 79unevaluatedProperties: false 80 81examples: 82 - | 83 interrupt-controller@fffff000 { 84 compatible = "atmel,at91rm9200-aic"; 85 reg = <0xfffff000 0x200>; 86 interrupt-controller; 87 #interrupt-cells = <3>; 88 atmel,external-irqs = <31>; 89 }; 90... 91