91 lines
2.2 KiB
YAML
91 lines
2.2 KiB
YAML
# 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
|
|
- microchip,sam9x7-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>;
|
|
};
|
|
...
|