xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun* Advanced Interrupt Controller (AIC)
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunRequired properties:
4*4882a593Smuzhiyun- compatible: Should be:
5*4882a593Smuzhiyun    - "atmel,<chip>-aic" where  <chip> can be "at91rm9200", "sama5d2",
6*4882a593Smuzhiyun      "sama5d3" or "sama5d4"
7*4882a593Smuzhiyun    - "microchip,<chip>-aic" where <chip> can be "sam9x60"
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun- interrupt-controller: Identifies the node as an interrupt controller.
10*4882a593Smuzhiyun- #interrupt-cells: The number of cells to define the interrupts. It should be 3.
11*4882a593Smuzhiyun  The first cell is the IRQ number (aka "Peripheral IDentifier" on datasheet).
12*4882a593Smuzhiyun  The second cell is used to specify flags:
13*4882a593Smuzhiyun    bits[3:0] trigger type and level flags:
14*4882a593Smuzhiyun      1 = low-to-high edge triggered.
15*4882a593Smuzhiyun      2 = high-to-low edge triggered.
16*4882a593Smuzhiyun      4 = active high level-sensitive.
17*4882a593Smuzhiyun      8 = active low level-sensitive.
18*4882a593Smuzhiyun      Valid combinations are 1, 2, 3, 4, 8.
19*4882a593Smuzhiyun      Default flag for internal sources should be set to 4 (active high).
20*4882a593Smuzhiyun  The third cell is used to specify the irq priority from 0 (lowest) to 7
21*4882a593Smuzhiyun  (highest).
22*4882a593Smuzhiyun- reg: Should contain AIC registers location and length
23*4882a593Smuzhiyun- atmel,external-irqs: u32 array of external irqs.
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunExamples:
26*4882a593Smuzhiyun	/*
27*4882a593Smuzhiyun	 * AIC
28*4882a593Smuzhiyun	 */
29*4882a593Smuzhiyun	aic: interrupt-controller@fffff000 {
30*4882a593Smuzhiyun		compatible = "atmel,at91rm9200-aic";
31*4882a593Smuzhiyun		interrupt-controller;
32*4882a593Smuzhiyun		#interrupt-cells = <3>;
33*4882a593Smuzhiyun		reg = <0xfffff000 0x200>;
34*4882a593Smuzhiyun	};
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun	/*
37*4882a593Smuzhiyun	 * An interrupt generating device that is wired to an AIC.
38*4882a593Smuzhiyun	 */
39*4882a593Smuzhiyun	dma: dma-controller@ffffec00 {
40*4882a593Smuzhiyun		compatible = "atmel,at91sam9g45-dma";
41*4882a593Smuzhiyun		reg = <0xffffec00 0x200>;
42*4882a593Smuzhiyun		interrupts = <21 4 5>;
43*4882a593Smuzhiyun	};
44