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.

TPS65070: TPS65070 Programming

Part Number: TPS65070
Other Parts Discussed in Thread: USB2ANY, IPG-UI

Hi,

I am going to use TPS65070 PMIC in my application and I want to do few changes in PMIC default firmware according to my application requirement. I have a doubt related to the programming part of the TPS65070, please let me get clarifications for the below query:

Is it possible to do One-time firmware update according to my application requirement?? For doing that do I need USB to GPIO interface module and EVM board?? Can't I do it using I2C lines through a micro-controller which supports ArduinoIDE on my board??

Thanks in advance.

  • Hi Madhu,

    It is not possible to do a one-time firmware update, any programming changes made are only stored in the volatile registers, not in the non-volatile memory and need to be rewritten during each power up.
  • Thanks for the quick reply Kevin.

    What are the possible options(simple tools) to program the TPS65070EVM board otherthan using the USB-to-GPIO adapter module??

    Thanks in advance.
  • Madhu,

    You can use the Arduino to write to the PMIC via I2C and control the TPS65070EVM. You would simply need to connect SCLK (pin 28), SDAT (pin 27), and any GND connection of the TPS65070 to the appropriate pins on the Arduino board.

    Kevin was just warning you that these changes will not be permanent and the PMIC will reset to its default Register Map every time it loses power or any other condition in the state machine which resets the registers. For example, on page 35 of the datasheet, it says: "When PGOOD is driven LOW due to PB_IN=low for 15 s, all registers in TPS6507x are set to their default value."

    Another option would be to use the USB2ANY and the IPG-UI to control the TPS65070 EVM manually. Using the "Blank-I2C-7bit" Device option, you can set the I2C slave address to 1001000b (0x48) and Read/Write to all the registers without any special formatting.

    Other 3rd party adapters can also be used for manual I2C control, such as the Total Phase Aardvark - www.totalphase.com/.../