IBI Response Control

The I3CC handles the IBI response to the target through the IBI_REJECT control of the corresponding DAT entry.

If IBI Response Control is set to ‘1’, the I3CC NACKs the IBI and issues a directed DISEC CCC command (DISINT bit set) with the RESTART condition targeting the matching dynamic address. This disables the IBI generation in the requested target device. The IBI status for the corresponding IBI indicates to the application that the incoming IBI is NACK’ed through the IBI_STS descriptor (see IBI Status Data Structure).

If IBI Response Control is set to ‘0’, then the I3CC ACKs the IBI. If the IBI Payload Control is set to ‘1’, then the I3CC continues to generate the I3CC_SCL clocks after the ACK to accept the IBI payload bytes starting from the Mandatory Data Byte (MDB) until the target terminates the transfer. The application must set the IBI Payload Control to ‘1’ only when the target device supports the mandatory byte (BCR[2]=1). If the IBI Payload Control is set to ‘0’, then the I3CC stops generating the I3CC_SCL clock after acknowledging the IBI. The I3CC then notifies the application to take necessary action for the accepted IBI. The application must not set the IBI Payload Control bit to ‘1’ when the target device does not support the mandatory data byte (BCR[2]=0).

If the received IBI ID (IBI) does not match with any of the dynamic address entry of the DAT table, then the I3CC sends a NACK response and generates IBI status to the application. The I3CC does not send any Disable Event command and expects the application to take necessary action if the unknown device repeatedly interrupts. In this case, the generation of IBI status is independent of the IBI Reject Notify Control settings.

The I3CC supports the Auto command (read) feature. It issues a Read command to the interrupting device upon detecting an expected MDB value. The expected MDB value is set in the DAT by programming DAT[AUTOCMD_MASK] and DAT[AUTOCMD_VALUE] fields. The I3CC computes the match as per the following expression before issuing a Read command to the requesting device:

DAT[AUTOCMD_MASK] & MDB = DAT[AUTOCMD_VALUE]

This feature enables the application to read the target as soon as the data is available for reading (indicated through IBI). Thus any delay in issuing a Read command due to system latency is avoided.

If there is a match on the received MDB, the I3CC accepts the payload until the target device terminates and then issues a Read command to the same target with the RESTART condition. If there is no match on the received MDB, the I3CC does not issue the Auto command and waits for the target device to terminate the IBI transfer.

Auto command is issued only in SDR mode and is not supported in HDR mode.