aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s3c/pm.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/plat-s3c/pm.c')
-rw-r--r--arch/arm/plat-s3c/pm.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/plat-s3c/pm.c b/arch/arm/plat-s3c/pm.c
index de4c4aa2246..9957b539600 100644
--- a/arch/arm/plat-s3c/pm.c
+++ b/arch/arm/plat-s3c/pm.c
@@ -70,6 +70,8 @@ static inline void s3c_pm_debug_init(void)
70 70
71/* Save the UART configurations if we are configured for debug. */ 71/* Save the UART configurations if we are configured for debug. */
72 72
73unsigned char pm_uart_udivslot;
74
73#ifdef CONFIG_S3C2410_PM_DEBUG 75#ifdef CONFIG_S3C2410_PM_DEBUG
74 76
75struct pm_uart_save uart_save[CONFIG_SERIAL_SAMSUNG_UARTS]; 77struct pm_uart_save uart_save[CONFIG_SERIAL_SAMSUNG_UARTS];
@@ -84,6 +86,9 @@ static void s3c_pm_save_uart(unsigned int uart, struct pm_uart_save *save)
84 save->umcon = __raw_readl(regs + S3C2410_UMCON); 86 save->umcon = __raw_readl(regs + S3C2410_UMCON);
85 save->ubrdiv = __raw_readl(regs + S3C2410_UBRDIV); 87 save->ubrdiv = __raw_readl(regs + S3C2410_UBRDIV);
86 88
89 if (pm_uart_udivslot)
90 save->udivslot = __raw_readl(regs + S3C2443_DIVSLOT);
91
87 S3C_PMDBG("UART[%d]: ULCON=%04x, UCON=%04x, UFCON=%04x, UBRDIV=%04x\n", 92 S3C_PMDBG("UART[%d]: ULCON=%04x, UCON=%04x, UFCON=%04x, UBRDIV=%04x\n",
88 uart, save->ulcon, save->ucon, save->ufcon, save->ubrdiv); 93 uart, save->ulcon, save->ucon, save->ufcon, save->ubrdiv);
89} 94}
@@ -108,6 +113,9 @@ static void s3c_pm_restore_uart(unsigned int uart, struct pm_uart_save *save)
108 __raw_writel(save->ufcon, regs + S3C2410_UFCON); 113 __raw_writel(save->ufcon, regs + S3C2410_UFCON);
109 __raw_writel(save->umcon, regs + S3C2410_UMCON); 114 __raw_writel(save->umcon, regs + S3C2410_UMCON);
110 __raw_writel(save->ubrdiv, regs + S3C2410_UBRDIV); 115 __raw_writel(save->ubrdiv, regs + S3C2410_UBRDIV);
116
117 if (pm_uart_udivslot)
118 __raw_writel(save->udivslot, regs + S3C2443_DIVSLOT);
111} 119}
112 120
113static void s3c_pm_restore_uarts(void) 121static void s3c_pm_restore_uarts(void)