Hi @gclaudino.tx,
More details about my tests:
- I’m using a modified version of the i2c driver (Read more than 256 bytes via i2c with iMX8X - #6 by ykrons) to be able to send i2c frame bigger than 256 bytes.
- I have a custom carrier board connected, via a dedicated i2c bus, to a microcontroller which implement a home made protocol. The same microcontroller with same carrier board is working with an iMX7.
- I have a custom tool that is reading a block 5300 bytes of data over i2c
- Reading is split in 3 commands that read 3 chunks of 2048, 2048 and 1204 bytes
- The tool is stressing i2c by reading in loop and stop the first time reading doesn’t match expected data
Communication typically end like that:
where the stop is not generated by the iMX8
I have modified a bit the driver to set RXWATER at the size of remaining data rather than 0 at the end of the frame as I’m suspecting that no interrupt is generated for the last byte, but I still have sometime an error as if a byte has been lost. I’m now suspecting it is not at the end of the frame.
Regards