cancel
Showing results for 
Search instead for 
Did you mean: 

Power off without PMIC

Dat Tran
Senior II

Hi, we make custom board base on STM32MP15 and without PMIC and have problem with power off command.

Does anyone know any document or hint about this? All research we have found always include PMIC.

 

 

8 REPLIES 8
PatrickF
ST Employee

Hi @Dat Tran ,

Could you details which HW have you provisioned on your board to power off the supplies ? Is it controlled using I2C or GPIO or else ? I think OpTee need to be adapted to your HW control.

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.

Hi Patrick, we don't use any special hw to power off the supplies. We use two LTC3406B to generate 1.215V for VDD_CORE and 1.35V for VDD_DDR, and we follow document below to make custom board. 

And we are using buildroot.

I thought there are some registers we set to enter STOP or standby mode, similar to F4, F7 or H7. 

Do you know where those code are on STM32MP1?

 

 

DatTran_0-1699540734190.png

 

PatrickF
ST Employee

Hi,

maybe have a look to:

'Power OFF' is different than Standby. Power OFF is not really a low power mode.
Power OFF need specific HW to shutdown all supplies under SW control whereas Standby deactivate PWR_ON pin to shutdown all supplies except VDD with external HW (usually Enable of discrete regulators), allowing wakeup by WKUP pins (or internal sources like TAMP or RTC).

Power control SW is inside OpTee, but unless specifc power mechanism and HW does not need to be modified (only device tree adaptations).

 

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.
Dat Tran
Senior II

Thank PatrickF,

So power off command won't work without PMIC or special HW.

But does "echo mem > /sys/power/state" still work? 

When we send that command, power consumption goes lower but not too much, so we want to see where the issue is. At the low layer, does this command will set some registers to enter low power mode?

 

 

 

 

PatrickF
ST Employee

Hi,

note in https://wiki.st.com/stm32mpu/wiki/Power_overview#API_description
"The whole system activity is stopped and a low-power mode is entered. The software selects the deepest mode according to the activated wakeup source(s)."

In other words, to go to Standby with DDR OFF (the lowest one possible with your HW if you are using PWR_ON to shutdown VDDCORE and DDR supplies), only WKUP pins should be enabled.
If PWR_ON is not toggling, you should look at SW messages/traces to know who avoid this. https://wiki.st.com/stm32mpu/wiki/Power_overview#How_to_trace_and_debug

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.

Thank PatricF,

If I use PWR_ON to shutdown VDD_CORE and DDR, then RTC wakeup won't work? because you said "only WKUP pins should be enabled". 

Another question is, if everything is setup correctly, when I type the command 

echo mem > /sys/power/state

then I should see PWR_ON from high to low?

 

 

Hi,

sorry, I was not precise enough. Yes, in addition to WUP pins, RTC (regular or alarm) and TAMP (tamper detection) and reset could wakeup from STANBDY.
This is listed in Reference Manual (abstract below):

PatrickF_0-1700031835509.pngPatrickF_1-1700031853605.png

Regarding "echo mem > /sys/power/state", I'm not SW expert, but my understanding is that lowest achieved low power mode depend on enabled wake up sources in Linux. Details are available in wiki and application notes.

I don't know if you are hobbyist or working within a team, but having made the choice not to implement STPMIC1 assume you anticipated potential limitations in low power modes flexibility and additional customization on your side as all HW and SW examples with ST development boards are build around STPMIC1.

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.

Thank Patrick, we are working within team, and this is a serious project.

We don't need power off but we need low power and wakeup by RTC. We changed our hw design to work with PWR_ON.

We are using single DDR3L, as picture below, can we leave PWR_LP unconnected? 

 

DatTran_0-1700059870504.png