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.

TPS6521905: programming the PMIC without changing NVM values

Part Number: TPS6521905

Tool/software:

Hello,

Is it possible to program the PMIC without saving the register values in the NVM?

The use case is to measure the input voltage and program the PMIC LDOs as LDOs or bypasses, depending on the input voltage. Then, enable the outputs and sequence the supplies.

I am aware that I may reprogram the NVM, but I would like to keep the default NVM values so that I can reprogram the registers after measuring the input voltage (using code on a microcontroller compatible with both 3v3 and 5v0). 

Is this possible? I was unable to make the PMIC function without programming the NVM, but given the maximum number of rewrites the NVM can handle, I would prefer to avoid that.

Thank you.

  • Hi Dhruv,

    Yes, you should be able to change the rail voltages after the power up sequence is completed and I2C available, but they will go back to default values if PMIC is power cycled.

    What were you not able to achieve without programming?

    Sathish

  • Hello Sathish,

    Thank you for your reply.

    The voltage rails going back to default values (disabled) is desired bahavior.

    Given that I have not programmed the NVM yet, I suppose that the default behavior is all rails disabled.

    I am able to write to the registers, yet the PMIC remains in the INITIALIZE state and does not transition to the ACTIVE STATE.
    Therefore, the rails do not power on.

    FYI the value in register 35h is 0x48 after the point I assumed the PMIC should have powered up. In other words, the PMIC detects that I had a pulse on the EN pin, yet does not transition to the ACTIVE state.

    I am somewhat confident that my register map is correct because I have a functioning board when I program the NVM, but I would be happy to receive your advice on it regardless.

  • Hi Dhruv,

    Good to know that you have access to I2C and able to communicate to PMIC.

    If you read register 0x20, it will show 10h indicating that EN/PB pin for this user programmable version (05) of the device is set to PB, so you will have to pull this pin to GND for about 200ms and confirm that the device transitions from Initialize state to Active state. Once the device is in Active state you can enable/disable each rail.

    Sathish

  • Hi Sathish,

    Thanks for your reply.

    I have reprogrammed the NVM to operate using VSENSE but keep the rails disabled. Register 0x20 has value 0x64.

    However, the PMIC remains in INITIALIZE state after I program the registers and send the ENABLE signal from my PIC.

    Does programming the registers in INITIALIZE STATE block the PMIC from then moving into ACTIVE STATE? Or modifying certain registers force the PMIC back into the INITIALIZE STATE?

    EDIT: I believe this may be the case, as by programming only the enable registers, and not my entire register map as previously, I was able to get the PMIC to sequence up.