SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
Poll the I2Ci.I2C_IRQSTATUS_RAW [4] XRDY bit, or use the XRDY interrupt (the I2Ci.I2C_IRQENABLE_SET [4] XRDY_IE bit must be set to 1) or the DMA TX channel (the I2Ci.I2C_BUF[7] XDMA_EN bit must be set to 1 together with I2C_DMATXENABLE_SET) to write data to the I2Ci.I2C_DATA register.
If the transfer length does not equal the TX FIFO threshold (the I2Ci.I2C_BUF[5:0] TXTRSH bit field + 1), use the draining feature (enable the XDR interrupt by setting the I2Ci.I2C_IRQENABLE_SET [14] XDR_IE bit to 1).
In transmit mode only, the I2Ci.I2C_IRQSTATUS_RAW [10] XUDF bit indicates whether the transmitter has experienced underflow.
In master transmit mode, underflow occurs when the shift register and the TX FIFO are empty and there are still some bytes to transmit (the value of the I2Ci.I2C_CNT[15:0] DCOUNT bit field is not 0).
In slave transmit mode, underflow occurs when the shift register and the TX FIFO are empty and the external I2C master device still requests data bytes to be read.
The I2Ci.I2C_IRQSTATUS_RAW [7] AERR bit is set to 1 when a write access is performed in the I2Ci.I2C_DATA register while the TX FIFO is full. The corresponding interrupt can be enabled by setting the I2Ci.I2C_IRQENABLE_SET [7] AERR_IE bit to 1.