Hello,
I am working on a project that uses lpi2c in a mix of low power mode and overdrive run mode (as defined by the powermode_switch demo app). My setup worked perfectly in both power modes for the I2C1 interface, but I also need I2C2 working in the project. So, after getting I2C1 working, I added I2C2 using the same configuration, setup and usage as I2C1. Now, every time I try to make an i2c transfer in overdrive run mode, I get a FIFO overrun error. However, this is not true in low power mode as the transfer completes fine. Another weird thing is that only master transfers to slave get the FIFO overrun error, master requests work fine in both power modes. This is true for both i2c1 and i2c2 interfaces.
Also, I am using an arduino uno for communication with the rt 1020 board. I can see that the data does not get fully transmitted to the uno during overdrive run mode by looking at the serial monitor, but whenever I terminate the debug session in this run mode, it triggers endless i2c transfers and I can see all of the data being sent in full. Very weird.
I've looked all over for what could be causing this, but I haven't been able to find anything. I use an I2C send helper function which all interfaces share so maybe I need to separate them? But then why would requests work fine always and sends work fine while in low power mode.
Any help would be much appreciated.