From 84d3b222e30e2fd29519f40a6bf5df37f2d78b62 Mon Sep 17 00:00:00 2001 From: Andy Kiser Date: Wed, 6 Feb 2019 11:31:56 +0100 Subject: Fix UART examples for Colibri iMX7 The uart_polling and uart_interrupt examples were originally written for a UART used in DCE mode. The Colibri iMX7 is designed to use the UART in DTE mode. The signals are swapped between DTE and DCE (Rx <-> Tx, and control signals). In order to use the correct pin direction, the bit DCEDTE in the UARTx_UFCR register needs to be configured accordingly. Signed-off-by: Andy Kiser --- examples/imx7_colibri_m4/driver_examples/uart_imx/uart_interrupt/main.c | 1 + examples/imx7_colibri_m4/driver_examples/uart_imx/uart_polling/main.c | 1 + 2 files changed, 2 insertions(+) diff --git a/examples/imx7_colibri_m4/driver_examples/uart_imx/uart_interrupt/main.c b/examples/imx7_colibri_m4/driver_examples/uart_imx/uart_interrupt/main.c index 9b22f1f..aef18d1 100644 --- a/examples/imx7_colibri_m4/driver_examples/uart_imx/uart_interrupt/main.c +++ b/examples/imx7_colibri_m4/driver_examples/uart_imx/uart_interrupt/main.c @@ -113,6 +113,7 @@ static void UART_XFER_Config(uart_init_config_t* initConfig) /* Initialize UART baud rate, bit count, parity, stop bit and direction. */ UART_Init(BOARD_DEBUG_UART_BASEADDR, initConfig); + UART_SetModemMode(BOARD_DEBUG_UART_BASEADDR, uartModemModeDte); UART_SetTxFifoWatermark(BOARD_DEBUG_UART_BASEADDR, 16); UART_SetRxFifoWatermark(BOARD_DEBUG_UART_BASEADDR, 1); diff --git a/examples/imx7_colibri_m4/driver_examples/uart_imx/uart_polling/main.c b/examples/imx7_colibri_m4/driver_examples/uart_imx/uart_polling/main.c index 5888f6f..ee570c9 100644 --- a/examples/imx7_colibri_m4/driver_examples/uart_imx/uart_polling/main.c +++ b/examples/imx7_colibri_m4/driver_examples/uart_imx/uart_polling/main.c @@ -66,6 +66,7 @@ int main(void) /* Initialize UART baud rate, bit count, parity, stop bit and direction. */ UART_Init(BOARD_DEBUG_UART_BASEADDR, &initConfig); + UART_SetModemMode(BOARD_DEBUG_UART_BASEADDR, uartModemModeDte); /* Set UART build-in hardware FIFO Watermark. */ UART_SetTxFifoWatermark(BOARD_DEBUG_UART_BASEADDR, 16); -- cgit v1.2.3