aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mfd/db8500-prcmu.h
diff options
context:
space:
mode:
authorMattias Nilsson <mattias.i.nilsson@stericsson.com>2012-01-13 10:20:43 -0500
committerSamuel Ortiz <sameo@linux.intel.com>2012-03-06 12:46:33 -0500
commit4d64d2e34bc415b05eb77a2732a3164313cf6de3 (patch)
treef4331b9e59754a52f83cfc79b6ca1547861a1a89 /include/linux/mfd/db8500-prcmu.h
parent992b133a5d85ced4ff0fbdab22e9196cf571e0c9 (diff)
mfd: db8500 OPP and sleep handling update
This updates the operating point handling code by: - Supporting the DDR OPP retention state. - Supporting another low operating point named APE_50_PARTLY_25_OPP - Adding an interface to figure out if the sleep state change was properly achieved. Signed-off-by: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com> Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Mattias Nilsson <mattias.i.nilsson@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'include/linux/mfd/db8500-prcmu.h')
-rw-r--r--include/linux/mfd/db8500-prcmu.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/include/linux/mfd/db8500-prcmu.h b/include/linux/mfd/db8500-prcmu.h
index c5028f1246fc..841342c55451 100644
--- a/include/linux/mfd/db8500-prcmu.h
+++ b/include/linux/mfd/db8500-prcmu.h
@@ -457,6 +457,25 @@ enum hw_acc_dev {
457 NUM_HW_ACC 457 NUM_HW_ACC
458}; 458};
459 459
460/**
461 * enum prcmu_power_status - results from set_power_state
462 * @PRCMU_SLEEP_OK: Sleep went ok
463 * @PRCMU_DEEP_SLEEP_OK: DeepSleep went ok
464 * @PRCMU_IDLE_OK: Idle went ok
465 * @PRCMU_DEEPIDLE_OK: DeepIdle went ok
466 * @PRCMU_PRCMU2ARMPENDINGIT_ER: Pending interrupt detected
467 * @PRCMU_ARMPENDINGIT_ER: Pending interrupt detected
468 *
469 */
470enum prcmu_power_status {
471 PRCMU_SLEEP_OK = 0xf3,
472 PRCMU_DEEP_SLEEP_OK = 0xf6,
473 PRCMU_IDLE_OK = 0xf0,
474 PRCMU_DEEPIDLE_OK = 0xe3,
475 PRCMU_PRCMU2ARMPENDINGIT_ER = 0x91,
476 PRCMU_ARMPENDINGIT_ER = 0x93,
477};
478
460/* 479/*
461 * Definitions for autonomous power management configuration. 480 * Definitions for autonomous power management configuration.
462 */ 481 */
@@ -544,6 +563,7 @@ int db8500_prcmu_load_a9wdog(u8 id, u32 val);
544 563
545void db8500_prcmu_system_reset(u16 reset_code); 564void db8500_prcmu_system_reset(u16 reset_code);
546int db8500_prcmu_set_power_state(u8 state, bool keep_ulp_clk, bool keep_ap_pll); 565int db8500_prcmu_set_power_state(u8 state, bool keep_ulp_clk, bool keep_ap_pll);
566u8 db8500_prcmu_get_power_state_result(void);
547void db8500_prcmu_enable_wakeups(u32 wakeups); 567void db8500_prcmu_enable_wakeups(u32 wakeups);
548int db8500_prcmu_set_epod(u16 epod_id, u8 epod_state); 568int db8500_prcmu_set_epod(u16 epod_id, u8 epod_state);
549int db8500_prcmu_request_clock(u8 clock, bool enable); 569int db8500_prcmu_request_clock(u8 clock, bool enable);
@@ -699,6 +719,11 @@ static inline int db8500_prcmu_set_power_state(u8 state, bool keep_ulp_clk,
699 return 0; 719 return 0;
700} 720}
701 721
722static inline u8 db8500_prcmu_get_power_state_result(void)
723{
724 return 0;
725}
726
702static inline void db8500_prcmu_enable_wakeups(u32 wakeups) {} 727static inline void db8500_prcmu_enable_wakeups(u32 wakeups) {}
703 728
704static inline int db8500_prcmu_set_epod(u16 epod_id, u8 epod_state) 729static inline int db8500_prcmu_set_epod(u16 epod_id, u8 epod_state)