2023-11-01 05:31 AM
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.
2023-11-06 06:56 AM
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.
2023-11-09 06:45 AM
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?
2023-11-09 11:41 PM - edited 2023-11-10 06:45 AM
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.
2023-11-10 06:24 AM
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?
2023-11-10 06:51 AM
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.
2023-11-14 09:44 AM
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?
2023-11-14 11:22 PM
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):
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.
2023-11-15 06:52 AM
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?