msm: pm2: Add CPR specific function callbacks to PM driver
CPR(Core Power Reduction) is a new h/w block added in 8x25
2.0 revision. This block reduce the power consumption of
SOC using sensors inside the SOC. Add function callbacks to
PM driver to perform disable, enable, save and restore of
CPR context data when the core do an IdlePC.
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
(cherry picked from commit ff723ece018452e722155daa67ff0fdd65cc5c96)
Change-Id: Ideb6300ce1afe9976853e47ab9f1eec2ef22c77e
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
diff --git a/arch/arm/mach-msm/devices-msm7x27a.c b/arch/arm/mach-msm/devices-msm7x27a.c
index 1fcf7dc..72b1535 100644
--- a/arch/arm/mach-msm/devices-msm7x27a.c
+++ b/arch/arm/mach-msm/devices-msm7x27a.c
@@ -501,6 +501,19 @@
}
+static struct msm_pm_cpr_ops msm8625_pm_cpr_ops = {
+ .cpr_suspend = msm_cpr_pm_suspend,
+ .cpr_resume = msm_cpr_pm_resume,
+};
+
+void __init msm_pm_register_cpr_ops(void)
+{
+ /* CPR presents on revision >= v2.0 chipsets */
+ if (cpu_is_msm8625() &&
+ SOCINFO_VERSION_MAJOR(socinfo_get_version()) >= 2)
+ msm_pm_set_cpr_ops(&msm8625_pm_cpr_ops);
+}
+
#define MSM_SDC1_BASE 0xA0400000
#define MSM_SDC2_BASE 0xA0500000
#define MSM_SDC3_BASE 0xA0600000