summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx233/dma-imx233.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/imx233/dma-imx233.h')
-rw-r--r--firmware/target/arm/imx233/dma-imx233.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/firmware/target/arm/imx233/dma-imx233.h b/firmware/target/arm/imx233/dma-imx233.h
index 692b8dc16d..a64b8a64d1 100644
--- a/firmware/target/arm/imx233/dma-imx233.h
+++ b/firmware/target/arm/imx233/dma-imx233.h
@@ -37,8 +37,12 @@
37#define APB_IS_APBX_CHANNEL(x) ((x) & 0x10) 37#define APB_IS_APBX_CHANNEL(x) ((x) & 0x10)
38#define APB_GET_DMA_CHANNEL(x) ((x) & 0xf) 38#define APB_GET_DMA_CHANNEL(x) ((x) & 0xf)
39 39
40#if IMX233_SUBTARGET >= 3700
40// NOTE: although undocumented, the iMX233 channel 0 is actually the LCDIF one 41// NOTE: although undocumented, the iMX233 channel 0 is actually the LCDIF one
41#define APB_LCDIF APBH_DMA_CHANNEL(0) 42#define APB_LCDIF APBH_DMA_CHANNEL(0)
43#else
44#define APB_LCDIF APBX_DMA_CHANNEL(4)
45#endif
42 46
43#define APB_SSP(ssp) APBH_DMA_CHANNEL(ssp) 47#define APB_SSP(ssp) APBH_DMA_CHANNEL(ssp)
44#define APB_GPMI(dev) APBH_DMA_CHANNEL(4 + (dev)) 48#define APB_GPMI(dev) APBH_DMA_CHANNEL(4 + (dev))
@@ -151,6 +155,10 @@ void imx233_dma_enable_channel_interrupt(unsigned chan, bool enable);
151void imx233_dma_clear_channel_interrupt(unsigned chan); 155void imx233_dma_clear_channel_interrupt(unsigned chan);
152bool imx233_dma_is_channel_error_irq(unsigned chan); 156bool imx233_dma_is_channel_error_irq(unsigned chan);
153/* assume no command is in progress */ 157/* assume no command is in progress */
158void imx233_dma_prepare_command(unsigned chan, struct apb_dma_command_t *cmd);
159void imx233_dma_set_next_command(unsigned chan, struct apb_dma_command_t *cmd);
160void imx233_dma_inc_sema(unsigned chan, unsigned amount);
161/* wrapper around prepare_command, set_next_command, inc_sema(1) */
154void imx233_dma_start_command(unsigned chan, struct apb_dma_command_t *cmd); 162void imx233_dma_start_command(unsigned chan, struct apb_dma_command_t *cmd);
155/* return value of the semaphore */ 163/* return value of the semaphore */
156int imx233_dma_wait_completion(unsigned chan, unsigned tmo); 164int imx233_dma_wait_completion(unsigned chan, unsigned tmo);