2011-11-22 21:26:09 +00:00
|
|
|
* Advanced Interrupt Controller (AIC)
|
|
|
|
|
|
|
|
Required properties:
|
|
|
|
- compatible: Should be "atmel,<chip>-aic"
|
2015-06-18 13:07:35 +00:00
|
|
|
<chip> can be "at91rm9200", "sama5d2", "sama5d3" or "sama5d4"
|
2011-11-22 21:26:09 +00:00
|
|
|
- interrupt-controller: Identifies the node as an interrupt controller.
|
|
|
|
- interrupt-parent: For single AIC system, it is an empty property.
|
2013-01-14 06:14:56 +00:00
|
|
|
- #interrupt-cells: The number of cells to define the interrupts. It should be 3.
|
2011-11-22 21:26:09 +00:00
|
|
|
The first cell is the IRQ number (aka "Peripheral IDentifier" on datasheet).
|
|
|
|
The second cell is used to specify 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 are 1, 2, 3, 4, 8.
|
|
|
|
Default flag for internal sources should be set to 4 (active high).
|
2012-06-20 14:13:30 +00:00
|
|
|
The third cell is used to specify the irq priority from 0 (lowest) to 7
|
|
|
|
(highest).
|
2011-11-22 21:26:09 +00:00
|
|
|
- reg: Should contain AIC registers location and length
|
2012-04-09 11:36:36 +00:00
|
|
|
- atmel,external-irqs: u32 array of external irqs.
|
2011-11-22 21:26:09 +00:00
|
|
|
|
|
|
|
Examples:
|
|
|
|
/*
|
|
|
|
* AIC
|
|
|
|
*/
|
|
|
|
aic: interrupt-controller@fffff000 {
|
|
|
|
compatible = "atmel,at91rm9200-aic";
|
|
|
|
interrupt-controller;
|
|
|
|
interrupt-parent;
|
2012-06-20 14:13:30 +00:00
|
|
|
#interrupt-cells = <3>;
|
2011-11-22 21:26:09 +00:00
|
|
|
reg = <0xfffff000 0x200>;
|
|
|
|
};
|
|
|
|
|
|
|
|
/*
|
|
|
|
* An interrupt generating device that is wired to an AIC.
|
|
|
|
*/
|
|
|
|
dma: dma-controller@ffffec00 {
|
|
|
|
compatible = "atmel,at91sam9g45-dma";
|
|
|
|
reg = <0xffffec00 0x200>;
|
2012-06-20 14:13:30 +00:00
|
|
|
interrupts = <21 4 5>;
|
2011-11-22 21:26:09 +00:00
|
|
|
};
|