]> git.sur5r.net Git - freertos/blob - Demo/ColdFire_MCF5282_Eclipse/RTOSDemo/MCF5282/MCF5282_DMA.h
Stubs ready for ColdFire V2 demo.
[freertos] / Demo / ColdFire_MCF5282_Eclipse / RTOSDemo / MCF5282 / MCF5282_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.9\r
6  */\r
7 \r
8 #ifndef __MCF5282_DMA_H__\r
9 #define __MCF5282_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_DCR                         (*(vuint32*)(&__IPSBAR[0x108]))\r
22 #define MCF_DMA0_BCR                         (*(vuint32*)(&__IPSBAR[0x10C]))\r
23 #define MCF_DMA0_DSR                         (*(vuint8 *)(&__IPSBAR[0x110]))\r
24 \r
25 #define MCF_DMA1_SAR                         (*(vuint32*)(&__IPSBAR[0x140]))\r
26 #define MCF_DMA1_DAR                         (*(vuint32*)(&__IPSBAR[0x144]))\r
27 #define MCF_DMA1_DCR                         (*(vuint32*)(&__IPSBAR[0x148]))\r
28 #define MCF_DMA1_BCR                         (*(vuint32*)(&__IPSBAR[0x14C]))\r
29 #define MCF_DMA1_DSR                         (*(vuint8 *)(&__IPSBAR[0x150]))\r
30 \r
31 #define MCF_DMA2_SAR                         (*(vuint32*)(&__IPSBAR[0x180]))\r
32 #define MCF_DMA2_DAR                         (*(vuint32*)(&__IPSBAR[0x184]))\r
33 #define MCF_DMA2_DCR                         (*(vuint32*)(&__IPSBAR[0x188]))\r
34 #define MCF_DMA2_BCR                         (*(vuint32*)(&__IPSBAR[0x18C]))\r
35 #define MCF_DMA2_DSR                         (*(vuint8 *)(&__IPSBAR[0x190]))\r
36 \r
37 #define MCF_DMA3_SAR                         (*(vuint32*)(&__IPSBAR[0x1C0]))\r
38 #define MCF_DMA3_DAR                         (*(vuint32*)(&__IPSBAR[0x1C4]))\r
39 #define MCF_DMA3_DCR                         (*(vuint32*)(&__IPSBAR[0x1C8]))\r
40 #define MCF_DMA3_BCR                         (*(vuint32*)(&__IPSBAR[0x1CC]))\r
41 #define MCF_DMA3_DSR                         (*(vuint8 *)(&__IPSBAR[0x1D0]))\r
42 \r
43 #define MCF_DMA_SAR(x)                       (*(vuint32*)(&__IPSBAR[0x100 + ((x)*0x40)]))\r
44 #define MCF_DMA_DAR(x)                       (*(vuint32*)(&__IPSBAR[0x104 + ((x)*0x40)]))\r
45 #define MCF_DMA_DCR(x)                       (*(vuint32*)(&__IPSBAR[0x108 + ((x)*0x40)]))\r
46 #define MCF_DMA_BCR(x)                       (*(vuint32*)(&__IPSBAR[0x10C + ((x)*0x40)]))\r
47 #define MCF_DMA_DSR(x)                       (*(vuint8 *)(&__IPSBAR[0x110 + ((x)*0x40)]))\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_DCR */\r
57 #define MCF_DMA_DCR_AT                       (0x8000)\r
58 #define MCF_DMA_DCR_START                    (0x10000)\r
59 #define MCF_DMA_DCR_DSIZE(x)                 (((x)&0x3)<<0x11)\r
60 #define MCF_DMA_DCR_DSIZE_LONG               (0)\r
61 #define MCF_DMA_DCR_DSIZE_BYTE               (0x1)\r
62 #define MCF_DMA_DCR_DSIZE_WORD               (0x2)\r
63 #define MCF_DMA_DCR_DSIZE_LINE               (0x3)\r
64 #define MCF_DMA_DCR_DINC                     (0x80000)\r
65 #define MCF_DMA_DCR_SSIZE(x)                 (((x)&0x3)<<0x14)\r
66 #define MCF_DMA_DCR_SSIZE_LONG               (0)\r
67 #define MCF_DMA_DCR_SSIZE_BYTE               (0x1)\r
68 #define MCF_DMA_DCR_SSIZE_WORD               (0x2)\r
69 #define MCF_DMA_DCR_SSIZE_LINE               (0x3)\r
70 #define MCF_DMA_DCR_SINC                     (0x400000)\r
71 #define MCF_DMA_DCR_BWC(x)                   (((x)&0x7)<<0x19)\r
72 #define MCF_DMA_DCR_AA                       (0x10000000)\r
73 #define MCF_DMA_DCR_CS                       (0x20000000)\r
74 #define MCF_DMA_DCR_EEXT                     (0x40000000)\r
75 #define MCF_DMA_DCR_INT                      (0x80000000)\r
76 #define MCF_DMA_DCR_BWC_DMA                  (0)\r
77 #define MCF_DMA_DCR_BWC_512                  (0x2000000)\r
78 #define MCF_DMA_DCR_BWC_1024                 (0x4000000)\r
79 #define MCF_DMA_DCR_BWC_2048                 (0x6000000)\r
80 #define MCF_DMA_DCR_BWC_4096                 (0x8000000)\r
81 #define MCF_DMA_DCR_BWC_8192                 (0xA000000)\r
82 #define MCF_DMA_DCR_BWC_16384                (0xC000000)\r
83 #define MCF_DMA_DCR_BWC_32768                (0xE000000)\r
84 \r
85 /* Bit definitions and macros for MCF_DMA_BCR */\r
86 #define MCF_DMA_BCR_BCR(x)                   (((x)&0xFFFFFFFF)<<0)\r
87 \r
88 /* Bit definitions and macros for MCF_DMA_DSR */\r
89 #define MCF_DMA_DSR_DONE                     (0x1)\r
90 #define MCF_DMA_DSR_BSY                      (0x2)\r
91 #define MCF_DMA_DSR_REQ                      (0x4)\r
92 #define MCF_DMA_DSR_BED                      (0x10)\r
93 #define MCF_DMA_DSR_BES                      (0x20)\r
94 #define MCF_DMA_DSR_CE                       (0x40)\r
95 \r
96 \r
97 #endif /* __MCF5282_DMA_H__ */\r