diff options
author | Manuel Lauss <mano@roarinelk.homelinux.net> | 2007-05-09 17:36:15 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-05-09 17:36:15 +0900 |
commit | fc467a2623029976899261d6d379779c950ddcba (patch) | |
tree | 16b1721c800bd907207723f8031fb8601811b584 /include | |
parent | 57be2b484a417bffae66359b9b89e7239480b729 (diff) | |
download | op-kernel-dev-fc467a2623029976899261d6d379779c950ddcba.zip op-kernel-dev-fc467a2623029976899261d6d379779c950ddcba.tar.gz |
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')
-rw-r--r-- | include/asm-sh/dmabrg.h | 23 |
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 0000000..c5edba2 --- /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 |