xref: /freebsd/sys/contrib/device-tree/Bindings/interrupt-controller/csky,mpintc.txt (revision f81cdf24ba5436367377f7c8e8f51f6df2a75ca7)
1===========================================
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	};
53