mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.4 KiB
43 lines
1.4 KiB
* Advanced Interrupt Controller (AIC) |
|
|
|
Required properties: |
|
- compatible: Should be: |
|
- "atmel,<chip>-aic" where <chip> can be "at91rm9200", "sama5d2", |
|
"sama5d3" or "sama5d4" |
|
- "microchip,<chip>-aic" where <chip> can be "sam9x60" |
|
|
|
- interrupt-controller: Identifies the node as an interrupt controller. |
|
- #interrupt-cells: The number of cells to define the interrupts. It should be 3. |
|
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). |
|
The third cell is used to specify the irq priority from 0 (lowest) to 7 |
|
(highest). |
|
- reg: Should contain AIC registers location and length |
|
- atmel,external-irqs: u32 array of external irqs. |
|
|
|
Examples: |
|
/* |
|
* AIC |
|
*/ |
|
aic: interrupt-controller@fffff000 { |
|
compatible = "atmel,at91rm9200-aic"; |
|
interrupt-controller; |
|
#interrupt-cells = <3>; |
|
reg = <0xfffff000 0x200>; |
|
}; |
|
|
|
/* |
|
* An interrupt generating device that is wired to an AIC. |
|
*/ |
|
dma: dma-controller@ffffec00 { |
|
compatible = "atmel,at91sam9g45-dma"; |
|
reg = <0xffffec00 0x200>; |
|
interrupts = <21 4 5>; |
|
};
|
|
|