Commit 6b6c37bf authored by Steven Miao's avatar Steven Miao Committed by Bob Liu

bf60x: pm: pass wakeup param

Pass wake up source mask and wakeup source polarity to deepsleep and
hibernate.
Signed-off-by: default avatarSteven Miao <realmz6@gmail.com>
Signed-off-by: default avatarBob Liu <lliubbo@gmail.com>
parent 923680cb
...@@ -182,18 +182,18 @@ void bfin_hibernate_syscontrol(void) ...@@ -182,18 +182,18 @@ void bfin_hibernate_syscontrol(void)
asmlinkage void enter_deepsleep(void); asmlinkage void enter_deepsleep(void);
__attribute__((l1_text)) __attribute__((l1_text))
void bfin_deepsleep(unsigned long mask) void bfin_deepsleep(unsigned long mask, unsigned long pol_mask)
{ {
bfin_write32(DPM0_WAKE_EN, 0x10); bfin_write32(DPM0_WAKE_EN, mask);
bfin_write32(DPM0_WAKE_POL, 0x10); bfin_write32(DPM0_WAKE_POL, pol_mask);
SSYNC(); SSYNC();
enter_deepsleep(); enter_deepsleep();
} }
void bfin_hibernate(unsigned long mask) void bfin_hibernate(unsigned long mask, unsigned long pol_mask)
{ {
bfin_write32(DPM0_WAKE_EN, 0x10); bfin_write32(DPM0_WAKE_EN, mask);
bfin_write32(DPM0_WAKE_POL, 0x10); bfin_write32(DPM0_WAKE_POL, pol_mask);
bfin_write32(DPM0_PGCNTR, 0x0000FFFF); bfin_write32(DPM0_PGCNTR, 0x0000FFFF);
bfin_write32(DPM0_HIB_DIS, 0xFFFF); bfin_write32(DPM0_HIB_DIS, 0xFFFF);
...@@ -270,9 +270,9 @@ void bf609_cpu_pm_enter(suspend_state_t state) ...@@ -270,9 +270,9 @@ void bf609_cpu_pm_enter(suspend_state_t state)
printk(KERN_DEBUG "Unable to get irq wake\n"); printk(KERN_DEBUG "Unable to get irq wake\n");
if (state == PM_SUSPEND_STANDBY) if (state == PM_SUSPEND_STANDBY)
bfin_deepsleep(wakeup); bfin_deepsleep(wakeup, wakeup_pol);
else { else {
bfin_hibernate(wakeup); bfin_hibernate(wakeup, wakeup_pol);
} }
} }
...@@ -294,9 +294,10 @@ static struct bfin_cpu_pm_fns bf609_cpu_pm = { ...@@ -294,9 +294,10 @@ static struct bfin_cpu_pm_fns bf609_cpu_pm = {
}; };
#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
static void smc_pm_syscore_suspend(void) static int smc_pm_syscore_suspend(void)
{ {
bf609_nor_flash_exit(); bf609_nor_flash_exit();
return 0;
} }
static void smc_pm_syscore_resume(void) static void smc_pm_syscore_resume(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment