summaryrefslogtreecommitdiff
path: root/drivers/imx
diff options
context:
space:
mode:
authorYing-Chun Liu (PaulLiu) <paulliu@debian.org>2019-02-12 18:33:04 +0800
committerYing-Chun Liu (PaulLiu) <paulliu@debian.org>2019-02-12 18:56:29 +0800
commit70086dc466d980248dfb6416fa6c2adae5aafe8a (patch)
treee69c4d75063e77a9dce20c3b819e0d8c192ae374 /drivers/imx
parent873e394b3bf93214a441f9f98237b58fbbea55aa (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.c12
-rw-r--r--drivers/imx/uart/imx_uart.h15
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 */