summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-11-16 15:58:05 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-11-16 15:58:05 +0000
commita4b3688eff63f62a34dc4fc5a3e6f6666c4fdf38 (patch)
tree159c9d55dcbad2e704a0c3f3ada7e7cddad97958
parent49c7861f0182a9cc9ced8426ddd600d3e218e899 (diff)
downloadnuttx-a4b3688eff63f62a34dc4fc5a3e6f6666c4fdf38.tar.gz
nuttx-a4b3688eff63f62a34dc4fc5a3e6f6666c4fdf38.tar.bz2
nuttx-a4b3688eff63f62a34dc4fc5a3e6f6666c4fdf38.zip
Addition DMA setup logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2262 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/arch/arm/src/stm32/stm32_sdio.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/nuttx/arch/arm/src/stm32/stm32_sdio.c b/nuttx/arch/arm/src/stm32/stm32_sdio.c
index d5a73ce67..3a128da10 100644
--- a/nuttx/arch/arm/src/stm32/stm32_sdio.c
+++ b/nuttx/arch/arm/src/stm32/stm32_sdio.c
@@ -1303,8 +1303,11 @@ static int tm32_dmareadsetup(FAR struct sdio_dev_s *dev, FAR ubyte *buffer, siz
{
/* Configure the RX DMA */
- stm32_dmasetup(priv->dma, STM32_SDIO_FIFO, (uint32)buffer,
- (buflen + 3) >> 2, SDIO_RXDMA16_CONFIG);
+ stm32_enableint(SDIO_MASK_DCRCFAILIE|SDIO_MASK_DTIMEOUTIE|SDIO_MASK_DATAENDIE|
+ SDIO_MASK_RXOVERRIE|SDIO_MASK_STBITERRIE);
+ putreg32(1, SDIO_DCTRL_DMAEN_BB)
+ stm32_dmasetup(priv->dma, STM32_SDIO_FIFO, (uint32)buffer,
+ (buflen + 3) >> 2, SDIO_RXDMA16_CONFIG);
}
#endif
@@ -1331,10 +1334,13 @@ static int tm32_dmareadsetup(FAR struct sdio_dev_s *dev, FAR ubyte *buffer, siz
static int stm32_dmawritesetup(FAR struct sdio_dev_s *dev,
FAR const ubyte *buffer, size_t buflen)
{
- /* Configure the RX DMA */
+ /* Configure the TX DMA */
+ stm32_enableint(SDIO_MASK_DCRCFAILIE|SDIO_MASK_DTIMEOUTIE|SDIO_MASK_DATAENDIE|
+ SDIO_MASK_TXUNDERRIE|SDIO_MASK_STBITERRIE);
stm32_dmasetup(priv->dma, STM32_SDIO_FIFO, (uint32)buffer,
(buflen + 3) >> 2, SDIO_TXDMA16_CONFIG);
+ putreg32(1, SDIO_DCTRL_DMAEN_BB)
}
#endif