summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmaury Pouly <pamaury@rockbox.org>2011-09-13 23:38:56 +0000
committerAmaury Pouly <pamaury@rockbox.org>2011-09-13 23:38:56 +0000
commit1b220f1856ab80be46a263d31ea9e6cf741c7df9 (patch)
tree6b152ee4e8c7187ebb8cdcbd1b8f12d05b3b674c
parentb27d07e094376c2970cdb62434450f7a683edee7 (diff)
downloadrockbox-1b220f1856ab80be46a263d31ea9e6cf741c7df9.zip
rockbox-1b220f1856ab80be46a263d31ea9e6cf741c7df9.tar.gz
rockbox-1b220f1856ab80be46a263d31ea9e6cf741c7df9.tar.bz2
rockbox-1b220f1856ab80be46a263d31ea9e6cf741c7df9.tar.xz
imx233/fuze+: reset dma block correctly and define maximum transfer size
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30526 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/imx233/dma-imx233.c4
-rw-r--r--firmware/target/arm/imx233/dma-imx233.h3
2 files changed, 5 insertions, 2 deletions
diff --git a/firmware/target/arm/imx233/dma-imx233.c b/firmware/target/arm/imx233/dma-imx233.c
index eba4195..9700121 100644
--- a/firmware/target/arm/imx233/dma-imx233.c
+++ b/firmware/target/arm/imx233/dma-imx233.c
@@ -28,8 +28,8 @@
void imx233_dma_init(void)
{
/* Enable APHB and APBX */
- __REG_CLR(HW_APBH_CTRL0) = __BLOCK_CLKGATE | __BLOCK_SFTRST;
- __REG_CLR(HW_APBX_CTRL0) = __BLOCK_CLKGATE | __BLOCK_SFTRST;
+ imx233_reset_block(&HW_APBH_CTRL0);
+ imx233_reset_block(&HW_APBX_CTRL0);
}
void imx233_dma_reset_channel(unsigned chan)
diff --git a/firmware/target/arm/imx233/dma-imx233.h b/firmware/target/arm/imx233/dma-imx233.h
index bb88a74..c0727a5 100644
--- a/firmware/target/arm/imx233/dma-imx233.h
+++ b/firmware/target/arm/imx233/dma-imx233.h
@@ -152,6 +152,9 @@ struct apb_dma_command_t
#define HW_APB_CHx_SEMA__PHORE_BM 0xff0000
#define HW_APB_CHx_SEMA__PHORE_BP 16
+/* A single descriptor cannot transfer more than 2^16 bytes */
+#define IMX233_MAX_SINGLE_DMA_XFER_SIZE (1 << 16)
+
void imx233_dma_init(void);
void imx233_dma_reset_channel(unsigned chan);
/* only apbh channel have clkgate control */