]> git.sur5r.net Git - freertos/blob - Demo/ColdFire_MCF52233_Eclipse/RTOSDemo/MCF5223x/MCF52235_DMA.h
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@569 1d2547de-c912-0410...
[freertos] / Demo / ColdFire_MCF52233_Eclipse / RTOSDemo / MCF5223x / MCF52235_DMA.h
1 /* Coldfire C Header File\r
2  * Copyright Freescale Semiconductor Inc\r
3  * All rights reserved.\r
4  *\r
5  * 2007/03/19 Revision: 0.91\r
6  */\r
7 \r
8 #ifndef __MCF52235_DMA_H__\r
9 #define __MCF52235_DMA_H__\r
10 \r
11 \r
12 /*********************************************************************\r
13 *\r
14 * DMA Controller (DMA)\r
15 *\r
16 *********************************************************************/\r
17 \r
18 /* Register read/write macros */\r
19 #define MCF_DMA0_SAR                         (*(vuint32*)(&__IPSBAR[0x100]))\r
20 #define MCF_DMA0_DAR                         (*(vuint32*)(&__IPSBAR[0x104]))\r
21 #define MCF_DMA0_DSR                         (*(vuint8 *)(&__IPSBAR[0x108]))\r
22 #define MCF_DMA0_BCR                         (*(vuint32*)(&__IPSBAR[0x108]))\r
23 #define MCF_DMA0_DCR                         (*(vuint32*)(&__IPSBAR[0x10C]))\r
24 \r
25 #define MCF_DMA1_SAR                         (*(vuint32*)(&__IPSBAR[0x110]))\r
26 #define MCF_DMA1_DAR                         (*(vuint32*)(&__IPSBAR[0x114]))\r
27 #define MCF_DMA1_DSR                         (*(vuint8 *)(&__IPSBAR[0x118]))\r
28 #define MCF_DMA1_BCR                         (*(vuint32*)(&__IPSBAR[0x118]))\r
29 #define MCF_DMA1_DCR                         (*(vuint32*)(&__IPSBAR[0x11C]))\r
30 \r
31 #define MCF_DMA2_SAR                         (*(vuint32*)(&__IPSBAR[0x120]))\r
32 #define MCF_DMA2_DAR                         (*(vuint32*)(&__IPSBAR[0x124]))\r
33 #define MCF_DMA2_DSR                         (*(vuint8 *)(&__IPSBAR[0x128]))\r
34 #define MCF_DMA2_BCR                         (*(vuint32*)(&__IPSBAR[0x128]))\r
35 #define MCF_DMA2_DCR                         (*(vuint32*)(&__IPSBAR[0x12C]))\r
36 \r
37 #define MCF_DMA3_SAR                         (*(vuint32*)(&__IPSBAR[0x130]))\r
38 #define MCF_DMA3_DAR                         (*(vuint32*)(&__IPSBAR[0x134]))\r
39 #define MCF_DMA3_DSR                         (*(vuint8 *)(&__IPSBAR[0x138]))\r
40 #define MCF_DMA3_BCR                         (*(vuint32*)(&__IPSBAR[0x138]))\r
41 #define MCF_DMA3_DCR                         (*(vuint32*)(&__IPSBAR[0x13C]))\r
42 \r
43 #define MCF_DMA_SAR(x)                       (*(vuint32*)(&__IPSBAR[0x100 + ((x)*0x10)]))\r
44 #define MCF_DMA_DAR(x)                       (*(vuint32*)(&__IPSBAR[0x104 + ((x)*0x10)]))\r
45 #define MCF_DMA_DSR(x)                       (*(vuint8 *)(&__IPSBAR[0x108 + ((x)*0x10)]))\r
46 #define MCF_DMA_BCR(x)                       (*(vuint32*)(&__IPSBAR[0x108 + ((x)*0x10)]))\r
47 #define MCF_DMA_DCR(x)                       (*(vuint32*)(&__IPSBAR[0x10C + ((x)*0x10)]))\r
48 \r
49 \r
50 /* Bit definitions and macros for MCF_DMA_SAR */\r
51 #define MCF_DMA_SAR_SAR(x)                   (((x)&0xFFFFFFFF)<<0)\r
52 \r
53 /* Bit definitions and macros for MCF_DMA_DAR */\r
54 #define MCF_DMA_DAR_DAR(x)                   (((x)&0xFFFFFFFF)<<0)\r
55 \r
56 /* Bit definitions and macros for MCF_DMA_DSR */\r
57 #define MCF_DMA_DSR_DONE                     (0x1)\r
58 #define MCF_DMA_DSR_BSY                      (0x2)\r
59 #define MCF_DMA_DSR_REQ                      (0x4)\r
60 #define MCF_DMA_DSR_BED                      (0x10)\r
61 #define MCF_DMA_DSR_BES                      (0x20)\r
62 #define MCF_DMA_DSR_CE                       (0x40)\r
63 \r
64 /* Bit definitions and macros for MCF_DMA_BCR */\r
65 #define MCF_DMA_BCR_BCR(x)                   (((x)&0xFFFFFF)<<0)\r
66 #define MCF_DMA_BCR_DSR(x)                   (((x)&0xFF)<<0x18)\r
67 \r
68 /* Bit definitions and macros for MCF_DMA_DCR */\r
69 #define MCF_DMA_DCR_LCH2(x)                  (((x)&0x3)<<0)\r
70 #define MCF_DMA_DCR_LCH2_CH0                 (0)\r
71 #define MCF_DMA_DCR_LCH2_CH1                 (0x1)\r
72 #define MCF_DMA_DCR_LCH2_CH2                 (0x2)\r
73 #define MCF_DMA_DCR_LCH2_CH3                 (0x3)\r
74 #define MCF_DMA_DCR_LCH1(x)                  (((x)&0x3)<<0x2)\r
75 #define MCF_DMA_DCR_LCH1_CH0                 (0)\r
76 #define MCF_DMA_DCR_LCH1_CH1                 (0x1)\r
77 #define MCF_DMA_DCR_LCH1_CH2                 (0x2)\r
78 #define MCF_DMA_DCR_LCH1_CH3                 (0x3)\r
79 #define MCF_DMA_DCR_LINKCC(x)                (((x)&0x3)<<0x4)\r
80 #define MCF_DMA_DCR_D_REQ                    (0x80)\r
81 #define MCF_DMA_DCR_DMOD(x)                  (((x)&0xF)<<0x8)\r
82 #define MCF_DMA_DCR_DMOD_DIS                 (0)\r
83 #define MCF_DMA_DCR_DMOD_16                  (0x1)\r
84 #define MCF_DMA_DCR_DMOD_32                  (0x2)\r
85 #define MCF_DMA_DCR_DMOD_64                  (0x3)\r
86 #define MCF_DMA_DCR_DMOD_128                 (0x4)\r
87 #define MCF_DMA_DCR_DMOD_256                 (0x5)\r
88 #define MCF_DMA_DCR_DMOD_512                 (0x6)\r
89 #define MCF_DMA_DCR_DMOD_1K                  (0x7)\r
90 #define MCF_DMA_DCR_DMOD_2K                  (0x8)\r
91 #define MCF_DMA_DCR_DMOD_4K                  (0x9)\r
92 #define MCF_DMA_DCR_DMOD_8K                  (0xA)\r
93 #define MCF_DMA_DCR_DMOD_16K                 (0xB)\r
94 #define MCF_DMA_DCR_DMOD_32K                 (0xC)\r
95 #define MCF_DMA_DCR_DMOD_64K                 (0xD)\r
96 #define MCF_DMA_DCR_DMOD_128K                (0xE)\r
97 #define MCF_DMA_DCR_DMOD_256K                (0xF)\r
98 #define MCF_DMA_DCR_SMOD(x)                  (((x)&0xF)<<0xC)\r
99 #define MCF_DMA_DCR_SMOD_DIS                 (0)\r
100 #define MCF_DMA_DCR_SMOD_16                  (0x1)\r
101 #define MCF_DMA_DCR_SMOD_32                  (0x2)\r
102 #define MCF_DMA_DCR_SMOD_64                  (0x3)\r
103 #define MCF_DMA_DCR_SMOD_128                 (0x4)\r
104 #define MCF_DMA_DCR_SMOD_256                 (0x5)\r
105 #define MCF_DMA_DCR_SMOD_512                 (0x6)\r
106 #define MCF_DMA_DCR_SMOD_1K                  (0x7)\r
107 #define MCF_DMA_DCR_SMOD_2K                  (0x8)\r
108 #define MCF_DMA_DCR_SMOD_4K                  (0x9)\r
109 #define MCF_DMA_DCR_SMOD_8K                  (0xA)\r
110 #define MCF_DMA_DCR_SMOD_16K                 (0xB)\r
111 #define MCF_DMA_DCR_SMOD_32K                 (0xC)\r
112 #define MCF_DMA_DCR_SMOD_64K                 (0xD)\r
113 #define MCF_DMA_DCR_SMOD_128K                (0xE)\r
114 #define MCF_DMA_DCR_SMOD_256K                (0xF)\r
115 #define MCF_DMA_DCR_START                    (0x10000)\r
116 #define MCF_DMA_DCR_DSIZE(x)                 (((x)&0x3)<<0x11)\r
117 #define MCF_DMA_DCR_DSIZE_LONG               (0)\r
118 #define MCF_DMA_DCR_DSIZE_BYTE               (0x1)\r
119 #define MCF_DMA_DCR_DSIZE_WORD               (0x2)\r
120 #define MCF_DMA_DCR_DSIZE_LINE               (0x3)\r
121 #define MCF_DMA_DCR_DINC                     (0x80000)\r
122 #define MCF_DMA_DCR_SSIZE(x)                 (((x)&0x3)<<0x14)\r
123 #define MCF_DMA_DCR_SSIZE_LONG               (0)\r
124 #define MCF_DMA_DCR_SSIZE_BYTE               (0x1)\r
125 #define MCF_DMA_DCR_SSIZE_WORD               (0x2)\r
126 #define MCF_DMA_DCR_SSIZE_LINE               (0x3)\r
127 #define MCF_DMA_DCR_SINC                     (0x400000)\r
128 #define MCF_DMA_DCR_BWC(x)                   (((x)&0x7)<<0x19)\r
129 #define MCF_DMA_DCR_BWC_16K                  (0x1)\r
130 #define MCF_DMA_DCR_BWC_32K                  (0x2)\r
131 #define MCF_DMA_DCR_BWC_64K                  (0x3)\r
132 #define MCF_DMA_DCR_BWC_128K                 (0x4)\r
133 #define MCF_DMA_DCR_BWC_256K                 (0x5)\r
134 #define MCF_DMA_DCR_BWC_512K                 (0x6)\r
135 #define MCF_DMA_DCR_BWC_1024K                (0x7)\r
136 #define MCF_DMA_DCR_AA                       (0x10000000)\r
137 #define MCF_DMA_DCR_CS                       (0x20000000)\r
138 #define MCF_DMA_DCR_EEXT                     (0x40000000)\r
139 #define MCF_DMA_DCR_INT                      (0x80000000)\r
140 \r
141 \r
142 #endif /* __MCF52235_DMA_H__ */\r