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

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


The following commit(s) were added to refs/heads/master by this push:
     new 4229099  arch/arm/stm32h7: dma and serial: add TRBUFF flag. It is 
obligatory for uart.
4229099 is described below

commit 4229099944ac41b2812180ee2c0855832bb1049f
Author: Alexander Vasiljev <[email protected]>
AuthorDate: Thu Aug 12 13:04:15 2021 +0300

    arch/arm/stm32h7: dma and serial: add TRBUFF flag. It is obligatory for 
uart.
---
 arch/arm/src/stm32h7/hardware/stm32_dma.h | 2 +-
 arch/arm/src/stm32h7/stm32_dma.c          | 2 +-
 arch/arm/src/stm32h7/stm32_serial.c       | 3 ++-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/arm/src/stm32h7/hardware/stm32_dma.h 
b/arch/arm/src/stm32h7/hardware/stm32_dma.h
index 64a6ab0..d998dfc 100644
--- a/arch/arm/src/stm32h7/hardware/stm32_dma.h
+++ b/arch/arm/src/stm32h7/hardware/stm32_dma.h
@@ -319,7 +319,7 @@
 
 #define DMA_SCR_DBM               (1 << 18) /* Bit 15: Double buffer mode */
 #define DMA_SCR_CT                (1 << 19) /* Bit 19: Current target */
-                                            /* Bit 20: Reserved */
+#define DMA_TRBUFF                (1 << 20) /* Bit 20: Enable the DMA to 
handle bufferable transfers*/
 #define DMA_SCR_PBURST_SHIFT      (21)      /* Bits 21-22: Peripheral burst 
transfer configuration */
 #define DMA_SCR_PBURST_MASK       (3 << DMA_SCR_PBURST_SHIFT)
 #  define DMA_SCR_PBURST_SINGLE   (0 << DMA_SCR_PBURST_SHIFT) /* 00: Single 
transfer */
diff --git a/arch/arm/src/stm32h7/stm32_dma.c b/arch/arm/src/stm32h7/stm32_dma.c
index eaf5003..fc096c1 100644
--- a/arch/arm/src/stm32h7/stm32_dma.c
+++ b/arch/arm/src/stm32h7/stm32_dma.c
@@ -1350,7 +1350,7 @@ static void stm32_sdma_setup(DMA_HANDLE handle, FAR 
stm32_dmacfg_t *cfg)
   scr    &=  (DMA_SCR_PFCTRL | DMA_SCR_DIR_MASK | DMA_SCR_PINC |
               DMA_SCR_MINC | DMA_SCR_PSIZE_MASK | DMA_SCR_MSIZE_MASK |
               DMA_SCR_PINCOS | DMA_SCR_DBM | DMA_SCR_CIRC |
-              DMA_SCR_PBURST_MASK | DMA_SCR_MBURST_MASK);
+              DMA_SCR_PBURST_MASK | DMA_SCR_MBURST_MASK | DMA_TRBUFF);
   regval |= scr;
   dmachan_putreg(dmachan, STM32_DMA_SCR_OFFSET, regval);
 }
diff --git a/arch/arm/src/stm32h7/stm32_serial.c 
b/arch/arm/src/stm32h7/stm32_serial.c
index 8e2ed6c..0438108 100644
--- a/arch/arm/src/stm32h7/stm32_serial.c
+++ b/arch/arm/src/stm32h7/stm32_serial.c
@@ -467,7 +467,8 @@
                DMA_SCR_MSIZE_8BITS    | \
                DMA_SCR_PBURST_SINGLE  | \
                DMA_SCR_MBURST_SINGLE  | \
-               CONFIG_USART_TXDMAPRIO)
+               CONFIG_USART_TXDMAPRIO | \
+               DMA_TRBUFF)
 
 #endif /* SERIAL_HAVE_TXDMA */
 

Reply via email to