On Wed, 29 Jul 2020 at 21:23, David Lechner <david@xxxxxxxxxxxxxx> wrote: > > On 7/28/20 4:18 AM, Grzegorz Jaszczyk wrote: > > From: David Lechner <david@xxxxxxxxxxxxxx> > > > > 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); > > We could but I am not sure if this kind of complex example should land in the commit log. Marc could you please comment how you want to see this? Thank you, Grzegorz