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.

TPS25750EVM: Invalid slave address when running PBMs command in PTCH mode

Part Number: TPS25750EVM
Other Parts Discussed in Thread: TPS25750

I have followed the steps in HOST interface technical manual page 63, with the following result

- INT_EVENT1.ReadyForPatch = 1

- MODE = PTCH

- Writen the following data to DATA1, according to page 48 in the host interface technical manual. 

  • Byte 0: nothing
  • Byte 1 - 4: bundle size = 1000
  • Byte 5: 0x10 (Slave address)
  • Byte 6: 0x32

   This data has then been verified by reading it back

- Then have I written PBMs command to CMD1, gotten 0x0 back on CMD1 register and when i read DATA1 register byte 0 do i get 0x5 = invalid slave address. But according to

TPS25750 USB Type-C and USB PD Controller with Integrated Power Switches datasheet (Rev A). Page 44 should 0x10 be a legal slave address.

I have also verified my i2c communication with a logic analyzer connected in parralell on the i2c bus.

  • I think there is an error in the "HOST interface technical manual" section 3.3.1 ('PBMs' - Start Patch Burst Mode Download Sequence). As the reference manual states 

    that the data in datax should be

    - byte 0: output data

    - byte 1:4 size of bundle data

    - byte 5: slave address

    - byte 6: timeout value

    But what I got to work was using the following structure

    - byte 0: output data

    - byte 0:3 size of bundle data (notice that byte 0 is also used for sending output data

    - byte 4: slave address

    - byte 5: timeout value

    I am pretty sure about this as when i had byte 4 as slave address and byte 5 as 0 did i get timeout error (which makes sence with a timeoutvalue of 0). The picture bellow is the result of the logic analyzer when i got it to work. The lines where you cant se the end has proper ending with N and P. And the values are in hex.