[Q] zynqmp-ipi-mailbox and SGI interrupts

Sudeep Holla sudeep.holla at kernel.org
Mon Oct 19 03:06:22 PDT 2026


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@kernel.org/



More information about the linux-arm-kernel mailing list