Re: [PATCH v4 4/5] irqchip/irq-pruss-intc: Implement irq_{get,set}_irqchip_state ops
From: David Lechner <david@lechnology.com>
Date: 2020-07-29 19:23:56
Also in:
linux-devicetree, linux-omap, lkml
From: David Lechner <david@lechnology.com>
Date: 2020-07-29 19:23:56
Also in:
linux-devicetree, linux-omap, lkml
On 7/28/20 4:18 AM, Grzegorz Jaszczyk wrote:
From: David Lechner <david@lechnology.com> This implements the irq_get_irqchip_state and irq_set_irqchip_state callbacks for the TI PRUSS INTC driver. The set callback can be used by drivers to "kick" a PRU by injecting a PRU system event. Example:
We could improve this example by showing a device tree node of a
firmware-defined device implemented in the PRU:
/* Software-defined UART in PRU */
pru_uart: serial@XXXX {
compatible = "ti,pru-uart";
...
interrupt-parent = <&pruss_intc>;
/* PRU system event 31, channel 0, host event 0 */
interrupts = <31 0 0>, ...;
interrupt-names = "kick", ...;
...
},
Then driver would request the IRQ during probe:
data->kick_irq = of_irq_get_byname(dev, "kick");
if (data->kick_irq < 0)
...
And later the driver would use the IRQ to kick the PRU:
irq_set_irqchip_state(data->kick_irq, IRQCHIP_STATE_PENDING, true);
irq_set_irqchip_state(irq, IRQCHIP_STATE_PENDING, true); Signed-off-by: David Lechner <david@lechnology.com> Signed-off-by: Suman Anna <redacted> Signed-off-by: Grzegorz Jaszczyk <redacted> Reviewed-by: Lee Jones <redacted> ---
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel