This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TPS65987D: I2C programming

Part Number: TPS65987D
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?

 

  • , I made one more observation.

     

    4. If I neglect the response from the PTCd, i.e. avoid the read operation, I get the following  PTCc response in the end of the patch bundle sequence:

     

    0x00 0x00 0x42 0x00

    (Patch not compatible with this version of ROM)

     

    Does that mean that the transfer has succeeded and the patch code checksum (that failed in 3.) is correct?

     

  • Hello,

    I assigned this thread to the relevant expert who will be getting back to you shortly

  • Hello Ajay,

    I am summarizing my understanding of your issue below, please feel free to correct it:

    1. The device being used is TPS65987DDH
    2. A continuous read of the PTCd command response results in a checksum mismatch output by the PTCc command
    3. Not reading the PTCd response results in Patch - ROM incompatibility response output by the PTCc command.

    Can you share your project configuration and also mention the patch version you are using?

    Regards,
    Kedar