cancel
Showing results for 
Search instead for 
Did you mean: 

stpmic1 enter to unknown state when the board is powered with a specific ramp and is unable to power up

RBors.1
Associate II

Hello,

we are making qualification stress tests on our custom STM32MP157 board. One part of these tests consist to power the board with custom ramps that simulate the worst power scenarios (as glitches, slow ramp, brownout and blackout).

We use the P/N STPMIC1APQR and we want the system to always (auto) power up when the Vin is stable.

We found, at the moment, two scenarios that prevents the PMIC to start:

  1. single hole on Vin (5V nominal) with a minimum level >Vin_por_fall, <Vin_ok_fall
  2. multiple fast holes on Vin (period 14ms duty 50%) with same levels as 1.

All scenarios are perfectly reproducibles and leads to the same results.

The first scenario is explained in the datasheet as a turn-OFF condition triggered by VIN_OK_Fall. By pressing the PONKEY button the system is able to boot.

In the second scenario pressing the PONKEY button will not restart the system. The only documented PMIC state that explain this behaviour is the LOCK_OCP state, indeed the PMIC will only leave this state by lower the Vin under the Vin_por_fall level.

However we can not explain how the PMIC could enter in this state as the NVM register LOCK_OTP is cleared and no overcurrent should happen.

Here follows my questions:

  1. is there a known method to prevent these locks?
  2. how could the PMIC behaviour in the second scenario be explained?

I'm available to share some oscilloscope plot to further explain the problem.

Best regards,

Rosario Borsellino

16 REPLIES 16
Vincenzo
ST Employee

Hello Rosario,

could you please provide me some oscilloscope plot to check the behavior?

You can send me an email if you prefer

Best Regards

Vincenzo

Ara.1
Senior

Hi Rosario,

i am also facing the ramp power up state failure, any input further,

  1. slowly ramp from 1 -15 v device not booting up
  2. on power up,sudden power down and then quickly power up, device not powered up, and no uboot logs
Vincenzo
ST Employee

Hello Ara,

the A.M.R. of device is 6.5V, so 15V for sure will damage the device

could you please confirm the maximum voltage applied to our STPMIC1?

Best Regards

Vincenzo

Ara.1
Senior

Main DC supply is 24 volts, but for STPMIC1 max is 5V, if i do unplug and plug, unit boots up normal, but when i do a ramp test slowly increase the supply voltage variable know to reach main DC voltage to 20v then unit does not boots up until I unplug and plug the power supply, has any one faced this issue ?

Hi @Ara.1​ ,

in order to help @Vincenzo​, could you provide:

  • the STPMIC1 version (visible on UART console in very first lines of TF-A log during boot)
  • plot 24V, VIN (5V), BUCK3 (VDD) and RSTn curves in case of 'slow ramp up' failure

Regards.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
Ara.1
Senior

STPMIC1A version 0x21

CPU: STM32MP157CAA Rev.?

this is scope data

yellow is buck3 out

pink is vin

in both images

scale:

y 1v/div

anyone from PMIC div, may you let me know whats happening here ?.,

any software shall be done here ?

i am blocked now,

ChristopheB
ST Employee

Hi @Ara.1 (Community Member)​ ,

Thank you for the plots; PMIC behavior is understood (please download picture below to see text inserted into your plot):

0693W00000HqNr0QAF.jpgOn your plot, there are two sections where VIN drop:

  • The first is VIN dropping below VIN_POR_Fall threshold (see STPMIC1 datasheet)
  • The second is VIN dropping above VIN_POR_Fall

-1- When VIN drops below VIN_POR_Fall, the PMIC is in reset state (PMIC state machine is in 'NO_SUPPLY' state (see PMIC datasheet Figure 53)). So when VIN rises back, PMIC automatically turn ON due to "AUTO_TURN_ON" event (AUTO_TURN_ON bit is set in PMIC NVM)

-2- When VIN drops but keep above VIN_POR_Fall, the PMIC goes in OFF state (due to VIN_OK_Fall turn OFF condition). When VIN rises back, PMIC will keep in OFF state until a valid Turn ON condition. In that case, AUTO_TURN_ON bit has no effect (AUTO_TURN_ON bit has effect only from NO_SUPPLY state) => This is expected PMIC behavior defined for safety to avoid infinite restart loop in case application is powered from bad power supply source.

If you want to restart PMIC automatically after it gone in OFF state (so typically your use case), software needs to set the Restart_request bit (MAIN_CR[RREQ_EN] = 1) after each time the PMIC power ON; so after each time your application is booting-up.

Best regards,

Christophe