| # 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 <nicolas.ferre@microchip.com> |
| - Dharma balasubiramani <dharma.b@microchip.com> |
| |
| 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>; |
| }; |
| ... |