From 2c9dea11720b96d866785f81c1e0dc3bd206183e Mon Sep 17 00:00:00 2001 From: Kyoung Kim Date: Wed, 30 Aug 2017 18:28:11 -0700 Subject: ISH: added sleep mask for UART port added UART sleep mask not to allow to enter into deep sleep. BUG=None BRANCH=master Test='make -j buildall' Change-Id: I15e55c2c94276da99339465f2ea577b1f94e1ce4 Signed-off-by: Kyoung Kim Reviewed-on: https://chromium-review.googlesource.com/644848 Commit-Ready: Kyoung Il Kim Tested-by: Kyoung Il Kim Reviewed-by: Aaron Durbin --- chip/ish/uart.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/chip/ish/uart.c b/chip/ish/uart.c index 27539dc009..b810c0eb52 100644 --- a/chip/ish/uart.c +++ b/chip/ish/uart.c @@ -63,6 +63,9 @@ void uart_tx_start(void) if ( REG8(IER(id) & IER_TDRQ) ) return; + /* Do not allow deep sleep while transmit in progress */ + disable_sleep(SLEEP_MASK_UART); + /* TODO: disable low power mode while transmit */ REG8(IER(id)) |= IER_TDRQ; @@ -76,6 +79,9 @@ void uart_tx_stop(void) #if !defined(CONFIG_POLLING_UART) enum UART_PORT id = UART_PORT_1; /* UART1 for ISH */ + /* Re-allow deep sleep */ + enable_sleep(SLEEP_MASK_UART); + REG8(IER(id)) &= ~IER_TDRQ; /* TODO: re-enable low power mode */ -- cgit v1.2.1