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.

TPS25751: How to check valid image in EEPROM or not and how to flash full image via i2c from MCU?

Part Number: TPS25751

Tool/software:

We have a board with TPS25751 and EEPROM. We would like to flash image to EEPROM via i2c from MCU.

After board power on, we read MODE register to check the mode status.

However, we find something strange.

If we flash image to MCU then power on, the MODE register reads "APP". If we just power off and power on, the MODE register read "PTCH".

Do you know why the register value different? How do we check is there valid image in EEPROM or not?

If not,  how to flash full image to EEPROM via i2c from MCU? Could you provide sample code for reference?

Thanks

  • Hi Bokee,

    If we flash image to MCU then power on, the MODE register reads "APP".

    What do you mean by this? Are you flashing the TPS25751 from the MCU directly using the PBM commands?

    The TPS25751 needs an external "Patch Bundle" fw image loaded to the device on every power up. When using the PBM flow, you are writing the patch bundle directly from the MCU to the TPS25751. This needs to be done on every power cycle as the TPS25751 flash clears when it loses power.

    Do you know why the register value different? How do we check is there valid image in EEPROM or not?

    On power up of the device, the TPS25751 first goes through a "boot" mode that starts core processes and samples the ADCINx resistors. Then it moves to the PTCH mode where it attempts/waits to load a patch, either from the EEPROM or from the MCU. If a patch bundle is successfully loaded from either, the device goes to APP mode and APP is read from the mode register. If no patch bundle is loaded or it attempts to load but the image is not valid, the device will stay in PTCH mode.

    If the TPS25751 is attempting to read the EEPROM (you see traffic trying to read address 0x50 on the I2Cc lines between the TPS25751 and the EEPROM on power up) and stays in PTCH mode, it is likely that there is not a valid image in the EEPROM. You can check the boot flags register if stuck in PTCH mode to see if an image has been attempted to be loaded.

    If not,  how to flash full image to EEPROM via i2c from MCU? Could you provide sample code for reference?

    There is no TI recommended way to flash the full flash binary(containing the patch bundle) from the MCU to the EEPROM. We typically recommend that users flash the EEPROM using a 3rd party EEPROM flashing device. Things similar to the TotalPhase Aardvark. There is a recommended process for updating an already flashed EEPROM, but nothing for flashing a new EEPROM.

    See this app note for the updating portion.

    www.ti.com/.../slvafl1.pdf

    Thanks and Regards,

    Chris