The default I2C1 device address for the parts we buy is 0x48.
We re-program the flash and configure the I2C1 device address to 0x4C.
Now we run a startup routine to detect an unmodified LP8764. We issue a read to 0x48. The I2C write that sets up this read does not get acknowledged. This is expected.
We wait 30ms.
Next we try to read from device ID 0x4C. This is successful, but the values in the replies are corrupt. We keep getting corrupt read value on subsequent I2C1 reads to other addresses.
If we power up the device and only ever read/write to 0x4C everything works fine. Every time we issue a write to the incorrect address the corruption begins.
Do you have any idea why an unacknowledged write request to an incorrect address would bork the I2C1 interface of the LP8764?