1
2
3
4
5
6
7
8#ifndef _BLACKFIN_DMA_H_
9#define _BLACKFIN_DMA_H_
10
11#include <asm/mach-common/bits/dma.h>
12
13struct dmasg_large {
14 void *next_desc_addr;
15 unsigned long start_addr;
16 unsigned short cfg;
17 unsigned short x_count;
18 short x_modify;
19 unsigned short y_count;
20 short y_modify;
21} __attribute__((packed));
22
23struct dmasg {
24 unsigned long start_addr;
25 unsigned short cfg;
26 unsigned short x_count;
27 short x_modify;
28 unsigned short y_count;
29 short y_modify;
30} __attribute__((packed));
31
32struct dma_register {
33 void *next_desc_ptr;
34 unsigned long start_addr;
35
36 unsigned short cfg;
37 unsigned short dummy1;
38
39 unsigned long reserved;
40
41 unsigned short x_count;
42 unsigned short dummy2;
43
44 short x_modify;
45 unsigned short dummy3;
46
47 unsigned short y_count;
48 unsigned short dummy4;
49
50 short y_modify;
51 unsigned short dummy5;
52
53 void *curr_desc_ptr;
54
55 unsigned long curr_addr_ptr;
56
57 unsigned short irq_status;
58 unsigned short dummy6;
59
60 unsigned short peripheral_map;
61 unsigned short dummy7;
62
63 unsigned short curr_x_count;
64 unsigned short dummy8;
65
66 unsigned long reserved2;
67
68 unsigned short curr_y_count;
69 unsigned short dummy9;
70
71 unsigned long reserved3;
72
73};
74
75#endif
76