aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDaniel Lezcano <daniel.lezcano@linaro.org>2012-02-20 06:30:26 -0500
committerSamuel Ortiz <sameo@linux.intel.com>2012-03-06 12:46:47 -0500
commit485540dce01cf4b4d3629141399678e35e66b711 (patch)
tree5da48a9769a813d8e489abe49bdee275f2ac9b6d /include
parent8dfc4705828178ae25f08ce774831e4c19de8e51 (diff)
mfd: Decouple/recouple gic from the ux500 PRCMU
This patch allows to decouple and recouple the gic from the PRCMU. This is needed to put the A9 core in retention mode with the cpuidle driver. It is based on top of the "DB8500 PRCMU update" patchset. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by: Rickard Andersson <rickard.andersson@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/mfd/db8500-prcmu.h2
-rw-r--r--include/linux/mfd/dbx500-prcmu.h16
2 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/mfd/db8500-prcmu.h b/include/linux/mfd/db8500-prcmu.h
index 636423bd511..cf48aa76acc 100644
--- a/include/linux/mfd/db8500-prcmu.h
+++ b/include/linux/mfd/db8500-prcmu.h
@@ -580,6 +580,8 @@ int db8500_prcmu_load_a9wdog(u8 id, u32 val);
580void db8500_prcmu_system_reset(u16 reset_code); 580void db8500_prcmu_system_reset(u16 reset_code);
581int db8500_prcmu_set_power_state(u8 state, bool keep_ulp_clk, bool keep_ap_pll); 581int db8500_prcmu_set_power_state(u8 state, bool keep_ulp_clk, bool keep_ap_pll);
582u8 db8500_prcmu_get_power_state_result(void); 582u8 db8500_prcmu_get_power_state_result(void);
583int db8500_prcmu_gic_decouple(void);
584int db8500_prcmu_gic_recouple(void);
583void db8500_prcmu_enable_wakeups(u32 wakeups); 585void db8500_prcmu_enable_wakeups(u32 wakeups);
584int db8500_prcmu_set_epod(u16 epod_id, u8 epod_state); 586int db8500_prcmu_set_epod(u16 epod_id, u8 epod_state);
585int db8500_prcmu_request_clock(u8 clock, bool enable); 587int db8500_prcmu_request_clock(u8 clock, bool enable);
diff --git a/include/linux/mfd/dbx500-prcmu.h b/include/linux/mfd/dbx500-prcmu.h
index b3b5adfa9e4..5bf5c4f0132 100644
--- a/include/linux/mfd/dbx500-prcmu.h
+++ b/include/linux/mfd/dbx500-prcmu.h
@@ -281,6 +281,22 @@ static inline u8 prcmu_get_power_state_result(void)
281 return db8500_prcmu_get_power_state_result(); 281 return db8500_prcmu_get_power_state_result();
282} 282}
283 283
284static inline int prcmu_gic_decouple(void)
285{
286 if (cpu_is_u5500())
287 return -EINVAL;
288 else
289 return db8500_prcmu_gic_decouple();
290}
291
292static inline int prcmu_gic_recouple(void)
293{
294 if (cpu_is_u5500())
295 return -EINVAL;
296 else
297 return db8500_prcmu_gic_recouple();
298}
299
284static inline int prcmu_set_epod(u16 epod_id, u8 epod_state) 300static inline int prcmu_set_epod(u16 epod_id, u8 epod_state)
285{ 301{
286 if (cpu_is_u5500()) 302 if (cpu_is_u5500())