0001 * Advanced Interrupt Controller (AIC)
0002
0003 Required properties:
0004 - compatible: Should be:
0005 - "atmel,<chip>-aic" where <chip> can be "at91rm9200", "sama5d2",
0006 "sama5d3" or "sama5d4"
0007 - "microchip,<chip>-aic" where <chip> can be "sam9x60"
0008
0009 - interrupt-controller: Identifies the node as an interrupt controller.
0010 - #interrupt-cells: The number of cells to define the interrupts. It should be 3.
0011 The first cell is the IRQ number (aka "Peripheral IDentifier" on datasheet).
0012 The second cell is used to specify flags:
0013 bits[3:0] trigger type and level flags:
0014 1 = low-to-high edge triggered.
0015 2 = high-to-low edge triggered.
0016 4 = active high level-sensitive.
0017 8 = active low level-sensitive.
0018 Valid combinations are 1, 2, 3, 4, 8.
0019 Default flag for internal sources should be set to 4 (active high).
0020 The third cell is used to specify the irq priority from 0 (lowest) to 7
0021 (highest).
0022 - reg: Should contain AIC registers location and length
0023 - atmel,external-irqs: u32 array of external irqs.
0024
0025 Examples:
0026 /*
0027 * AIC
0028 */
0029 aic: interrupt-controller@fffff000 {
0030 compatible = "atmel,at91rm9200-aic";
0031 interrupt-controller;
0032 #interrupt-cells = <3>;
0033 reg = <0xfffff000 0x200>;
0034 };
0035
0036 /*
0037 * An interrupt generating device that is wired to an AIC.
0038 */
0039 dma: dma-controller@ffffec00 {
0040 compatible = "atmel,at91sam9g45-dma";
0041 reg = <0xffffec00 0x200>;
0042 interrupts = <21 4 5>;
0043 };