summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/kinetis/kinetis_lowputc.c
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/arch/arm/src/kinetis/kinetis_lowputc.c')
-rw-r--r--nuttx/arch/arm/src/kinetis/kinetis_lowputc.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/nuttx/arch/arm/src/kinetis/kinetis_lowputc.c b/nuttx/arch/arm/src/kinetis/kinetis_lowputc.c
index 5529443c3..a808e0917 100644
--- a/nuttx/arch/arm/src/kinetis/kinetis_lowputc.c
+++ b/nuttx/arch/arm/src/kinetis/kinetis_lowputc.c
@@ -424,10 +424,18 @@ void kinetis_uartconfigure(uintptr_t uart_base, uint32_t baud,
putreg8(UART_PFIFO_RXFE | UART_PFIFO_TXFE, uart_base+KINETIS_UART_PFIFO_OFFSET);
#else
+ /* Otherwise, disable the FIFOs. Then the FIFOs are disable, the effective
+ * FIFO depth is 1. So set the watermarks as follows:
+ *
+ * TWFIFO[TXWATER] = 0: TDRE will be set when the number of queues bytes
+ * (1 in this case) is less than or equal to 0.
+ * RWFIFO[RXWATER] = 1: RDRF will be set when the number of queues bytes
+ * (1 in this case) is greater than or equal to 1.
+ *
/* Set the watermarks to one and disable the FIFOs */
putreg8(1, uart_base+KINETIS_UART_RWFIFO_OFFSET);
- putreg8(1, uart_base+KINETIS_UART_TWFIFO_OFFSET);
+ putreg8(0, uart_base+KINETIS_UART_TWFIFO_OFFSET);
putreg8(0, uart_base+KINETIS_UART_PFIFO_OFFSET);
#endif