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: TPS25750 sometimes fails to load from EEPROM and stays in PTCH mode.

Part Number: TPS25750
Other Parts Discussed in Thread: BQ25792, TPS25751

Tool/software:

We are using the TPS25750 along with the BQ25792 battery charger.  The TPS25750 gets power from either the USB-C power delivery connection (cable insert) or the the 3.3V DC input which is fed by the BQ25792.  We have pin strapped the TPS25750 to come up in "Safe Mode" with ADCIN and ADCIN2 pins both connected to ground.   A host processor is connected to the TPS25750 slave I2C port which is used to communicate with the TPS25750 and BQ25792 devices.  When the TPS25750 is being powered from the BQ25792's DC input (barrel connector), the host processor includes a delay of 600 ms before trying to read the MODE register (0x05) to determine if the TPS25750 is in APP or PTCH mode.  

For some reason, intermittently, the TPS25750 comes up and stays in PTCH mode.  I have tried executing both a "Gaid" and "GAID" command to try and reset the device to reload from EEPROM, but this does not always work.  The only guaranteed way to get it out of this mode is to cycle the power on the BQ25792 DC input.  

I have included a copy of our USB-C PD/Battery charger schematic below. 

Any help is greatly appreciated. 

Kind regards, 

Paul

  • Hi Paul, 

    Couple feedback/questions:

    1. For new designs, we highly recommend to use TPS25751 instead of TPS25750, for more details please refer to this FAQ:  [FAQ] TPS25751: Migrating from the TPS25750 to the TPS25751 

    2.  

    For some reason, intermittently, the TPS25750 comes up and stays in PTCH mode.  I have tried executing both a "Gaid" and "GAID" command to try and reset the device to reload from EEPROM, but this does not always work.  The only guaranteed way to get it out of this mode is to cycle the power on the BQ25792 DC input.  

    Just to confirm, does the EEPOM have a valid full flash binary loaded? 

    3. 

    When the TPS25750 is being powered from the BQ25792's DC input (barrel connector), the host processor includes a delay of 600 ms before trying to read the MODE register (0x05) to determine if the TPS25750 is in APP or PTCH mode.  

    Are you referring to register 0x03 here? 

    4. Are you able to check the I2C lines during boot-up and see if the PD controller (TPS25750) is reading from the EEPROM? This should be the first action the PD controller does upon boot-up.

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond, 

    Thank you for the quick reply.  

    1.  Unfortunately we have already built 200 units with this chip in it and at this time we cannot simply swap the QFN chips out. 

    2.  The EEPROM definitely has a valid EEPROM image in it because most of the time it comes right up, loads the patch from it switches to APP mode.  But sometimes it fails to do so.   Originally we had the device come up in "Sink Mode" but have switched over to "Safe Mode" so that the device will not provide a sink path until after the EEPROM loads. 

    3. Yes, my mistake, I meant register 0x03 "Mode"

    4. I can monitor the I2C lines between the TPS25750 and the EEPROM and I can see the transactions when the EEPROM loads.  Unfortunately it is hard to get a good trace when the chip fails to load the EEPROM because it happens so infrequently, but it does happen. 

    By the way I have also tried using the Gaid/GAID command to reset the TPS25750 when this occurs however this has side effects as it can sometimes kill power to the unit. 

    Regards, 

    Paul

  • Hi Paul, 

    What is the frequency of this failure occurring and does it happen only on specific units or across all of the units you've built? 

    Ideally we'll need to see the I2C logs when the config isn't loaded properly to understand why it's not loading the configuration properly. Does your system have an MCU to read back TPS25750 Boot Status (0x2D) register and see if the PatchHeaderErr [0] is raised? 

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond, 

    Yes there is a host processor connected to the TPS25750 and I can add some code to read the Boot Status register.    The frequency of this problem is rather low, although some units seem to be more susceptible.  I will try to work on reading the boot status 0x2D register and report back.  

    Regards, 

    Paul

  • Paul, Try to make sure your ADCIN pins are properly connected and the resistors have correct tolerance. If the ADCIN resistor divider ratio are not in the datasheet specified range you can potentially run into such issues.