Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx...
[linux-2.6.git] / arch / sh / include / asm / dma-sh.h
index e873eca..78eed3e 100644 (file)
 #ifndef __DMA_SH_H
 #define __DMA_SH_H
 
+#include <asm/dma.h>
 #include <cpu/dma.h>
 
 /* DMAOR contorl: The DMAOR access size is different by CPU.*/
 #if defined(CONFIG_CPU_SUBTYPE_SH7723) || \
+    defined(CONFIG_CPU_SUBTYPE_SH7724) || \
     defined(CONFIG_CPU_SUBTYPE_SH7780) || \
     defined(CONFIG_CPU_SUBTYPE_SH7785)
 #define dmaor_read_reg(n) \
 #endif
 
 static int dmte_irq_map[] __maybe_unused = {
-#if (CONFIG_NR_ONCHIP_DMA_CHANNELS >= 4)
+#if (MAX_DMA_CHANNELS >= 4)
     DMTE0_IRQ,
     DMTE0_IRQ + 1,
     DMTE0_IRQ + 2,
     DMTE0_IRQ + 3,
 #endif
-#if (CONFIG_NR_ONCHIP_DMA_CHANNELS >= 6)
+#if (MAX_DMA_CHANNELS >= 6)
     DMTE4_IRQ,
     DMTE4_IRQ + 1,
 #endif
-#if (CONFIG_NR_ONCHIP_DMA_CHANNELS >= 8)
+#if (MAX_DMA_CHANNELS >= 8)
     DMTE6_IRQ,
     DMTE6_IRQ + 1,
 #endif
-#if (CONFIG_NR_ONCHIP_DMA_CHANNELS >= 12)
+#if (MAX_DMA_CHANNELS >= 12)
     DMTE8_IRQ,
     DMTE9_IRQ,
     DMTE10_IRQ,
@@ -85,21 +87,21 @@ static int dmte_irq_map[] __maybe_unused = {
 
 /* DMA base address */
 static u32 dma_base_addr[] __maybe_unused = {
-#if (CONFIG_NR_ONCHIP_DMA_CHANNELS >= 4)
+#if (MAX_DMA_CHANNELS >= 4)
        SH_DMAC_BASE0 + 0x00,   /* channel 0 */
        SH_DMAC_BASE0 + 0x10,
        SH_DMAC_BASE0 + 0x20,
        SH_DMAC_BASE0 + 0x30,
 #endif
-#if (CONFIG_NR_ONCHIP_DMA_CHANNELS >= 6)
+#if (MAX_DMA_CHANNELS >= 6)
        SH_DMAC_BASE0 + 0x50,
        SH_DMAC_BASE0 + 0x60,
 #endif
-#if (CONFIG_NR_ONCHIP_DMA_CHANNELS >= 8)
+#if (MAX_DMA_CHANNELS >= 8)
        SH_DMAC_BASE1 + 0x00,
        SH_DMAC_BASE1 + 0x10,
 #endif
-#if (CONFIG_NR_ONCHIP_DMA_CHANNELS >= 12)
+#if (MAX_DMA_CHANNELS >= 12)
        SH_DMAC_BASE1 + 0x20,
        SH_DMAC_BASE1 + 0x30,
        SH_DMAC_BASE1 + 0x50,
@@ -114,4 +116,17 @@ static u32 dma_base_addr[] __maybe_unused = {
 #define CHCR    0x0C
 #define DMAOR  0x40
 
+/*
+ * for dma engine
+ *
+ * SuperH DMA mode
+ */
+#define SHDMA_MIX_IRQ  (1 << 1)
+#define SHDMA_DMAOR1   (1 << 2)
+#define SHDMA_DMAE1            (1 << 3)
+
+struct sh_dmae_pdata {
+       unsigned int mode;
+};
+
 #endif /* __DMA_SH_H */