9.7.5.9 In-Band Interrupt (IBI) Detection and Handling

In-Band Interrupt (IBI) allows I3C target devices to initiate communication with the I3CC. The following types of IBIs are possible on an I3C bus:

  • Hot-Join request from a Hot-Join capable target
  • In-Band Interrupt request (IBI) from a target
  • Controller-role request (CRR) from a Controller-capable target (Secondary Controller)

The I3CC must be enabled to detect (I3CC_SDA low) and receive the In-Band interrupt (IBI ID). The I3CC detects the IBI in the following scenarios:

  • Upon detecting low on the I3CC_SDA input port after a Power-On-Reset (POR).
  • Upon detecting an arbitration loss during an address phase of any controller-initiated transfer following a START condition (not RESTART).
  • Upon detecting the I3CC_SDA input port going (not initiated by the controller) low following a STOP condition (target-initiated IBI).

The following table captures the key controls that are available that determine the response to the target-initiated IBIs and notification to the I3CC application on any rejected IBI (NACK).

Table 9-74. IBI Response and Notify Controls
IBI ContextI3CC Control
Controller EnableI3CC_HC_CONTROL.BUS_ENABLE
CRR Response Control (to target)DAT Entry [CRR_REJECT]
IBI Response Control (to target)DAT Entry [IBI_REJECT]
HJ Response Control (to target)I3CC_HC_CONTROL.HOT_JOIN_CTRL
CRR Reject Notify Control (to APP)I3CC_IBI_NOTIFY_CTRL.NOTIFY_CRR_REJECTED
IBI Reject Notify Control (to APP)I3CC_IBI_NOTIFY_CTRL.NOTIFY_IBI_REJECTED
HJ Reject Notify Control (to APP)I3CC_IBI_NOTIFY_CTRL.NOTIFY_HJ_REJECTED
IBI Payload ControlDAT Entry [IBI_PAYLOAD]
IBI Data Chunk SizeI3CC_QUEUE_THLD_CTRL.IBI_DATA_THLD