linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / 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 /*
24  * DMA registration
25  */
26
27 typedef enum {
28         DMA_PRIO_HIGH = 0,
29         DMA_PRIO_MEDIUM = 3,
30         DMA_PRIO_LOW = 6
31 } imx_dma_prio;
32
33 int imx_request_dma(char *name, imx_dma_prio prio,
34                     void (*irq_handler) (int, void *, struct pt_regs *),
35                     void (*err_handler) (int, void *, struct pt_regs *),
36                     void *data);
37
38 void imx_free_dma(int dma_ch);
39
40
41 #define DMA_REQ_UART3_T        2
42 #define DMA_REQ_UART3_R        3
43 #define DMA_REQ_SSI2_T         4
44 #define DMA_REQ_SSI2_R         5
45 #define DMA_REQ_CSI_STAT       6
46 #define DMA_REQ_CSI_R          7
47 #define DMA_REQ_MSHC           8
48 #define DMA_REQ_DSPA_DCT_DOUT  9
49 #define DMA_REQ_DSPA_DCT_DIN  10
50 #define DMA_REQ_DSPA_MAC      11
51 #define DMA_REQ_EXT           12
52 #define DMA_REQ_SDHC          13
53 #define DMA_REQ_SPI1_R        14
54 #define DMA_REQ_SPI1_T        15
55 #define DMA_REQ_SSI_T         16
56 #define DMA_REQ_SSI_R         17
57 #define DMA_REQ_ASP_DAC       18
58 #define DMA_REQ_ASP_ADC       19
59 #define DMA_REQ_USP_EP(x)    (20+(x))
60 #define DMA_REQ_SPI2_R        26
61 #define DMA_REQ_SPI2_T        27
62 #define DMA_REQ_UART2_T       28
63 #define DMA_REQ_UART2_R       29
64 #define DMA_REQ_UART1_T       30
65 #define DMA_REQ_UART1_R       31
66
67 #endif                          /* _ASM_ARCH_DMA_H */