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