summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/stm32/stm32_serial.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-08-10 22:01:12 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-08-10 22:01:12 +0000
commitb1e0f7b0dc5b0a350eb1e198ac6c4a579318cba9 (patch)
tree73f84f801733d66d034be2809003d653ff593509 /nuttx/arch/arm/src/stm32/stm32_serial.c
parent3f0870e66e9b44b1be143f8c047ffbfee378827f (diff)
downloadpx4-nuttx-b1e0f7b0dc5b0a350eb1e198ac6c4a579318cba9.tar.gz
px4-nuttx-b1e0f7b0dc5b0a350eb1e198ac6c4a579318cba9.tar.bz2
px4-nuttx-b1e0f7b0dc5b0a350eb1e198ac6c4a579318cba9.zip
STM32 SDIO DMA setup was losing DMA priority
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5019 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/arm/src/stm32/stm32_serial.c')
-rw-r--r--nuttx/arch/arm/src/stm32/stm32_serial.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/nuttx/arch/arm/src/stm32/stm32_serial.c b/nuttx/arch/arm/src/stm32/stm32_serial.c
index 01c519b39..265abfbf3 100644
--- a/nuttx/arch/arm/src/stm32/stm32_serial.c
+++ b/nuttx/arch/arm/src/stm32/stm32_serial.c
@@ -132,6 +132,30 @@
*/
# define RXDMA_BUFFER_SIZE 32
+
+/* DMA priority */
+
+# ifndef CONFIG_USART_DMAPRIO
+# if defined(CONFIG_STM32_STM32F10XX)
+# define CONFIG_USART_DMAPRIO DMA_CCR_PRIMED
+# elif defined(CONFIG_STM32_STM32F20XX) || defined(CONFIG_STM32_STM32F40XX)
+# define CONFIG_USART_DMAPRIO DMA_SCR_PRIMED
+# else
+# error "Unknown STM32 DMA"
+# endif
+# endif
+# if defined(CONFIG_STM32_STM32F10XX)
+# if (CONFIG_USART_DMAPRIO & ~DMA_CCR_PL_MASK) != 0
+# error "Illegal value for CONFIG_USART_DMAPRIO"
+# endif
+# elif defined(CONFIG_STM32_STM32F20XX) || defined(CONFIG_STM32_STM32F40XX)
+# if (CONFIG_USART_DMAPRIO & ~DMA_SCR_PL_MASK) != 0
+# error "Illegal value for CONFIG_USART_DMAPRIO"
+# endif
+# else
+# error "Unknown STM32 DMA"
+# endif
+
#endif
/* Power management definitions */
@@ -975,6 +999,7 @@ static int up_dma_setup(struct uart_dev_s *dev)
DMA_SCR_MINC |
DMA_SCR_PSIZE_8BITS |
DMA_SCR_MSIZE_8BITS |
+ CONFIG_USART_DMAPRIO |
DMA_SCR_PBURST_SINGLE |
DMA_SCR_MBURST_SINGLE);