From: Rob Herring Date: Sun, 30 Dec 2012 16:15:06 +0000 (-0600) Subject: ARM: highbank: add a power request clear X-Git-Tag: v3.8-rc3~5^2~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9852910a0b0aa5548f990b51ad335921e0a710bf;p=platform%2Fkernel%2Flinux-3.10.git ARM: highbank: add a power request clear When we fail to power down, we need to clear out the power request. Signed-off-by: Rob Herring Signed-off-by: Olof Johansson --- diff --git a/arch/arm/mach-highbank/sysregs.h b/arch/arm/mach-highbank/sysregs.h index 707cfd3..70af9d1 100644 --- a/arch/arm/mach-highbank/sysregs.h +++ b/arch/arm/mach-highbank/sysregs.h @@ -44,6 +44,15 @@ static inline void highbank_set_core_pwr(void) writel_relaxed(1, sregs_base + SREG_CPU_PWR_CTRL(cpu)); } +static inline void highbank_clear_core_pwr(void) +{ + int cpu = cpu_logical_map(smp_processor_id()); + if (scu_base_addr) + scu_power_mode(scu_base_addr, SCU_PM_NORMAL); + else + writel_relaxed(0, sregs_base + SREG_CPU_PWR_CTRL(cpu)); +} + static inline void highbank_set_pwr_suspend(void) { writel(HB_PWR_SUSPEND, sregs_base + HB_SREG_A9_PWR_REQ); @@ -68,4 +77,10 @@ static inline void highbank_set_pwr_hard_reset(void) highbank_set_core_pwr(); } +static inline void highbank_clear_pwr_request(void) +{ + writel(~0UL, sregs_base + HB_SREG_A9_PWR_REQ); + highbank_clear_core_pwr(); +} + #endif