summaryrefslogtreecommitdiffstats
path: root/include/asm-sh/dmabrg.h
diff options
context:
space:
mode:
authorManuel Lauss <mano@roarinelk.homelinux.net>2007-05-09 17:36:15 +0900
committerPaul Mundt <lethal@linux-sh.org>2007-05-09 17:36:15 +0900
commitfc467a2623029976899261d6d379779c950ddcba (patch)
tree16b1721c800bd907207723f8031fb8601811b584 /include/asm-sh/dmabrg.h
parent57be2b484a417bffae66359b9b89e7239480b729 (diff)
sh: SH7760 DMABRG support.
The DMABRG is a special DMA unit within the SH7760 which does data transfers from main memory to Audio units and USB shared memory. It has 3 IRQ lines which generate 10 events, which have to be masked unmasked and acked in a single 32bit register. It works independently from the tradition SH DMAC, but blocks usage of DMAC channel 0. This patch adds 2 functions to associate callbacks with DMABRG events and initialization. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'include/asm-sh/dmabrg.h')
-rw-r--r--include/asm-sh/dmabrg.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/asm-sh/dmabrg.h b/include/asm-sh/dmabrg.h
new file mode 100644
index 00000000000..c5edba216cf
--- /dev/null
+++ b/include/asm-sh/dmabrg.h
@@ -0,0 +1,23 @@
+/*
+ * SH7760 DMABRG (USB/Audio) support
+ */
+
+#ifndef _DMABRG_H_
+#define _DMABRG_H_
+
+/* IRQ sources */
+#define DMABRGIRQ_USBDMA 0
+#define DMABRGIRQ_USBDMAERR 1
+#define DMABRGIRQ_A0TXF 2
+#define DMABRGIRQ_A0TXH 3
+#define DMABRGIRQ_A0RXF 4
+#define DMABRGIRQ_A0RXH 5
+#define DMABRGIRQ_A1TXF 6
+#define DMABRGIRQ_A1TXH 7
+#define DMABRGIRQ_A1RXF 8
+#define DMABRGIRQ_A1RXH 9
+
+extern int dmabrg_request_irq(unsigned int, void(*)(void *), void *);
+extern void dmabrg_free_irq(unsigned int);
+
+#endif