]> begriffs open source - cmsis-freertos/blob - Demo/ColdFire_MCF52221_CodeWarrior/headers/MCF52221_DMA.h
Update README.md - branch main is now the base branch
[cmsis-freertos] / Demo / ColdFire_MCF52221_CodeWarrior / headers / MCF52221_DMA.h
1 /* Coldfire C Header File
2  * Copyright Freescale Semiconductor Inc
3  * All rights reserved.
4  *
5  * 2008/05/23 Revision: 0.95
6  *
7  * (c) Copyright UNIS, a.s. 1997-2008
8  * UNIS, a.s.
9  * Jundrovska 33
10  * 624 00 Brno
11  * Czech Republic
12  * http      : www.processorexpert.com
13  * mail      : info@processorexpert.com
14  */
15
16 #ifndef __MCF52221_DMA_H__
17 #define __MCF52221_DMA_H__
18
19
20 /*********************************************************************
21 *
22 * DMA Controller (DMA)
23 *
24 *********************************************************************/
25
26 /* Register read/write macros */
27 #define MCF_DMA0_SAR                         (*(vuint32*)(0x40000100))
28 #define MCF_DMA0_DAR                         (*(vuint32*)(0x40000104))
29 #define MCF_DMA0_DSR                         (*(vuint8 *)(0x40000108))
30 #define MCF_DMA0_BCR                         (*(vuint32*)(0x40000108))
31 #define MCF_DMA0_DCR                         (*(vuint32*)(0x4000010C))
32
33 #define MCF_DMA1_SAR                         (*(vuint32*)(0x40000110))
34 #define MCF_DMA1_DAR                         (*(vuint32*)(0x40000114))
35 #define MCF_DMA1_DSR                         (*(vuint8 *)(0x40000118))
36 #define MCF_DMA1_BCR                         (*(vuint32*)(0x40000118))
37 #define MCF_DMA1_DCR                         (*(vuint32*)(0x4000011C))
38
39 #define MCF_DMA2_SAR                         (*(vuint32*)(0x40000120))
40 #define MCF_DMA2_DAR                         (*(vuint32*)(0x40000124))
41 #define MCF_DMA2_DSR                         (*(vuint8 *)(0x40000128))
42 #define MCF_DMA2_BCR                         (*(vuint32*)(0x40000128))
43 #define MCF_DMA2_DCR                         (*(vuint32*)(0x4000012C))
44
45 #define MCF_DMA3_SAR                         (*(vuint32*)(0x40000130))
46 #define MCF_DMA3_DAR                         (*(vuint32*)(0x40000134))
47 #define MCF_DMA3_DSR                         (*(vuint8 *)(0x40000138))
48 #define MCF_DMA3_BCR                         (*(vuint32*)(0x40000138))
49 #define MCF_DMA3_DCR                         (*(vuint32*)(0x4000013C))
50
51 #define MCF_DMA_SAR(x)                       (*(vuint32*)(0x40000100 + ((x)*0x10)))
52 #define MCF_DMA_DAR(x)                       (*(vuint32*)(0x40000104 + ((x)*0x10)))
53 #define MCF_DMA_DSR(x)                       (*(vuint8 *)(0x40000108 + ((x)*0x10)))
54 #define MCF_DMA_BCR(x)                       (*(vuint32*)(0x40000108 + ((x)*0x10)))
55 #define MCF_DMA_DCR(x)                       (*(vuint32*)(0x4000010C + ((x)*0x10)))
56
57
58 /* Bit definitions and macros for MCF_DMA_SAR */
59 #define MCF_DMA_SAR_SAR(x)                   (((x)&0xFFFFFFFF)<<0)
60
61 /* Bit definitions and macros for MCF_DMA_DAR */
62 #define MCF_DMA_DAR_DAR(x)                   (((x)&0xFFFFFFFF)<<0)
63
64 /* Bit definitions and macros for MCF_DMA_DSR */
65 #define MCF_DMA_DSR_DONE                     (0x1)
66 #define MCF_DMA_DSR_BSY                      (0x2)
67 #define MCF_DMA_DSR_REQ                      (0x4)
68 #define MCF_DMA_DSR_BED                      (0x10)
69 #define MCF_DMA_DSR_BES                      (0x20)
70 #define MCF_DMA_DSR_CE                       (0x40)
71
72 /* Bit definitions and macros for MCF_DMA_BCR */
73 #define MCF_DMA_BCR_BCR(x)                   (((x)&0xFFFFFF)<<0)
74 #define MCF_DMA_BCR_DSR(x)                   (((x)&0xFF)<<0x18)
75
76 /* Bit definitions and macros for MCF_DMA_DCR */
77 #define MCF_DMA_DCR_LCH2(x)                  (((x)&0x3)<<0)
78 #define MCF_DMA_DCR_LCH2_CH0                 (0)
79 #define MCF_DMA_DCR_LCH2_CH1                 (0x1)
80 #define MCF_DMA_DCR_LCH2_CH2                 (0x2)
81 #define MCF_DMA_DCR_LCH2_CH3                 (0x3)
82 #define MCF_DMA_DCR_LCH1(x)                  (((x)&0x3)<<0x2)
83 #define MCF_DMA_DCR_LCH1_CH0                 (0)
84 #define MCF_DMA_DCR_LCH1_CH1                 (0x1)
85 #define MCF_DMA_DCR_LCH1_CH2                 (0x2)
86 #define MCF_DMA_DCR_LCH1_CH3                 (0x3)
87 #define MCF_DMA_DCR_LINKCC(x)                (((x)&0x3)<<0x4)
88 #define MCF_DMA_DCR_D_REQ                    (0x80)
89 #define MCF_DMA_DCR_DMOD(x)                  (((x)&0xF)<<0x8)
90 #define MCF_DMA_DCR_DMOD_DIS                 (0)
91 #define MCF_DMA_DCR_DMOD_16                  (0x1)
92 #define MCF_DMA_DCR_DMOD_32                  (0x2)
93 #define MCF_DMA_DCR_DMOD_64                  (0x3)
94 #define MCF_DMA_DCR_DMOD_128                 (0x4)
95 #define MCF_DMA_DCR_DMOD_256                 (0x5)
96 #define MCF_DMA_DCR_DMOD_512                 (0x6)
97 #define MCF_DMA_DCR_DMOD_1K                  (0x7)
98 #define MCF_DMA_DCR_DMOD_2K                  (0x8)
99 #define MCF_DMA_DCR_DMOD_4K                  (0x9)
100 #define MCF_DMA_DCR_DMOD_8K                  (0xA)
101 #define MCF_DMA_DCR_DMOD_16K                 (0xB)
102 #define MCF_DMA_DCR_DMOD_32K                 (0xC)
103 #define MCF_DMA_DCR_DMOD_64K                 (0xD)
104 #define MCF_DMA_DCR_DMOD_128K                (0xE)
105 #define MCF_DMA_DCR_DMOD_256K                (0xF)
106 #define MCF_DMA_DCR_SMOD(x)                  (((x)&0xF)<<0xC)
107 #define MCF_DMA_DCR_SMOD_DIS                 (0)
108 #define MCF_DMA_DCR_SMOD_16                  (0x1)
109 #define MCF_DMA_DCR_SMOD_32                  (0x2)
110 #define MCF_DMA_DCR_SMOD_64                  (0x3)
111 #define MCF_DMA_DCR_SMOD_128                 (0x4)
112 #define MCF_DMA_DCR_SMOD_256                 (0x5)
113 #define MCF_DMA_DCR_SMOD_512                 (0x6)
114 #define MCF_DMA_DCR_SMOD_1K                  (0x7)
115 #define MCF_DMA_DCR_SMOD_2K                  (0x8)
116 #define MCF_DMA_DCR_SMOD_4K                  (0x9)
117 #define MCF_DMA_DCR_SMOD_8K                  (0xA)
118 #define MCF_DMA_DCR_SMOD_16K                 (0xB)
119 #define MCF_DMA_DCR_SMOD_32K                 (0xC)
120 #define MCF_DMA_DCR_SMOD_64K                 (0xD)
121 #define MCF_DMA_DCR_SMOD_128K                (0xE)
122 #define MCF_DMA_DCR_SMOD_256K                (0xF)
123 #define MCF_DMA_DCR_START                    (0x10000)
124 #define MCF_DMA_DCR_DSIZE(x)                 (((x)&0x3)<<0x11)
125 #define MCF_DMA_DCR_DSIZE_LONG               (0)
126 #define MCF_DMA_DCR_DSIZE_BYTE               (0x1)
127 #define MCF_DMA_DCR_DSIZE_WORD               (0x2)
128 #define MCF_DMA_DCR_DSIZE_LINE               (0x3)
129 #define MCF_DMA_DCR_DINC                     (0x80000)
130 #define MCF_DMA_DCR_SSIZE(x)                 (((x)&0x3)<<0x14)
131 #define MCF_DMA_DCR_SSIZE_LONG               (0)
132 #define MCF_DMA_DCR_SSIZE_BYTE               (0x1)
133 #define MCF_DMA_DCR_SSIZE_WORD               (0x2)
134 #define MCF_DMA_DCR_SSIZE_LINE               (0x3)
135 #define MCF_DMA_DCR_SINC                     (0x400000)
136 #define MCF_DMA_DCR_BWC(x)                   (((x)&0x7)<<0x19)
137 #define MCF_DMA_DCR_BWC_16K                  (0x1)
138 #define MCF_DMA_DCR_BWC_32K                  (0x2)
139 #define MCF_DMA_DCR_BWC_64K                  (0x3)
140 #define MCF_DMA_DCR_BWC_128K                 (0x4)
141 #define MCF_DMA_DCR_BWC_256K                 (0x5)
142 #define MCF_DMA_DCR_BWC_512K                 (0x6)
143 #define MCF_DMA_DCR_BWC_1024K                (0x7)
144 #define MCF_DMA_DCR_AA                       (0x10000000)
145 #define MCF_DMA_DCR_CS                       (0x20000000)
146 #define MCF_DMA_DCR_EEXT                     (0x40000000)
147 #define MCF_DMA_DCR_INT                      (0x80000000)
148
149
150 #endif /* __MCF52221_DMA_H__ */