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.

TPS6521815: TPS6521815 In circuit programming with PWR_EN set LOW

Part Number: TPS6521815
Other Parts Discussed in Thread: TPS65218, TPS6521855

Hi Brenda,

It is about PMIC TPS6521815 In system Programming.

The MAIN question is: Is it possible to program/re-program the TPS6521815 with PWR_EN set LOW?

For our design it is CRITICAL to have the answer to this question.

On our prototype design, the DCDC1-4 & LDOs & LOAD SWITCHES must be OFF when the PMIC is re-programmed in order to protect the microprocessor (AM64xx).

The OFF condition of the mentioned voltage outputs is reached when PWR_EN is LOW (which turn-off the inputs of the mentioned above).

We would like to have the possibility to re-program the PMIC on our prototype boards, and with the info we have so far it looks like this is not possible.


I read your statements regarding this subject, as displayed below:

1) “Only TPS6521815 (blank EEPROM spin) can be re-programmed on-board.

For all other TPS65218x variants you would need to reprogram the device using the booster pack (or a TI distributor like Arrow Services) before soldering the PMIC into the board. The reason is because having the enable signal low will disable the rails but it can also take the PMIC to the OFF state where I2C is not available. “

2) “However, the PWR_EN signal would need to be high otherwise the PMIC will fall info the OFF state where I2C is not available.

 If check in the datasheet for TPS65218 (SLDS206E, Revised Feb 2021) and in the one for TPS6521815 (SLDS261A- Revised Feb 2021) the “Device Functional Modes” – Modes of Operation, there is no difference. As shows below, I2C is ON when PWR_EN is High. And it is recommended to program the PMIC when is in the ACTIVE state, right?

Thanks in advance for your support!

Kind regards,


  • Hi Niculina,

    The default setting of the TPS6521815 has all the power rails disabled at start-up. You are correct that I2C communication is not available until the ACTIVE state, but if you have not set up any programming on the PMIC yet, the rails should not engage even after the power-up cycle concludes, and you will be free to adjust and enable individual power rails as you see fit. Rail output values and the power up sequence can be changed while the rails are disabled to protect your MPU. The datasheet shows the default register settings for each rail before any programming is done.

    If you are using the AM64xx processor, we have an application note with recommended power solutions that can include a pre-programmed PMIC, the TPS6521855. I will link the product page and documentation below. This pre-programmed PMIC is designed to supply the AM64xx processor with the correct power and current needs without any changes from the user. If you are concerned with the programming procedure, I would advise you to check out these other options.

    Product Page: TPS6521855 - Power Management IC (PMIC) for TI AM64x

    Application Note: Using LP8733xx and TPS65218xx PMICs to Power AM64x and AM243x Sitara Processors

    Section 5.2 of the application note shows a dual-PMIC solution with the pre-programmed TPS6521855 and the LP873364:



  • Hi James,

    Thank you very much for the fast and valuable feedback!

    Based on your info, I understood that it is possible IN-Circuit Programming for the PMIC with the default settings (never programmed before).

    We have already our reference design implemented using PMIC TPS6521815 and DC/DC buck TPSM82823ASILR and not intending to move to "55" PMIC, but thanks for the recommendation.

    Please imagine these two scenarios:

    1) the PMIC is mounted on our ref design prototype un-programmed. Then all the rails are OFF as you mentioned and can start programming. When done, just set the right values for enabling the rails, by using ENABLE1 and ENABLE2 registers, right?

    2) The PMIC is pre-programmed using BoosterPack, then mounted on the prototype. Then we want to re-program the PMIC. How we should proceed? Starting by setting the default values of the ENABLE1 and ENABLE2 registers and therefore disabling the output rails? What else?

    Thanks and best regards,


  • Hi Niculina,

    The TPS6521815 is password protected against accidental writes on registers 11-26. For both situations described, take a look at Section 8.6.1 in the datasheet. The device also requires a 3-input password to reprogram the default registers with the new values. This process is described in Section 8.5.1. Basically you will need to:

    > Power on the device to active state to access I2C communication

    > Enter the hex code password for the register you wish to change into the PASSWORD register (0x10), the hex code is an XOR of the protection password (0x7D) and the address of the register you want to change

    > After writing to the PASSWORD register, change the value of the target register for modification and perform the write, the PASSWORD register will automatically reset to 0x00.

    > Once all registers are changed to the desired values, make sure to have more than 4.5V on VIN_BIAS and perform the consecutive write of 0x50, 0x1A, or 0xCE to the PASSWORD register to set the new values as the default configuration.

    1) The enables for the rails are controlled by the SEQx register settings during power up. If you want certain rails to be enabled during the power up sequence they must be assigned to a STROBE in the power-up sequence using SEQ3 - SEQ7.

    2) After you power up to ACTIVE state to access I2C, you can change the SEQx and DCDCx registers to the desired settings. The ENABLE1 and ENABLE2 can be used to temporarily disable rails while the device is on but when you cycle power the rails will return to the settings in the SEQx registers. If you decide to disable some rails while you change register values there is no need to re-enable them before a power cycle as they will be re-activated by the programmed sequence.



  • Hi James,

    Thank you very much for the clear answer!

    Kind regards,