|
@@ -34,10 +34,11 @@
|
|
#include <asm/smp_scu.h>
|
|
#include <asm/smp_scu.h>
|
|
#include <asm/suspend.h>
|
|
#include <asm/suspend.h>
|
|
|
|
|
|
|
|
+#include <mach/map.h>
|
|
|
|
+
|
|
#include <plat/pm-common.h>
|
|
#include <plat/pm-common.h>
|
|
|
|
|
|
#include "common.h"
|
|
#include "common.h"
|
|
-#include "regs-srom.h"
|
|
|
|
|
|
|
|
#define REG_TABLE_END (-1U)
|
|
#define REG_TABLE_END (-1U)
|
|
|
|
|
|
@@ -53,15 +54,6 @@ struct exynos_wkup_irq {
|
|
u32 mask;
|
|
u32 mask;
|
|
};
|
|
};
|
|
|
|
|
|
-static struct sleep_save exynos_core_save[] = {
|
|
|
|
- /* SROM side */
|
|
|
|
- SAVE_ITEM(S5P_SROM_BW),
|
|
|
|
- SAVE_ITEM(S5P_SROM_BC0),
|
|
|
|
- SAVE_ITEM(S5P_SROM_BC1),
|
|
|
|
- SAVE_ITEM(S5P_SROM_BC2),
|
|
|
|
- SAVE_ITEM(S5P_SROM_BC3),
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
struct exynos_pm_data {
|
|
struct exynos_pm_data {
|
|
const struct exynos_wkup_irq *wkup_irq;
|
|
const struct exynos_wkup_irq *wkup_irq;
|
|
unsigned int wake_disable_mask;
|
|
unsigned int wake_disable_mask;
|
|
@@ -343,8 +335,6 @@ static void exynos_pm_prepare(void)
|
|
/* Set wake-up mask registers */
|
|
/* Set wake-up mask registers */
|
|
exynos_pm_set_wakeup_mask();
|
|
exynos_pm_set_wakeup_mask();
|
|
|
|
|
|
- s3c_pm_do_save(exynos_core_save, ARRAY_SIZE(exynos_core_save));
|
|
|
|
-
|
|
|
|
exynos_pm_enter_sleep_mode();
|
|
exynos_pm_enter_sleep_mode();
|
|
|
|
|
|
/* ensure at least INFORM0 has the resume address */
|
|
/* ensure at least INFORM0 has the resume address */
|
|
@@ -375,8 +365,6 @@ static void exynos5420_pm_prepare(void)
|
|
/* Set wake-up mask registers */
|
|
/* Set wake-up mask registers */
|
|
exynos_pm_set_wakeup_mask();
|
|
exynos_pm_set_wakeup_mask();
|
|
|
|
|
|
- s3c_pm_do_save(exynos_core_save, ARRAY_SIZE(exynos_core_save));
|
|
|
|
-
|
|
|
|
exynos_pmu_spare3 = pmu_raw_readl(S5P_PMU_SPARE3);
|
|
exynos_pmu_spare3 = pmu_raw_readl(S5P_PMU_SPARE3);
|
|
/*
|
|
/*
|
|
* The cpu state needs to be saved and restored so that the
|
|
* The cpu state needs to be saved and restored so that the
|
|
@@ -467,8 +455,6 @@ static void exynos_pm_resume(void)
|
|
/* For release retention */
|
|
/* For release retention */
|
|
exynos_pm_release_retention();
|
|
exynos_pm_release_retention();
|
|
|
|
|
|
- s3c_pm_do_restore_core(exynos_core_save, ARRAY_SIZE(exynos_core_save));
|
|
|
|
-
|
|
|
|
if (cpuid == ARM_CPU_PART_CORTEX_A9)
|
|
if (cpuid == ARM_CPU_PART_CORTEX_A9)
|
|
scu_enable(S5P_VA_SCU);
|
|
scu_enable(S5P_VA_SCU);
|
|
|
|
|
|
@@ -535,8 +521,6 @@ static void exynos5420_pm_resume(void)
|
|
|
|
|
|
pmu_raw_writel(exynos_pmu_spare3, S5P_PMU_SPARE3);
|
|
pmu_raw_writel(exynos_pmu_spare3, S5P_PMU_SPARE3);
|
|
|
|
|
|
- s3c_pm_do_restore_core(exynos_core_save, ARRAY_SIZE(exynos_core_save));
|
|
|
|
-
|
|
|
|
early_wakeup:
|
|
early_wakeup:
|
|
|
|
|
|
tmp = pmu_raw_readl(EXYNOS5420_SFR_AXI_CGDIS1);
|
|
tmp = pmu_raw_readl(EXYNOS5420_SFR_AXI_CGDIS1);
|