summaryrefslogtreecommitdiff
path: root/src/cpu/samsung/exynos5420/power.h
diff options
context:
space:
mode:
authorHung-Te Lin <hungte@chromium.org>2013-09-24 15:51:05 +0800
committerIsaac Christensen <isaac.christensen@se-eng.com>2014-08-18 19:03:39 +0200
commit12b121f3fef61d6a346c2575266a9cb46bb9d31f (patch)
tree24d4024371da777582f76b5cec6448272859dc03 /src/cpu/samsung/exynos5420/power.h
parent68aef1169239cc5d33fb36f05cd32d7e062b7743 (diff)
downloadcoreboot-12b121f3fef61d6a346c2575266a9cb46bb9d31f.tar.xz
arm/exynos: Allow releasing UART retention for resume.
The UART / serial console is put in retention state by kernel during suspend / resume path, which caused Coreboot not able to print any messages during resume. Sending values to the padret_uart_opt inside PMU may release UART, but that may also cause unexpected output when kernel is back. However, it's still very helpful when we are debugging suspend/resume inside Coreboot. To get UART message on resume, call wakeup_enable_uart() in boot block or romstage (before console_init). Change-Id: Ib5759cb402c6e018d9dba14fad8b61f6a1b1a265 Reviewed-on: https://chromium-review.googlesource.com/170440 Tested-by: Hung-Te Lin <hungte@chromium.org> Reviewed-by: Hung-Te Lin <hungte@chromium.org> Commit-Queue: Hung-Te Lin <hungte@chromium.org> (cherry picked from commit 547fbbfe2eeb6da4e161f36be2caf8099f9eac9b) Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com> Reviewed-on: http://review.coreboot.org/6649 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/cpu/samsung/exynos5420/power.h')
-rw-r--r--src/cpu/samsung/exynos5420/power.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/cpu/samsung/exynos5420/power.h b/src/cpu/samsung/exynos5420/power.h
index a89ee9dca8..fd1eac5768 100644
--- a/src/cpu/samsung/exynos5420/power.h
+++ b/src/cpu/samsung/exynos5420/power.h
@@ -70,9 +70,11 @@ struct exynos5_power {
} arm_core[4];
uint8_t reserved9[0xe04];
uint32_t padret_dram_status; /* 0x3004 */
- uint8_t reservedA[0x1e0];
+ uint8_t reservedA[0xe0];
+ uint32_t padret_uart_opt; /* 0x30e8 */
+ uint8_t reservedB[0xfc];
uint32_t padret_dram_cblk_opt; /* 0x31e8 */
- uint8_t reservedB[0x120];
+ uint8_t reservedC[0x120];
uint32_t ps_hold_ctrl; /* 0x330c */
} __attribute__ ((__packed__));
@@ -103,4 +105,8 @@ void power_exit_wakeup(void);
/* pmu debug is used for xclkout, enable xclkout with source as XXTI */
void power_enable_xclkout(void);
+/* Release UART retention on resume (only for debugging, may conflict with
+ * kernel). */
+void power_release_uart_retention(void);
+
#endif