Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 11/27/2024
Public
Document Table of Contents

5.8.6.6.8. Slave Interrupt Request Generation

The I3C Controller can generate the Slave Interrupt Request (SIR), which is an In-Band Interrupt (IBI), to get the attention of the current master.

The I3C controller allows the slave application to generate the SIR by asserting the SIR bit in the Slave Interrupt Request Register, along with the type of IBI to be generated, which can be selected by SIR_CTRL bits. If the SIR_CTRL bits are set to 2'b00, the IBI is generated after the BUS FREE TIME programmed in the Bus Timing register has expired, or on the next available START condition on the I3C bus

The status of the IBI generation is updated in the IBI_STS field of Slave Interrupt Request register (SLV_INTR_REQ), which is informed to the application by the IBI_UPDATED_STS interrupt in INTR_STATUS register by I3C Controller. On successful completion of IBI_STS update, the SIR bit in SLV_INTR_REQ register is auto cleared. On receiving this interrupt, the slave application can read the IBI_STS field in the Slave Interrupt Request register.

Table 268.  Values of IBI_STS
IBI_STS Value Description
Reserved 00 Default Value
Success 01 SIR accepted by the Master (ACK response received)
Reserved 10 Reserved
Not Attempted 11 SIR not attempted

The controller does not attempt to issue the IBI and generates the Not Attempted (2'b11) status under following conditions:

  • Master has not assigned the Dynamic Address.
  • Master has cleared the assigned Dynamic Address through RSTDAA.
  • Master has disabled the SIR_EN through DISEC CCC (SIR_EN in SLV_EVENT_STATUS register).
  • The controller has switched the role to master (applicable only for secondary master configuration).

The following are the SIR-related registers for the I3C controller. For more information, refer to the Address Map and Register Definitions.

  • IBI_UPDATED_STAT
  • SLV_INTR_REQ
  • SLV_EVENT_STATUS
  • BUS_IDLE_TIMING