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.

TPS65217: Not booting up without PWR_EN pulled to VSYS

Part Number: TPS65217

I have a TPS65217ARSLT PMIC that is set up similar to the Beaglebone Black. The battery and USB inputs are used, AC is left NC. PB_IN is wired to a pushbutton. 

I added a pull-up to PWR_EN so that our software guys could get going with prototyping, knowing that eventually I would depop this and let the MCU drive this input. For now this behaves like expected: a button press turns on the board with just a battery input, and the board turns on as soon as you plug USB in. Of course with the pull-up there is no way to turn the board off without removing the battery or USB source. 

So I go to remove the pull-up on PWR_EN and the PMIC won't start. I was under the impression that it would come up for 5 seconds, then turn off if PWR_EN is not HIGH. This would be plenty of time for the MCU to send a HIGH signal. Am I missing some other requirement for the PMIC to boot up? VIO is tied to VDCDC2, which is different than the BBB, is this a problem?

I can provide a schematic, but due to possible infringements I don't want to post it publicly. Thanks

  • Just want to note that I when I am talking about PWR_EN being pulled up, it is being pulled up by the SYS pin with a 10k.
  • Your understanding of the device operation appears to be correct, but I will need you to confirm that you are still pressing the push-button (connected to PB_IN) when the PWR_EN pull-up resistor is removed.

    Immediately after the push-button is pressed, SYS should be at approximately the same voltage as the input source (BAT voltage). During this time, only LDO1 rail will be on.

    Then the 5 seconds timer starts and waits for PWR_EN to go high before enabling all of the remaining rails. So yes, 5 seconds is plenty of time to set PMIC_PWR_EN high, but only if the PMIC has entered the WAIT_PWR_EN state in the Global State Diagram.

    When you say MCU, do you mean an auxiliary MCU or the AM335x processor? On the AM335x processor, the PWR_EN pin of the PMIC is driven by the PMIC_PWR_EN signal from the processor.
  • We are using a different MCU, just using a GPIO to turn on PWR_EN as soon as it boots. I believe the problem is that the MCU (single supply) is powered by DCDC2, not LDO1.

    This is a gross misunderstanding on our part, and its going to be tricky to get this to work considering LDO1(1.8V) cannot supply our MCU...
  • Danny,

    I understand your concern.

    In some cases, when the TPS65217 LDOs are not capable of providing enough current to peripherals (such as WiLink devices), a "split rail" implementation is required. In these cases, a discrete DC-DC is used to generate up to 1A and additional sequencing measures are taken to ensure none of the AM335x I/Os are powered on before the Core rail.

    Obviously, this type of solution would require additional design effort and not be a quick fix.

    If your MCU can drive the PWR_EN pin low against the pull-up and will withstand up to 5V on the I/O pin, then you could still enter the Sleep and OFF states with your existing implementation.

    If the GPIO cannot withstand 5V, then you could bootstrap the PMIC on by pulling PWR_EN up to LDO1 and then pulling it down later from the MCU. This would be less design effort but would still require an ECO on the PCB.
  • I came to the same conclusion. My solution is to pull PWR_EN to LDO1 then shut it down using software. Thanks for your help