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