diff options
-rw-r--r-- | arch/arm/configs/mini2440_defconfig | 4 | ||||
-rw-r--r-- | arch/arm/configs/s3c2410_defconfig | 4 | ||||
-rw-r--r-- | arch/arm/plat-s3c/Kconfig | 44 | ||||
-rw-r--r-- | arch/arm/plat-s3c/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/plat-s3c/include/plat/pm.h | 4 | ||||
-rw-r--r-- | arch/arm/plat-s3c/pm.c | 6 | ||||
-rw-r--r-- | arch/arm/plat-samsung/Kconfig | 45 | ||||
-rw-r--r-- | arch/arm/plat-samsung/Makefile | 1 | ||||
-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 |
204 | CONFIG_S3C_LOWLEVEL_UART_PORT=0 | 204 | CONFIG_S3C_LOWLEVEL_UART_PORT=0 |
205 | CONFIG_S3C_GPIO_SPACE=0 | 205 | CONFIG_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 |
208 | CONFIG_S3C_LOWLEVEL_UART_PORT=0 | 208 | CONFIG_S3C_LOWLEVEL_UART_PORT=0 |
209 | CONFIG_S3C_GPIO_SPACE=0 | 209 | CONFIG_S3C_GPIO_SPACE=0 |
210 | CONFIG_S3C_DEV_HSMMC=y | 210 | CONFIG_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 | ||
62 | comment "Power management" | ||
63 | |||
64 | config 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 | |||
72 | config 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 | |||
81 | config 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 | |||
95 | config 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 | ||
107 | config S3C_LOWLEVEL_UART_PORT | 63 | config 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 | ||
23 | obj-$(CONFIG_PM) += pm.o | 23 | obj-$(CONFIG_PM) += pm.o |
24 | obj-$(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 |
145 | extern void s3c_pm_check_prepare(void); | 145 | extern void s3c_pm_check_prepare(void); |
146 | extern void s3c_pm_check_restore(void); | 146 | extern void s3c_pm_check_restore(void); |
147 | extern void s3c_pm_check_cleanup(void); | 147 | extern 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 |
45 | extern void printascii(const char *); | 45 | extern void printascii(const char *); |
46 | 46 | ||
47 | void s3c_pm_dbg(const char *fmt, ...) | 47 | void 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 | ||
72 | unsigned char pm_uart_udivslot; | 72 | unsigned char pm_uart_udivslot; |
73 | 73 | ||
74 | #ifdef CONFIG_S3C2410_PM_DEBUG | 74 | #ifdef CONFIG_SAMSUNG_PM_DEBUG |
75 | 75 | ||
76 | struct pm_uart_save uart_save[CONFIG_SERIAL_SAMSUNG_UARTS]; | 76 | struct 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 | ||
135 | comment "Power management" | ||
136 | |||
137 | config 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 | |||
145 | config 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 | |||
154 | config 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 | |||
168 | config 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 | |||
135 | endif | 180 | endif |
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 | ||
44 | obj-$(CONFIG_PM) += pm-gpio.o | 44 | obj-$(CONFIG_PM) += pm-gpio.o |
45 | obj-$(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 | ||
39 | static u32 crc_size; /* size needed for the crc block */ | 39 | static u32 crc_size; /* size needed for the crc block */ |
40 | static u32 *crcs; /* allocated over suspend/resume */ | 40 | static u32 *crcs; /* allocated over suspend/resume */ |