Our Linux Kernel version is 4.1.15 .My question is how to enter 3 kinds of Low Power Mode , LPSR and SNVS in SW method. How can I confirm the cpu is in the mode mentioned above? What's the cpu freqency in different mode and how to measure it? What operating-points does imx7d support in dts file.
Hi ,
I have already read these documents & AN5383., but I still can't get the answers for some of my questions. Could you please give me the specific answer for my questions?
Thanks for you help,
Will
Hello,
NXP Linux supports mem (suspend to RAM) mode, that maps to DORMANT mode,
"which offers most significant power saving, as all blocks in the system are put into a low-power state,
except for memory, which is placed in self-refresh mode to retain its contents. If there is
"fsl,enable-lpsr" defined in DTB ocrams node, mem is mapped to LPSR mode instead of DORMANT,
and all the blocks in the system are put into power off state, except the LPSR, SNVS, and DRAM power domains."
To enter :
$ echo mem > /sys/power/state
Regards,
Yuri.
Hi Yuri
So ,"mem" corresponds to "SUSPEND" which is called "Deep-Sleep" in AN5383, is it right?
Thanks for your help.
Will
Yes.
Hi Yuri
There are three kinds of low power mode in IMX7DRM .They are called "System IDLE","Low Power IDLE" and "SUSPEND".
How to enter "System IDLE" and "Low Power IDLE"? Which mode will be entered if "echo standby > /sys/power/state" is executed? What about "echo freeze > /sys/power/state"?
How to enter STOP mode?
Thanks & Best Regards
Will
Hello,
1.
from i.MX Linux® Reference Manual :
To enter different system level low power modes:
echo mem > /sys/power/state
echo standby > /sys/power/state
Here standby maps to STOP mode.
2.
as for freeze mode, please look at https://community.nxp.com/message/813854
Regards,
Yuri.
Hello,
Please use the recent BSP and its documentation; in particular Chapter 21 [Low-level Power
Management (PM) Driver ] of "i.MX_Linux_Reference_Manual.pdf".
Also, please refer to Chapter 23 [CPU Frequency Scaling (CPUFREQ) Driver].
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Yuri,
I have read these documents before. I didn't find the way to enter LPSR or SNVS in SW method. As for System idle , it says " System IDLE - This mode is defined as a mode which CPU can automatically enter when there is no thread running. ",so how to kill all thread ?
I get the way to enter system idle mode in AN5383 6.2. System Idle mode.
it seems that the cpu frequency is 792MHz,but i think the cpufreq should be the lowest frequency of "operating points" which is set in devicetree,and the result of
" cat /sys/devices/system/cpu/*/cpufreq/cpuinfo_cur_freq” is 162MHz. What's wrong?
I can write “mem”“standby”“freeze” to "/sys/power/state", what's the relationship between these strings and low power modes?
Doesn't executing "cat /sys/devices/system/cpu/cpu0/cpuinfo_cur_freq" stop the idle mode?
Could you please give me specific answer for my question?
Thanks for you help.
Will
Hello,
> ... how to kill all thread ...
I do not think this is good idea. Let it will be done automatically.
Regards,
Yuri.