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.

Linux/TPS65987D: IF the EEPROM is ready, how can tps65987D read it?

Part Number: TPS65987D
Other Parts Discussed in Thread: TPS65987

Tool/software: Linux

Hi TI-team

We are using your TPS65987D chip as a USB-PD controller.

First, I have write the eeprom through SPI. After that, I have read the content of eeprom and it is exactly what I want to write.

Secondly, I have powered on all of the input needed(VIN_3V3, PP_CABLE, PP_HV) and I get the output of  corresponding pin(VBUS, LDO_3V3, LDO_1V8, C_CC).

Then I measured the SPI signal when reboot the device without platform writing the EEPROM, and there is no SPI signal at all.

So I think the TPS65987 didn't read the eeprom totally and maybe even didn't start to work.

Finally, I tested the function of USB and it can neither work as a host nor  work as an charger.

Could you please help me figure out how to operate the TPS65987D to read the eeprom normally and how to check whether the TPS65987D read the flash successfully?

Best regards!

Yi Zhang

  • Sorry, I have double-check the SPI signal and that period of SPI is eeprom status reading.

    I remove it and there is no signal of SPI when reboot the device without platform writing the EEPROM.

    And it means that the TPS65987 didn't read the eeprom totally.

  • Hello,

    The TPS65987D will automatically read from the SPI Flash if it is present when the PD controller is booting. If there is no SPI Flash, and the SPI Miso line is tied low, then it will not read from the SPI Flash.

    Thank you,
    Eric

  • Hi Eric,

    Thanks for your quick reply.

    Recently, we use i2c1 to read the mode(reg = 0x03) of TPS65987D and the return value is "APP ".

    Does it mean that TPS65987D has loaded the firmware from eeprom and works according to the firmware?

    And there's another question:

    We change the ADCIN1 from 0.91 to 0.78, and then USB2 mode changes to device mode automatically when pluged into windows/Linux.

    why would it happens?

    Best regards!

    Yi Zhang

  • Hello,

    APP mode means that the TPS65987D has successfully booted. You can also check the Boot Flags register (0x2D) to ensure the PD controller has booted from the SPI Flash.

    The TPS65987D does not touch the USB2 lines for anything other than BC1.2 advertisement/detection. This should not affect the USB enumeration. 

    Thank you,
    Eric

  • Hi Eric,

    Thanks again for your reply.

    I have checked the boot_flag reg(0x2D), and the result is as followed:

    (1) 0c 00 00 00 00 a2 06 00 00 00 00 00 00

    In this situation, usb can change to device mode automatically and work with super speed.

    (2) 0c 18 00 00 00 a2 06 00 00 00 00 00 00

    In this situation, usb can't change mode automatically and work with high speed.

    According to the reg map, data[1]=0x18 means TPS65987D has read firmware from eeprom region_0, but the result doesn't match it.

    Could you please help explain the value of boot_flag?

    Best regards!

    Yi Zhang

  • Hi Yi,

    Can you please use the TPS6598X Application Customization Tool in debug mode to see what the Boot Flags register returns? This would give you more description than the raw hex data.

    Thank you,
    Eric