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.

TPS65912: Unable to program PMIC when connections change.

Part Number: TPS65912

Please consider these 2 scenarios:

1)

  • EN1_DCDC1_SEL pin connected to an external wire for testing purposes but, for this particular case, no signal is inputted.
  • INT1 is also connected to an external wire for testing purposes but, for this particular case, no signal is inputted.
  • EN2/3/4_DCDC2/3/4_SEL are left floating. 
  • CONFIG1 and CONFIG2 are set to LOW and HIGH, respectively.
  • SLEEP pin is grounded.
  • PWRHOLD set to HIGH.
  • nRESPWRON is floating.

Based on this configuration, I'm able to program the registers of LDO6, LDO7 and LDO8 and set their voltages to whatever I want.

2) 

  • ENx_DCDCx_SEL are all grounded.
  • INT1 is floating.
  • LDO6/7/8_EN1/2/3/4 (on ENx_SETx registers) bits are set to 0 so the pins have no effect on enabling and disabling the LDOs.
  • SLEEP pin is grounded and the DEVCTRL2:SLEEP_POL bit is set to 0 for an active high.
  • CONFIG1 and CONFIG2 are set to LOW and HIGH, respectively.
  • PWRHOLD set to HIGH.
  • nRESPWRON is also floating.

With this set up however I am unable to program LDO6, LDO7 and LDO8...Any idea why? 

Thank you!

  • aleca10,
    I am passing this to the product specialist. Someone should get back to you soon on this.
  • aleca10,

    When you say you are unable to program LDO6/7/8 are they being pulled low?

    Also, do you have a schematic you could send so I can take a look at it? Based on what you have said I don't see anything that could be causing a problem so I would like to take a look if possible.

    I also would make sure to probe RESPWRON to see if it goes high and check the supply pins VINLDO67 and VINLDO8.

    Thanks,
    Nick
  • Thank you for the quick reply, Nick!

    The supply pins are fine. As an example, If CONFIG1 set HIGH and CONFIG2 set LOW the LDOs default output voltages match the expectations from the datasheet. With CONFIG1 set LOW and CONFIG2 set HIGH, LDO6, 7 and 8, the LDOs should be disabled - as expected.

    For case 1, I am able to program their registers, enable the LDOs and have them output the voltages I want. In case 2, the LDOs are OFF and stay remain disable even when I program their registers...

    Pic for Case 1:

    Pic for Case 2:

  • aleca10,

    Are all of these being powered off of the V3p3or5p0 line?

    My thought is that maybe something else is disabled when you ground the ENx_DCDCx_SEL pins that may cut power to LDOs 6/7/8. If not, then based on what you have set about your register settings they should not be disabled when you ground the ENx pins. If you want to send a view of your register map I can take a look at it.

    Also, I am assuming this is a TPS659122, not a TPS659121 based on your example of the LDO's being disabled when CONFIG1 was low but not when CONFIG1 was high.

    Thanks,
    Nick
  • Yes, it is a TPS659122 and all the pins connected with V3p3or5p0 are powered up to at least 3.3 V.

    Correct me if I am wrong, but if power was being cut to LDOs 6/7/8 I should not expect any voltage to be outputted, right? They do output the corresponding default voltages when CONFIG1 set HIGH and CONFIG2 set LOW (1.85 V for LDO 6/7 and 2.85 for LDO 8). 

    When you say 'something else is disabled', any idea on what could it be? Any chance that ENx_DCDCx_SEL should not be grounded at all? Just like I said, in case 1 when none of these pins are ground, register programming works just fine. 

    Thank you.

  • aleca10,

    Yes you are correct about not expecting any voltage to be outputted when power is cut. My thought was a rail like DCDC4 might be powering something, and as per register EN1_SET2 when CONFIG1 is set high/low that could be enabled/disabled. It was a long shot and clearly not the problem if your inputs are all powered by V3p3or5p0.

    I tried recreating this same setup using an EVM but I was unfortunately not able to see the same issue.

    If you send me a your register contents I can take a look at it and see if maybe something has been changed from the default values.

    Thanks,
    Nick