Merge rsync://bughost.org/repos/ipw-delta/
[linux-2.6] / include / asm-arm / arch-imx / dma.h
1 /*
2  *  linux/include/asm-arm/imxads/dma.h
3  *
4  *  Copyright (C) 1997,1998 Russell King
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20 #ifndef __ASM_ARCH_DMA_H
21 #define __ASM_ARCH_DMA_H
22
23 #define MAX_DMA_ADDRESS         0xffffffff
24
25 #define MAX_DMA_CHANNELS        0
26
27 /*
28  * DMA registration
29  */
30
31 typedef enum {
32         DMA_PRIO_HIGH = 0,
33         DMA_PRIO_MEDIUM = 3,
34         DMA_PRIO_LOW = 6
35 } imx_dma_prio;
36
37 int imx_request_dma(char *name, imx_dma_prio prio,
38                     void (*irq_handler) (int, void *, struct pt_regs *),
39                     void (*err_handler) (int, void *, struct pt_regs *),
40                     void *data);
41
42 void imx_free_dma(int dma_ch);
43
44
45 #define DMA_REQ_UART3_T        2
46 #define DMA_REQ_UART3_R        3
47 #define DMA_REQ_SSI2_T         4
48 #define DMA_REQ_SSI2_R         5
49 #define DMA_REQ_CSI_STAT       6
50 #define DMA_REQ_CSI_R          7
51 #define DMA_REQ_MSHC           8
52 #define DMA_REQ_DSPA_DCT_DOUT  9
53 #define DMA_REQ_DSPA_DCT_DIN  10
54 #define DMA_REQ_DSPA_MAC      11
55 #define DMA_REQ_EXT           12
56 #define DMA_REQ_SDHC          13
57 #define DMA_REQ_SPI1_R        14
58 #define DMA_REQ_SPI1_T        15
59 #define DMA_REQ_SSI_T         16
60 #define DMA_REQ_SSI_R         17
61 #define DMA_REQ_ASP_DAC       18
62 #define DMA_REQ_ASP_ADC       19
63 #define DMA_REQ_USP_EP(x)    (20+(x))
64 #define DMA_REQ_SPI2_R        26
65 #define DMA_REQ_SPI2_T        27
66 #define DMA_REQ_UART2_T       28
67 #define DMA_REQ_UART2_R       29
68 #define DMA_REQ_UART1_T       30
69 #define DMA_REQ_UART1_R       31
70
71 #endif                          /* _ASM_ARCH_DMA_H */