summaryrefslogtreecommitdiff
path: root/chip/ish/uart.c
diff options
context:
space:
mode:
authorKyoung Kim <kyoung.il.kim@intel.com>2017-06-14 19:29:33 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-09-01 03:04:54 -0700
commit17bb1fbaa914c9631ef1e6e300050d47d4a116c4 (patch)
treecf2042ef9dca75850eaa7634169d8abd7099f770 /chip/ish/uart.c
parent816a8d87cd43a3ebb2d454c9e1e02e12581788fc (diff)
downloadchrome-ec-17bb1fbaa914c9631ef1e6e300050d47d4a116c4.tar.gz
ISH: added UART port selection
added uart port debug selection. in board.h, add "#define CONFIG_ISH_UART_0" for UART Port 0. For port1, use "#define CONFIG_ISH_UART_1" BUG=None BRANCH=None Test='make -j buildall' Change-Id: I5426b1d228ac715574e2ff4f28526232d375221f Reviewed-on: https://chromium-review.googlesource.com/566593 Commit-Ready: Kyoung Il Kim <kyoung.il.kim@intel.com> Tested-by: Kyoung Il Kim <kyoung.il.kim@intel.com> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'chip/ish/uart.c')
-rw-r--r--chip/ish/uart.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/chip/ish/uart.c b/chip/ish/uart.c
index b810c0eb52..cd05aee329 100644
--- a/chip/ish/uart.c
+++ b/chip/ish/uart.c
@@ -58,7 +58,8 @@ int uart_init_done(void)
void uart_tx_start(void)
{
#if !defined(CONFIG_POLLING_UART)
- enum UART_PORT id = UART_PORT_1; /* UART1 for ISH */
+
+ enum UART_PORT id = ISH_DEBUG_UART; /* UART for ISH */
if ( REG8(IER(id) & IER_TDRQ) )
return;
@@ -70,14 +71,15 @@ void uart_tx_start(void)
REG8(IER(id)) |= IER_TDRQ;
- task_trigger_irq(ISH_UART1_IRQ);
+ task_trigger_irq(ISH_DEBUG_UART_IRQ);
+
#endif
}
void uart_tx_stop(void)
{
#if !defined(CONFIG_POLLING_UART)
- enum UART_PORT id = UART_PORT_1; /* UART1 for ISH */
+ enum UART_PORT id = ISH_DEBUG_UART; /* UART for ISH */
/* Re-allow deep sleep */
enable_sleep(SLEEP_MASK_UART);
@@ -91,7 +93,7 @@ void uart_tx_stop(void)
void uart_tx_flush(void)
{
#if !defined(CONFIG_POLLING_UART)
- enum UART_PORT id = UART_PORT_1; /* UART1 for ISH */
+ enum UART_PORT id = ISH_DEBUG_UART; /* UART for ISH */
while (!(REG8(LSR(id)) & LSR_TEMT) )
;
@@ -106,7 +108,7 @@ int uart_tx_ready(void)
int uart_rx_available(void)
{
#if !defined(CONFIG_POLLING_UART)
- enum UART_PORT id = UART_PORT_1; /* UART1 for ISH */
+ enum UART_PORT id = ISH_DEBUG_UART; /* UART for ISH */
return REG8(LSR(id)) & LSR_DR;
#else
@@ -116,7 +118,7 @@ int uart_rx_available(void)
void uart_write_char(char c)
{
- enum UART_PORT id = UART_PORT_1; /* UART1 for ISH */
+ enum UART_PORT id = ISH_DEBUG_UART; /* UART for ISH */
/* Wait till reciever is ready */
while ((REG8(LSR(id)) & LSR_TEMT) == 0)
@@ -128,7 +130,7 @@ void uart_write_char(char c)
#if !defined(CONFIG_POLLING_UART)
int uart_read_char(void)
{
- enum UART_PORT id = UART_PORT_1; /* UART1 for ISH */
+ enum UART_PORT id = ISH_DEBUG_UART; /* UART for ISH */
return REG8(RBR(id));
}
@@ -139,7 +141,7 @@ void uart_ec_interrupt(void)
uart_process_input();
uart_process_output();
}
-DECLARE_IRQ(ISH_UART1_IRQ, uart_ec_interrupt); /* TODO: 'priority' */
+DECLARE_IRQ(ISH_DEBUG_UART_IRQ, uart_ec_interrupt);
#endif /* !defined(CONFIG_POLLING_UART) */
static int uart_return_baud_rate_by_id(int baud_rate_id)
@@ -282,8 +284,7 @@ static void uart_drv_init(void)
REG32(UART2_BASE + UART_REG_ABR) = 0;
- task_enable_irq(ISH_UART0_IRQ);
- task_enable_irq(ISH_UART1_IRQ);
+ task_enable_irq(ISH_DEBUG_UART_IRQ);
}
void uart_init(void)
@@ -291,6 +292,7 @@ void uart_init(void)
uart_drv_init();
- uart_client_init(UART_PORT_1, B115200, 0);
+ uart_client_init(ISH_DEBUG_UART, B115200, 0);
+
init_done = 1;
}