aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s3c/include
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2008-12-11 19:24:20 -0500
committerBen Dooks <ben-linux@fluff.org>2009-03-08 08:37:10 -0400
commitd2b07fe2a3e35d8e58cceb63ab58831d706da939 (patch)
treefec7bcae153eb12d482a809967ac4809809337fe /arch/arm/plat-s3c/include
parentef30e14420df546bc6576b00f9caf3379b6699d1 (diff)
[ARM] S3C: Update UART save over PM suspend/resume
Change the way the UART state is saved over suspend to allow the s3c64xx code to modify the settings on resume to avoid any illegal state changes to the UART clocks. This will also allow us to save the UDIVSLOT register on newer SoCs. Move to using a structure for the UART use the extant Kconfig configuration specifying the number of UARTs. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm/plat-s3c/include')
-rw-r--r--arch/arm/plat-s3c/include/plat/pm.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/plat-s3c/include/plat/pm.h b/arch/arm/plat-s3c/include/plat/pm.h
index f121a5ac7420..c27b8cf5d891 100644
--- a/arch/arm/plat-s3c/include/plat/pm.h
+++ b/arch/arm/plat-s3c/include/plat/pm.h
@@ -71,6 +71,25 @@ struct sleep_save {
71#define SAVE_ITEM(x) \ 71#define SAVE_ITEM(x) \
72 { .reg = (x) } 72 { .reg = (x) }
73 73
74/**
75 * struct pm_uart_save - save block for core UART
76 * @ulcon: Save value for S3C2410_ULCON
77 * @ucon: Save value for S3C2410_UCON
78 * @ufcon: Save value for S3C2410_UFCON
79 * @umcon: Save value for S3C2410_UMCON
80 * @ubrdiv: Save value for S3C2410_UBRDIV
81 *
82 * Save block for UART registers to be held over sleep and restored if they
83 * are needed (say by debug).
84*/
85struct pm_uart_save {
86 u32 ulcon;
87 u32 ucon;
88 u32 ufcon;
89 u32 umcon;
90 u32 ubrdiv;
91};
92
74/* helper functions to save/restore lists of registers. */ 93/* helper functions to save/restore lists of registers. */
75 94
76extern void s3c_pm_do_save(struct sleep_save *ptr, int count); 95extern void s3c_pm_do_save(struct sleep_save *ptr, int count);