2 * mcf5282.h -- Definitions for Motorola Coldfire 5282
4 * See file CREDITS for list of people who contributed to this
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License as
9 * published by the Free Software Foundation; either version 2 of
10 * the License, or (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23 /****************************************************************************/
26 /****************************************************************************/
29 * Size of internal RAM
32 #define INT_RAM_SIZE 65536
34 /* General Purpose I/O Module GPIO */
36 #define MCFGPIO_PORTA (*(vu_char *) (CFG_MBAR+0x100000))
37 #define MCFGPIO_PORTB (*(vu_char *) (CFG_MBAR+0x100001))
38 #define MCFGPIO_PORTC (*(vu_char *) (CFG_MBAR+0x100002))
39 #define MCFGPIO_PORTD (*(vu_char *) (CFG_MBAR+0x100003))
40 #define MCFGPIO_PORTE (*(vu_char *) (CFG_MBAR+0x100004))
41 #define MCFGPIO_PORTF (*(vu_char *) (CFG_MBAR+0x100005))
42 #define MCFGPIO_PORTG (*(vu_char *) (CFG_MBAR+0x100006))
43 #define MCFGPIO_PORTH (*(vu_char *) (CFG_MBAR+0x100007))
44 #define MCFGPIO_PORTJ (*(vu_char *) (CFG_MBAR+0x100008))
45 #define MCFGPIO_PORTDD (*(vu_char *) (CFG_MBAR+0x100009))
46 #define MCFGPIO_PORTEH (*(vu_char *) (CFG_MBAR+0x10000A))
47 #define MCFGPIO_PORTEL (*(vu_char *) (CFG_MBAR+0x10000B))
48 #define MCFGPIO_PORTAS (*(vu_char *) (CFG_MBAR+0x10000C))
49 #define MCFGPIO_PORTQS (*(vu_char *) (CFG_MBAR+0x10000D))
50 #define MCFGPIO_PORTSD (*(vu_char *) (CFG_MBAR+0x10000E))
51 #define MCFGPIO_PORTTC (*(vu_char *) (CFG_MBAR+0x10000F))
52 #define MCFGPIO_PORTTD (*(vu_char *) (CFG_MBAR+0x100010))
53 #define MCFGPIO_PORTUA (*(vu_char *) (CFG_MBAR+0x100011))
55 #define MCFGPIO_DDRA (*(vu_char *) (CFG_MBAR+0x100014))
56 #define MCFGPIO_DDRB (*(vu_char *) (CFG_MBAR+0x100015))
57 #define MCFGPIO_DDRC (*(vu_char *) (CFG_MBAR+0x100016))
58 #define MCFGPIO_DDRD (*(vu_char *) (CFG_MBAR+0x100017))
59 #define MCFGPIO_DDRE (*(vu_char *) (CFG_MBAR+0x100018))
60 #define MCFGPIO_DDRF (*(vu_char *) (CFG_MBAR+0x100019))
61 #define MCFGPIO_DDRG (*(vu_char *) (CFG_MBAR+0x10001A))
62 #define MCFGPIO_DDRH (*(vu_char *) (CFG_MBAR+0x10001B))
63 #define MCFGPIO_DDRJ (*(vu_char *) (CFG_MBAR+0x10001C))
64 #define MCFGPIO_DDRDD (*(vu_char *) (CFG_MBAR+0x10001D))
65 #define MCFGPIO_DDREH (*(vu_char *) (CFG_MBAR+0x10001E))
66 #define MCFGPIO_DDREL (*(vu_char *) (CFG_MBAR+0x10001F))
67 #define MCFGPIO_DDRAS (*(vu_char *) (CFG_MBAR+0x100020))
68 #define MCFGPIO_DDRQS (*(vu_char *) (CFG_MBAR+0x100021))
69 #define MCFGPIO_DDRSD (*(vu_char *) (CFG_MBAR+0x100022))
70 #define MCFGPIO_DDRTC (*(vu_char *) (CFG_MBAR+0x100023))
71 #define MCFGPIO_DDRTD (*(vu_char *) (CFG_MBAR+0x100024))
72 #define MCFGPIO_DDRUA (*(vu_char *) (CFG_MBAR+0x100025))
74 #define MCFGPIO_PORTAP (*(vu_char *) (CFG_MBAR+0x100028))
75 #define MCFGPIO_PORTBP (*(vu_char *) (CFG_MBAR+0x100029))
76 #define MCFGPIO_PORTCP (*(vu_char *) (CFG_MBAR+0x10002A))
77 #define MCFGPIO_PORTDP (*(vu_char *) (CFG_MBAR+0x10002B))
78 #define MCFGPIO_PORTEP (*(vu_char *) (CFG_MBAR+0x10002C))
79 #define MCFGPIO_PORTFP (*(vu_char *) (CFG_MBAR+0x10002D))
80 #define MCFGPIO_PORTGP (*(vu_char *) (CFG_MBAR+0x10002E))
81 #define MCFGPIO_PORTHP (*(vu_char *) (CFG_MBAR+0x10002F))
82 #define MCFGPIO_PORTJP (*(vu_char *) (CFG_MBAR+0x100030))
83 #define MCFGPIO_PORTDDP (*(vu_char *) (CFG_MBAR+0x100031))
84 #define MCFGPIO_PORTEHP (*(vu_char *) (CFG_MBAR+0x100032))
85 #define MCFGPIO_PORTELP (*(vu_char *) (CFG_MBAR+0x100033))
86 #define MCFGPIO_PORTASP (*(vu_char *) (CFG_MBAR+0x100034))
87 #define MCFGPIO_PORTQSP (*(vu_char *) (CFG_MBAR+0x100035))
88 #define MCFGPIO_PORTSDP (*(vu_char *) (CFG_MBAR+0x100036))
89 #define MCFGPIO_PORTTCP (*(vu_char *) (CFG_MBAR+0x100037))
90 #define MCFGPIO_PORTTDP (*(vu_char *) (CFG_MBAR+0x100038))
91 #define MCFGPIO_PORTUAP (*(vu_char *) (CFG_MBAR+0x100039))
93 #define MCFGPIO_SETA (*(vu_char *) (CFG_MBAR+0x100028))
94 #define MCFGPIO_SETB (*(vu_char *) (CFG_MBAR+0x100029))
95 #define MCFGPIO_SETC (*(vu_char *) (CFG_MBAR+0x10002A))
96 #define MCFGPIO_SETD (*(vu_char *) (CFG_MBAR+0x10002B))
97 #define MCFGPIO_SETE (*(vu_char *) (CFG_MBAR+0x10002C))
98 #define MCFGPIO_SETF (*(vu_char *) (CFG_MBAR+0x10002D))
99 #define MCFGPIO_SETG (*(vu_char *) (CFG_MBAR+0x10002E))
100 #define MCFGPIO_SETH (*(vu_char *) (CFG_MBAR+0x10002F))
101 #define MCFGPIO_SETJ (*(vu_char *) (CFG_MBAR+0x100030))
102 #define MCFGPIO_SETDD (*(vu_char *) (CFG_MBAR+0x100031))
103 #define MCFGPIO_SETEH (*(vu_char *) (CFG_MBAR+0x100032))
104 #define MCFGPIO_SETEL (*(vu_char *) (CFG_MBAR+0x100033))
105 #define MCFGPIO_SETAS (*(vu_char *) (CFG_MBAR+0x100034))
106 #define MCFGPIO_SETQS (*(vu_char *) (CFG_MBAR+0x100035))
107 #define MCFGPIO_SETSD (*(vu_char *) (CFG_MBAR+0x100036))
108 #define MCFGPIO_SETTC (*(vu_char *) (CFG_MBAR+0x100037))
109 #define MCFGPIO_SETTD (*(vu_char *) (CFG_MBAR+0x100038))
110 #define MCFGPIO_SETUA (*(vu_char *) (CFG_MBAR+0x100039))
112 #define MCFGPIO_CLRA (*(vu_char *) (CFG_MBAR+0x10003C))
113 #define MCFGPIO_CLRB (*(vu_char *) (CFG_MBAR+0x10003D))
114 #define MCFGPIO_CLRC (*(vu_char *) (CFG_MBAR+0x10003E))
115 #define MCFGPIO_CLRD (*(vu_char *) (CFG_MBAR+0x10003F))
116 #define MCFGPIO_CLRE (*(vu_char *) (CFG_MBAR+0x100040))
117 #define MCFGPIO_CLRF (*(vu_char *) (CFG_MBAR+0x100041))
118 #define MCFGPIO_CLRG (*(vu_char *) (CFG_MBAR+0x100042))
119 #define MCFGPIO_CLRH (*(vu_char *) (CFG_MBAR+0x100043))
120 #define MCFGPIO_CLRJ (*(vu_char *) (CFG_MBAR+0x100044))
121 #define MCFGPIO_CLRDD (*(vu_char *) (CFG_MBAR+0x100045))
122 #define MCFGPIO_CLREH (*(vu_char *) (CFG_MBAR+0x100046))
123 #define MCFGPIO_CLREL (*(vu_char *) (CFG_MBAR+0x100047))
124 #define MCFGPIO_CLRAS (*(vu_char *) (CFG_MBAR+0x100048))
125 #define MCFGPIO_CLRQS (*(vu_char *) (CFG_MBAR+0x100049))
126 #define MCFGPIO_CLRSD (*(vu_char *) (CFG_MBAR+0x10004A))
127 #define MCFGPIO_CLRTC (*(vu_char *) (CFG_MBAR+0x10004B))
128 #define MCFGPIO_CLRTD (*(vu_char *) (CFG_MBAR+0x10004C))
129 #define MCFGPIO_CLRUA (*(vu_char *) (CFG_MBAR+0x10004D))
131 #define MCFGPIO_PBCDPAR (*(vu_char *) (CFG_MBAR+0x100050))
132 #define MCFGPIO_PFPAR (*(vu_char *) (CFG_MBAR+0x100051))
133 #define MCFGPIO_PEPAR (*(vu_short *)(CFG_MBAR+0x100052))
134 #define MCFGPIO_PJPAR (*(vu_char *) (CFG_MBAR+0x100054))
135 #define MCFGPIO_PSDPAR (*(vu_char *) (CFG_MBAR+0x100055))
136 #define MCFGPIO_PASPAR (*(vu_short *)(CFG_MBAR+0x100056))
137 #define MCFGPIO_PEHLPAR (*(vu_char *) (CFG_MBAR+0x100058))
138 #define MCFGPIO_PQSPAR (*(vu_char *) (CFG_MBAR+0x100059))
139 #define MCFGPIO_PTCPAR (*(vu_char *) (CFG_MBAR+0x10005A))
140 #define MCFGPIO_PTDPAR (*(vu_char *) (CFG_MBAR+0x10005B))
141 #define MCFGPIO_PUAPAR (*(vu_char *) (CFG_MBAR+0x10005C))
143 /* Bit level definitions and macros */
144 #define MCFGPIO_PORT7 (0x80)
145 #define MCFGPIO_PORT6 (0x40)
146 #define MCFGPIO_PORT5 (0x20)
147 #define MCFGPIO_PORT4 (0x10)
148 #define MCFGPIO_PORT3 (0x08)
149 #define MCFGPIO_PORT2 (0x04)
150 #define MCFGPIO_PORT1 (0x02)
151 #define MCFGPIO_PORT0 (0x01)
152 #define MCFGPIO_PORT(x) (0x01<<x)
154 #define MCFGPIO_DDR7 (0x80)
155 #define MCFGPIO_DDR6 (0x40)
156 #define MCFGPIO_DDR5 (0x20)
157 #define MCFGPIO_DDR4 (0x10)
158 #define MCFGPIO_DDR3 (0x08)
159 #define MCFGPIO_DDR2 (0x04)
160 #define MCFGPIO_DDR1 (0x02)
161 #define MCFGPIO_DDR0 (0x01)
162 #define MCFGPIO_DDR(x) (0x01<<x)
164 #define MCFGPIO_Px7 (0x80)
165 #define MCFGPIO_Px6 (0x40)
166 #define MCFGPIO_Px5 (0x20)
167 #define MCFGPIO_Px4 (0x10)
168 #define MCFGPIO_Px3 (0x08)
169 #define MCFGPIO_Px2 (0x04)
170 #define MCFGPIO_Px1 (0x02)
171 #define MCFGPIO_Px0 (0x01)
172 #define MCFGPIO_Px(x) (0x01<<x)
175 #define MCFGPIO_PBCDPAR_PBPA (0x80)
176 #define MCFGPIO_PBCDPAR_PCDPA (0x40)
178 #define MCFGPIO_PEPAR_PEPA7 (0x4000)
179 #define MCFGPIO_PEPAR_PEPA6 (0x1000)
180 #define MCFGPIO_PEPAR_PEPA5 (0x0400)
181 #define MCFGPIO_PEPAR_PEPA4 (0x0100)
182 #define MCFGPIO_PEPAR_PEPA3 (0x0040)
183 #define MCFGPIO_PEPAR_PEPA2 (0x0010)
184 #define MCFGPIO_PEPAR_PEPA1(x) (((x)&0x3)<<2)
185 #define MCFGPIO_PEPAR_PEPA0(x) (((x)&0x3))
187 #define MCFGPIO_PFPAR_PFPA7 (0x80)
188 #define MCFGPIO_PFPAR_PFPA6 (0x40)
189 #define MCFGPIO_PFPAR_PFPA5 (0x20)
191 #define MCFGPIO_PJPAR_PJPA7 (0x80)
192 #define MCFGPIO_PJPAR_PJPA6 (0x40)
193 #define MCFGPIO_PJPAR_PJPA5 (0x20)
194 #define MCFGPIO_PJPAR_PJPA4 (0x10)
195 #define MCFGPIO_PJPAR_PJPA3 (0x08)
196 #define MCFGPIO_PJPAR_PJPA2 (0x04)
197 #define MCFGPIO_PJPAR_PJPA1 (0x02)
198 #define MCFGPIO_PJPAR_PJPA0 (0x01)
199 #define MCFGPIO_PJPAR_PJPA(x) (0x01<<x)
201 #define MCFGPIO_PSDPAR_PSDPA (0x80)
203 #define MCFGPIO_PASPAR_PASPA5(x) (((x)&0x3)<<10)
204 #define MCFGPIO_PASPAR_PASPA4(x) (((x)&0x3)<<8)
205 #define MCFGPIO_PASPAR_PASPA3(x) (((x)&0x3)<<6)
206 #define MCFGPIO_PASPAR_PASPA2(x) (((x)&0x3)<<4)
207 #define MCFGPIO_PASPAR_PASPA1(x) (((x)&0x3)<<2)
208 #define MCFGPIO_PASPAR_PASPA0(x) (((x)&0x3))
210 #define MCFGPIO_PEHLPAR_PEHPA (0x80)
211 #define MCFGPIO_PEHLPAR_PELPA (0x40)
213 #define MCFGPIO_PQSPAR_PQSPA6 (0x40)
214 #define MCFGPIO_PQSPAR_PQSPA5 (0x20)
215 #define MCFGPIO_PQSPAR_PQSPA4 (0x10)
216 #define MCFGPIO_PQSPAR_PQSPA3 (0x08)
217 #define MCFGPIO_PQSPAR_PQSPA2 (0x04)
218 #define MCFGPIO_PQSPAR_PQSPA1 (0x02)
219 #define MCFGPIO_PQSPAR_PQSPA0 (0x01)
220 #define MCFGPIO_PQSPAR_PQSPA(x) (0x01<<x)
222 #define MCFGPIO_PTCPAR_PTCPA3(x) (((x)&0x3)<<6)
223 #define MCFGPIO_PTCPAR_PTCPA2(x) (((x)&0x3)<<4)
224 #define MCFGPIO_PTCPAR_PTCPA1(x) (((x)&0x3)<<2)
225 #define MCFGPIO_PTCPAR_PTCPA0(x) (((x)&0x3))
227 #define MCFGPIO_PTDPAR_PTDPA3(x) (((x)&0x3)<<6)
228 #define MCFGPIO_PTDPAR_PTDPA2(x) (((x)&0x3)<<4)
229 #define MCFGPIO_PTDPAR_PTDPA1(x) (((x)&0x3)<<2)
230 #define MCFGPIO_PTDPAR_PTDPA0(x) (((x)&0x3))
232 #define MCFGPIO_PUAPAR_PUAPA3 (0x08)
233 #define MCFGPIO_PUAPAR_PUAPA2 (0x04)
234 #define MCFGPIO_PUAPAR_PUAPA1 (0x02)
235 #define MCFGPIO_PUAPAR_PUAPA0 (0x01)
237 /* System Conrol Module SCM */
239 #define MCFSCM_RAMBAR (*(vu_long *) (CFG_MBAR+0x00000008))
240 #define MCFSCM_CRSR (*(vu_char *) (CFG_MBAR+0x00000010))
241 #define MCFSCM_CWCR (*(vu_char *) (CFG_MBAR+0x00000011))
242 #define MCFSCM_LPICR (*(vu_char *) (CFG_MBAR+0x00000012))
243 #define MCFSCM_CWSR (*(vu_char *) (CFG_MBAR+0x00000013))
245 #define MCFSCM_MPARK (*(vu_long *) (CFG_MBAR+0x0000001C))
246 #define MCFSCM_MPR (*(vu_char *) (CFG_MBAR+0x00000020))
247 #define MCFSCM_PACR0 (*(vu_char *) (CFG_MBAR+0x00000024))
248 #define MCFSCM_PACR1 (*(vu_char *) (CFG_MBAR+0x00000025))
249 #define MCFSCM_PACR2 (*(vu_char *) (CFG_MBAR+0x00000026))
250 #define MCFSCM_PACR3 (*(vu_char *) (CFG_MBAR+0x00000027))
251 #define MCFSCM_PACR4 (*(vu_char *) (CFG_MBAR+0x00000028))
252 #define MCFSCM_PACR5 (*(vu_char *) (CFG_MBAR+0x0000002A))
253 #define MCFSCM_PACR6 (*(vu_char *) (CFG_MBAR+0x0000002B))
254 #define MCFSCM_PACR7 (*(vu_char *) (CFG_MBAR+0x0000002C))
255 #define MCFSCM_PACR8 (*(vu_char *) (CFG_MBAR+0x0000002E))
256 #define MCFSCM_GPACR0 (*(vu_char *) (CFG_MBAR+0x00000030))
257 #define MCFSCM_GPACR1 (*(vu_char *) (CFG_MBAR+0x00000031))
260 #define MCFSCM_CRSR_EXT (0x80)
261 #define MCFSCM_CRSR_CWDR (0x20)
262 #define MCFSCM_RAMBAR_BA(x) ((x)&0xFFFF0000)
263 #define MCFSCM_RAMBAR_BDE (0x00000200)
265 /* Reset Controller Module RCM */
267 #define MCFRESET_RCR (*(vu_char *) (CFG_MBAR+0x00110000))
268 #define MCFRESET_RSR (*(vu_char *) (CFG_MBAR+0x00110001))
270 #define MCFRESET_RCR_SOFTRST (0x80)
271 #define MCFRESET_RCR_FRCRSTOUT (0x40)
272 #define MCFRESET_RCR_LVDF (0x10)
273 #define MCFRESET_RCR_LVDIE (0x08)
274 #define MCFRESET_RCR_LVDRE (0x04)
275 #define MCFRESET_RCR_LVDE (0x01)
277 #define MCFRESET_RSR_LVD (0x40)
278 #define MCFRESET_RSR_SOFT (0x20)
279 #define MCFRESET_RSR_WDR (0x10)
280 #define MCFRESET_RSR_POR (0x08)
281 #define MCFRESET_RSR_EXT (0x04)
282 #define MCFRESET_RSR_LOC (0x02)
283 #define MCFRESET_RSR_LOL (0x01)
284 #define MCFRESET_RSR_ALL (0x7F)
285 #define MCFRESET_RCR_SOFTRST (0x80)
286 #define MCFRESET_RCR_FRCRSTOUT (0x40)
288 /* Chip Configuration Module CCM */
290 #define MCFCCM_CCR (*(vu_short *)(CFG_MBAR+0x00110004))
291 #define MCFCCM_RCON (*(vu_short *)(CFG_MBAR+0x00110008))
292 #define MCFCCM_CIR (*(vu_short *)(CFG_MBAR+0x0011000A))
295 /* Bit level definitions and macros */
296 #define MCFCCM_CCR_LOAD (0x8000)
297 #define MCFCCM_CCR_MODE(x) (((x)&0x0007)<<8)
298 #define MCFCCM_CCR_SZEN (0x0040)
299 #define MCFCCM_CCR_PSTEN (0x0020)
300 #define MCFCCM_CCR_BME (0x0008)
301 #define MCFCCM_CCR_BMT(x) (((x)&0x0007))
303 #define MCFCCM_CIR_PIN_MASK (0xFF00)
304 #define MCFCCM_CIR_PRN_MASK (0x00FF)
308 #define MCFCLOCK_SYNCR (*(vu_short *)(CFG_MBAR+0x120000))
309 #define MCFCLOCK_SYNSR (*(vu_char *) (CFG_MBAR+0x120002))
311 #define MCFCLOCK_SYNCR_MFD(x) (((x)&0x0007)<<12)
312 #define MCFCLOCK_SYNCR_RFD(x) (((x)&0x0007)<<8)
313 #define MCFCLOCK_SYNSR_LOCK 0x08
315 #define MCFSDRAMC_DCR (*(vu_short *)(CFG_MBAR+0x00000040))
316 #define MCFSDRAMC_DACR0 (*(vu_long *) (CFG_MBAR+0x00000048))
317 #define MCFSDRAMC_DMR0 (*(vu_long *) (CFG_MBAR+0x0000004c))
318 #define MCFSDRAMC_DACR1 (*(vu_long *) (CFG_MBAR+0x00000050))
319 #define MCFSDRAMC_DMR1 (*(vu_long *) (CFG_MBAR+0x00000054))
321 #define MCFSDRAMC_DCR_NAM (0x2000)
322 #define MCFSDRAMC_DCR_COC (0x1000)
323 #define MCFSDRAMC_DCR_IS (0x0800)
324 #define MCFSDRAMC_DCR_RTIM_3 (0x0000)
325 #define MCFSDRAMC_DCR_RTIM_6 (0x0200)
326 #define MCFSDRAMC_DCR_RTIM_9 (0x0400)
327 #define MCFSDRAMC_DCR_RC(x) ((x)&0x01FF)
329 #define MCFSDRAMC_DACR_BASE(x) ((x)&0xFFFC0000)
330 #define MCFSDRAMC_DACR_RE (0x00008000)
331 #define MCFSDRAMC_DACR_CASL(x) (((x)&0x03)<<12)
332 #define MCFSDRAMC_DACR_CBM(x) (((x)&0x07)<<8)
333 #define MCFSDRAMC_DACR_PS_32 (0x00000000)
334 #define MCFSDRAMC_DACR_PS_16 (0x00000020)
335 #define MCFSDRAMC_DACR_PS_8 (0x00000010)
336 #define MCFSDRAMC_DACR_IP (0x00000008)
337 #define MCFSDRAMC_DACR_IMRS (0x00000040)
339 #define MCFSDRAMC_DMR_BAM_16M (0x00FC0000)
340 #define MCFSDRAMC_DMR_WP (0x00000100)
341 #define MCFSDRAMC_DMR_CI (0x00000040)
342 #define MCFSDRAMC_DMR_AM (0x00000020)
343 #define MCFSDRAMC_DMR_SC (0x00000010)
344 #define MCFSDRAMC_DMR_SD (0x00000008)
345 #define MCFSDRAMC_DMR_UC (0x00000004)
346 #define MCFSDRAMC_DMR_UD (0x00000002)
347 #define MCFSDRAMC_DMR_V (0x00000001)
349 #define MCFWTM_WCR (*(vu_short *)(CFG_MBAR+0x00140000))
350 #define MCFWTM_WMR (*(vu_short *)(CFG_MBAR+0x00140002))
351 #define MCFWTM_WCNTR (*(vu_short *)(CFG_MBAR+0x00140004))
352 #define MCFWTM_WSR (*(vu_short *)(CFG_MBAR+0x00140006))
354 /* Chip SELECT Module CSM */
355 #define MCFCSM_CSAR0 (*(vu_short *)(CFG_MBAR+0x00000080))
356 #define MCFCSM_CSMR0 (*(vu_long *) (CFG_MBAR+0x00000084))
357 #define MCFCSM_CSCR0 (*(vu_short *)(CFG_MBAR+0x0000008a))
358 #define MCFCSM_CSAR1 (*(vu_short *)(CFG_MBAR+0x0000008C))
359 #define MCFCSM_CSMR1 (*(vu_long *) (CFG_MBAR+0x00000090))
360 #define MCFCSM_CSCR1 (*(vu_short *)(CFG_MBAR+0x00000096))
361 #define MCFCSM_CSAR2 (*(vu_short *)(CFG_MBAR+0x00000098))
362 #define MCFCSM_CSMR2 (*(vu_long *) (CFG_MBAR+0x0000009C))
363 #define MCFCSM_CSCR2 (*(vu_short *)(CFG_MBAR+0x000000A2))
364 #define MCFCSM_CSAR3 (*(vu_short *)(CFG_MBAR+0x000000A4))
365 #define MCFCSM_CSMR3 (*(vu_long *) (CFG_MBAR+0x000000A8))
366 #define MCFCSM_CSCR3 (*(vu_short *)(CFG_MBAR+0x000000AE))
368 #define MCFCSM_CSMR_BAM(x) ((x) & 0xFFFF0000)
369 #define MCFCSM_CSMR_WP (1<<8)
370 #define MCFCSM_CSMR_V (0x01)
371 #define MCFCSM_CSCR_WS(x) ((x & 0x0F)<<10)
372 #define MCFCSM_CSCR_AA (0x0100)
373 #define MCFCSM_CSCR_PS_32 (0x0000)
374 #define MCFCSM_CSCR_PS_8 (0x0040)
375 #define MCFCSM_CSCR_PS_16 (0x0080)
377 /*********************************************************************
379 * General Purpose Timer (GPT) Module
381 *********************************************************************/
383 #define MCFGPTA_GPTIOS (*(vu_char *)(CFG_MBAR+0x1A0000))
384 #define MCFGPTA_GPTCFORC (*(vu_char *)(CFG_MBAR+0x1A0001))
385 #define MCFGPTA_GPTOC3M (*(vu_char *)(CFG_MBAR+0x1A0002))
386 #define MCFGPTA_GPTOC3D (*(vu_char *)(CFG_MBAR+0x1A0003))
387 #define MCFGPTA_GPTCNT (*(vu_short *)(CFG_MBAR+0x1A0004))
388 #define MCFGPTA_GPTSCR1 (*(vu_char *)(CFG_MBAR+0x1A0006))
389 #define MCFGPTA_GPTTOV (*(vu_char *)(CFG_MBAR+0x1A0008))
390 #define MCFGPTA_GPTCTL1 (*(vu_char *)(CFG_MBAR+0x1A0009))
391 #define MCFGPTA_GPTCTL2 (*(vu_char *)(CFG_MBAR+0x1A000B))
392 #define MCFGPTA_GPTIE (*(vu_char *)(CFG_MBAR+0x1A000C))
393 #define MCFGPTA_GPTSCR2 (*(vu_char *)(CFG_MBAR+0x1A000D))
394 #define MCFGPTA_GPTFLG1 (*(vu_char *)(CFG_MBAR+0x1A000E))
395 #define MCFGPTA_GPTFLG2 (*(vu_char *)(CFG_MBAR+0x1A000F))
396 #define MCFGPTA_GPTC0 (*(vu_short *)(CFG_MBAR+0x1A0010))
397 #define MCFGPTA_GPTC1 (*(vu_short *)(CFG_MBAR+0x1A0012))
398 #define MCFGPTA_GPTC2 (*(vu_short *)(CFG_MBAR+0x1A0014))
399 #define MCFGPTA_GPTC3 (*(vu_short *)(CFG_MBAR+0x1A0016))
400 #define MCFGPTA_GPTPACTL (*(vu_char *)(CFG_MBAR+0x1A0018))
401 #define MCFGPTA_GPTPAFLG (*(vu_char *)(CFG_MBAR+0x1A0019))
402 #define MCFGPTA_GPTPACNT (*(vu_short *)(CFG_MBAR+0x1A001A))
403 #define MCFGPTA_GPTPORT (*(vu_char *)(CFG_MBAR+0x1A001D))
404 #define MCFGPTA_GPTDDR (*(vu_char *)(CFG_MBAR+0x1A001E))
407 #define MCFGPTB_GPTIOS (*(vu_char *)(CFG_MBAR+0x1B0000))
408 #define MCFGPTB_GPTCFORC (*(vu_char *)(CFG_MBAR+0x1B0001))
409 #define MCFGPTB_GPTOC3M (*(vu_char *)(CFG_MBAR+0x1B0002))
410 #define MCFGPTB_GPTOC3D (*(vu_char *)(CFG_MBAR+0x1B0003))
411 #define MCFGPTB_GPTCNT (*(vu_short *)(CFG_MBAR+0x1B0004))
412 #define MCFGPTB_GPTSCR1 (*(vu_char *)(CFG_MBAR+0x1B0006))
413 #define MCFGPTB_GPTTOV (*(vu_char *)(CFG_MBAR+0x1B0008))
414 #define MCFGPTB_GPTCTL1 (*(vu_char *)(CFG_MBAR+0x1B0009))
415 #define MCFGPTB_GPTCTL2 (*(vu_char *)(CFG_MBAR+0x1B000B))
416 #define MCFGPTB_GPTIE (*(vu_char *)(CFG_MBAR+0x1B000C))
417 #define MCFGPTB_GPTSCR2 (*(vu_char *)(CFG_MBAR+0x1B000D))
418 #define MCFGPTB_GPTFLG1 (*(vu_char *)(CFG_MBAR+0x1B000E))
419 #define MCFGPTB_GPTFLG2 (*(vu_char *)(CFG_MBAR+0x1B000F))
420 #define MCFGPTB_GPTC0 (*(vu_short *)(CFG_MBAR+0x1B0010))
421 #define MCFGPTB_GPTC1 (*(vu_short *)(CFG_MBAR+0x1B0012))
422 #define MCFGPTB_GPTC2 (*(vu_short *)(CFG_MBAR+0x1B0014))
423 #define MCFGPTB_GPTC3 (*(vu_short *)(CFG_MBAR+0x1B0016))
424 #define MCFGPTB_GPTPACTL (*(vu_char *)(CFG_MBAR+0x1B0018))
425 #define MCFGPTB_GPTPAFLG (*(vu_char *)(CFG_MBAR+0x1B0019))
426 #define MCFGPTB_GPTPACNT (*(vu_short *)(CFG_MBAR+0x1B001A))
427 #define MCFGPTB_GPTPORT (*(vu_char *)(CFG_MBAR+0x1B001D))
428 #define MCFGPTB_GPTDDR (*(vu_char *)(CFG_MBAR+0x1B001E))
430 /* Bit level definitions and macros */
431 #define MCFGPT_GPTIOS_IOS3 (0x08)
432 #define MCFGPT_GPTIOS_IOS2 (0x04)
433 #define MCFGPT_GPTIOS_IOS1 (0x02)
434 #define MCFGPT_GPTIOS_IOS0 (0x01)
436 #define MCFGPT_GPTCFORC_FOC3 (0x08)
437 #define MCFGPT_GPTCFORC_FOC2 (0x04)
438 #define MCFGPT_GPTCFORC_FOC1 (0x02)
439 #define MCFGPT_GPTCFORC_FOC0 (0x01)
441 #define MCFGPT_GPTOC3M_OC3M3 (0x08)
442 #define MCFGPT_GPTOC3M_OC3M2 (0x04)
443 #define MCFGPT_GPTOC3M_OC3M1 (0x02)
444 #define MCFGPT_GPTOC3M_OC3M0 (0x01)
446 #define MCFGPT_GPTOC3M_OC3D(x) (((x)&0x04))
448 #define MCFGPT_GPTSCR1_GPTEN (0x80)
449 #define MCFGPT_GPTSCR1_TFFCA (0x10)
451 #define MCFGPT_GPTTOV3 (0x08)
452 #define MCFGPT_GPTTOV2 (0x04)
453 #define MCFGPT_GPTTOV1 (0x02)
454 #define MCFGPT_GPTTOV0 (0x01)
456 #define MCFGPT_GPTCTL_OMOL3(x) (((x)&0x03)<<6)
457 #define MCFGPT_GPTCTL_OMOL2(x) (((x)&0x03)<<4)
458 #define MCFGPT_GPTCTL_OMOL1(x) (((x)&0x03)<<2)
459 #define MCFGPT_GPTCTL_OMOL0(x) (((x)&0x03))
461 #define MCFGPT_GPTCTL2_EDG3(x) (((x)&0x03)<<6)
462 #define MCFGPT_GPTCTL2_EDG2(x) (((x)&0x03)<<4)
463 #define MCFGPT_GPTCTL2_EDG1(x) (((x)&0x03)<<2)
464 #define MCFGPT_GPTCTL2_EDG0(x) (((x)&0x03))
466 #define MCFGPT_GPTIE_C3I (0x08)
467 #define MCFGPT_GPTIE_C2I (0x04)
468 #define MCFGPT_GPTIE_C1I (0x02)
469 #define MCFGPT_GPTIE_C0I (0x01)
471 #define MCFGPT_GPTSCR2_TOI (0x80)
472 #define MCFGPT_GPTSCR2_PUPT (0x20)
473 #define MCFGPT_GPTSCR2_RDPT (0x10)
474 #define MCFGPT_GPTSCR2_TCRE (0x08)
475 #define MCFGPT_GPTSCR2_PR(x) (((x)&0x07))
477 #define MCFGPT_GPTFLG1_C3F (0x08)
478 #define MCFGPT_GPTFLG1_C2F (0x04)
479 #define MCFGPT_GPTFLG1_C1F (0x02)
480 #define MCFGPT_GPTFLG1_C0F (0x01)
482 #define MCFGPT_GPTFLG2_TOF (0x80)
483 #define MCFGPT_GPTFLG2_C3F (0x08)
484 #define MCFGPT_GPTFLG2_C2F (0x04)
485 #define MCFGPT_GPTFLG2_C1F (0x02)
486 #define MCFGPT_GPTFLG2_C0F (0x01)
488 #define MCFGPT_GPTPACTL_PAE (0x40)
489 #define MCFGPT_GPTPACTL_PAMOD (0x20)
490 #define MCFGPT_GPTPACTL_PEDGE (0x10)
491 #define MCFGPT_GPTPACTL_CLK_PACLK (0x04)
492 #define MCFGPT_GPTPACTL_CLK_PACLK256 (0x08)
493 #define MCFGPT_GPTPACTL_CLK_PACLK65536 (0x0C)
494 #define MCFGPT_GPTPACTL_CLK(x) (((x)&0x03)<<2)
495 #define MCFGPT_GPTPACTL_PAOVI (0x02)
496 #define MCFGPT_GPTPACTL_PAI (0x01)
498 #define MCFGPT_GPTPAFLG_PAOVF (0x02)
499 #define MCFGPT_GPTPAFLG_PAIF (0x01)
501 #define MCFGPT_GPTPORT_PORTT3 (0x08)
502 #define MCFGPT_GPTPORT_PORTT2 (0x04)
503 #define MCFGPT_GPTPORT_PORTT1 (0x02)
504 #define MCFGPT_GPTPORT_PORTT0 (0x01)
506 #define MCFGPT_GPTDDR_DDRT3 (0x08)
507 #define MCFGPT_GPTDDR_DDRT2 (0x04)
508 #define MCFGPT_GPTDDR_DDRT1 (0x02)
509 #define MCFGPT_GPTDDR_DDRT0 (0x01)
511 /* Coldfire Flash Module CFM */
513 #define MCFCFM_MCR (*(vu_short *)(CFG_MBAR+0x1D0000))
514 #define MCFCFM_MCR_LOCK (0x0400)
515 #define MCFCFM_MCR_PVIE (0x0200)
516 #define MCFCFM_MCR_AEIE (0x0100)
517 #define MCFCFM_MCR_CBEIE (0x0080)
518 #define MCFCFM_MCR_CCIE (0x0040)
519 #define MCFCFM_MCR_KEYACC (0x0020)
521 #define MCFCFM_CLKD (*(vu_char *)(CFG_MBAR+0x1D0002))
523 #define MCFCFM_SEC (*(vu_long*) (CFG_MBAR+0x1D0008))
524 #define MCFCFM_SEC_KEYEN (0x80000000)
525 #define MCFCFM_SEC_SECSTAT (0x40000000)
527 #define MCFCFM_PROT (*(vu_long*) (CFG_MBAR+0x1D0010))
528 #define MCFCFM_SACC (*(vu_long*) (CFG_MBAR+0x1D0014))
529 #define MCFCFM_DACC (*(vu_long*) (CFG_MBAR+0x1D0018))
530 #define MCFCFM_USTAT (*(vu_char*) (CFG_MBAR+0x1D0020))
531 #define MCFCFM_USTAT_CBEIF 0x80
532 #define MCFCFM_USTAT_CCIF 0x40
533 #define MCFCFM_USTAT_PVIOL 0x20
534 #define MCFCFM_USTAT_ACCERR 0x10
535 #define MCFCFM_USTAT_BLANK 0x04
537 #define MCFCFM_CMD (*(vu_char*) (CFG_MBAR+0x1D0024))
538 #define MCFCFM_CMD_ERSVER 0x05
539 #define MCFCFM_CMD_PGERSVER 0x06
540 #define MCFCFM_CMD_PGM 0x20
541 #define MCFCFM_CMD_PGERS 0x40
542 #define MCFCFM_CMD_MASERS 0x41
544 /****************************************************************************/