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.

TPS53631: How to set the output voltage via smbus

Part Number: TPS53631

I set DC2DC register address 0x21 value from 0x97 to 0x91 (VR12.0 mode),but the output voltage don't change from 1V to 0.97V?

please provide the set sequece to change output voltage via smbus, and need to save the set value to the dc2dc controller.(when next power up the output voltage value is the 0.97V not 1V)

  • Hi,

    I have assigned this thread to the responsible engineer, please expect a response in the next day.

    Thanks,

    Nastasha 

  • Hi,

    If you are going to use GUI to set/configurate different output voltage, needs to select PMBus Controlled Output Voltage first.

    After modify and before program to NVM, needs to change back to SVID Controlled Output Voltage.

  • # i2cget -y 0 0x65 0xD2                   --------->Read 0xD2 register                                               
    0x02                                                 ---------->return Value                                      
    # i2cset -y 0 0x65 0xD2 0x01          ----------->Write 0xD2 Value to PMBUS Controlled                                         
    # i2cget -y 0 0x65 0xD2                   --------->Read 0xD2 register                                     
    0x01                                                ---------->return Value is PMBUS Controlled                            
    # i2cget -y 0 0x65 0x21                  --------->Read 0x21 Register                                       
    0x97                                                ---------->return Value is 0x97(we set defaule output value is 1V,Use VR12)                             
    # i2cset -y 0 0x65 0x21 0x91          ----------->Write 0xD2 register value to 0x91 (0.97V)                                         
    # i2cget -y 0 0x65 0x21                   --------->Read 0x21 register                                        
    0x97                                                ---------->return Value not changed (need set to 0x91) ,and the output voltage not change to 0.97V                  
    # i2cset -y 0 0x65 0xD2 0x02         ----------->Write 0xD2 register value to SVID Controlled                                           
    # i2cget -y 0 0x65 0xD2                  --------->Read 0xD2 register                                       
    0x02                                                ---------->return value 

    but the output voltage not change to 0.97V

  • Hi,

    Are you going to change VID before power-on or during power conversion?

    If before power-on, you VOUT_COMMAND would be controlled by VBOOT. You can try to set VBOOT as the VID you want to select.

  • Are you going to change VID before power-on or during power conversion?-------->need change output voltage during power conversion and save it to controller(when next power up,not need set the output value again)

    we set the register 0xDB value from 0x97 to 0x91,

    # i2cget -y 0 0x65 0xDB                                                        
    0x97                                                                           
    # i2cset -y 0 0x65 0xDB 0x91                                                   
    # i2cget -y 0 0x65 0xDB                                                        
    0x91                                                                           
    # i2cget -y 0 0x65 0xD2                                                        
    0x02                                                                           
    # i2cset -y 0 0x65 0xD2 0x01                                                   
    # i2cget -y 0 0x65 0xD2                                                        
    0x01                                                                           
    # i2cget -y 0 0x65 0x21                                                        
    0x97                                                                           
    # i2cset -y 0 0x65 0x21 0x91                                                   
    # i2cget -y 0 0x65 0x21                                                        
    0x97                                      ------------>the output voltage not changed                                      
    # i2cset -y 0 0x65 0xD2 0x02                                                   
    # i2cget -y 0 0x65 0xD2                                                        
    0x02

    the output voltage not changed to 0.97V

  • If the Vboot is changed to 0x91, is the voltage 0.97V after re-boot?

    If you would like to change Vboot voltage, you need to modify VBOOT(through NVM) or Pinstrap((B-TMAX pin) not VOUT_COMMAND.

  • If the Vboot is changed to 0x91, is the voltage 0.97V after re-boot?------》when reboot the value change back to 0x97

    I think some mistake with our communication,we need change output voltage during power conversion and save it to controller(when next power up,not need set the output value again),because the main chip on different PCB Board need different voltage (example: main chip on pcb1 need 0.97V, main chip on pcb2 need 1V....),

  • In short,the TPS53631 register 0xD2 can change value from 0x02 to 0x01,but register 0x21 can't modify。

  • What you need to change is VBOOT not VOUT_COMMAND if you would like to set first target voltage is different for different board. And the content of VOUT_COMMAND would be the same as VBOOT as default. If you modify VOUT_COMMAND only, it would change back to VBOOT after re-power on. That's why I would like to confirm with you if the VBOOT(not VOUT_COMMAND) is changed to 0x91, is the voltage 0.97V after re-boot?

    Otherwise, you also can export the .xml file by Digital Fusion Design GUI to me if needed. Then I can check the config. code.