1#ifndef _ASM_ARCH_CRIS_DMA_H
2#define _ASM_ARCH_CRIS_DMA_H
3
4
5
6#define MAX_DMA_CHANNELS 10
7
8#define NETWORK_ETH0_TX_DMA_NBR 0
9#define NETWORK_ETH0 RX_DMA_NBR 1
10
11#define IO_PROC_DMA0_TX_DMA_NBR 2
12#define IO_PROC_DMA0_RX_DMA_NBR 3
13
14#define ATA_TX_DMA_NBR 2
15#define ATA_RX_DMA_NBR 3
16
17#define ASYNC_SER2_TX_DMA_NBR 2
18#define ASYNC_SER2_RX_DMA_NBR 3
19
20#define IO_PROC_DMA1_TX_DMA_NBR 4
21#define IO_PROC_DMA1_RX_DMA_NBR 5
22
23#define ASYNC_SER1_TX_DMA_NBR 4
24#define ASYNC_SER1_RX_DMA_NBR 5
25
26#define SYNC_SER0_TX_DMA_NBR 4
27#define SYNC_SER0_RX_DMA_NBR 5
28
29#define EXTDMA0_TX_DMA_NBR 6
30#define EXTDMA1_RX_DMA_NBR 7
31
32#define ASYNC_SER0_TX_DMA_NBR 6
33#define ASYNC_SER0_RX_DMA_NBR 7
34
35#define SYNC_SER1_TX_DMA_NBR 6
36#define SYNC_SER1_RX_DMA_NBR 7
37
38#define NETWORK_ETH1_TX_DMA_NBR 6
39#define NETWORK_ETH1_RX_DMA_NBR 7
40
41#define EXTDMA2_TX_DMA_NBR 8
42#define EXTDMA3_RX_DMA_NBR 9
43
44#define STRCOP_TX_DMA_NBR 8
45#define STRCOP_RX_DMA_NBR 9
46
47#define ASYNC_SER3_TX_DMA_NBR 8
48#define ASYNC_SER3_RX_DMA_NBR 9
49
50enum dma_owner
51{
52 dma_eth0,
53 dma_eth1,
54 dma_iop0,
55 dma_iop1,
56 dma_ser0,
57 dma_ser1,
58 dma_ser2,
59 dma_ser3,
60 dma_sser0,
61 dma_sser1,
62 dma_ata,
63 dma_strp,
64 dma_ext0,
65 dma_ext1,
66 dma_ext2,
67 dma_ext3
68};
69
70int crisv32_request_dma(unsigned int dmanr, const char * device_id,
71 unsigned options, unsigned bandwidth, enum dma_owner owner);
72void crisv32_free_dma(unsigned int dmanr);
73
74
75#define DMA_VERBOSE_ON_ERROR 1
76#define DMA_PANIC_ON_ERROR (2|DMA_VERBOSE_ON_ERROR)
77#define DMA_INT_MEM 4
78
79#endif
80