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.

TPS25750: 4CC I2Cw command problem with MISSING data

Part Number: TPS25750
Other Parts Discussed in Thread: TIDA-050047, , BQ25792

We are evaluating the "TI PD Controller" (TPS25750DRJ) using the "PD Controller and Charging eval board" (TIDA-050047 "Integrated USB Type-C PD and Charging Reference Design").   We have a problem with the "I2Cw" command addressing the slave and register, but NOT writing data!  Let me explain:

1)  We write 5 bytes (6B  01  00  14  2F) into the DATA1 register.

2)  We write 4 bytes ( I 2 C w) into the CMD1 register.

3)  The slave address (6B) is transmitted followed by the write bit (0).

4)  The slave asserts an ACK bit (0).

5)  The slave register (14) is transmitted.

6)  The slave asserts an ACK bit (0).

7)  But NO DATA is transmitted!!

8)  Finally a stop is transmitted.

Because the PD controller (TPS25750) doesn't support I2C multimasters, the only way to securely write into a charge controller (BQ25792) register, is using the TPS25750 4CC command I2Cw... but it doesn't appear to work!!!!   What is wrong???

  • The "TPS25750 Host Interface Technical Reference Manual” description of the “I2Cw" is WRONG!
    The data bytes (bytes 5-14) are clearly labeled "Payload for the I2C transaction."
    The byte count (byte 2) is clearly labeled "Number of bytes in the transaction payload.”.
    This is categorically WRONG!   It should read "Number of bytes in the transaction payload. + 1”!!!