diff options
author | Ying-Chun Liu (PaulLiu) <paulliu@debian.org> | 2019-02-12 18:33:04 +0800 |
---|---|---|
committer | Ying-Chun Liu (PaulLiu) <paulliu@debian.org> | 2019-02-12 18:56:29 +0800 |
commit | 70086dc466d980248dfb6416fa6c2adae5aafe8a (patch) | |
tree | e69c4d75063e77a9dce20c3b819e0d8c192ae374 /drivers/imx | |
parent | 873e394b3bf93214a441f9f98237b58fbbea55aa (diff) |
imx: warp7: Migrate to MULTI_CONSOLE_API
This commit migrates to MULTI_CONSOLE_API for IMX Warp7 board.
We also rename the functions in imx_uart driver to more specific one.
Signed-off-by: Ying-Chun Liu (PaulLiu) <paulliu@debian.org>
Diffstat (limited to 'drivers/imx')
-rw-r--r-- | drivers/imx/uart/imx_uart.c | 12 | ||||
-rw-r--r-- | drivers/imx/uart/imx_uart.h | 15 |
2 files changed, 21 insertions, 6 deletions
diff --git a/drivers/imx/uart/imx_uart.c b/drivers/imx/uart/imx_uart.c index 68d31c88..2c9652d1 100644 --- a/drivers/imx/uart/imx_uart.c +++ b/drivers/imx/uart/imx_uart.c @@ -62,8 +62,8 @@ static uint32_t read_reg(uintptr_t base, uint32_t offset) return mmio_read_32(base + offset); } -int console_core_init(uintptr_t base_addr, unsigned int uart_clk, - unsigned int baud_rate) +int console_imx_uart_core_init(uintptr_t base_addr, unsigned int uart_clk, + unsigned int baud_rate) { uint32_t val; uint8_t clk_idx = 1; @@ -129,12 +129,12 @@ int console_core_init(uintptr_t base_addr, unsigned int uart_clk, * Clobber list : r2 * -------------------------------------------------------- */ -int console_core_putc(int c, uintptr_t base_addr) +int console_imx_uart_core_putc(int c, uintptr_t base_addr) { uint32_t val; if (c == '\n') - console_core_putc('\r', base_addr); + console_imx_uart_core_putc('\r', base_addr); /* Write data */ write_reg(base_addr, IMX_UART_TXD_OFFSET, c); @@ -155,7 +155,7 @@ int console_core_putc(int c, uintptr_t base_addr) * Clobber list : r0, r1 * --------------------------------------------- */ -int console_core_getc(uintptr_t base_addr) +int console_imx_uart_core_getc(uintptr_t base_addr) { uint32_t val; @@ -175,7 +175,7 @@ int console_core_getc(uintptr_t base_addr) * Clobber list : r0, r1 * --------------------------------------------- */ -int console_core_flush(uintptr_t base_addr) +int console_imx_uart_core_flush(uintptr_t base_addr) { return 0; } diff --git a/drivers/imx/uart/imx_uart.h b/drivers/imx/uart/imx_uart.h index c3edbc72..b71504c7 100644 --- a/drivers/imx/uart/imx_uart.h +++ b/drivers/imx/uart/imx_uart.h @@ -6,6 +6,8 @@ #ifndef IMX_UART_H #define IMX_UART_H +#include <drivers/console.h> + #define IMX_UART_RXD_OFFSET 0x00 #define IMX_UART_RXD_CHARRDY BIT(15) #define IMX_UART_RXD_ERR BIT(14) @@ -150,4 +152,17 @@ #define IMX_UART_TS_RXFULL BIT(3) #define IMX_UART_TS_SOFTRST BIT(0) +#ifndef __ASSEMBLY__ + +typedef struct { + console_t console; + uintptr_t base; +} console_imx_uart_t; + +int console_imx_uart_register(uintptr_t baseaddr, + uint32_t clock, + uint32_t baud, + console_imx_uart_t *console); +#endif /*__ASSEMBLY__*/ + #endif /* IMX_UART_H */ |