aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s5p
diff options
context:
space:
mode:
authorAbhilash Kesavan <a.kesavan@samsung.com>2011-10-04 07:25:51 -0400
committerKukjin Kim <kgene.kim@samsung.com>2011-10-04 07:25:51 -0400
commite2e13621b267f88f69917780e107725d2c0ecad9 (patch)
tree0e2a13a08fd4deda46c19d0c8716ba7ffbd301c1 /arch/arm/plat-s5p
parent0da3beadcbed2128702831c9fe106ea23e194b3f (diff)
ARM: S5P: Make the sleep code common for S5P series SoCs
The sleep code for S5PV210 and EXYNOS4 are identical; moreover S5p64X0 and S5PC100 for which support will be added soon can use the same procedure. Create a common sleep code in the plat-s5p directory so that it can be re-used. Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/plat-s5p')
-rw-r--r--arch/arm/plat-s5p/Kconfig6
-rw-r--r--arch/arm/plat-s5p/Makefile1
-rw-r--r--arch/arm/plat-s5p/sleep.S49
3 files changed, 56 insertions, 0 deletions
diff --git a/arch/arm/plat-s5p/Kconfig b/arch/arm/plat-s5p/Kconfig
index 53e674348b31..7b9dadadb0a5 100644
--- a/arch/arm/plat-s5p/Kconfig
+++ b/arch/arm/plat-s5p/Kconfig
@@ -54,6 +54,12 @@ config S5P_SYSTEM_MMU
54 help 54 help
55 Say Y here if you want to enable System MMU 55 Say Y here if you want to enable System MMU
56 56
57config S5P_SLEEP
58 bool
59 help
60 Internal config node to apply common S5P sleep management code.
61 Can be selected by S5P and newer SoCs with similar sleep procedure.
62
57config S5P_DEV_FIMC0 63config S5P_DEV_FIMC0
58 bool 64 bool
59 help 65 help
diff --git a/arch/arm/plat-s5p/Makefile b/arch/arm/plat-s5p/Makefile
index 755d7ac4384a..06401dc37b81 100644
--- a/arch/arm/plat-s5p/Makefile
+++ b/arch/arm/plat-s5p/Makefile
@@ -21,6 +21,7 @@ obj-$(CONFIG_S5P_EXT_INT) += irq-eint.o
21obj-$(CONFIG_S5P_GPIO_INT) += irq-gpioint.o 21obj-$(CONFIG_S5P_GPIO_INT) += irq-gpioint.o
22obj-$(CONFIG_S5P_SYSTEM_MMU) += sysmmu.o 22obj-$(CONFIG_S5P_SYSTEM_MMU) += sysmmu.o
23obj-$(CONFIG_S5P_PM) += pm.o irq-pm.o 23obj-$(CONFIG_S5P_PM) += pm.o irq-pm.o
24obj-$(CONFIG_S5P_SLEEP) += sleep.o
24obj-$(CONFIG_S5P_HRT) += s5p-time.o 25obj-$(CONFIG_S5P_HRT) += s5p-time.o
25 26
26# devices 27# devices
diff --git a/arch/arm/plat-s5p/sleep.S b/arch/arm/plat-s5p/sleep.S
new file mode 100644
index 000000000000..0fd591bfc9fd
--- /dev/null
+++ b/arch/arm/plat-s5p/sleep.S
@@ -0,0 +1,49 @@
1/* linux/arch/arm/plat-s5p/sleep.S
2 *
3 * Copyright (c) 2011 Samsung Electronics Co., Ltd.
4 * http://www.samsung.com
5 *
6 * Common S5P Sleep Code
7 * Based on S3C64XX sleep code by:
8 * Ben Dooks, (c) 2008 Simtec Electronics
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23*/
24
25#include <linux/linkage.h>
26#include <asm/assembler.h>
27
28 .text
29
30 /*
31 * sleep magic, to allow the bootloader to check for an valid
32 * image to resume to. Must be the first word before the
33 * s3c_cpu_resume entry.
34 */
35
36 .word 0x2bedf00d
37
38 /*
39 * s3c_cpu_resume
40 *
41 * resume code entry for bootloader to call
42 *
43 * we must put this code here in the data segment as we have no
44 * other way of restoring the stack pointer after sleep, and we
45 * must not write to the code segment (code is read-only)
46 */
47
48ENTRY(s3c_cpu_resume)
49 b cpu_resume