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: Not loading EEPROM configuration on power-up

Part Number: TPS25750

Hello,

On our custom hardware that implements the EVM design, we're finding that sometimes (2 boards so far) we program the EEPROM, but upon resetting the TPS, it does not attempt to load its configuration from the EEPROM. Any idea why this would be? It works fine on other boards, so I'm trying to figure out what the difference could be, or what we could do to attempt to debug this (any register values that we should look at, etc.?).

Thanks,

-Eric Castle

  • Hi Eric,

    What is the ADCINx configuration on these bad boards?

    Can you read into register 0x03 and 0x2D?

    Regards,

    Brandon

  • Hi Brandon,

    ADCIN1 and 2 are both routed to LDO1V5 (every board is the same hardware design of course, just seeing variation in behavior for unknown reasons).

    For register 0x03, both boards were in patch mode. For 0x2D, I only recorded the values for one board: 

    0x2D: 05 30 03 60 02 A1

    I can check the other board tomorrow if that is helpful.

    Thanks,

    -Eric Castle

  • Hi Eric,

    If the devices are in patch mode, the device has not correctly loaded a configuration and therefore is disabled. Can you monitor I2Cm lines to see during bootup if device is attempting to read from slave address 0x50 (EEPROM). Can you confirm LDO_1V5 and LDO3V3 are coming up?

    Regards,

    Brandon

  • Yes, it does not appear to have loaded it's configuration. I monitored the bus during startup, and see no attempt at communication with the EEPROM at address 0x50. The bus lines are being pulled up to 3.3V by LDO3V3. LDO_1V5 is coming up as well (with the TPS waiting 10 ms before sampling, we don't see there being any race conditions with it sampling the ADCINx pins).

    Is there a way to try to force it to reload its configuration, or reset the part? Or to load the configuration in over the external I2C? (where the TPS is a slave device)

    Thanks,

    -Eric

  • Hi Eric,

    What is your ADCINx configuration currently? This will determine how your device will behave during bootup.  

    Yes, there is a way to load the configuration in over I2C with the TPS25750 being the slave device. This process is known as PBM and is documented in the Host Interface Technical Reference Manual.

    Regards,

    Brandon

  • Hi Brandon,

    Yes, the ADCINx pins are both attached directly to LDO1V5.

    Is there some TI or other software available that implements loading the part using these operations (Patch Burst Mode)? Or would I need to write this program myself?

    Thanks,

    -Eric

  • Hi Eric,

    If you are trying to load configuration using EEPROM, you will need to be in SafeMode. Currently, you are in AlwaysEnableSink which is used for loading configuration from MCU. 

    Currently there is no TI driver that does the PBM process, that would need to be developed by you.

    Regards,

    Brandon

  • Hi Brandon,

    1. Any idea how a fresh new part would end up configured like that? 

    2. Is there a way to switch to SafeMode and have it then load its configuration from the EEPROM?

    Thanks,

    -Eric

  • Hi Eric,

    1. The configuration is based off ADCINx values which are control with a resistor divider pulled to LDO_3V3. Therefore, if you change resistor divider to SafeMode, you should be able to boot and load from EEPROM.

    2. The only way to switch into SafeMode would be to change the ADCINx values. There is no 

    Regards,

    Brandon