aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-exynos')
-rw-r--r--arch/arm/mach-exynos/common.c10
-rw-r--r--arch/arm/mach-exynos/pm.c6
2 files changed, 10 insertions, 6 deletions
diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
index 1a89824a5f78..0c7e3ad7ba93 100644
--- a/arch/arm/mach-exynos/common.c
+++ b/arch/arm/mach-exynos/common.c
@@ -299,6 +299,7 @@ void exynos4_restart(char mode, const char *cmd)
299 299
300void exynos5_restart(char mode, const char *cmd) 300void exynos5_restart(char mode, const char *cmd)
301{ 301{
302 struct device_node *np;
302 u32 val; 303 u32 val;
303 void __iomem *addr; 304 void __iomem *addr;
304 305
@@ -306,8 +307,9 @@ void exynos5_restart(char mode, const char *cmd)
306 val = 0x1; 307 val = 0x1;
307 addr = EXYNOS_SWRESET; 308 addr = EXYNOS_SWRESET;
308 } else if (of_machine_is_compatible("samsung,exynos5440")) { 309 } else if (of_machine_is_compatible("samsung,exynos5440")) {
309 val = (0x10 << 20) | (0x1 << 16); 310 np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock");
310 addr = EXYNOS5440_SWRESET; 311 addr = of_iomap(np, 0) + 0xcc;
312 val = (0xfff << 20) | (0x1 << 16);
311 } else { 313 } else {
312 pr_err("%s: cannot support non-DT\n", __func__); 314 pr_err("%s: cannot support non-DT\n", __func__);
313 return; 315 return;
@@ -1031,8 +1033,8 @@ static int __init exynos_init_irq_eint(void)
1031 * interrupt support code here can be completely removed. 1033 * interrupt support code here can be completely removed.
1032 */ 1034 */
1033 static const struct of_device_id exynos_pinctrl_ids[] = { 1035 static const struct of_device_id exynos_pinctrl_ids[] = {
1034 { .compatible = "samsung,pinctrl-exynos4210", }, 1036 { .compatible = "samsung,exynos4210-pinctrl", },
1035 { .compatible = "samsung,pinctrl-exynos4x12", }, 1037 { .compatible = "samsung,exynos4x12-pinctrl", },
1036 }; 1038 };
1037 struct device_node *pctrl_np, *wkup_np; 1039 struct device_node *pctrl_np, *wkup_np;
1038 const char *wkup_compat = "samsung,exynos4210-wakeup-eint"; 1040 const char *wkup_compat = "samsung,exynos4210-wakeup-eint";
diff --git a/arch/arm/mach-exynos/pm.c b/arch/arm/mach-exynos/pm.c
index b9b539cac81e..5106ab83e593 100644
--- a/arch/arm/mach-exynos/pm.c
+++ b/arch/arm/mach-exynos/pm.c
@@ -91,8 +91,8 @@ static int exynos_cpu_suspend(unsigned long arg)
91 /* issue the standby signal into the pm unit. */ 91 /* issue the standby signal into the pm unit. */
92 cpu_do_idle(); 92 cpu_do_idle();
93 93
94 /* we should never get past here */ 94 pr_info("Failed to suspend the system\n");
95 panic("sleep resumed to originator?"); 95 return 1; /* Aborting suspend */
96} 96}
97 97
98static void exynos_pm_prepare(void) 98static void exynos_pm_prepare(void)
@@ -282,6 +282,8 @@ static void exynos_pm_resume(void)
282 if (!(tmp & S5P_CENTRAL_LOWPWR_CFG)) { 282 if (!(tmp & S5P_CENTRAL_LOWPWR_CFG)) {
283 tmp |= S5P_CENTRAL_LOWPWR_CFG; 283 tmp |= S5P_CENTRAL_LOWPWR_CFG;
284 __raw_writel(tmp, S5P_CENTRAL_SEQ_CONFIGURATION); 284 __raw_writel(tmp, S5P_CENTRAL_SEQ_CONFIGURATION);
285 /* clear the wakeup state register */
286 __raw_writel(0x0, S5P_WAKEUP_STAT);
285 /* No need to perform below restore code */ 287 /* No need to perform below restore code */
286 goto early_wakeup; 288 goto early_wakeup;
287 } 289 }