Visible to Intel only — GUID: xba1679501737904
Ixiasoft
Visible to Intel only — GUID: xba1679501737904
Ixiasoft
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.
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