I have implemented a CE6 (A8 35xx 1.xx BSP) touch screen driver that uses the I2C (I2C channel 2) controller.
I am calling I2COpen and I2CRead and I2CWrite after setting up with I2CSetBaudIndex and I2CSetSlaveAddress etc.
I have noticed while this works for the most part, occasionally I'll get a:
Write: Attempts = 2
Write: Attempts = 3
Write: Attempts = 4
Write: Attempts = 5
WARN: I2C: Write failed (SA=0x48, register=0x00000000)
shortly after startup and I believe always on the first access or two.
I am wondering if this is the correct way to call the I2C operations from a touch driver or maybe I should be using the I2C proxy or something different.