You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2022/08/09 02:46:38 UTC

[incubator-nuttx] 02/03: kinetis:[lp]serial remove ttype & do cache ops

This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 22580584d2c401cf2cd7b96c9d477b3c3dd6e2bb
Author: David Sidrane <Da...@NscDg.com>
AuthorDate: Wed Jun 8 10:16:48 2022 -0700

    kinetis:[lp]serial remove ttype & do cache ops
---
 arch/arm/src/kinetis/kinetis_lpserial.c | 4 +++-
 arch/arm/src/kinetis/kinetis_serial.c   | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/arm/src/kinetis/kinetis_lpserial.c b/arch/arm/src/kinetis/kinetis_lpserial.c
index 9f2b22f65b..3b3b85e6f2 100644
--- a/arch/arm/src/kinetis/kinetis_lpserial.c
+++ b/arch/arm/src/kinetis/kinetis_lpserial.c
@@ -847,7 +847,6 @@ static int kinetis_dma_setup(struct uart_dev_s *dev)
   config.flags  = EDMA_CONFIG_LINKTYPE_LINKNONE | EDMA_CONFIG_LOOPDEST;
   config.ssize  = EDMA_8BIT;
   config.dsize  = EDMA_8BIT;
-  config.ttype  = EDMA_PERIPH2MEM;
   config.nbytes = 1;
 #ifdef CONFIG_KINETIS_EDMA_ELINK
   config.linkch = NULL;
@@ -860,6 +859,9 @@ static int kinetis_dma_setup(struct uart_dev_s *dev)
 
   priv->rxdmanext = 0;
 
+  up_invalidate_dcache((uintptr_t)priv->rxfifo,
+                       (uintptr_t)priv->rxfifo + RXDMA_BUFFER_SIZE);
+
   /* Enable receive DMA for the UART */
 
   regval  = kinetis_serialin(priv, KINETIS_LPUART_BAUD_OFFSET);
diff --git a/arch/arm/src/kinetis/kinetis_serial.c b/arch/arm/src/kinetis/kinetis_serial.c
index 19a2f78ae0..9b8bf07b29 100644
--- a/arch/arm/src/kinetis/kinetis_serial.c
+++ b/arch/arm/src/kinetis/kinetis_serial.c
@@ -956,7 +956,6 @@ static int up_dma_setup(struct uart_dev_s *dev)
   config.flags  = EDMA_CONFIG_LINKTYPE_LINKNONE | EDMA_CONFIG_LOOPDEST;
   config.ssize  = EDMA_8BIT;
   config.dsize  = EDMA_8BIT;
-  config.ttype  = EDMA_PERIPH2MEM;
   config.nbytes = 1;
 #ifdef CONFIG_KINETIS_EDMA_ELINK
   config.linkch = NULL;
@@ -969,6 +968,9 @@ static int up_dma_setup(struct uart_dev_s *dev)
 
   priv->rxdmanext = 0;
 
+  up_invalidate_dcache((uintptr_t)priv->rxfifo,
+                       (uintptr_t)priv->rxfifo + RXDMA_BUFFER_SIZE);
+
   /* Enable receive DMA for the UART */
 
   regval  = up_serialin(priv, KINETIS_UART_C5_OFFSET);