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 adress

Part Number: TPS65987D
Other Parts Discussed in Thread: TPS65988, TPS65987,

Hello,

I made a proto board with the TPS65987D , I'm using only the I2C2 ( Slave mode) . I'm using a I2C/USB adaptater to communicate with IT. 

it is the first time I boot the board there is not configuration file in the SPI memory . 

The configuration is 

Adresse I2C1 0x20 ( but not connected)
Adresse I2C2 0x38
BP_WaitFor3V3_Internal(0.24)

When I try to communicate with the TPS65987D on the I2C2 , I'v got no answer ( the adress is ) but if I'm using the adresse of the I2C1 , I get an acknowledge and the version of the firmware :001007F7.

I don't understand how it is possible !!!

My goal is to flash the configuration of TPS65987D by I2C to the SPI memory.

in attach file the schematic of the board.

tps65987d.pdftps65987d.pdf

best regards

  • Hi David,

    You can refer to the the following app note for updating the SPI flash image using the I2C interface. https://www.ti.com/lit/an/slvae21a/slvae21a.pdf?&ts=1589892704310 

    This is an excerpt from the document:

    The external SPI-Flash shall be programmed with a full 'flash.bin' the very first time the platform is powered up so that the region headers are set up correctly. The subsequent flash-updates can be executed by the external hosts by following the sequence detailed in subsequent sections. A full 'flash.bin' can be generated by the device's 'Application Customization Tool'.


    You will need to first flash a valid image to the external flash before you can update the contents using the app note as reference

  • Hi Adam,

    yes  I know this document but how you can explain my first question about the I2C adress?

    On my schematic only I2C2 is connected to my PC, and it is not responding but if I use the I2C1 it works how it is possible ?????

    Thank you for your help

  • If the PD controller does not load a valid configuration from the external flash, the PD controller can have abnormal behavior. I would put the I2C2 channel not working under the category of abnormal behavior due to a non valid flash image. Please flash a valid configuration to the external flash first

  • Hi Adam;

    Adding to this.....

    I have a customer who is using the TPS65987D and bringing up new boards with the a completely blank serial EPROM populated. They are using a uP to talk to the part over I2C2, but the device is not responding at address 0x38 as shown to be the default in the datasheet.   The device is responding at 0x20.

    I saw this E2E posting where you say this is related to not having the Serial EPROM programmed with a valid “flash.bin” file, as described in the TPS65987 and TPS65988 SPI Flash Firmware Update Over I2C application note.

     Are you certain this is the case? The customer previously loaded the Serial EPROM through the TPS65982D after bring-up, and did not have the I2C2 address coming up as a default or 0x20 instead of 0x38 as shown in the datasheet.  I realize this was the "2" not the "7" and the devices adn FW are different. 

    Can you advise on this?

  • Hi David,

    Yes, as stated in the excerpt from the app note, in order to update the contents of the SPI flash using the EC and PD controller, you must first have a valid image programmed to the flash. 

    The external SPI-Flash shall be programmed with a full 'flash.bin' the very first time the platform is powered up so that the region headers are set up correctly. The subsequent flash-updates can be executed by the external hosts by following the sequence detailed in subsequent sections. A full 'flash.bin' can be generated by the device's 'Application Customization Tool'.

  • Hi Adam;

    Thank you for the quick response.  Will the TPS65987DDJ have the same requirement to have a pre-programmed serial EPROM to prevent the part from having i2C2 operating at an incorrect address?

  • Yes, and you should only be using the TPS65987DDJ if you are designing a thunderbolt platform 

  • Hi Adam, David,

    I certainly see a lot of strange behavior in the flashing procedure (part locking up, etc). Are there any "tricks" or SW hacks we can do to be able to blankflash the SPI flash over I2C?

    Thanks,

    Ilya

  • I would not recommend "blankflashing" the external SPI flash. If you want to update the Flash image, please follow the following app note, having an initial flash image for the PD controller to reference

    https://www.ti.com/lit/pdf/slvae21 

  • Hello everyone,

    we have solve our problem to program our blank SPI Flash. 

    First we use the I2C2 at address 0x20 and Flash the full memory . And after the reset use normally the I2C2 at address 0x38 to control the PD .

    Best regards