]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/ColdFire_MCF5282_Eclipse/RTOSDemo/MCF5282/MCF5282_SCM.h
d6f4bb85c7c62a6c34cdcd4873023d0935dc6269
[freertos] / FreeRTOS / Demo / ColdFire_MCF5282_Eclipse / RTOSDemo / MCF5282 / MCF5282_SCM.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_SCM_H__\r
9 #define __MCF5282_SCM_H__\r
10 \r
11 \r
12 /*********************************************************************\r
13 *\r
14 * System Control Module (SCM)\r
15 *\r
16 *********************************************************************/\r
17 \r
18 /* Register read/write macros */\r
19 #define MCF_SCM_RAMBAR                       (*(vuint32*)(&__IPSBAR[0x8]))\r
20 #define MCF_SCM_CRSR                         (*(vuint8 *)(&__IPSBAR[0x10]))\r
21 #define MCF_SCM_CWCR                         (*(vuint8 *)(&__IPSBAR[0x11]))\r
22 #define MCF_SCM_CWSR                         (*(vuint8 *)(&__IPSBAR[0x13]))\r
23 #define MCF_SCM_DMAREQC                      (*(vuint32*)(&__IPSBAR[0x14]))\r
24 #define MCF_SCM_MPARK                        (*(vuint32*)(&__IPSBAR[0x1C]))\r
25 #define MCF_SCM_MPR                          (*(vuint8 *)(&__IPSBAR[0x20]))\r
26 #define MCF_SCM_PACR0                        (*(vuint8 *)(&__IPSBAR[0x24]))\r
27 #define MCF_SCM_PACR1                        (*(vuint8 *)(&__IPSBAR[0x25]))\r
28 #define MCF_SCM_PACR2                        (*(vuint8 *)(&__IPSBAR[0x26]))\r
29 #define MCF_SCM_PACR3                        (*(vuint8 *)(&__IPSBAR[0x27]))\r
30 #define MCF_SCM_PACR4                        (*(vuint8 *)(&__IPSBAR[0x28]))\r
31 #define MCF_SCM_PACR5                        (*(vuint8 *)(&__IPSBAR[0x2A]))\r
32 #define MCF_SCM_PACR6                        (*(vuint8 *)(&__IPSBAR[0x2B]))\r
33 #define MCF_SCM_PACR7                        (*(vuint8 *)(&__IPSBAR[0x2C]))\r
34 #define MCF_SCM_PACR8                        (*(vuint8 *)(&__IPSBAR[0x2E]))\r
35 #define MCF_SCM_GPACR0                       (*(vuint8 *)(&__IPSBAR[0x30]))\r
36 #define MCF_SCM_GPACR1                       (*(vuint8 *)(&__IPSBAR[0x31]))\r
37 #define MCF_SCM_GPACR(x)                     (*(vuint8 *)(&__IPSBAR[0x30 + ((x)*0x1)]))\r
38 \r
39 /* Other macros */\r
40 #define MCF_SCM_IPSBAR                       (*(vuint32*)(&__IPSBAR[0x0]))\r
41 #define MCF_SCM_IPSBAR_V                     (0x1)\r
42 #define MCF_SCM_IPSBAR_BA(x)                 ((x)&0xC0000000)\r
43 \r
44 \r
45 /* Bit definitions and macros for MCF_SCM_RAMBAR */\r
46 #define MCF_SCM_RAMBAR_BDE                   (0x200)\r
47 #define MCF_SCM_RAMBAR_BA(x)                 ((x)&0xFFFF0000)\r
48 \r
49 /* Bit definitions and macros for MCF_SCM_CRSR */\r
50 #define MCF_SCM_CRSR_CWDR                    (0x20)\r
51 #define MCF_SCM_CRSR_EXT                     (0x80)\r
52 \r
53 /* Bit definitions and macros for MCF_SCM_CWCR */\r
54 #define MCF_SCM_CWCR_CWTIF                   (0x1)\r
55 #define MCF_SCM_CWCR_CWTAVAL                 (0x2)\r
56 #define MCF_SCM_CWCR_CWTA                    (0x4)\r
57 #define MCF_SCM_CWCR_CWT(x)                  (((x)&0x7)<<0x3)\r
58 #define MCF_SCM_CWCR_CWT_2_9                 (0)\r
59 #define MCF_SCM_CWCR_CWT_2_11                (0x8)\r
60 #define MCF_SCM_CWCR_CWT_2_13                (0x10)\r
61 #define MCF_SCM_CWCR_CWT_2_15                (0x18)\r
62 #define MCF_SCM_CWCR_CWT_2_19                (0x20)\r
63 #define MCF_SCM_CWCR_CWT_2_23                (0x28)\r
64 #define MCF_SCM_CWCR_CWT_2_27                (0x30)\r
65 #define MCF_SCM_CWCR_CWT_2_31                (0x38)\r
66 #define MCF_SCM_CWCR_CWRI                    (0x40)\r
67 #define MCF_SCM_CWCR_CWE                     (0x80)\r
68 \r
69 /* Bit definitions and macros for MCF_SCM_CWSR */\r
70 #define MCF_SCM_CWSR_CWSR(x)                 (((x)&0xFF)<<0)\r
71 \r
72 /* Bit definitions and macros for MCF_SCM_DMAREQC */\r
73 #define MCF_SCM_DMAREQC_DMAC0(x)             (((x)&0xF)<<0)\r
74 #define MCF_SCM_DMAREQC_DMAC1(x)             (((x)&0xF)<<0x4)\r
75 #define MCF_SCM_DMAREQC_DMAC2(x)             (((x)&0xF)<<0x8)\r
76 #define MCF_SCM_DMAREQC_DMAC3(x)             (((x)&0xF)<<0xC)\r
77 \r
78 /* Bit definitions and macros for MCF_SCM_MPARK */\r
79 #define MCF_SCM_MPARK_LCKOUT_TIME(x)         (((x)&0xF)<<0x8)\r
80 #define MCF_SCM_MPARK_PRKLAST                (0x1000)\r
81 #define MCF_SCM_MPARK_TIMEOUT                (0x2000)\r
82 #define MCF_SCM_MPARK_FIXED                  (0x4000)\r
83 #define MCF_SCM_MPARK_M1_PRTY(x)             (((x)&0x3)<<0x10)\r
84 #define MCF_SCM_MPARK_M0_PRTY(x)             (((x)&0x3)<<0x12)\r
85 #define MCF_SCM_MPARK_M2_PRTY(x)             (((x)&0x3)<<0x14)\r
86 #define MCF_SCM_MPARK_M3_PRTY(x)             (((x)&0x3)<<0x16)\r
87 #define MCF_SCM_MPARK_BCR24BIT               (0x1000000)\r
88 #define MCF_SCM_MPARK_M2_P_EN                (0x2000000)\r
89 \r
90 /* Bit definitions and macros for MCF_SCM_MPR */\r
91 #define MCF_SCM_MPR_MPR(x)                   (((x)&0xF)<<0)\r
92 \r
93 /* Bit definitions and macros for MCF_SCM_PACR0 */\r
94 #define MCF_SCM_PACR0_ACCESS_CTRL0(x)        (((x)&0x7)<<0)\r
95 #define MCF_SCM_PACR0_LOCK0                  (0x8)\r
96 #define MCF_SCM_PACR0_ACCESS_CTRL1(x)        (((x)&0x7)<<0x4)\r
97 #define MCF_SCM_PACR0_LOCK1                  (0x80)\r
98 \r
99 /* Bit definitions and macros for MCF_SCM_PACR1 */\r
100 #define MCF_SCM_PACR1_ACCESS_CTRL0(x)        (((x)&0x7)<<0)\r
101 #define MCF_SCM_PACR1_LOCK0                  (0x8)\r
102 #define MCF_SCM_PACR1_ACCESS_CTRL1(x)        (((x)&0x7)<<0x4)\r
103 #define MCF_SCM_PACR1_LOCK1                  (0x80)\r
104 \r
105 /* Bit definitions and macros for MCF_SCM_PACR2 */\r
106 #define MCF_SCM_PACR2_ACCESS_CTRL0(x)        (((x)&0x7)<<0)\r
107 #define MCF_SCM_PACR2_LOCK0                  (0x8)\r
108 #define MCF_SCM_PACR2_ACCESS_CTRL1(x)        (((x)&0x7)<<0x4)\r
109 #define MCF_SCM_PACR2_LOCK1                  (0x80)\r
110 \r
111 /* Bit definitions and macros for MCF_SCM_PACR3 */\r
112 #define MCF_SCM_PACR3_ACCESS_CTRL0(x)        (((x)&0x7)<<0)\r
113 #define MCF_SCM_PACR3_LOCK0                  (0x8)\r
114 #define MCF_SCM_PACR3_ACCESS_CTRL1(x)        (((x)&0x7)<<0x4)\r
115 #define MCF_SCM_PACR3_LOCK1                  (0x80)\r
116 \r
117 /* Bit definitions and macros for MCF_SCM_PACR4 */\r
118 #define MCF_SCM_PACR4_ACCESS_CTRL0(x)        (((x)&0x7)<<0)\r
119 #define MCF_SCM_PACR4_LOCK0                  (0x8)\r
120 #define MCF_SCM_PACR4_ACCESS_CTRL1(x)        (((x)&0x7)<<0x4)\r
121 #define MCF_SCM_PACR4_LOCK1                  (0x80)\r
122 \r
123 /* Bit definitions and macros for MCF_SCM_PACR5 */\r
124 #define MCF_SCM_PACR5_ACCESS_CTRL0(x)        (((x)&0x7)<<0)\r
125 #define MCF_SCM_PACR5_LOCK0                  (0x8)\r
126 #define MCF_SCM_PACR5_ACCESS_CTRL1(x)        (((x)&0x7)<<0x4)\r
127 #define MCF_SCM_PACR5_LOCK1                  (0x80)\r
128 \r
129 /* Bit definitions and macros for MCF_SCM_PACR6 */\r
130 #define MCF_SCM_PACR6_ACCESS_CTRL0(x)        (((x)&0x7)<<0)\r
131 #define MCF_SCM_PACR6_LOCK0                  (0x8)\r
132 #define MCF_SCM_PACR6_ACCESS_CTRL1(x)        (((x)&0x7)<<0x4)\r
133 #define MCF_SCM_PACR6_LOCK1                  (0x80)\r
134 \r
135 /* Bit definitions and macros for MCF_SCM_PACR7 */\r
136 #define MCF_SCM_PACR7_ACCESS_CTRL0(x)        (((x)&0x7)<<0)\r
137 #define MCF_SCM_PACR7_LOCK0                  (0x8)\r
138 #define MCF_SCM_PACR7_ACCESS_CTRL1(x)        (((x)&0x7)<<0x4)\r
139 #define MCF_SCM_PACR7_LOCK1                  (0x80)\r
140 \r
141 /* Bit definitions and macros for MCF_SCM_PACR8 */\r
142 #define MCF_SCM_PACR8_ACCESS_CTRL0(x)        (((x)&0x7)<<0)\r
143 #define MCF_SCM_PACR8_LOCK0                  (0x8)\r
144 #define MCF_SCM_PACR8_ACCESS_CTRL1(x)        (((x)&0x7)<<0x4)\r
145 #define MCF_SCM_PACR8_LOCK1                  (0x80)\r
146 \r
147 /* Bit definitions and macros for MCF_SCM_GPACR */\r
148 #define MCF_SCM_GPACR_ACCESS_CTRL(x)         (((x)&0xF)<<0)\r
149 #define MCF_SCM_GPACR_LOCK                   (0x80)\r
150 \r
151 \r
152 #endif /* __MCF5282_SCM_H__ */\r