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.

TPS65911: Custom sequence/voltages over I2C -- How-to

Part Number: TPS65911
Other Parts Discussed in Thread: TMS320DM8168

I have a TPS659112 that I would like to prevent sequencing while I program it over I2C for the correct sequence and voltages.  Then when I am ready, I would like to initiate the sequence.  I was originally trying to determine if I could use PWRHOLD or PWRON to prevent the device from starting up while I program it.  After reading some other posts here, it seems like a better solution may be to leave BOOT1 floating, placing the PMIC in test mode, then programming everything over I2C.  Is this the preferred method for accomplishing a "custom startup"?  If so, what is used to initiate the sequence when I'm through programming?

I'm using a TPS659112 because I have two power systems, one is a daVinci PMIC and the other is for an FPGA, for which there is not currently a TPS65911x part.  Since I will have Linux booted when I need the FPGA, it seems easiest to just program it at that point in software.

Thanks,

Steve

  • Hi Stephen,

    When going with this approach of using I2C to control rather than the integrated one time programmable (OTP) sequencer, the I2C writes are the sequence. Once you have set the desired voltages, you enable each in turn. The control pins like PWRON won't start any sequence in test mode.

    Each regulator has status bits which needs to be set for the regulator to be enabled, named "ST" and typically in the LDOx_REG or VDDx_REG registers. In general, a value of 01 will allow the regulator to operate with normal current rating, and a value of 11 will allow it to operate with a reduced current rating for sleep mode.
  • Thanks, perfect.

    Steve
  • Kevin,

    I wired up my board in this configuration with the BOOT1 floating. I have VDDIO going to +3.3v, VCC7 is at +5.3v, VCCS is at +5.3v. I've measured VRTC and it is +1.8V and I'm injecting a 32kHz square wave at 1.8V into OSC32KIN. VBACKUP is floating. When I attempt to communicate with the part over I2C (connected to the M5/M4 pins) I do not get any response (NAK). I'm using address 0x2D. This same method works fine for my PMIC that is powered up (and on another I2C bus). I've also run i2cdetect on the bus. It finds the operating PMIC on one bus but doesn't find this part which is in test mode.

    Other pins that may be of interest: PWRON (floating), PWRDN (10k to GND), PWRHOLD (floating), SLEEP (floating)

    Do I need to do anything else to ensure that the core that can respond to I2C is running? This is a TPS659112 if that makes a difference.

    Thanks,
    Steve
  • Hi Steve,

    Did you do any POWER ON event (like PWRON = 0)? I believe that I2C is inactive in OFF state.

    I've also notified Nastasha, our device owner, in case I'm mistaken.
  • No. I was just looking at this and wondering if it might be the case. I do not have PWRHOLD (N1) connected to anything and it's relatively easy to get at that pin since it's on the edge. I'm going to try and get it out and connect it to the power and see if that will start the I2C.

    Thanks,
    Steve
  • Steve,

    I can verify that Kevin is correct in stating that PWRON = 0 will turn the device on. Below is a link to our schematic checklist that will tell you how each pin should be configured.

    www.ti.com/.../swca116c.pdf

    Hope this helps!

    Thanks,
    Nastasha
  • Can I take PWRHOLD high instead of PWRON?  I looked at the on requirements in the data sheet and this one seemed like it would work also.  I am having my board reworked today to try this so I will know shortly.

    Thanks,

    Steve

  • Steve,

    PWRHOLD high will also turn on the device. Below is an excerpt from the datasheet that explains power on conditions.

    Thanks,

    Nastasha

  • OK found and fixed the problem.  The issue is that in the TPS659112 the PWRDN line is ACTIVE HIGH and so in my TMS320DM8168 design, I run this to ground with a 10k.  If you float BOOT1 and put the PMIC in test mode, it reverts to the default which is ACTIVE LOW.  Since I had this ground through a 10k resistor, the PMIC would not power on.  I have now run PWRDN to VTRC and have done the same thing with PRWHOLD and the chip comes up on and outputting no voltages.  I am able to program all voltages and start rails through I2C.

    Thanks,

    Steve