xref: /linux/Documentation/devicetree/bindings/interrupt-controller/ti,keystone-irq.txt (revision 89323f8c504a8653c66fe4a314723b36b07e29e1)
1*89323f8cSGrygorii StrashkoKeystone 2 IRQ controller IP
2*89323f8cSGrygorii Strashko
3*89323f8cSGrygorii StrashkoOn Keystone SOCs, DSP cores can send interrupts to ARM
4*89323f8cSGrygorii Strashkohost using the IRQ controller IP. It provides 28 IRQ signals to ARM.
5*89323f8cSGrygorii StrashkoThe IRQ handler running on HOST OS can identify DSP signal source by
6*89323f8cSGrygorii Strashkoanalyzing SRCCx bits in IPCARx registers. This is one of the component
7*89323f8cSGrygorii Strashkoused by the IPC mechanism used on Keystone SOCs.
8*89323f8cSGrygorii Strashko
9*89323f8cSGrygorii StrashkoRequired Properties:
10*89323f8cSGrygorii Strashko- compatible: should be "ti,keystone-irq"
11*89323f8cSGrygorii Strashko- ti,syscon-dev : phandle and offset pair. The phandle to syscon used to
12*89323f8cSGrygorii Strashko			access device control registers and the offset inside
13*89323f8cSGrygorii Strashko			device control registers range.
14*89323f8cSGrygorii Strashko- interrupt-controller : Identifies the node as an interrupt controller
15*89323f8cSGrygorii Strashko- #interrupt-cells : Specifies the number of cells needed to encode interrupt
16*89323f8cSGrygorii Strashko					 source should be 1.
17*89323f8cSGrygorii Strashko- interrupts: interrupt reference to primary interrupt controller
18*89323f8cSGrygorii Strashko
19*89323f8cSGrygorii StrashkoPlease refer to interrupts.txt in this directory for details of the common
20*89323f8cSGrygorii StrashkoInterrupt Controllers bindings used by client devices.
21*89323f8cSGrygorii Strashko
22*89323f8cSGrygorii StrashkoExample:
23*89323f8cSGrygorii Strashko	kirq0: keystone_irq0@026202a0 {
24*89323f8cSGrygorii Strashko		compatible = "ti,keystone-irq";
25*89323f8cSGrygorii Strashko		ti,syscon-dev = <&devctrl 0x2a0>;
26*89323f8cSGrygorii Strashko		interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
27*89323f8cSGrygorii Strashko		interrupt-controller;
28*89323f8cSGrygorii Strashko		#interrupt-cells = <1>;
29*89323f8cSGrygorii Strashko	};
30*89323f8cSGrygorii Strashko
31*89323f8cSGrygorii Strashko	dsp0: dsp0 {
32*89323f8cSGrygorii Strashko		compatible = "linux,rproc-user";
33*89323f8cSGrygorii Strashko		...
34*89323f8cSGrygorii Strashko		interrupt-parent = <&kirq0>;
35*89323f8cSGrygorii Strashko		interrupts = <10 2>;
36*89323f8cSGrygorii Strashko	};
37