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.

TPS650864: OTP programming and I2C configuration

Part Number: TPS650864
Other Parts Discussed in Thread: BOOSTXL-TPS650861, TPS650861

We are looking at using a TPS6508640 to power a Zynq ZU7CG Ultrascale+ FPGA and I had a few questions about the configurability of the TPS6508640. In the datasheet it says "With on-chip one-time
programmable (OTP) memory, configuration of each rail for default output value, power-up sequence, fault handling, and Power Good mapping into a GPO pin are all conveniently flexible." does this mean that all of these parameters are programmed at the factory and are not configurable? If that's the case are we able to change anything over I2C, for example can we pole all of the different power good outputs over I2C and what information is available over I2C, i.e. voltage outputs etc? Thank you for any help. 

  • Hello Josh,

    I have forwarded your question to expert on this device. He should get back to you tomorrow.

    Thanks.

    Regards,
    Tomi Koskela
  • Josh,

    The TPS650864's OTP memory is programmed at the factory and can't be over-written. However, the settings can be changed after the device is powered up, so if you need to change an output voltage on one of the rails, or modify the sequencing, etc. you can do that through I2C. It is important to note that this is not going to modify the OTP memory, but is instead modifying the volatile memory that the settings are loaded into at startup, so if you restart the device, the settings will go back to the OTP memory default.

    We also have a user programmable version of this device, TPS650861. In this version the OTP memory is essentially "blank" so that it can be programmed by the user. We also have a boosterpack programming board for this device, BOOSTXL-TPS650861. If you look at the datasheet for the TPS650861 you can see there are two sets of registers that are used to program the device. All of the 0x5E registers contain settings that can be modified on both the TPS650861 and TPS650864, but the 0x38 registers contain settings can only be changed on the TPS650861. Most of the setting in 0x38 are for step size and the CTL pins/PGOOD signals that are used to enable each rail.
  • Thanks Nick, so when the device powers up are the outputs able to be held off until the voltage output and sequence is modified over I2C or does it run through it's OTP program before communicating over I2C? One additional question regarding the power good outputs, the datasheet says the power good outputs can be assigned to any of the four GPO pins, if we are communicating over I2C are we able to change which VR is connected to a GPO pin in real time so we can effectively pole all of the power goods for every VR?
  • Josh,

    The device could be powered on without the voltage rails coming up as long as the CTL pins are kept low. At this time I2C communication would be available. The PGOOD signals being monitored by the GPOs can be controlled using registers 0xA4-0xAB.
  • Thanks Nick, so just to make sure I understand it completely, if I hook my microcontroller up to the PMIC over I2C and have a single GPO pin from the PMIC connected to a single input pin on microcontroller I can use the I2C signal from the microcontroller to poll the PMIC and look at each power good signal in series on the single GPO output of PMIC? 

  • Josh,

    Yes you could.