Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

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

5.8.7.6.9. Flow for Disable and TX/RX/CMD/Response Queue Reset

To disable the I3C slave, the DEVICE_CTRL[ENABLE] register must be written zero. The controller depends on the availability of SCL to complete disable operation. So slave controller may not immediately go into a disable state. The slave controller goes into the disable state

  1. Only after completion of the ongoing transfer in SDR mode, any subsequent transfers are NACKed.
  2. In HDR mode of operation, the controller continues to respond to any HDR requests it receives until an Exit pattern is detected.
  3. If the controller is disabled when the I3C bus is idle (that is, no SCL present), then the operation is completed only when SCL is observed on the bus.

To indicate to the application that the slave controller has entered disable state, the controller sets the ENABLE bit to 0.

The application after setting the value of 0 to the ENABLE bit must keep polling the ENABLE bit to check whether the bit value is zero. Once the ENABLE bit is read with a value of zero, the application can be sure that the slave controller is disabled. The application can reset the command, transmit, and receive FIFO only when the slave controller is disabled or when the slave controller is in the halt state after any error during transmitting or receiving of the data from the I3C master. In no other condition, the FIFOs should be reset by the application. After the disable, if the application chooses not to flush the FIFOs, the slave controller continues with the command and the data present in the FIFO after the disabling condition is removed by the application. To enable the slave controller after it has been disabled, the application must set the ENABLE bit to 1. Enabling the slave controller might not be instantaneous because it is dependent on the availability of SCL clock on the I3C line. If the SCL clock is present, the slave controller takes two SCL clocks to come out of the disable state.

Note: Do not disable slave IP when status for SIR/MR request is pending.
Figure 205. Disabling the I3C Controller Slave Controller