From c22f7109ca5030ee0698580ae5350225d73c784c Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Sun, 30 Dec 2012 10:15:07 -0600 Subject: [PATCH] --- yaml --- r: 348454 b: refs/heads/master c: 1ddda1cd235e05961bada337f87494272701c189 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-highbank/pm.c | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index fe00bf831f1c..32ee66a5ad7a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9852910a0b0aa5548f990b51ad335921e0a710bf +refs/heads/master: 1ddda1cd235e05961bada337f87494272701c189 diff --git a/trunk/arch/arm/mach-highbank/pm.c b/trunk/arch/arm/mach-highbank/pm.c index 0f4ffd6d47c4..04eddb4f4380 100644 --- a/trunk/arch/arm/mach-highbank/pm.c +++ b/trunk/arch/arm/mach-highbank/pm.c @@ -14,10 +14,12 @@ * this program. If not, see . */ +#include #include #include #include +#include #include #include @@ -26,16 +28,31 @@ static int highbank_suspend_finish(unsigned long val) { + outer_flush_all(); + outer_disable(); + + highbank_set_pwr_suspend(); + cpu_do_idle(); + + highbank_clear_pwr_request(); return 0; } static int highbank_pm_enter(suspend_state_t state) { - highbank_set_pwr_suspend(); + cpu_pm_enter(); + cpu_cluster_pm_enter(); + highbank_set_cpu_jump(0, cpu_resume); cpu_suspend(0, highbank_suspend_finish); + cpu_cluster_pm_exit(); + cpu_pm_exit(); + + highbank_smc1(0x102, 0x1); + if (scu_base_addr) + scu_enable(scu_base_addr); return 0; }