diff options
-rw-r--r-- | chip/ish/uart.c | 6 |
1 files changed, 6 insertions, 0 deletions
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 */ |