blob: 03b39f4b1625b1604c767cc54711745832a5de7a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
Xilinx Interrupt Controller
The controller is a soft IP core that is configured at build time for the
number of interrupts and the type of each interrupt. These details cannot
be changed at run time.
Required properties:
- compatible : should be "xlnx,xps-intc-1.00.a"
- reg : Specifies base physical address and size of the registers.
- interrupt-controller : Identifies the node as an interrupt controller
- #interrupt-cells : Specifies the number of cells needed to encode an
interrupt source. The value shall be a minimum of 1.
The Xilinx device trees typically use 2 but the 2nd value
is not used.
- xlnx,kind-of-intr : A 32 bit value specifying the interrupt type for each
possible interrupt (1 = edge, 0 = level). The interrupt
type typically comes in thru the device tree node of
the interrupt generating device, but in this case
the interrupt type is determined by the interrupt
controller based on how it was implemented.
- xlnx,num-intr-inputs: Specifies the number of interrupts supported
by the specific implementation of the controller (1-32).
Optional properties:
- interrupt-parent : Specifies an interrupt controller from which it is
chained (cascaded).
- interrupts : Specifies the interrupt of the parent controller from which
it is chained.
Example:
axi_intc_0: interrupt-controller@41800000 {
#interrupt-cells = <2>;
compatible = "xlnx,xps-intc-1.00.a";
interrupt-controller;
reg = <0x41800000 0x10000>;
xlnx,kind-of-intr = <0x1>;
xlnx,num-intr-inputs = <0x1>;
};
Chained Example:
The interrupt is chained to hardware interrupt 61 (29 + 32) of the GIC
for Zynq.
axi_intc_0: interrupt-controller@41800000 {
#interrupt-cells = <2>;
compatible = "xlnx,xps-intc-1.00.a";
interrupt-controller;
interrupt-parent = <&ps7_scugic_0>;
interrupts = <0 29 4>;
reg = <0x41800000 0x10000>;
xlnx,kind-of-intr = <0x1>;
xlnx,num-intr-inputs = <0x1>;
};
|