xref: /linux/Documentation/devicetree/bindings/interrupt-controller/ti,keystone-irq.txt (revision 664b0bae0b87f69bc9deb098f5e0158b9cf18e04)
189323f8cSGrygorii StrashkoKeystone 2 IRQ controller IP
289323f8cSGrygorii Strashko
389323f8cSGrygorii StrashkoOn Keystone SOCs, DSP cores can send interrupts to ARM
489323f8cSGrygorii Strashkohost using the IRQ controller IP. It provides 28 IRQ signals to ARM.
589323f8cSGrygorii StrashkoThe IRQ handler running on HOST OS can identify DSP signal source by
689323f8cSGrygorii Strashkoanalyzing SRCCx bits in IPCARx registers. This is one of the component
789323f8cSGrygorii Strashkoused by the IPC mechanism used on Keystone SOCs.
889323f8cSGrygorii Strashko
989323f8cSGrygorii StrashkoRequired Properties:
1089323f8cSGrygorii Strashko- compatible: should be "ti,keystone-irq"
1189323f8cSGrygorii Strashko- ti,syscon-dev : phandle and offset pair. The phandle to syscon used to
1289323f8cSGrygorii Strashko			access device control registers and the offset inside
1389323f8cSGrygorii Strashko			device control registers range.
1489323f8cSGrygorii Strashko- interrupt-controller : Identifies the node as an interrupt controller
1589323f8cSGrygorii Strashko- #interrupt-cells : Specifies the number of cells needed to encode interrupt
1689323f8cSGrygorii Strashko					 source should be 1.
1789323f8cSGrygorii Strashko- interrupts: interrupt reference to primary interrupt controller
1889323f8cSGrygorii Strashko
1989323f8cSGrygorii StrashkoPlease refer to interrupts.txt in this directory for details of the common
2089323f8cSGrygorii StrashkoInterrupt Controllers bindings used by client devices.
2189323f8cSGrygorii Strashko
2289323f8cSGrygorii StrashkoExample:
23*48c926cdSMarco Franchi	kirq0: keystone_irq0@26202a0 {
2489323f8cSGrygorii Strashko		compatible = "ti,keystone-irq";
2589323f8cSGrygorii Strashko		ti,syscon-dev = <&devctrl 0x2a0>;
2689323f8cSGrygorii Strashko		interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
2789323f8cSGrygorii Strashko		interrupt-controller;
2889323f8cSGrygorii Strashko		#interrupt-cells = <1>;
2989323f8cSGrygorii Strashko	};
3089323f8cSGrygorii Strashko
3189323f8cSGrygorii Strashko	dsp0: dsp0 {
3289323f8cSGrygorii Strashko		compatible = "linux,rproc-user";
3389323f8cSGrygorii Strashko		...
3489323f8cSGrygorii Strashko		interrupt-parent = <&kirq0>;
3589323f8cSGrygorii Strashko		interrupts = <10 2>;
3689323f8cSGrygorii Strashko	};
37