From 70086dc466d980248dfb6416fa6c2adae5aafe8a Mon Sep 17 00:00:00 2001 From: "Ying-Chun Liu (PaulLiu)" Date: Tue, 12 Feb 2019 18:33:04 +0800 Subject: 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) --- drivers/imx/uart/imx_uart.c | 12 ++++++------ drivers/imx/uart/imx_uart.h | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 6 deletions(-) (limited to 'drivers/imx') 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 + #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 */ -- cgit v1.2.3