SPI Interrupt Sensitivity

Zynq UltraScale+ Device Technical Reference Manual (UG1085)

Document ID
UG1085
Release Date
2022-09-15
Revision
2.3 English

The shared peripheral interrupts (SPI) can be targeted to any number of CPUs, but only one CPU handles the interrupt. If an interrupt is targeted to both CPUs and they respond to the GIC at the same time, the MPCore ensures that only one of the CPUs reads the active interrupt ID#. The other CPU receives the spurious (ID 1023 or 1022) interrupt or the next pending interrupt, depending on the timing.

Except for IRQ (121) through IRQ(128) and IRQ (136) through IRQ(143), which are the interrupts from the PL, all interrupt sensitivity types are fixed by the requesting sources and cannot be changed. The GIC must be programmed to accommodate this. The BootROM does not program these registers; therefore the SDK device drivers must program the GIC to accommodate these sensitivity types.

For an interrupt of level sensitivity type, the requesting source must provide a mechanism for the interrupt handler to clear the interrupt after the interrupt has been acknowledged. This requirement applies to any IRQ-F2P[n] (from PL) with a high-level sensitivity type.

For an interrupt of rising edge sensitivity, the requesting source must provide a pulse wide that is large enough for the GIC to catch. This is normally at least two CPU_2x3x periods. This requirement applies to any IRQ-F2P[n] (from PL) with a rising-edge sensitivity type. See Answer Record 69390 for more information.

The sensitivity control for each interrupt has a 2-bit field that specifies sensitivity type and handling model.