aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/configs/mini2440_defconfig4
-rw-r--r--arch/arm/configs/s3c2410_defconfig4
-rw-r--r--arch/arm/plat-s3c/Kconfig44
-rw-r--r--arch/arm/plat-s3c/Makefile1
-rw-r--r--arch/arm/plat-s3c/include/plat/pm.h4
-rw-r--r--arch/arm/plat-s3c/pm.c6
-rw-r--r--arch/arm/plat-samsung/Kconfig45
-rw-r--r--arch/arm/plat-samsung/Makefile1
-rw-r--r--arch/arm/plat-samsung/pm-check.c (renamed from arch/arm/plat-s3c/pm-check.c)8
9 files changed, 59 insertions, 58 deletions
diff --git a/arch/arm/configs/mini2440_defconfig b/arch/arm/configs/mini2440_defconfig
index 4c46644b6f18..ff44bd1615c0 100644
--- a/arch/arm/configs/mini2440_defconfig
+++ b/arch/arm/configs/mini2440_defconfig
@@ -199,8 +199,8 @@ CONFIG_S3C_BOOT_UART_FORCE_FIFO=y
199# 199#
200# Power management 200# Power management
201# 201#
202# CONFIG_S3C2410_PM_DEBUG is not set 202# CONFIG_SAMSUNG_PM_DEBUG is not set
203# CONFIG_S3C2410_PM_CHECK is not set 203# CONFIG_SAMSUNG_PM_CHECK is not set
204CONFIG_S3C_LOWLEVEL_UART_PORT=0 204CONFIG_S3C_LOWLEVEL_UART_PORT=0
205CONFIG_S3C_GPIO_SPACE=0 205CONFIG_S3C_GPIO_SPACE=0
206 206
diff --git a/arch/arm/configs/s3c2410_defconfig b/arch/arm/configs/s3c2410_defconfig
index 9697e97677ec..8e94c3caeb8c 100644
--- a/arch/arm/configs/s3c2410_defconfig
+++ b/arch/arm/configs/s3c2410_defconfig
@@ -203,8 +203,8 @@ CONFIG_S3C_BOOT_UART_FORCE_FIFO=y
203# 203#
204# Power management 204# Power management
205# 205#
206# CONFIG_S3C2410_PM_DEBUG is not set 206# CONFIG_SAMSUNG_PM_DEBUG is not set
207# CONFIG_S3C2410_PM_CHECK is not set 207# CONFIG_SAMSUNG_PM_CHECK is not set
208CONFIG_S3C_LOWLEVEL_UART_PORT=0 208CONFIG_S3C_LOWLEVEL_UART_PORT=0
209CONFIG_S3C_GPIO_SPACE=0 209CONFIG_S3C_GPIO_SPACE=0
210CONFIG_S3C_DEV_HSMMC=y 210CONFIG_S3C_DEV_HSMMC=y
diff --git a/arch/arm/plat-s3c/Kconfig b/arch/arm/plat-s3c/Kconfig
index 454cc39b7adc..2367908c4f62 100644
--- a/arch/arm/plat-s3c/Kconfig
+++ b/arch/arm/plat-s3c/Kconfig
@@ -59,50 +59,6 @@ config S3C_BOOT_UART_FORCE_FIFO
59 Say Y here to force the UART FIFOs on during the kernel 59 Say Y here to force the UART FIFOs on during the kernel
60 uncompressor 60 uncompressor
61 61
62comment "Power management"
63
64config S3C2410_PM_DEBUG
65 bool "S3C2410 PM Suspend debug"
66 depends on PM
67 help
68 Say Y here if you want verbose debugging from the PM Suspend and
69 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
70 for more information.
71
72config S3C_PM_DEBUG_LED_SMDK
73 bool "SMDK LED suspend/resume debugging"
74 depends on PM && (MACH_SMDK6410)
75 help
76 Say Y here to enable the use of the SMDK LEDs on the baseboard
77 for debugging of the state of the suspend and resume process.
78
79 Note, this currently only works for S3C64XX based SMDK boards.
80
81config S3C2410_PM_CHECK
82 bool "S3C2410 PM Suspend Memory CRC"
83 depends on PM && CRC32
84 help
85 Enable the PM code's memory area checksum over sleep. This option
86 will generate CRCs of all blocks of memory, and store them before
87 going to sleep. The blocks are then checked on resume for any
88 errors.
89
90 Note, this can take several seconds depending on memory size
91 and CPU speed.
92
93 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
94
95config S3C2410_PM_CHECK_CHUNKSIZE
96 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
97 depends on PM && S3C2410_PM_CHECK
98 default 64
99 help
100 Set the chunksize in Kilobytes of the CRC for checking memory
101 corruption over suspend and resume. A smaller value will mean that
102 the CRC data block will take more memory, but wil identify any
103 faults with better precision.
104
105 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
106 62
107config S3C_LOWLEVEL_UART_PORT 63config S3C_LOWLEVEL_UART_PORT
108 int "S3C UART to use for low-level messages" 64 int "S3C UART to use for low-level messages"
diff --git a/arch/arm/plat-s3c/Makefile b/arch/arm/plat-s3c/Makefile
index 095bc97cd6ce..89dbdb0adebf 100644
--- a/arch/arm/plat-s3c/Makefile
+++ b/arch/arm/plat-s3c/Makefile
@@ -21,4 +21,3 @@ obj-$(CONFIG_S3C_DMA) += dma.o
21# PM support 21# PM support
22 22
23obj-$(CONFIG_PM) += pm.o 23obj-$(CONFIG_PM) += pm.o
24obj-$(CONFIG_S3C2410_PM_CHECK) += pm-check.o
diff --git a/arch/arm/plat-s3c/include/plat/pm.h b/arch/arm/plat-s3c/include/plat/pm.h
index 7a797192fcf3..2543bd227f2d 100644
--- a/arch/arm/plat-s3c/include/plat/pm.h
+++ b/arch/arm/plat-s3c/include/plat/pm.h
@@ -111,7 +111,7 @@ extern int s3c24xx_irq_resume(struct sys_device *dev);
111 111
112/* PM debug functions */ 112/* PM debug functions */
113 113
114#ifdef CONFIG_S3C2410_PM_DEBUG 114#ifdef CONFIG_SAMSUNG_PM_DEBUG
115/** 115/**
116 * s3c_pm_dbg() - low level debug function for use in suspend/resume. 116 * s3c_pm_dbg() - low level debug function for use in suspend/resume.
117 * @msg: The message to print. 117 * @msg: The message to print.
@@ -141,7 +141,7 @@ static inline void s3c_pm_debug_smdkled(u32 set, u32 clear) { }
141 141
142/* suspend memory checking */ 142/* suspend memory checking */
143 143
144#ifdef CONFIG_S3C2410_PM_CHECK 144#ifdef CONFIG_SAMSUNG_PM_CHECK
145extern void s3c_pm_check_prepare(void); 145extern void s3c_pm_check_prepare(void);
146extern void s3c_pm_check_restore(void); 146extern void s3c_pm_check_restore(void);
147extern void s3c_pm_check_cleanup(void); 147extern void s3c_pm_check_cleanup(void);
diff --git a/arch/arm/plat-s3c/pm.c b/arch/arm/plat-s3c/pm.c
index 767470601e5c..e5eef126791b 100644
--- a/arch/arm/plat-s3c/pm.c
+++ b/arch/arm/plat-s3c/pm.c
@@ -41,7 +41,7 @@ unsigned long s3c_pm_flags;
41 * resume before the console layer is available. 41 * resume before the console layer is available.
42*/ 42*/
43 43
44#ifdef CONFIG_S3C2410_PM_DEBUG 44#ifdef CONFIG_SAMSUNG_PM_DEBUG
45extern void printascii(const char *); 45extern void printascii(const char *);
46 46
47void s3c_pm_dbg(const char *fmt, ...) 47void s3c_pm_dbg(const char *fmt, ...)
@@ -65,13 +65,13 @@ static inline void s3c_pm_debug_init(void)
65#else 65#else
66#define s3c_pm_debug_init() do { } while(0) 66#define s3c_pm_debug_init() do { } while(0)
67 67
68#endif /* CONFIG_S3C2410_PM_DEBUG */ 68#endif /* CONFIG_SAMSUNG_PM_DEBUG */
69 69
70/* Save the UART configurations if we are configured for debug. */ 70/* Save the UART configurations if we are configured for debug. */
71 71
72unsigned char pm_uart_udivslot; 72unsigned char pm_uart_udivslot;
73 73
74#ifdef CONFIG_S3C2410_PM_DEBUG 74#ifdef CONFIG_SAMSUNG_PM_DEBUG
75 75
76struct pm_uart_save uart_save[CONFIG_SERIAL_SAMSUNG_UARTS]; 76struct pm_uart_save uart_save[CONFIG_SERIAL_SAMSUNG_UARTS];
77 77
diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig
index 6484b5bf82c3..1c2fe91c23e9 100644
--- a/arch/arm/plat-samsung/Kconfig
+++ b/arch/arm/plat-samsung/Kconfig
@@ -132,4 +132,49 @@ config S3C_DEV_NAND
132 help 132 help
133 Compile in platform device definition for NAND controller 133 Compile in platform device definition for NAND controller
134 134
135comment "Power management"
136
137config SAMSUNG_PM_DEBUG
138 bool "S3C2410 PM Suspend debug"
139 depends on PM
140 help
141 Say Y here if you want verbose debugging from the PM Suspend and
142 Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
143 for more information.
144
145config S3C_PM_DEBUG_LED_SMDK
146 bool "SMDK LED suspend/resume debugging"
147 depends on PM && (MACH_SMDK6410)
148 help
149 Say Y here to enable the use of the SMDK LEDs on the baseboard
150 for debugging of the state of the suspend and resume process.
151
152 Note, this currently only works for S3C64XX based SMDK boards.
153
154config SAMSUNG_PM_CHECK
155 bool "S3C2410 PM Suspend Memory CRC"
156 depends on PM && CRC32
157 help
158 Enable the PM code's memory area checksum over sleep. This option
159 will generate CRCs of all blocks of memory, and store them before
160 going to sleep. The blocks are then checked on resume for any
161 errors.
162
163 Note, this can take several seconds depending on memory size
164 and CPU speed.
165
166 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
167
168config SAMSUNG_PM_CHECK_CHUNKSIZE
169 int "S3C2410 PM Suspend CRC Chunksize (KiB)"
170 depends on PM && SAMSUNG_PM_CHECK
171 default 64
172 help
173 Set the chunksize in Kilobytes of the CRC for checking memory
174 corruption over suspend and resume. A smaller value will mean that
175 the CRC data block will take more memory, but wil identify any
176 faults with better precision.
177
178 See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
179
135endif 180endif
diff --git a/arch/arm/plat-samsung/Makefile b/arch/arm/plat-samsung/Makefile
index f31e64f3a1c3..c8c8caec8cde 100644
--- a/arch/arm/plat-samsung/Makefile
+++ b/arch/arm/plat-samsung/Makefile
@@ -42,6 +42,7 @@ obj-$(CONFIG_S3C_DEV_NAND) += dev-nand.o
42# PM support 42# PM support
43 43
44obj-$(CONFIG_PM) += pm-gpio.o 44obj-$(CONFIG_PM) += pm-gpio.o
45obj-$(CONFIG_SAMSUNG_PM_CHECK) += pm-check.o
45 46
46# PWM support 47# PWM support
47 48
diff --git a/arch/arm/plat-s3c/pm-check.c b/arch/arm/plat-samsung/pm-check.c
index 8eb1f439861c..0b5bb774192a 100644
--- a/arch/arm/plat-s3c/pm-check.c
+++ b/arch/arm/plat-samsung/pm-check.c
@@ -20,8 +20,8 @@
20 20
21#include <plat/pm.h> 21#include <plat/pm.h>
22 22
23#if CONFIG_S3C2410_PM_CHECK_CHUNKSIZE < 1 23#if CONFIG_SAMSUNG_PM_CHECK_CHUNKSIZE < 1
24#error CONFIG_S3C2410_PM_CHECK_CHUNKSIZE must be a positive non-zero value 24#error CONFIG_SAMSUNG_PM_CHECK_CHUNKSIZE must be a positive non-zero value
25#endif 25#endif
26 26
27/* suspend checking code... 27/* suspend checking code...
@@ -29,12 +29,12 @@
29 * this next area does a set of crc checks over all the installed 29 * this next area does a set of crc checks over all the installed
30 * memory, so the system can verify if the resume was ok. 30 * memory, so the system can verify if the resume was ok.
31 * 31 *
32 * CONFIG_S3C2410_PM_CHECK_CHUNKSIZE defines the block-size for the CRC, 32 * CONFIG_SAMSUNG_PM_CHECK_CHUNKSIZE defines the block-size for the CRC,
33 * increasing it will mean that the area corrupted will be less easy to spot, 33 * increasing it will mean that the area corrupted will be less easy to spot,
34 * and reducing the size will cause the CRC save area to grow 34 * and reducing the size will cause the CRC save area to grow
35*/ 35*/
36 36
37#define CHECK_CHUNKSIZE (CONFIG_S3C2410_PM_CHECK_CHUNKSIZE * 1024) 37#define CHECK_CHUNKSIZE (CONFIG_SAMSUNG_PM_CHECK_CHUNKSIZE * 1024)
38 38
39static u32 crc_size; /* size needed for the crc block */ 39static u32 crc_size; /* size needed for the crc block */
40static u32 *crcs; /* allocated over suspend/resume */ 40static u32 *crcs; /* allocated over suspend/resume */