Re: [Q] zynqmp-ipi-mailbox and SGI interrupts
From: Sudeep Holla
Date: Mon Oct 19 2026 - 06:13:11 EST
On Fri, Oct 16, 2026 at 11:10:29AM -0500, Shah, Tanmay wrote:
> Hello,
>
> Thank you for your email, please find my response below:
>
> On 10/15/2026 3:39 AM, Sebastian Andrzej Siewior wrote:
> > Hi,
> >
> > The ZynqMP IPI Mailbox driver supports two bindings of which
> > xlnx,versal-ipi-mailbox is not present in any kernel dts file and
>
> This new bindings are for Versal and later SoCs which has buffer-less
> IPI. It supports only notification to the other core without any data
> transfer. The device-tree nodes may not be available in the upstream
> kernel yet, but it is used by other consumers. Here is an example:
>
> https://github.com/Xilinx/u-boot-xlnx/blob/master/arch/arm/dts/versal-net-vn-x-b2197-01-revA.dts#L100
>
>
> > xlnx,zynqmp-ipi-mailbox is used in two .dtsi files.
> > For the per-CPU interrupts the irq-type should be 2 (which would
> > correspond with GIC_ESPI in the dts, no?) which I can't find.
> > Before the IPI_IRQ_TYPE_SGI it used to check for the value less than 16
> > I also can't find this in the two available dts file.
> > I did browse over the "AMD Versal Virt" but it also looks not present.
> >
> > My question is whether this is used or just a development step that
> > never got somewhere.
>
> No, it is the actual use case supported by the driver. Just the
> device-tree node is not in the upstream kernel, because it is usually
> project/vendor/consumer specific.
>
> > My guess is that the device tree here is preconfigured from the boot
> > firmware.
>
> Yes.
>
> > So is this SGI-IPI a thing or not?
> >
>
> Yes it is. Ideally, TF-A and Linux can share the IPI. If the IPI
> interrupt is used by the TF-A and the expectation is that Linux mailbox
> work on the same IPI (because all other IPIs are busy) then the work
> around is, TF-A will generate SGI for the linux mbox driver, and the
> mbox driver will use that SGI via device-tree.
>
> It is a vendor specific use case. So the dt-node for this use case, may
> not be available in the usptream kernel, but can be enabled if correct
> SGI is configured via the device-tree.
>
Any solution to support SGIs in GIC properly needs to be generic and don't
add any vendor specific solution. I proposed a solution for FF-A a while
ago, please check if that works for your platform as well[1]
--
Regards,
Sudeep
[1] https://lore.kernel.org/all/20260412-b4-ffa_ns_sgi_gicv3-v1-0-af61243eb405@xxxxxxxxxx/