Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public
Document Table of Contents

5.8.6.4. Interrupts in I3C Controller

The INTR_STATUS register is associated with error and status condition reporting. This register triggers the interrupt signal which is synchronous with the slave interface clock.

The triggering of the interrupt pin can be disabled by the INTR_SIGNAL_EN register. By default, all interrupts are enabled. When any bit of this register is set to 0, it disables the generation of interrupt in that specific interrupt pin. Thus, the interrupt signal outputs can be controlled by INTR_SIGNAL_EN register.

The interrupt bit is always set in the INTR_STATUS register irrespective of INTR_SIGNAL_EN register. The status interrupts (INTR_STATUS[4:0]) are always auto-cleared. The remaining event based interrupts (INTR_STATUS[10:5]) are cleared through writing 1'b1 to specific bit in the INTR_STATUS register.

The Interrupt Force register (INTR_FORCE) is used for test purposes, and allows triggering interrupt events individually, without the need to activate the conditions that trigger the interrupt sources, since it may be extremely complex to generate stimuli for that purpose. This feature also facilitates the development and testing of the software associated with the interrupt events. Setting any bit of these registers to 1 triggers the corresponding interrupt, provided the corresponding bit in the INTR_STATUS_EN register is set.

The Interrupt Status register (INTR_STATUS) is used for checking the true status of the interrupt events which are activated through specific bits in the INTR_STATUS_EN register. This register consists of the status of interrupt sources irrespective of disabling in INT_SIGNAL_EN register. When any bit of INTR_STATUS_EN is set to 0, it disables the generation of interrupt in that specific INTR_STATUS register bit and hardware interrupt pin.