diff options
author | Daniel Lezcano <daniel.lezcano@linaro.org> | 2012-02-28 16:46:07 -0500 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2012-03-06 12:46:55 -0500 |
commit | 9f60d33e1811e0aa696a3152050d6e3e4c3195aa (patch) | |
tree | 7cf702dca14b1be0e310b6c45d2c71b32bce2aa2 /include/linux | |
parent | cc9a0f68d1f8b9bfd9c0c2ada13db64d63f63db3 (diff) |
mfd : Copy the db8500 gic setting to the prcmu
In the case we go to the retention mode, we decoupled the gic
in order to have the A9 core to reach a stable WFI state.
But we want the prcmu to wake up the A9 when the gic has a pending
irq which is done by copying the gic settings to the to the prcmu.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/mfd/db8500-prcmu.h | 1 | ||||
-rw-r--r-- | include/linux/mfd/dbx500-prcmu.h | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/mfd/db8500-prcmu.h b/include/linux/mfd/db8500-prcmu.h index 92dac13b9ee5..a5915852176a 100644 --- a/include/linux/mfd/db8500-prcmu.h +++ b/include/linux/mfd/db8500-prcmu.h | |||
@@ -582,6 +582,7 @@ int db8500_prcmu_set_power_state(u8 state, bool keep_ulp_clk, bool keep_ap_pll); | |||
582 | u8 db8500_prcmu_get_power_state_result(void); | 582 | u8 db8500_prcmu_get_power_state_result(void); |
583 | int db8500_prcmu_gic_decouple(void); | 583 | int db8500_prcmu_gic_decouple(void); |
584 | int db8500_prcmu_gic_recouple(void); | 584 | int db8500_prcmu_gic_recouple(void); |
585 | int db8500_prcmu_copy_gic_settings(void); | ||
585 | bool db8500_prcmu_gic_pending_irq(void); | 586 | bool db8500_prcmu_gic_pending_irq(void); |
586 | void db8500_prcmu_enable_wakeups(u32 wakeups); | 587 | void db8500_prcmu_enable_wakeups(u32 wakeups); |
587 | int db8500_prcmu_set_epod(u16 epod_id, u8 epod_state); | 588 | int db8500_prcmu_set_epod(u16 epod_id, u8 epod_state); |
diff --git a/include/linux/mfd/dbx500-prcmu.h b/include/linux/mfd/dbx500-prcmu.h index 16418747dad1..f8429cad0db7 100644 --- a/include/linux/mfd/dbx500-prcmu.h +++ b/include/linux/mfd/dbx500-prcmu.h | |||
@@ -305,6 +305,14 @@ static inline bool prcmu_gic_pending_irq(void) | |||
305 | return db8500_prcmu_gic_pending_irq(); | 305 | return db8500_prcmu_gic_pending_irq(); |
306 | } | 306 | } |
307 | 307 | ||
308 | static inline int prcmu_copy_gic_settings(void) | ||
309 | { | ||
310 | if (cpu_is_u5500()) | ||
311 | return -EINVAL; | ||
312 | else | ||
313 | return db8500_prcmu_copy_gic_settings(); | ||
314 | } | ||
315 | |||
308 | static inline int prcmu_set_epod(u16 epod_id, u8 epod_state) | 316 | static inline int prcmu_set_epod(u16 epod_id, u8 epod_state) |
309 | { | 317 | { |
310 | if (cpu_is_u5500()) | 318 | if (cpu_is_u5500()) |