Other Parts Discussed in Thread: TPS65987
, I have some questions regarding I2C programming of the PD Controller TPS65987.
I try to send a patch bundle from my host over I2C (SMBus) to the device.
1. Write to registers on the PD Controller works fine.
2. Read from registers on the PD Controller works most of the times but sometimes it fails. The device seems not to respond.
I have set register 0x70 (sleep config) to 0x00 to prevent sleep modes. Do you know if there is anything else that possibly could interfere with the read operation?
3. The command interface depends on write/read operations.
Sometimes the read operation fails and I need to read several times in a loop in order for the command to work.
However, the patch bundle sequency ends with the following response from the PD Controller:
PTCd: next to last
0x00 0x00 0x07 0x00 0x80 0x34 0x80 0x24 0x80 0x03
PTCd: last response
0x00 0x00 0x08 0x00 0xc0 0x34 0xc0 0x24 0x80 0x03
(The last PTCd indicates "Patch Loading Done")
PTCc: response:
0x00 0x00 0x43 0x00
(The PTCc indicates "Patch code checksum mismatch")
Could you please guide me to troubleshoot this problem?