blob: b66d4a694fed6cce19405ba74c4b77ee07472326 [file] [log] [blame]
* MSM PM
PM is the low power management device for MSM (Snapdragon class) chipsets.
This device sets up different components to do low power modes and registers with
the kernel to be notified of idle and suspend states and when called, follows
through the set of instructions in putting the application cores to the lowest
power mode possible.
The PC debug counter reserves 16 registers in the IMEM memory space which maintains
a count on the state of power collapse on each core. This count will be useful to
debug the power collapse state on each core.
The required properties for PM are:
- compatible: "qcom,pm"
The optional properties are:
- reg: physical IMEM address reserved for PC counters and the size
- qcom,use-sync-timer: Indicates whether the target uses the synchronized QTimer.
- qcom,synced-clocks: Indicates that all cpus running off a single clock source and to
instantiate the necessary clock source.
- qcom,pc-resets-timer: Indicates that the timer gets reset during power collapse.
- qcom,tz-flushes-cache: Indicates that TZ flushes all of the cache during
power collapse. MSM PM can decide to not perform cache flush operations to
reduce latency associated with L2 PC.
- qcom,saw-turns-off-pll: Indicates that the CPU's PLL can be managed from SAW
hardware. On such targets software management of PLL is not required. If
this property is specified then qcom,synced-clocks would be ignored.
- qcom,no-pll-switch-for-retention: Boolean property, to indicate that the cpu
clock can be sourced even from the HFPLL even when the cpu is in
retention, and need not be switched to an always on pll. If this flag
is set then the cpu clock is not ramped down when entering retention or
ramped up on exiting retention.
Example 1:
qcom,pm@fe800664 {
compatible = "qcom,pm";
reg = <0xfe800664 0x40>;
qcom,use-sync-timer;
};
Example 2:
qcom,pm@fe800664 {
compatible = "qcom,pm";
reg = <0xfe800664 0x40>;
qcom,saw-turns-off-pll;
};