AnsweredAssumed Answered

iMX7 I2C TX data HW FIFO available?

Question asked by Jeremy McClintock on Sep 6, 2019
Latest reply on Sep 9, 2019 by Jeremy McClintock

Looking through the iMX7 Linux/MQX/FreeRTOS code and iMX7 datasheet it appears that there is only a single byte TX data register available for the I2C peripherals.  I just wanted to make sure that I was not missing something, because this represents a pretty huge bottle-neck having to switch in/out of interrupt context for sending every single byte when using an interrupt driven I2C driver?  In our system we employ four I2C peripherals configured for the M-core, and attempting to service a single I2C device on each individual bus is extremely inefficient due to the single-byte HW data register.

 

On every other microprocessor I have every used (8-bit/16-bit/32-bit, many manufacturers) there has been at least an 8-byte HW FIFO on the I2C peripheral.  So I am asking if I am missing something in the datasheet, or if there is a way to increase the size of the HW data FIFO beyond a single byte?

 

thanks,

Jeremy

Outcomes