blob: 0e9f09a6a2fe488ca11aa9be2823789f0d63baa7 [file] [log] [blame]
Nicolas Ferree2615012011-11-22 22:26:09 +01001* Advanced Interrupt Controller (AIC)
2
3Required properties:
4- compatible: Should be "atmel,<chip>-aic"
Nicolas Ferre62a993d2015-06-18 15:07:35 +02005 <chip> can be "at91rm9200", "sama5d2", "sama5d3" or "sama5d4"
Nicolas Ferree2615012011-11-22 22:26:09 +01006- interrupt-controller: Identifies the node as an interrupt controller.
7- interrupt-parent: For single AIC system, it is an empty property.
Masanari Iidaf21ccfa2013-01-14 15:14:56 +09008- #interrupt-cells: The number of cells to define the interrupts. It should be 3.
Nicolas Ferree2615012011-11-22 22:26:09 +01009 The first cell is the IRQ number (aka "Peripheral IDentifier" on datasheet).
10 The second cell is used to specify flags:
11 bits[3:0] trigger type and level flags:
12 1 = low-to-high edge triggered.
13 2 = high-to-low edge triggered.
14 4 = active high level-sensitive.
15 8 = active low level-sensitive.
16 Valid combinations are 1, 2, 3, 4, 8.
17 Default flag for internal sources should be set to 4 (active high).
Ludovic Desrochesf8a073e2012-06-20 16:13:30 +020018 The third cell is used to specify the irq priority from 0 (lowest) to 7
19 (highest).
Nicolas Ferree2615012011-11-22 22:26:09 +010020- reg: Should contain AIC registers location and length
Jean-Christophe PLAGNIOL-VILLARDc6573942012-04-09 19:36:36 +080021- atmel,external-irqs: u32 array of external irqs.
Nicolas Ferree2615012011-11-22 22:26:09 +010022
23Examples:
24 /*
25 * AIC
26 */
27 aic: interrupt-controller@fffff000 {
28 compatible = "atmel,at91rm9200-aic";
29 interrupt-controller;
30 interrupt-parent;
Ludovic Desrochesf8a073e2012-06-20 16:13:30 +020031 #interrupt-cells = <3>;
Nicolas Ferree2615012011-11-22 22:26:09 +010032 reg = <0xfffff000 0x200>;
33 };
34
35 /*
36 * An interrupt generating device that is wired to an AIC.
37 */
38 dma: dma-controller@ffffec00 {
39 compatible = "atmel,at91sam9g45-dma";
40 reg = <0xffffec00 0x200>;
Ludovic Desrochesf8a073e2012-06-20 16:13:30 +020041 interrupts = <21 4 5>;
Nicolas Ferree2615012011-11-22 22:26:09 +010042 };