blob: e6bbcae4d07fb21b595259e4289f154d45b7913f [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001===========================================
2C-SKY Multi-processors Interrupt Controller
3===========================================
4
5C-SKY Multi-processors Interrupt Controller is designed for ck807/ck810/ck860
6SMP soc, and it also could be used in non-SMP system.
7
8Interrupt number definition:
9 0-15 : software irq, and we use 15 as our IPI_IRQ.
10 16-31 : private irq, and we use 16 as the co-processor timer.
11 31-1024: common irq for soc ip.
12
13Interrupt trigger mode: (Defined in dt-bindings/interrupt-controller/irq.h)
14 IRQ_TYPE_LEVEL_HIGH (default)
15 IRQ_TYPE_LEVEL_LOW
16 IRQ_TYPE_EDGE_RISING
17 IRQ_TYPE_EDGE_FALLING
18
19=============================
20intc node bindings definition
21=============================
22
23 Description: Describes SMP interrupt controller
24
25 PROPERTIES
26
27 - compatible
28 Usage: required
29 Value type: <string>
30 Definition: must be "csky,mpintc"
31 - #interrupt-cells
32 Usage: required
33 Value type: <u32>
34 Definition: <2>
35 - interrupt-controller:
36 Usage: required
37
38Examples: ("interrupts = <irq_num IRQ_TYPE_XXX>")
39---------
40#include <dt-bindings/interrupt-controller/irq.h>
41
42 intc: interrupt-controller {
43 compatible = "csky,mpintc";
44 #interrupt-cells = <2>;
45 interrupt-controller;
46 };
47
48 device: device-example {
49 ...
50 interrupts = <34 IRQ_TYPE_EDGE_RISING>;
51 interrupt-parent = <&intc>;
52 };