1.7.2 Private Read Transaction

The user firmware/DMA writes the data byte to the I3CxTXB register, which feeds into the Transmit FIFO. Once the Private Read request is ACK’d, the Target starts sending the 9-bit data words (8-bit data byte + 1-bit End-of-Data T-bit) from the Transmit FIFO onto the bus. The transaction completes when either the Target or the controller ends the transaction as described below, followed by a Restart or a Stop, which is represented using the Transaction Complete TCOMPIF flag:

  • The Target pulls the End-of-Data T-bit low after the Transmit FIFO becomes empty and all the data has been sent
  • The controller aborts the transaction prematurely by pulling the End-of-Data T-bit low (a Restart condition on the bus), and the Abort Error ABEIF flag is set

The flags on Table 1-2 provide additional buffer management abilities to the user.

Table 1-2. Transmit Buffer/FIFO Management Flags and Commands
FlagDescription
TXBETransmit Buffer EmptyThe I3CxTXB register is empty and ready to be written
I3CxTXIFTransmit InterruptSystem level interrupt for TXBE condition notifying the firmware/DMA to write the data to the I3CxTXB register
CLRTXBClear Transmit Buffer + FIFOCommand to clear the I3CxTXB register and reset the Transmit FIFO
TXWEIFTransmit Write ErrorError interrupt signifying an attempt to write to the I3CxTXB register when an existing data has not yet been moved to the Transmit FIFO (TXBE = 0)
TXUIFTransmit Underrun ErrorError interrupt signifying that a read request has been made by the controller when the Transmit FIFO is empty
TXFNETransmit FIFO Not EmptyThe Transmit FIFO (excludes the I3CxTXB register) status
Figure 1-5. Private Read Transfer Frame Format