SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
In receive mode, a DMA request is generated by the I2Ci_DREQ_RX signal as soon as the RX FIFO exceeds its threshold level (the I2Ci.I2C_BUF[13:8] RXTRSH bit field value + 1). This request is deasserted when the number of bytes defined by the threshold level is read by the DMA controller.
Figure 24-16 shows the DMA request generation in receive mode.
In transmit mode, a DMA request is automatically asserted by the I2Ci_DREQ_TX signal when the TX FIFO is empty. This request is deasserted when the number of bytes (the I2Ci.I2C_BUF[5:0] TXTRSH bit field value + 1) is written in the FIFO by the DMA controller. If an insufficient number of bytes is written, the DMA request remains active. Figure 24-17 and Figure 24-18 show the DMA TX transfers with different values for the I2Ci.I2C_BUF[5:0] TXTRSH bit field.
The I2C module provides the possibility to the user to clear the RX or TX FIFO, by setting the I2Ci.I2C_BUF[14]RXFIFO_CLR and I2Ci.I2C_BUF[6]TXFIFO_CLR registers, which act like software reset for the FIFOs. In DMA mode, these bits will also reset the DMA state machines.
The FIFO clearing feature can be used when the following conditions are met: