diff options
Diffstat (limited to 'arch/blackfin/mach-common/pm.c')
| -rw-r--r-- | arch/blackfin/mach-common/pm.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/blackfin/mach-common/pm.c b/arch/blackfin/mach-common/pm.c index a17ace3e0e41..e28c6af1f415 100644 --- a/arch/blackfin/mach-common/pm.c +++ b/arch/blackfin/mach-common/pm.c | |||
| @@ -84,7 +84,16 @@ void bfin_pm_suspend_standby_enter(void) | |||
| 84 | 84 | ||
| 85 | #if defined(CONFIG_BF54x) || defined(CONFIG_BF52x) || defined(CONFIG_BF561) | 85 | #if defined(CONFIG_BF54x) || defined(CONFIG_BF52x) || defined(CONFIG_BF561) |
| 86 | bfin_write_SIC_IWR0(IWR_DISABLE_ALL); | 86 | bfin_write_SIC_IWR0(IWR_DISABLE_ALL); |
| 87 | #if defined(CONFIG_BF52x) | ||
| 88 | /* BF52x system reset does not properly reset SIC_IWR1 which | ||
| 89 | * will screw up the bootrom as it relies on MDMA0/1 waking it | ||
| 90 | * up from IDLE instructions. See this report for more info: | ||
| 91 | * http://blackfin.uclinux.org/gf/tracker/4323 | ||
| 92 | */ | ||
| 93 | bfin_write_SIC_IWR1(IWR_ENABLE(10) | IWR_ENABLE(11)); | ||
| 94 | #else | ||
| 87 | bfin_write_SIC_IWR1(IWR_DISABLE_ALL); | 95 | bfin_write_SIC_IWR1(IWR_DISABLE_ALL); |
| 96 | #endif | ||
| 88 | # ifdef CONFIG_BF54x | 97 | # ifdef CONFIG_BF54x |
| 89 | bfin_write_SIC_IWR2(IWR_DISABLE_ALL); | 98 | bfin_write_SIC_IWR2(IWR_DISABLE_ALL); |
| 90 | # endif | 99 | # endif |
