123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- * Low Power Management Levels
- The application processor in MSM can do a variety of C-States for low power
- management. The LPM module performs the CPU and System low power modes based
- on it latency and residency information of the individual CPU/System low power
- levels.
- The first level node represents the properties of the system and includes
- second level node to represent the low power modes of cpu and system.
- [First Level Nodes]
- Required properties:
- - compatible: "qcom,lpm-levels"
- The optional nodes for the First level nodes are:
- - qcom,no-l2-saw: Indicates if this target has an L2 SAW (SPM and AVS wrapper).
- - qcom,default-l2-state: Indicates what the default low power state of the L2
- SAW should be. This property should be mentioned when there is
- a L2 saw.
- - qcom,allow-synced-levels: Indicates if certain low power modes should be
- synchronized across all cores so as to configure a system
- low power mode.
- [Second Level Nodes]
- Required properties to define CPU low power modes :
- - compatible = "qcom,cpu-modes";
- - qcom,mode: The sleep mode of the processor, values for the property are:
- "wfi" - Wait for Interrupt
- "retention" - Retention
- "standalone_pc" - Standalone power collapse
- "pc" - Power Collapse
- - qcom,latency-us: The latency in handling the interrupt if this level was
- chosen, in uSec
- - qcom,ss-power: The steady state power expelled when the processor is in this
- level in mWatts
- - qcom,energy-overhead: The energy used up in entering and exiting this level
- in mWatts.uSec
- - qcom,time-overhead: The time spent in entering and exiting this level in uS
- Required propertieis to define System low power mode :
- - compatible: "qcom,system-modes"
- - qcom,l2: The state of L2 cache. Values are:
- "l2_cache_pc" - L2 cache in power collapse
- "l2_cache_pc_no_rpm" - L2 cache in power collapse. This mode
- wouldn't inform the RPM
- "l2_cache_retenetion" - L2 cache in retention
- "l2_cache_gdhs" - L2 cache in GDHS
- "l2_cache_active" - L2 cache in active mode
- - qcom,latency-us: The latency in handling the interrupt if this level was
- chosen, in uSec
- - qcom,ss-power: The steady state power expelled when the processor is in this
- level in mWatts
- - qcom,energy-overhead: The energy used up in entering and exiting this level
- in mWatts.uSec
- - qcom,time-overhead: The time spent in entering and exiting this level in uS
- - qcom,min-cpu-mode: The min cpu sleep mode at which the given system level is
- valid. All cpus should have entered this low power mode before
- this system level can be chosen.
- - qcom,send-rpm-sleep-set: The system mode notifies RPM of Apps sleep and should
- send the current sleep set votes and configure MPM before
- entering this low power mode.
- Example:
- qcom,lpm-levels {
- compatible = "qcom,lpm-levels";
- qcom,default-l2-state = "l2_cache_retention";
- #address-cells = <1>;
- #size-cells = <1>;
- qcom,cpu-modes {
- compatible = "qcom,cpu-modes";
- qcom,cpu-mode@0 {
- qcom,mode = "wfi";
- qcom,latency-us = <1>;
- qcom,ss-power = <715>;
- qcom,energy-overhead = <17700>;
- qcom,time-overhead = <2>;
- };
- qcom,cpu-mode@1 {
- qcom,mode = "retention";
- qcom,latency-us = <35>;
- qcom,ss-power = <542>;
- qcom,energy-overhead = <34920>;
- qcom,time-overhead = <40>;
- };
- };
- qcom,system-modes {
- compatible = "qcom,system-modes";
- qcom,system-mode@0 {
- qcom,l2 = "l2_cache_gdhs";
- qcom,latency-us = <20000>;
- qcom,ss-power = <163>;
- qcom,energy-overhead = <1577736>;
- qcom,time-overhead = <5067>;
- };
- qcom,system-mode@1 {
- qcom,l2 = "l2_cache_pc";
- qcom,latency-us = <30000>;
- qcom,ss-power = <83>;
- qcom,energy-overhead = <2274420>;
- qcom,time-overhead = <6605>;
- };
- };
- };
|