|
@@ -127,6 +127,8 @@ int exynos_pm_central_resume(void)
|
|
|
static void exynos_set_wakeupmask(long mask)
|
|
|
{
|
|
|
pmu_raw_writel(mask, S5P_WAKEUP_MASK);
|
|
|
+ if (soc_is_exynos3250())
|
|
|
+ pmu_raw_writel(0x0, S5P_WAKEUP_MASK2);
|
|
|
}
|
|
|
|
|
|
static void exynos_cpu_set_boot_vector(long flags)
|
|
@@ -140,7 +142,7 @@ static int exynos_aftr_finisher(unsigned long flags)
|
|
|
{
|
|
|
int ret;
|
|
|
|
|
|
- exynos_set_wakeupmask(0x0000ff3e);
|
|
|
+ exynos_set_wakeupmask(soc_is_exynos3250() ? 0x40003ffe : 0x0000ff3e);
|
|
|
/* Set value of power down register for aftr mode */
|
|
|
exynos_sys_powerdown_conf(SYS_AFTR);
|
|
|
|
|
@@ -157,8 +159,13 @@ static int exynos_aftr_finisher(unsigned long flags)
|
|
|
|
|
|
void exynos_enter_aftr(void)
|
|
|
{
|
|
|
+ unsigned int cpuid = smp_processor_id();
|
|
|
+
|
|
|
cpu_pm_enter();
|
|
|
|
|
|
+ if (soc_is_exynos3250())
|
|
|
+ exynos_set_boot_flag(cpuid, C2_STATE);
|
|
|
+
|
|
|
exynos_pm_central_suspend();
|
|
|
|
|
|
if (of_machine_is_compatible("samsung,exynos4212") ||
|
|
@@ -178,6 +185,9 @@ void exynos_enter_aftr(void)
|
|
|
|
|
|
exynos_pm_central_resume();
|
|
|
|
|
|
+ if (soc_is_exynos3250())
|
|
|
+ exynos_clear_boot_flag(cpuid, C2_STATE);
|
|
|
+
|
|
|
cpu_pm_exit();
|
|
|
}
|
|
|
|