source: rtems/c/src/lib/libcpu/m68k/mcf5282/include/mcf5282.h @ 8f1e4948

4.104.114.84.95
Last change on this file since 8f1e4948 was 8f1e4948, checked in by Chris Johns <chrisj@…>, on Sep 11, 2006 at 11:52:08 AM

Remove extra CRLF.

  • Property mode set to 100644
File size: 115.5 KB
Line 
1/*
2 *******************************************
3 *   Definitions from Motorola/FreeScale   *
4 *******************************************
5 */
6
7/*
8 * File:                mcf5282.h
9 * Purpose:             MCF5282 definitions
10 *
11 * Notes:
12 */
13
14#ifndef _CPU_MCF5282_H
15#define _CPU_MCF5282_H
16
17/********************************************************************/
18
19/*
20 * File:                mcf5xxx.h
21 * Purpose:             Definitions common to all ColdFire processors
22 *
23 * Notes:
24 */
25
26#ifndef _CPU_MCF5XXX_H
27#define _CPU_MCF5XXX_H
28
29/***********************************************************************/
30/*
31 * The basic data types
32 */
33
34typedef unsigned char           uint8;  /*  8 bits */
35typedef unsigned short int      uint16; /* 16 bits */
36typedef unsigned long int       uint32; /* 32 bits */
37
38typedef signed char                     int8;   /*  8 bits */
39typedef signed short int        int16;  /* 16 bits */
40typedef signed long int         int32;  /* 32 bits */
41
42typedef volatile uint8          vuint8;  /*  8 bits */
43typedef volatile uint16         vuint16; /* 16 bits */
44typedef volatile uint32         vuint32; /* 32 bits */
45
46/***********************************************************************/
47/*
48 * Common M68K & ColdFire definitions
49 */
50
51#define ADDRESS                 uint32
52#define INSTRUCTION             uint16
53#define ILLEGAL                 0x4AFC
54#define CPU_WORD_SIZE   16
55
56#define MCF5XXX_SR_T            (0x8000)
57#define MCF5XXX_SR_S            (0x2000)
58#define MCF5XXX_SR_M            (0x1000)
59#define MCF5XXX_SR_IPL          (0x0700)
60#define MCF5XXX_SR_IPL_0        (0x0000)
61#define MCF5XXX_SR_IPL_1        (0x0100)
62#define MCF5XXX_SR_IPL_2        (0x0200)
63#define MCF5XXX_SR_IPL_3        (0x0300)
64#define MCF5XXX_SR_IPL_4        (0x0400)
65#define MCF5XXX_SR_IPL_5        (0x0500)
66#define MCF5XXX_SR_IPL_6        (0x0600)
67#define MCF5XXX_SR_IPL_7        (0x0700)
68#define MCF5XXX_SR_X            (0x0010)
69#define MCF5XXX_SR_N            (0x0008)
70#define MCF5XXX_SR_Z            (0x0004)
71#define MCF5XXX_SR_V            (0x0002)
72#define MCF5XXX_SR_C            (0x0001)
73
74#define MCF5XXX_CACR_CENB               (0x80000000)
75#define MCF5XXX_CACR_CPDI               (0x10000000)
76#define MCF5XXX_CACR_CPD                (0x10000000)
77#define MCF5XXX_CACR_CFRZ               (0x08000000)
78#define MCF5XXX_CACR_CINV               (0x01000000)
79#define MCF5XXX_CACR_DIDI               (0x00800000)
80#define MCF5XXX_CACR_DISD               (0x00400000)
81#define MCF5XXX_CACR_INVI               (0x00200000)
82#define MCF5XXX_CACR_INVD               (0x00100000)
83#define MCF5XXX_CACR_CEIB               (0x00000400)
84#define MCF5XXX_CACR_DCM_WR             (0x00000000)
85#define MCF5XXX_CACR_DCM_CB             (0x00000100)
86#define MCF5XXX_CACR_DCM_IP             (0x00000200)
87#define MCF5XXX_CACR_DCM                (0x00000200)
88#define MCF5XXX_CACR_DCM_II             (0x00000300)
89#define MCF5XXX_CACR_DBWE               (0x00000100)
90#define MCF5XXX_CACR_DWP                (0x00000020)
91#define MCF5XXX_CACR_EUST               (0x00000010)
92#define MCF5XXX_CACR_CLNF_00    (0x00000000)
93#define MCF5XXX_CACR_CLNF_01    (0x00000002)
94#define MCF5XXX_CACR_CLNF_10    (0x00000004)
95#define MCF5XXX_CACR_CLNF_11    (0x00000006)
96
97#define MCF5XXX_ACR_AB(a)               ((a)&0xFF000000)
98#define MCF5XXX_ACR_AM(a)               (((a)&0xFF000000) >> 8)
99#define MCF5XXX_ACR_EN                  (0x00008000)
100#define MCF5XXX_ACR_SM_USER             (0x00000000)
101#define MCF5XXX_ACR_SM_SUPER    (0x00002000)
102#define MCF5XXX_ACR_SM_IGNORE   (0x00006000)
103#define MCF5XXX_ACR_ENIB                (0x00000080)
104#define MCF5XXX_ACR_CM                  (0x00000040)
105#define MCF5XXX_ACR_DCM_WR              (0x00000000)
106#define MCF5XXX_ACR_DCM_CB              (0x00000020)
107#define MCF5XXX_ACR_DCM_IP              (0x00000040)
108#define MCF5XXX_ACR_DCM_II              (0x00000060)
109#define MCF5XXX_ACR_CM                  (0x00000040)
110#define MCF5XXX_ACR_BWE                 (0x00000020)
111#define MCF5XXX_ACR_WP                  (0x00000004)
112
113#define MCF5XXX_RAMBAR_BA(a)    ((a)&0xFFFFC000)
114#define MCF5XXX_RAMBAR_PRI_00   (0x00000000)
115#define MCF5XXX_RAMBAR_PRI_01   (0x00004000)
116#define MCF5XXX_RAMBAR_PRI_10   (0x00008000)
117#define MCF5XXX_RAMBAR_PRI_11   (0x0000C000)
118#define MCF5XXX_RAMBAR_WP               (0x00000100)
119#define MCF5XXX_RAMBAR_CI               (0x00000020)
120#define MCF5XXX_RAMBAR_SC               (0x00000010)
121#define MCF5XXX_RAMBAR_SD               (0x00000008)
122#define MCF5XXX_RAMBAR_UC               (0x00000004)
123#define MCF5XXX_RAMBAR_UD               (0x00000002)
124#define MCF5XXX_RAMBAR_V                (0x00000001)
125
126/***********************************************************************/
127/*
128 * The ColdFire family of processors has a simplified exception stack
129 * frame that looks like the following:
130 *
131 *              3322222222221111 111111
132 *              1098765432109876 5432109876543210
133 *           8 +----------------+----------------+
134 *             |         Program Counter         |
135 *           4 +----------------+----------------+
136 *             |FS/Fmt/Vector/FS|      SR        |
137 *   SP -->  0 +----------------+----------------+
138 *
139 * The stack self-aligns to a 4-byte boundary at an exception, with
140 * the FS/Fmt/Vector/FS field indicating the size of the adjustment
141 * (SP += 0,1,2,3 bytes).
142 */
143
144#define MCF5XXX_RD_SF_FORMAT(PTR)       \
145        ((*((uint16 *)(PTR)) >> 12) & 0x00FF)
146
147#define MCF5XXX_RD_SF_VECTOR(PTR)       \
148        ((*((uint16 *)(PTR)) >>  2) & 0x00FF)
149
150#define MCF5XXX_RD_SF_FS(PTR)           \
151        ( ((*((uint16 *)(PTR)) & 0x0C00) >> 8) | (*((uint16 *)(PTR)) & 0x0003) )
152
153#define MCF5XXX_SF_SR(PTR)      *((uint16 *)(PTR)+1)
154#define MCF5XXX_SF_PC(PTR)      *((uint32 *)(PTR)+1)
155
156/********************************************************************/
157/*
158 * Functions provided by mcf5xxx.s
159 */
160 
161int     asm_set_ipl (uint32);
162void    mcf5xxx_wr_cacr (uint32);
163void    mcf5xxx_wr_acr0 (uint32);
164void    mcf5xxx_wr_acr1 (uint32);
165void    mcf5xxx_wr_acr2 (uint32);
166void    mcf5xxx_wr_acr3 (uint32);
167void    mcf5xxx_wr_other_a7 (uint32);
168void    mcf5xxx_wr_other_sp (uint32);
169void    mcf5xxx_wr_vbr (uint32);
170void    mcf5xxx_wr_macsr (uint32);
171void    mcf5xxx_wr_mask (uint32);
172void    mcf5xxx_wr_acc0 (uint32);
173void    mcf5xxx_wr_accext01 (uint32);
174void    mcf5xxx_wr_accext23 (uint32);
175void    mcf5xxx_wr_acc1 (uint32);
176void    mcf5xxx_wr_acc2 (uint32);
177void    mcf5xxx_wr_acc3 (uint32);
178void    mcf5xxx_wr_sr (uint32);
179void    mcf5xxx_wr_rambar0 (uint32);
180void    mcf5xxx_wr_rambar1 (uint32);
181void    mcf5xxx_wr_mbar (uint32);
182void    mcf5xxx_wr_mbar0 (uint32);
183void    mcf5xxx_wr_mbar1 (uint32);
184
185/********************************************************************/
186
187#endif  /* _CPU_MCF5XXX_H */
188
189
190/********************************************************************/
191/*
192 * Memory map definitions from linker command files
193 */
194extern uint8 __IPSBAR[];
195
196/*********************************************************************
197*
198* System Control Module (SCM)
199*
200*********************************************************************/
201
202/* Read/Write access macros for general use */
203#define MCF5282_SCM_IPSBAR              (*(vuint32 *)(void *)(&__IPSBAR[0x0000]))
204#define MCF5282_SCM_RAMBAR              (*(vuint32 *)(void *)(&__IPSBAR[0x0008]))
205#define MCF5282_SCM_CRSR                (*(vuint8  *)(void *)(&__IPSBAR[0x0010]))
206#define MCF5282_SCM_CWCR                (*(vuint8  *)(void *)(&__IPSBAR[0x0011]))
207#define MCF5282_SCM_LPICR               (*(vuint8  *)(void *)(&__IPSBAR[0x0012]))
208#define MCF5282_SCM_CWSR                (*(vuint8  *)(void *)(&__IPSBAR[0x0013]))
209#define MCF5282_SCM_DMAREQC             (*(vuint32 *)(void *)(&__IPSBAR[0x0014]))
210#define MCF5282_SCM_MPARK               (*(vuint32 *)(void *)(&__IPSBAR[0x001C]))
211#define MCF5282_SCM_MPR                 (*(vuint8  *)(void *)(&__IPSBAR[0x0020]))
212#define MCF5282_SCM_PACR0               (*(vuint8  *)(void *)(&__IPSBAR[0x0024]))
213#define MCF5282_SCM_PACR1               (*(vuint8  *)(void *)(&__IPSBAR[0x0025]))
214#define MCF5282_SCM_PACR2               (*(vuint8  *)(void *)(&__IPSBAR[0x0026]))
215#define MCF5282_SCM_PACR3               (*(vuint8  *)(void *)(&__IPSBAR[0x0027]))
216#define MCF5282_SCM_PACR4               (*(vuint8  *)(void *)(&__IPSBAR[0x0028]))
217#define MCF5282_SCM_PACR5               (*(vuint8  *)(void *)(&__IPSBAR[0x002A]))
218#define MCF5282_SCM_PACR6               (*(vuint8  *)(void *)(&__IPSBAR[0x002B]))
219#define MCF5282_SCM_PACR7               (*(vuint8  *)(void *)(&__IPSBAR[0x002C]))
220#define MCF5282_SCM_PACR8               (*(vuint8  *)(void *)(&__IPSBAR[0x002E]))
221#define MCF5282_SCM_GPACR0              (*(vuint8  *)(void *)(&__IPSBAR[0x0030]))
222#define MCF5282_SCM_GPACR1              (*(vuint8  *)(void *)(&__IPSBAR[0x0031]))
223
224/* Bit level definitions and macros */
225#define MCF5282_SCM_IPSBAR_BA(x)                        ((x)&0xC0000000)
226#define MCF5282_SCM_IPSBAR_V                            (0x00000001)
227
228#define MCF5282_SCM_RAMBAR_BA(x)                        ((x)&0xFFFF0000)
229#define MCF5282_SCM_RAMBAR_BDE                          (0x00000200)
230
231#define MCF5282_SCM_CRSR_EXT                            (0x80)
232#define MCF5282_SCM_CRSR_CWDR                           (0x20)
233
234#define MCF5282_SCM_CWCR_CWE                            (0x80)
235#define MCF5282_SCM_CWCR_CWRI                           (0x40)
236#define MCF5282_SCM_CWCR_CWT(x)                         (((x)&0x03)<<3)
237#define MCF5282_SCM_CWCR_CWTA                           (0x04)
238#define MCF5282_SCM_CWCR_CWTAVAL                        (0x02)
239#define MCF5282_SCM_CWCR_CWTIC                          (0x01)
240
241#define MCF5282_SCM_LPICR_ENBSTOP                       (0x80)
242#define MCF5282_SCM_LPICR_XSTOP_IPL(x)          (((x)&0x07)<<4)
243
244#define MCF5282_SCM_CWSR_SEQ1                           (0x55)
245#define MCF5282_SCM_CWSR_SEQ2                           (0xAA)
246
247#define MCF5282_SCM_DMAREQC_DMAC3(x)            (((x)&0x000F)<<12)
248#define MCF5282_SCM_DMAREQC_DMAC2(x)            (((x)&0x000F)<<8)
249#define MCF5282_SCM_DMAREQC_DMAC1(x)            (((x)&0x000F)<<4)
250#define MCF5282_SCM_DMAREQC_DMAC0(x)            (((x)&0x000F))
251#define MCF5282_SCM_DMAREQC_DMATIMER0           (0x4)
252#define MCF5282_SCM_DMAREQC_DMATIMER1           (0x5)
253#define MCF5282_SCM_DMAREQC_DMATIMER2           (0x6)
254#define MCF5282_SCM_DMAREQC_DMATIMER3           (0x7)
255#define MCF5282_SCM_DMAREQC_UART0                       (0x8)
256#define MCF5282_SCM_DMAREQC_UART1                       (0x9)
257#define MCF5282_SCM_DMAREQC_UART2                       (0xA)
258
259#define MCF5282_SCM_MPARK_M2_P_EN                       (0x02000000)
260#define MCF5282_SCM_MPARK_BCR24BIT                      (0x01000000)
261#define MCF5282_SCM_MPARK_M3_PRTY(x)            (((x)&0x03)<<22)
262#define MCF5282_SCM_MPARK_M2_PRTY(x)            (((x)&0x03)<<20)
263#define MCF5282_SCM_MPARK_M0_PRTY(x)            (((x)&0x03)<<18)
264#define MCF5282_SCM_MPARK_M1_PRTY(x)            (((x)&0x03)<<16)
265#define MCF5282_SCM_MPARK_FIXED                         (0x00040000)
266#define MCF5282_SCM_MPARK_TIMEOUT                       (0x00020000)
267#define MCF5282_SCM_MPARK_PRK_LAST                      (0x00010000)
268#define MCF5282_SCM_MPARK_LCKOUT_TIME(x)        (((x)&0x000F)<<8)
269
270#define MCF5282_SCM_MPARK_MX_PRTY_FIRST         (0x3)
271#define MCF5282_SCM_MPARK_MX_PRTY_SECOND        (0x2)
272#define MCF5282_SCM_MPARK_MX_PRTY_THIRD         (0x1)
273#define MCF5282_SCM_MPARK_MX_PRTY_FOURTH        (0x0)
274
275#define MCF5282_SCM_MPR_MPR(x)                          (((x)&0x0F))
276
277#define MCF5282_SCM_PACR_LOCK1                          (0x80)
278#define MCF5282_SCM_PACR_ACCESSCTRL1            (((x)&0x07)<<4)
279#define MCF5282_SCM_PACR_LOCK0                          (0x08)
280#define MCF5282_SCM_PACR_ACCESSCTRL0            (((x)&0x07))
281#define MCF5282_SCM_PACR_RW_NA                          (0x0)
282#define MCF5282_SCM_PACR_R_NA                           (0x1)
283#define MCF5282_SCM_PACR_R_R                            (0x2)
284#define MCF5282_SCM_PACR_RW_RW                          (0x4)
285#define MCF5282_SCM_PACR_RW_R                           (0x5)
286#define MCF5282_SCM_PACR_NA_NA                          (0x7)
287
288#define MCF5282_SCM_GPACR_LOCK                          (0x80)
289#define MCF5282_SCM_GPACR_ACCESSCTRL            (((x)&0x0F))
290#define MCF5282_SCM_GPACR_ACCESSCTRL_RW_NA              (0x0)
291#define MCF5282_SCM_GPACR_ACCESSCTRL_R_NA               (0x1)
292#define MCF5282_SCM_GPACR_ACCESSCTRL_R_R                (0x2)
293#define MCF5282_SCM_GPACR_ACCESSCTRL_RW_RW              (0x4)
294#define MCF5282_SCM_GPACR_ACCESSCTRL_RW_R               (0x5)
295#define MCF5282_SCM_GPACR_ACCESSCTRL_NA_NA              (0x7)
296#define MCF5282_SCM_GPACR_ACCESSCTRL_RWE_NA             (0x8)
297#define MCF5282_SCM_GPACR_ACCESSCTRL_RE_NA              (0x9)
298#define MCF5282_SCM_GPACR_ACCESSCTRL_RE_RE              (0xA)
299#define MCF5282_SCM_GPACR_ACCESSCTRL_E_NA               (0xB)
300#define MCF5282_SCM_GPACR_ACCESSCTRL_RWE_RWE    (0xC)
301#define MCF5282_SCM_GPACR_ACCESSCTRL_RWE_RE             (0xD)
302#define MCF5282_SCM_GPACR_ACCESSCTRL_RWE_E              (0xF)
303
304/*********************************************************************
305*
306* SDRAM Controller Module
307*
308*********************************************************************/
309
310/* Read/Write access macros for general use */
311#define MCF5282_SDRAMC_DCR              (*(vuint16 *)(void *)(&__IPSBAR[0x0040]))
312#define MCF5282_SDRAMC_DACR0    (*(vuint32 *)(void *)(&__IPSBAR[0x0048]))
313#define MCF5282_SDRAMC_DMR0             (*(vuint32 *)(void *)(&__IPSBAR[0x004C]))
314#define MCF5282_SDRAMC_DACR1    (*(vuint32 *)(void *)(&__IPSBAR[0x0050]))
315#define MCF5282_SDRAMC_DMR1             (*(vuint32 *)(void *)(&__IPSBAR[0x0054]))
316
317/* Bit level definitions and macros */
318#define MCF5282_SDRAMC_DCR_NAM                          (0x2000)
319#define MCF5282_SDRAMC_DCR_COC                          (0x1000)
320#define MCF5282_SDRAMC_DCR_IS                           (0x0800)
321#define MCF5282_SDRAMC_DCR_RTIM_3                       (0x0000)
322#define MCF5282_SDRAMC_DCR_RTIM_6                       (0x0200)
323#define MCF5282_SDRAMC_DCR_RTIM_9                       (0x0400)
324#define MCF5282_SDRAMC_DCR_RC(x)                        ((x)&0x01FF)
325
326#define MCF5282_SDRAMC_DACR_BASE(x)                     ((x)&0xFFFC0000)
327#define MCF5282_SDRAMC_DACR_RE                          (0x00008000)
328#define MCF5282_SDRAMC_DACR_CASL(x)                     (((x)&0x03)<<12)
329#define MCF5282_SDRAMC_DACR_CBM(x)                      (((x)&0x07)<<8)
330#define MCF5282_SDRAMC_DACR_PS_32                       (0x00000000)
331#define MCF5282_SDRAMC_DACR_PS_8                        (0x00000010)
332#define MCF5282_SDRAMC_DACR_PS_16                       (0x00000020)
333#define MCF5282_SDRAMC_DACR_IMRS                        (0x00000040)
334#define MCF5282_SDRAMC_DACR_IP                          (0x00000008)
335
336#define MCF5282_SDRAMC_DMR_BAM_4G                       (0xFFFC0000)
337#define MCF5282_SDRAMC_DMR_BAM_2G                       (0x7FFC0000)
338#define MCF5282_SDRAMC_DMR_BAM_1G                       (0x3FFC0000)
339#define MCF5282_SDRAMC_DMR_BAM_1024M            (0x3FFC0000)
340#define MCF5282_SDRAMC_DMR_BAM_512M                     (0x1FFC0000)
341#define MCF5282_SDRAMC_DMR_BAM_256M                     (0x0FFC0000)
342#define MCF5282_SDRAMC_DMR_BAM_128M                     (0x07FC0000)
343#define MCF5282_SDRAMC_DMR_BAM_64M                      (0x03FC0000)
344#define MCF5282_SDRAMC_DMR_BAM_32M                      (0x01FC0000)
345#define MCF5282_SDRAMC_DMR_BAM_16M                      (0x00FC0000)
346#define MCF5282_SDRAMC_DMR_BAM_8M                       (0x007C0000)
347#define MCF5282_SDRAMC_DMR_BAM_4M                       (0x003C0000)
348#define MCF5282_SDRAMC_DMR_BAM_2M                       (0x001C0000)
349#define MCF5282_SDRAMC_DMR_BAM_1M                       (0x000C0000)
350#define MCF5282_SDRAMC_DMR_BAM_1024K            (0x000C0000)
351#define MCF5282_SDRAMC_DMR_BAM_512K                     (0x00040000)
352#define MCF5282_SDRAMC_DMR_BAM_256K                     (0x00000000)
353#define MCF5282_SDRAMC_DMR_WP                           (0x00000100)
354#define MCF5282_SDRAMC_DMR_CI                           (0x00000040)
355#define MCF5282_SDRAMC_DMR_AM                           (0x00000020)
356#define MCF5282_SDRAMC_DMR_SC                           (0x00000010)
357#define MCF5282_SDRAMC_DMR_SD                           (0x00000008)
358#define MCF5282_SDRAMC_DMR_UC                           (0x00000004)
359#define MCF5282_SDRAMC_DMR_UD                           (0x00000002)
360#define MCF5282_SDRAMC_DMR_V                            (0x00000001)
361
362/*********************************************************************
363*
364* Chip Select Module
365*
366*********************************************************************/
367
368/* Read/Write access macros for general use */
369#define MCF5282_CS0_CSAR        (*(vuint16 *)(void *)(&__IPSBAR[0x0080]))
370#define MCF5282_CS0_CSMR        (*(vuint32 *)(void *)(&__IPSBAR[0x0084]))
371#define MCF5282_CS0_CSCR        (*(vuint16 *)(void *)(&__IPSBAR[0x008A]))
372
373#define MCF5282_CS1_CSAR        (*(vuint16 *)(void *)(&__IPSBAR[0x008C]))
374#define MCF5282_CS1_CSMR        (*(vuint32 *)(void *)(&__IPSBAR[0x0090]))
375#define MCF5282_CS1_CSCR        (*(vuint16 *)(void *)(&__IPSBAR[0x0096]))
376
377#define MCF5282_CS2_CSAR        (*(vuint16 *)(void *)(&__IPSBAR[0x0098]))
378#define MCF5282_CS2_CSMR        (*(vuint32 *)(void *)(&__IPSBAR[0x009C]))
379#define MCF5282_CS2_CSCR        (*(vuint16 *)(void *)(&__IPSBAR[0x00A2]))
380
381#define MCF5282_CS3_CSAR        (*(vuint16 *)(void *)(&__IPSBAR[0x00A4]))
382#define MCF5282_CS3_CSMR        (*(vuint32 *)(void *)(&__IPSBAR[0x00A8]))
383#define MCF5282_CS3_CSCR        (*(vuint16 *)(void *)(&__IPSBAR[0x00AE]))
384
385#define MCF5282_CS4_CSAR        (*(vuint16 *)(void *)(&__IPSBAR[0x00B0]))
386#define MCF5282_CS4_CSMR        (*(vuint32 *)(void *)(&__IPSBAR[0x00B4]))
387#define MCF5282_CS4_CSCR        (*(vuint16 *)(void *)(&__IPSBAR[0x00BA]))
388
389#define MCF5282_CS5_CSAR        (*(vuint16 *)(void *)(&__IPSBAR[0x00BC]))
390#define MCF5282_CS5_CSMR        (*(vuint32 *)(void *)(&__IPSBAR[0x00C0]))
391#define MCF5282_CS5_CSCR        (*(vuint16 *)(void *)(&__IPSBAR[0x00C6]))
392
393#define MCF5282_CS6_CSAR        (*(vuint16 *)(void *)(&__IPSBAR[0x00C8]))
394#define MCF5282_CS6_CSMR        (*(vuint32 *)(void *)(&__IPSBAR[0x00CC]))
395#define MCF5282_CS6_CSCR        (*(vuint16 *)(void *)(&__IPSBAR[0x00D2]))
396
397#define MCF5282_CS_CSAR(x)      (*(vuint16 *)(void *)(&__IPSBAR[0x0080+(x*0x0C)]))
398#define MCF5282_CS_CSMR(x)      (*(vuint32 *)(void *)(&__IPSBAR[0x0084+(x*0x0C)]))
399#define MCF5282_CS_CSCR(x)      (*(vuint16 *)(void *)(&__IPSBAR[0x008A+(x*0x0C)]))
400
401/* Bit level definitions and macros */
402#define MCF5282_CS_CSAR_BA(a)                           (uint16)(((a)&0xFFFF0000)>>16)
403
404#define MCF5282_CS_CSMR_BAM_4G                          (0xFFFF0000)
405#define MCF5282_CS_CSMR_BAM_2G                          (0x7FFF0000)
406#define MCF5282_CS_CSMR_BAM_1G                          (0x3FFF0000)
407#define MCF5282_CS_CSMR_BAM_1024M                       (0x3FFF0000)
408#define MCF5282_CS_CSMR_BAM_512M                        (0x1FFF0000)
409#define MCF5282_CS_CSMR_BAM_256M                        (0x0FFF0000)
410#define MCF5282_CS_CSMR_BAM_128M                        (0x07FF0000)
411#define MCF5282_CS_CSMR_BAM_64M                         (0x03FF0000)
412#define MCF5282_CS_CSMR_BAM_32M                         (0x01FF0000)
413#define MCF5282_CS_CSMR_BAM_16M                         (0x00FF0000)
414#define MCF5282_CS_CSMR_BAM_8M                          (0x007F0000)
415#define MCF5282_CS_CSMR_BAM_4M                          (0x003F0000)
416#define MCF5282_CS_CSMR_BAM_2M                          (0x001F0000)
417#define MCF5282_CS_CSMR_BAM_1M                          (0x000F0000)
418#define MCF5282_CS_CSMR_BAM_1024K                       (0x000F0000)
419#define MCF5282_CS_CSMR_BAM_512K                        (0x00070000)
420#define MCF5282_CS_CSMR_BAM_256K                        (0x00030000)
421#define MCF5282_CS_CSMR_BAM_128K                        (0x00010000)
422#define MCF5282_CS_CSMR_BAM_64K                         (0x00000000)
423#define MCF5282_CS_CSMR_WP                                      (0x00000100)
424#define MCF5282_CS_CSMR_AM                                      (0x00000040)
425#define MCF5282_CS_CSMR_CI                                      (0x00000020)
426#define MCF5282_CS_CSMR_SC                                      (0x00000010)
427#define MCF5282_CS_CSMR_SD                                      (0x00000008)
428#define MCF5282_CS_CSMR_UC                                      (0x00000004)
429#define MCF5282_CS_CSMR_UD                                      (0x00000002)
430#define MCF5282_CS_CSMR_V                                       (0x00000001)
431
432#define MCF5282_CS_CSCR_WS(x)                           (((x)&0x0F)<<10)
433#define MCF5282_CS_CSCR_AA                                      (0x0100)
434#define MCF5282_CS_CSCR_PS_8                            (0x0040)
435#define MCF5282_CS_CSCR_PS_16                           (0x0080)
436#define MCF5282_CS_CSCR_PS_32                           (0x0000)
437#define MCF5282_CS_CSCR_BEM                                     (0x0020)
438#define MCF5282_CS_CSCR_BSTR                            (0x0010)
439#define MCF5282_CS_CSCR_BSTW                            (0x0008)
440
441/*********************************************************************
442*
443* Direct Memory Access (DMA) Module
444*
445*********************************************************************/
446
447/* Read/Write access macros for general use */
448#define MCF5282_DMA0_SAR                (*(vuint32  *)(void *)(&__IPSBAR[0x0100]))             
449#define MCF5282_DMA0_DAR                (*(vuint32  *)(void *)(&__IPSBAR[0x0104]))             
450#define MCF5282_DMA0_DCR                (*(vuint32  *)(void *)(&__IPSBAR[0x0108]))             
451#define MCF5282_DMA0_BCR                (*(vuint32  *)(void *)(&__IPSBAR[0x010C]))             
452#define MCF5282_DMA0_DSR                (*(vuint8   *)(void *)(&__IPSBAR[0x0110]))             
453
454#define MCF5282_DMA1_SAR                (*(vuint32  *)(void *)(&__IPSBAR[0x0140]))
455#define MCF5282_DMA1_DAR                (*(vuint32  *)(void *)(&__IPSBAR[0x0144]))
456#define MCF5282_DMA1_DCR                (*(vuint32  *)(void *)(&__IPSBAR[0x0148]))
457#define MCF5282_DMA1_BCR                (*(vuint32  *)(void *)(&__IPSBAR[0x014C]))
458#define MCF5282_DMA1_DSR                (*(vuint8   *)(void *)(&__IPSBAR[0x0150]))
459
460#define MCF5282_DMA2_SAR                (*(vuint32  *)(void *)(&__IPSBAR[0x0180]))
461#define MCF5282_DMA2_DAR                (*(vuint32  *)(void *)(&__IPSBAR[0x0184]))
462#define MCF5282_DMA2_DCR                (*(vuint32  *)(void *)(&__IPSBAR[0x0188]))
463#define MCF5282_DMA2_BCR                (*(vuint32  *)(void *)(&__IPSBAR[0x018C]))
464#define MCF5282_DMA2_DSR                (*(vuint8   *)(void *)(&__IPSBAR[0x0190]))
465
466#define MCF5282_DMA3_SAR                (*(vuint32  *)(void *)(&__IPSBAR[0x01C0]))
467#define MCF5282_DMA3_DAR                (*(vuint32  *)(void *)(&__IPSBAR[0x01C4]))
468#define MCF5282_DMA3_DCR                (*(vuint32  *)(void *)(&__IPSBAR[0x01C8]))
469#define MCF5282_DMA3_BCR                (*(vuint32  *)(void *)(&__IPSBAR[0x01CC]))
470#define MCF5282_DMA3_DSR                (*(vuint8   *)(void *)(&__IPSBAR[0x01D0]))
471
472#define MCF5282_DMA_SAR(x)              (*(vuint32  *)(void *)(&__IPSBAR[0x0100+(x*0x40)]))             
473#define MCF5282_DMA_DAR(x)              (*(vuint32  *)(void *)(&__IPSBAR[0x0104+(x*0x40)]))             
474#define MCF5282_DMA_DCR(x)              (*(vuint32  *)(void *)(&__IPSBAR[0x0108+(x*0x40)]))             
475#define MCF5282_DMA_BCR(x)              (*(vuint32  *)(void *)(&__IPSBAR[0x010C+(x*0x40)]))             
476#define MCF5282_DMA_DSR(x)              (*(vuint8   *)(void *)(&__IPSBAR[0x0110+(x*0x40)]))             
477
478/* Bit level definitions and macros */
479#define MCF5282_DMA_DCR_INT                                     (0x80000000)
480#define MCF5282_DMA_DCR_EEXT                            (0x40000000)
481#define MCF5282_DMA_DCR_CS                                      (0x20000000)
482#define MCF5282_DMA_DCR_AA                                      (0x10000000)
483#define MCF5282_DMA_DCR_BWC_DMA                         (0x00000000)
484#define MCF5282_DMA_DCR_BWC_512                         (0x02000000)
485#define MCF5282_DMA_DCR_BWC_1024                        (0x04000000)
486#define MCF5282_DMA_DCR_BWC_2048                        (0x06000000)
487#define MCF5282_DMA_DCR_BWC_4096                        (0x08000000)
488#define MCF5282_DMA_DCR_BWC_8192                        (0x0A000000)
489#define MCF5282_DMA_DCR_BWC_16384                       (0x0C000000)
490#define MCF5282_DMA_DCR_BWC_32768                       (0x0E000000)
491#define MCF5282_DMA_DCR_SINC                            (0x00400000)
492#define MCF5282_DMA_DCR_SSIZE_LONG                      (0x00000000)
493#define MCF5282_DMA_DCR_SSIZE_BYTE                      (0x00100000)
494#define MCF5282_DMA_DCR_SSIZE_WORD                      (0x00200000)
495#define MCF5282_DMA_DCR_SSIZE_LINE                      (0x00300000)
496#define MCF5282_DMA_DCR_DINC                            (0x00080000)
497#define MCF5282_DMA_DCR_DSIZE_LONG                      (0x00000000)
498#define MCF5282_DMA_DCR_DSIZE_BYTE                      (0x00020000)
499#define MCF5282_DMA_DCR_DSIZE_WORD                      (0x00040000)
500#define MCF5282_DMA_DCR_START                           (0x00010000)
501#define MCF5282_DMA_DCR_AT                                      (0x00008000)
502
503#define MCF5282_DMA_DSR_CE                                      (0x40) 
504#define MCF5282_DMA_DSR_BES                                     (0x20) 
505#define MCF5282_DMA_DSR_BED                                     (0x10) 
506#define MCF5282_DMA_DSR_REQ                                     (0x04) 
507#define MCF5282_DMA_DSR_BSY                                     (0x02) 
508#define MCF5282_DMA_DSR_DONE                            (0x01) 
509
510/*********************************************************************
511*
512* Universal Asychronous Receiver/Transmitter (UART) Module
513*
514*********************************************************************/
515
516/* Read/Write access macros for general use */
517#define MCF5282_UART0_UMR               (*(vuint8  *)(void *)(&__IPSBAR[0x0200]))
518#define MCF5282_UART0_USR               (*(vuint8  *)(void *)(&__IPSBAR[0x0204]))
519#define MCF5282_UART0_UCSR              (*(vuint8  *)(void *)(&__IPSBAR[0x0204]))
520#define MCF5282_UART0_UCR               (*(vuint8  *)(void *)(&__IPSBAR[0x0208]))
521#define MCF5282_UART0_URB               (*(vuint8  *)(void *)(&__IPSBAR[0x020C]))
522#define MCF5282_UART0_UTB               (*(vuint8  *)(void *)(&__IPSBAR[0x020C]))
523#define MCF5282_UART0_UIPCR             (*(vuint8  *)(void *)(&__IPSBAR[0x0210]))
524#define MCF5282_UART0_UACR              (*(vuint8  *)(void *)(&__IPSBAR[0x0210]))
525#define MCF5282_UART0_UISR              (*(vuint8  *)(void *)(&__IPSBAR[0x0214]))
526#define MCF5282_UART0_UIMR              (*(vuint8  *)(void *)(&__IPSBAR[0x0214]))
527#define MCF5282_UART0_UBG1              (*(vuint8  *)(void *)(&__IPSBAR[0x0218]))
528#define MCF5282_UART0_UBG2              (*(vuint8  *)(void *)(&__IPSBAR[0x021C]))
529#define MCF5282_UART0_UIP               (*(vuint8  *)(void *)(&__IPSBAR[0x0234]))
530#define MCF5282_UART0_UOP1              (*(vuint8  *)(void *)(&__IPSBAR[0x0238]))
531#define MCF5282_UART0_UOP0              (*(vuint8  *)(void *)(&__IPSBAR[0x023C]))
532
533#define MCF5282_UART1_UMR               (*(vuint8  *)(void *)(&__IPSBAR[0x0240]))
534#define MCF5282_UART1_USR               (*(vuint8  *)(void *)(&__IPSBAR[0x0244]))
535#define MCF5282_UART1_UCSR              (*(vuint8  *)(void *)(&__IPSBAR[0x0244]))
536#define MCF5282_UART1_UCR               (*(vuint8  *)(void *)(&__IPSBAR[0x0248]))
537#define MCF5282_UART1_URB               (*(vuint8  *)(void *)(&__IPSBAR[0x024C]))
538#define MCF5282_UART1_UTB               (*(vuint8  *)(void *)(&__IPSBAR[0x024C]))
539#define MCF5282_UART1_UIPCR             (*(vuint8  *)(void *)(&__IPSBAR[0x0250]))
540#define MCF5282_UART1_UACR              (*(vuint8  *)(void *)(&__IPSBAR[0x0250]))
541#define MCF5282_UART1_UISR              (*(vuint8  *)(void *)(&__IPSBAR[0x0254]))
542#define MCF5282_UART1_UIMR              (*(vuint8  *)(void *)(&__IPSBAR[0x0254]))
543#define MCF5282_UART1_UBG1              (*(vuint8  *)(void *)(&__IPSBAR[0x0258]))
544#define MCF5282_UART1_UBG2              (*(vuint8  *)(void *)(&__IPSBAR[0x025C]))
545#define MCF5282_UART1_UIP               (*(vuint8  *)(void *)(&__IPSBAR[0x0274]))
546#define MCF5282_UART1_UOP1              (*(vuint8  *)(void *)(&__IPSBAR[0x0278]))
547#define MCF5282_UART1_UOP0              (*(vuint8  *)(void *)(&__IPSBAR[0x027C]))
548
549#define MCF5282_UART2_UMR               (*(vuint8  *)(void *)(&__IPSBAR[0x0280]))
550#define MCF5282_UART2_USR               (*(vuint8  *)(void *)(&__IPSBAR[0x0284]))
551#define MCF5282_UART2_UCSR              (*(vuint8  *)(void *)(&__IPSBAR[0x0284]))
552#define MCF5282_UART2_UCR               (*(vuint8  *)(void *)(&__IPSBAR[0x0288]))
553#define MCF5282_UART2_URB               (*(vuint8  *)(void *)(&__IPSBAR[0x028C]))
554#define MCF5282_UART2_UTB               (*(vuint8  *)(void *)(&__IPSBAR[0x028C]))
555#define MCF5282_UART2_UIPCR             (*(vuint8  *)(void *)(&__IPSBAR[0x0290]))
556#define MCF5282_UART2_UACR              (*(vuint8  *)(void *)(&__IPSBAR[0x0290]))
557#define MCF5282_UART2_UISR              (*(vuint8  *)(void *)(&__IPSBAR[0x0294]))
558#define MCF5282_UART2_UIMR              (*(vuint8  *)(void *)(&__IPSBAR[0x0294]))
559#define MCF5282_UART2_UBG1              (*(vuint8  *)(void *)(&__IPSBAR[0x0298]))
560#define MCF5282_UART2_UBG2              (*(vuint8  *)(void *)(&__IPSBAR[0x029C]))
561#define MCF5282_UART2_UIP               (*(vuint8  *)(void *)(&__IPSBAR[0x02B4]))
562#define MCF5282_UART2_UOP1              (*(vuint8  *)(void *)(&__IPSBAR[0x02B8]))
563#define MCF5282_UART2_UOP0              (*(vuint8  *)(void *)(&__IPSBAR[0x02BC]))
564
565#define MCF5282_UART_UMR(x)             (*(vuint8  *)(void *)(&__IPSBAR[0x0200+(x*0x40)]))
566#define MCF5282_UART_USR(x)             (*(vuint8  *)(void *)(&__IPSBAR[0x0204+(x*0x40)]))
567#define MCF5282_UART_UCSR(x)    (*(vuint8  *)(void *)(&__IPSBAR[0x0204+(x*0x40)]))
568#define MCF5282_UART_UCR(x)             (*(vuint8  *)(void *)(&__IPSBAR[0x0208+(x*0x40)]))
569#define MCF5282_UART_URB(x)             (*(vuint8  *)(void *)(&__IPSBAR[0x20C+(x*0x40)]))
570#define MCF5282_UART_UTB(x)             (*(vuint8  *)(void *)(&__IPSBAR[0x020C+(x*0x40)]))
571#define MCF5282_UART_UIPCR(x)   (*(vuint8  *)(void *)(&__IPSBAR[0x0210+(x*0x40)]))
572#define MCF5282_UART_UACR(x)    (*(vuint8  *)(void *)(&__IPSBAR[0x0210+(x*0x40)]))
573#define MCF5282_UART_UISR(x)    (*(vuint8  *)(void *)(&__IPSBAR[0x0214+(x*0x40)]))
574#define MCF5282_UART_UIMR(x)    (*(vuint8  *)(void *)(&__IPSBAR[0x0214+(x*0x40)]))
575#define MCF5282_UART_UBG1(x)    (*(vuint8  *)(void *)(&__IPSBAR[0x0218+(x*0x40)]))
576#define MCF5282_UART_UBG2(x)    (*(vuint8  *)(void *)(&__IPSBAR[0x021C+(x*0x40)]))
577#define MCF5282_UART_UIP(x)             (*(vuint8  *)(void *)(&__IPSBAR[0x0234+(x*0x40)]))
578#define MCF5282_UART_UOP1(x)    (*(vuint8  *)(void *)(&__IPSBAR[0x0238+(x*0x40)]))
579#define MCF5282_UART_UOP0(x)    (*(vuint8  *)(void *)(&__IPSBAR[0x023C+(x*0x40)]))
580
581/* Bit level definitions and macros */
582#define MCF5282_UART_UMR1_RXRTS                         (0x80)
583#define MCF5282_UART_UMR1_RXIRQ                         (0x40)
584#define MCF5282_UART_UMR1_ERR                           (0x20)
585#define MCF5282_UART_UMR1_PM_MULTI_ADDR         (0x1C)
586#define MCF5282_UART_UMR1_PM_MULTI_DATA         (0x18)
587#define MCF5282_UART_UMR1_PM_NONE                       (0x10)
588#define MCF5282_UART_UMR1_PM_FORCE_HI           (0x0C)
589#define MCF5282_UART_UMR1_PM_FORCE_LO           (0x08)
590#define MCF5282_UART_UMR1_PM_ODD                        (0x04)
591#define MCF5282_UART_UMR1_PM_EVEN                       (0x00)
592#define MCF5282_UART_UMR1_BC_5                          (0x00)
593#define MCF5282_UART_UMR1_BC_6                          (0x01)
594#define MCF5282_UART_UMR1_BC_7                          (0x02)
595#define MCF5282_UART_UMR1_BC_8                          (0x03)
596
597#define MCF5282_UART_UMR2_CM_NORMAL                     (0x00)
598#define MCF5282_UART_UMR2_CM_ECHO                       (0x40)
599#define MCF5282_UART_UMR2_CM_LOCAL_LOOP         (0x80)
600#define MCF5282_UART_UMR2_CM_REMOTE_LOOP        (0xC0)
601#define MCF5282_UART_UMR2_TXRTS                         (0x20)
602#define MCF5282_UART_UMR2_TXCTS                         (0x10)
603#define MCF5282_UART_UMR2_STOP_BITS_1           (0x07)
604#define MCF5282_UART_UMR2_STOP_BITS_15          (0x08)
605#define MCF5282_UART_UMR2_STOP_BITS_2           (0x0F)
606#define MCF5282_UART_UMR2_STOP_BITS(a)          ((a)&0x0f)
607
608#define MCF5282_UART_USR_RB                                     (0x80)
609#define MCF5282_UART_USR_FE                                     (0x40)
610#define MCF5282_UART_USR_PE                                     (0x20)
611#define MCF5282_UART_USR_OE                                     (0x10)
612#define MCF5282_UART_USR_TXEMP                          (0x08)
613#define MCF5282_UART_USR_TXRDY                          (0x04)
614#define MCF5282_UART_USR_FFULL                          (0x02)
615#define MCF5282_UART_USR_RXRDY                          (0x01)
616
617#define MCF5282_UART_UCSR_RCS_SYS_CLK           (0xD0)
618#define MCF5282_UART_UCSR_RCS_DTIN16            (0xE0)
619#define MCF5282_UART_UCSR_RCS_DTIN                      (0xF0)
620#define MCF5282_UART_UCSR_TCS_SYS_CLK           (0x0D)
621#define MCF5282_UART_UCSR_TCS_DTIN16            (0x0E)
622#define MCF5282_UART_UCSR_TCS_DTIN                      (0x0F)
623
624#define MCF5282_UART_UCR_NONE                           (0x00)
625#define MCF5282_UART_UCR_STOP_BREAK                     (0x70)
626#define MCF5282_UART_UCR_START_BREAK            (0x60)
627#define MCF5282_UART_UCR_RESET_BKCHGINT         (0x50)
628#define MCF5282_UART_UCR_RESET_ERROR            (0x40)
629#define MCF5282_UART_UCR_RESET_TX                       (0x30)
630#define MCF5282_UART_UCR_RESET_RX                       (0x20)
631#define MCF5282_UART_UCR_RESET_MR                       (0x10)
632#define MCF5282_UART_UCR_TX_DISABLED            (0x08)
633#define MCF5282_UART_UCR_TX_ENABLED                     (0x04)
634#define MCF5282_UART_UCR_RX_DISABLED            (0x02)
635#define MCF5282_UART_UCR_RX_ENABLED                     (0x01)
636
637#define MCF5282_UART_UIPCR_COS                          (0x10)
638#define MCF5282_UART_UIPCR_CTS                          (0x01)
639
640#define MCF5282_UART_UACR_IEC                           (0x01)
641
642#define MCF5282_UART_UISR_COS                           (0x80)
643#define MCF5282_UART_UISR_ABC                           (0x40)
644#define MCF5282_UART_UISR_RXFIFO                        (0x20)
645#define MCF5282_UART_UISR_TXFIFO                        (0x10)
646#define MCF5282_UART_UISR_RXFTO                         (0x08)
647#define MCF5282_UART_UISR_DB                            (0x04)
648#define MCF5282_UART_UISR_RXRDY                         (0x02)
649#define MCF5282_UART_UISR_TXRDY                         (0x01)
650
651#define MCF5282_UART_UIMR_COS                           (0x80)
652#define MCF5282_UART_UIMR_DB                            (0x04)
653#define MCF5282_UART_UIMR_FFULL                         (0x02)
654#define MCF5282_UART_UIMR_TXRDY                         (0x01)
655
656#define MCF5282_UART_UIP_CTS                            (0x01)
657
658#define MCF5282_UART_UOP_RTS                            (0x01)
659
660/*********************************************************************
661*
662* Inter-IC (I2C) Module
663*
664*********************************************************************/
665
666/* Read/Write access macros for general use */
667#define MCF5282_I2C_I2ADR               (*(vuint8  *)(void *)(&__IPSBAR[0x0300]))
668#define MCF5282_I2C_I2FDR               (*(vuint8  *)(void *)(&__IPSBAR[0x0304]))
669#define MCF5282_I2C_I2CR                (*(vuint8  *)(void *)(&__IPSBAR[0x0308]))
670#define MCF5282_I2C_I2SR                (*(vuint8  *)(void *)(&__IPSBAR[0x030C]))
671#define MCF5282_I2C_I2DR                (*(vuint8  *)(void *)(&__IPSBAR[0x0310]))
672
673/* Bit level definitions and macros */
674#define MCF5282_I2C_I2ADR_ADDR(x)                       (((x)&0x7F)<<0x01)
675
676#define MCF5282_I2C_I2FDR_IC(x)                         (((x)&0x3F))
677
678#define MCF5282_I2C_I2CR_IEN                            (0x80)
679#define MCF5282_I2C_I2CR_IIEN                           (0x40)
680#define MCF5282_I2C_I2CR_MSTA                           (0x20)
681#define MCF5282_I2C_I2CR_MTX                            (0x10)
682#define MCF5282_I2C_I2CR_TXAK                           (0x08)
683#define MCF5282_I2C_I2CR_RSTA                           (0x04)
684
685#define MCF5282_I2C_I2SR_ICF                            (0x80)
686#define MCF5282_I2C_I2SR_IAAS                           (0x40)
687#define MCF5282_I2C_I2SR_IBB                            (0x20)
688#define MCF5282_I2C_I2SR_IAL                            (0x10)
689#define MCF5282_I2C_I2SR_SRW                            (0x04)
690#define MCF5282_I2C_I2SR_IIF                            (0x02)
691#define MCF5282_I2C_I2SR_RXAK                           (0x01)
692
693/*********************************************************************
694*
695* Queued Serial Peripheral Interface (QSPI) Module
696*
697*********************************************************************/
698
699/* Read/Write access macros for general use */
700#define MCF5282_QSPI_QMR                (*(vuint16 *)(void *)(&__IPSBAR[0x0340]))
701#define MCF5282_QSPI_QDLYR              (*(vuint16 *)(void *)(&__IPSBAR[0x0344]))
702#define MCF5282_QSPI_QWR                (*(vuint16 *)(void *)(&__IPSBAR[0x0348]))
703#define MCF5282_QSPI_QIR                (*(vuint16 *)(void *)(&__IPSBAR[0x034C]))
704#define MCF5282_QSPI_QAR                (*(vuint16 *)(void *)(&__IPSBAR[0x0350]))
705#define MCF5282_QSPI_QDR                (*(vuint16 *)(void *)(&__IPSBAR[0x0354]))
706#define MCF5282_QSPI_QCR                (*(vuint16 *)(void *)(&__IPSBAR[0x0354]))
707
708/* Bit level definitions and macros */
709#define MCF5282_QSPI_QMR_MSTR                           (0x8000)
710#define MCF5282_QSPI_QMR_DOHIE                          (0x4000)
711#define MCF5282_QSPI_QMR_BITS_16                        (0x0000)
712#define MCF5282_QSPI_QMR_BITS_8                         (0x2000)
713#define MCF5282_QSPI_QMR_BITS_9                         (0x2400)
714#define MCF5282_QSPI_QMR_BITS_10                        (0x2800)
715#define MCF5282_QSPI_QMR_BITS_11                        (0x2C00)
716#define MCF5282_QSPI_QMR_BITS_12                        (0x3000)
717#define MCF5282_QSPI_QMR_BITS_13                        (0x3400)
718#define MCF5282_QSPI_QMR_BITS_14                        (0x3800)
719#define MCF5282_QSPI_QMR_BITS_15                        (0x3C00)
720#define MCF5282_QSPI_QMR_CPOL                           (0x0200)
721#define MCF5282_QSPI_QMR_CPHA                           (0x0100)
722#define MCF5282_QSPI_QMR_BAUD(x)                        (((x)&0x00FF))
723                                                                                       
724#define MCF5282_QSPI_QDLYR_SPE                          (0x80)
725#define MCF5282_QSPI_QDLYR_QCD(x)                       (((x)&0x007F)<<8)
726#define MCF5282_QSPI_QDLYR_DTL(x)                       (((x)&0x00FF))         
727
728#define MCF5282_QSPI_QWR_HALT                           (0x8000)               
729#define MCF5282_QSPI_QWR_WREN                           (0x4000)
730#define MCF5282_QSPI_QWR_WRTO                           (0x2000)
731#define MCF5282_QSPI_QWR_CSIV                           (0x1000)
732#define MCF5282_QSPI_QWR_ENDQP(x)                       (((x)&0x000F)<<8)
733#define MCF5282_QSPI_QWR_CPTQP(x)                       (((x)&0x000F)<<4)
734#define MCF5282_QSPI_QWR_NEWQP(x)                       (((x)&0x000F))
735               
736#define MCF5282_QSPI_QIR_WCEFB                          (0x8000)
737#define MCF5282_QSPI_QIR_ABRTB                          (0x4000)
738#define MCF5282_QSPI_QIR_ABRTL                          (0x1000)
739#define MCF5282_QSPI_QIR_WCEFE                          (0x0800)
740#define MCF5282_QSPI_QIR_ABRTE                          (0x0400)
741#define MCF5282_QSPI_QIR_SPIFE                          (0x0100)
742#define MCF5282_QSPI_QIR_WCEF                           (0x0008)
743#define MCF5282_QSPI_QIR_ABRT                           (0x0004)
744#define MCF5282_QSPI_QIR_SPIF                           (0x0001)
745
746#define MCF5282_QSPI_QAR_ADDR(x)                        (((x)&0x003F))
747
748#define MCF5282_QSPI_QDR_COMMAND(x)                     (((x)&0xFF00))
749
750#define MCF5282_QSPI_QCR_DATA(x)                        (((x)&0x00FF)<<8)
751#define MCF5282_QSPI_QCR_CONT                           (0x8000)
752#define MCF5282_QSPI_QCR_BITSE                          (0x4000)
753#define MCF5282_QSPI_QCR_DT                                     (0x2000)
754#define MCF5282_QSPI_QCR_DSCK                           (0x1000)
755#define MCF5282_QSPI_QCR_CS                                     (((x)&0x000F)<<8)
756
757/*********************************************************************
758*
759* DMA Timer Module
760*
761*********************************************************************/
762
763/* Read/Write access macros for general use */
764#define MCF5282_TIMER0_DTMR             (*(vuint16 *)(void *)(&__IPSBAR[0x0400]))
765#define MCF5282_TIMER0_DTXMR    (*(vuint8  *)(void *)(&__IPSBAR[0x0402]))
766#define MCF5282_TIMER0_DTER             (*(vuint8  *)(void *)(&__IPSBAR[0x0403]))
767#define MCF5282_TIMER0_DTRR             (*(vuint32 *)(void *)(&__IPSBAR[0x0404]))
768#define MCF5282_TIMER0_DTCR             (*(vuint32 *)(void *)(&__IPSBAR[0x0408]))
769#define MCF5282_TIMER0_DTCN             (*(vuint32 *)(void *)(&__IPSBAR[0x040C]))
770
771#define MCF5282_TIMER1_DTMR             (*(vuint16 *)(void *)(&__IPSBAR[0x0440]))
772#define MCF5282_TIMER1_DTXMR    (*(vuint8  *)(void *)(&__IPSBAR[0x0442]))
773#define MCF5282_TIMER1_DTER             (*(vuint8  *)(void *)(&__IPSBAR[0x0443]))
774#define MCF5282_TIMER1_DTRR             (*(vuint32 *)(void *)(&__IPSBAR[0x0444]))
775#define MCF5282_TIMER1_DTCR             (*(vuint32 *)(void *)(&__IPSBAR[0x0448]))
776#define MCF5282_TIMER1_DTCN             (*(vuint32 *)(void *)(&__IPSBAR[0x044C]))
777
778#define MCF5282_TIMER2_DTMR             (*(vuint16 *)(void *)(&__IPSBAR[0x0480]))
779#define MCF5282_TIMER2_DTXMR    (*(vuint8  *)(void *)(&__IPSBAR[0x0482]))
780#define MCF5282_TIMER2_DTER             (*(vuint8  *)(void *)(&__IPSBAR[0x0483]))
781#define MCF5282_TIMER2_DTRR             (*(vuint32 *)(void *)(&__IPSBAR[0x0484]))
782#define MCF5282_TIMER2_DTCR             (*(vuint32 *)(void *)(&__IPSBAR[0x0488]))
783#define MCF5282_TIMER2_DTCN             (*(vuint32 *)(void *)(&__IPSBAR[0x048C]))
784
785#define MCF5282_TIMER3_DTMR             (*(vuint16 *)(void *)(&__IPSBAR[0x04C0]))
786#define MCF5282_TIMER3_DTXMR    (*(vuint8  *)(void *)(&__IPSBAR[0x04C2]))
787#define MCF5282_TIMER3_DTER             (*(vuint8  *)(void *)(&__IPSBAR[0x04C3]))
788#define MCF5282_TIMER3_DTRR             (*(vuint32 *)(void *)(&__IPSBAR[0x04C4]))
789#define MCF5282_TIMER3_DTCR             (*(vuint32 *)(void *)(&__IPSBAR[0x04C8]))
790#define MCF5282_TIMER3_DTCN             (*(vuint32 *)(void *)(&__IPSBAR[0x04CC]))
791
792#define MCF5282_TIMER_DTMR(x)   (*(vuint16 *)(void *)(&__IPSBAR[0x0400+(x*0x40)]))
793#define MCF5282_TIMER_DTXMR(x)  (*(vuint8  *)(void *)(&__IPSBAR[0x0402+(x*0x40)]))
794#define MCF5282_TIMER_DTER(x)   (*(vuint8  *)(void *)(&__IPSBAR[0x0403+(x*0x40)]))
795#define MCF5282_TIMER_DTRR(x)   (*(vuint32 *)(void *)(&__IPSBAR[0x0404+(x*0x40)]))
796#define MCF5282_TIMER_DTCR(x)   (*(vuint32 *)(void *)(&__IPSBAR[0x0408+(x*0x40)]))
797#define MCF5282_TIMER_DTCN(x)   (*(vuint32 *)(void *)(&__IPSBAR[0x040C+(x*0x40)]))
798
799/* Bit level definitions and macros */
800#define MCF5282_TIMER_DTMR_PS(a)                        (((a)&0x00FF)<<8)
801#define MCF5282_TIMER_DTMR_CE_ANY                       (0x00C0)
802#define MCF5282_TIMER_DTMR_CE_FALL                      (0x0080)
803#define MCF5282_TIMER_DTMR_CE_RISE                      (0x0040)
804#define MCF5282_TIMER_DTMR_CE_NONE                      (0x0000)
805#define MCF5282_TIMER_DTMR_OM                           (0x0020)
806#define MCF5282_TIMER_DTMR_ORRI                         (0x0010)
807#define MCF5282_TIMER_DTMR_FRR                          (0x0008)
808#define MCF5282_TIMER_DTMR_CLK_DTIN                     (0x0006)
809#define MCF5282_TIMER_DTMR_CLK_DIV16            (0x0004)
810#define MCF5282_TIMER_DTMR_CLK_DIV1                     (0x0002)
811#define MCF5282_TIMER_DTMR_CLK_STOP                     (0x0000)
812#define MCF5282_TIMER_DTMR_RST                          (0x0001)
813
814#define MCF5282_TIMER_DTXMR_DMAEN                       (0x80)
815#define MCF5282_TIMER_DTXMR_MODE16                      (0x01)
816
817#define MCF5282_TIMER_DTER_REF                          (0x02)
818#define MCF5282_TIMER_DTER_CAP                          (0x01)
819
820/*********************************************************************
821*
822* Interrupt Controller (INTC) Module
823*
824*********************************************************************/
825
826/* Read/Write access macros for general use */
827#define MCF5282_INTC0_IPRH              (*(vuint32 *)(void *)(&__IPSBAR[0x0C00]))
828#define MCF5282_INTC0_IPRL              (*(vuint32 *)(void *)(&__IPSBAR[0x0C04]))
829#define MCF5282_INTC0_IMRH              (*(vuint32 *)(void *)(&__IPSBAR[0x0C08]))
830#define MCF5282_INTC0_IMRL              (*(vuint32 *)(void *)(&__IPSBAR[0x0C0C]))
831#define MCF5282_INTC0_INTFRCH   (*(vuint32 *)(void *)(&__IPSBAR[0x0C10]))
832#define MCF5282_INTC0_INTFRCL   (*(vuint32 *)(void *)(&__IPSBAR[0x0C14]))
833#define MCF5282_INTC0_IRLR              (*(vuint8  *)(void *)(&__IPSBAR[0x0C18]))
834#define MCF5282_INTC0_IACKLPR   (*(vuint8  *)(void *)(&__IPSBAR[0x0C19]))
835#define MCF5282_INTC0_ICR1              (*(vuint8  *)(void *)(&__IPSBAR[0x0C41]))
836#define MCF5282_INTC0_ICR2              (*(vuint8  *)(void *)(&__IPSBAR[0x0C42]))
837#define MCF5282_INTC0_ICR3              (*(vuint8  *)(void *)(&__IPSBAR[0x0C43]))
838#define MCF5282_INTC0_ICR4              (*(vuint8  *)(void *)(&__IPSBAR[0x0C44]))
839#define MCF5282_INTC0_ICR5              (*(vuint8  *)(void *)(&__IPSBAR[0x0C45]))
840#define MCF5282_INTC0_ICR6              (*(vuint8  *)(void *)(&__IPSBAR[0x0C46]))
841#define MCF5282_INTC0_ICR7              (*(vuint8  *)(void *)(&__IPSBAR[0x0C47]))
842#define MCF5282_INTC0_ICR8              (*(vuint8  *)(void *)(&__IPSBAR[0x0C48]))
843#define MCF5282_INTC0_ICR9              (*(vuint8  *)(void *)(&__IPSBAR[0x0C49]))
844#define MCF5282_INTC0_ICR10             (*(vuint8  *)(void *)(&__IPSBAR[0x0C4A]))
845#define MCF5282_INTC0_ICR11             (*(vuint8  *)(void *)(&__IPSBAR[0x0C4B]))
846#define MCF5282_INTC0_ICR12             (*(vuint8  *)(void *)(&__IPSBAR[0x0C4C]))
847#define MCF5282_INTC0_ICR13             (*(vuint8  *)(void *)(&__IPSBAR[0x0C4D]))
848#define MCF5282_INTC0_ICR14             (*(vuint8  *)(void *)(&__IPSBAR[0x0C4E]))
849#define MCF5282_INTC0_ICR15             (*(vuint8  *)(void *)(&__IPSBAR[0x0C4F]))
850#define MCF5282_INTC0_ICR17             (*(vuint8  *)(void *)(&__IPSBAR[0x0C51]))
851#define MCF5282_INTC0_ICR18             (*(vuint8  *)(void *)(&__IPSBAR[0x0C52]))
852#define MCF5282_INTC0_ICR19             (*(vuint8  *)(void *)(&__IPSBAR[0x0C53]))
853#define MCF5282_INTC0_ICR20             (*(vuint8  *)(void *)(&__IPSBAR[0x0C54]))
854#define MCF5282_INTC0_ICR21             (*(vuint8  *)(void *)(&__IPSBAR[0x0C55]))
855#define MCF5282_INTC0_ICR22             (*(vuint8  *)(void *)(&__IPSBAR[0x0C56]))
856#define MCF5282_INTC0_ICR23             (*(vuint8  *)(void *)(&__IPSBAR[0x0C57]))
857#define MCF5282_INTC0_ICR24             (*(vuint8  *)(void *)(&__IPSBAR[0x0C58]))
858#define MCF5282_INTC0_ICR25             (*(vuint8  *)(void *)(&__IPSBAR[0x0C59]))
859#define MCF5282_INTC0_ICR26             (*(vuint8  *)(void *)(&__IPSBAR[0x0C5A]))
860#define MCF5282_INTC0_ICR27             (*(vuint8  *)(void *)(&__IPSBAR[0x0C5B]))
861#define MCF5282_INTC0_ICR28             (*(vuint8  *)(void *)(&__IPSBAR[0x0C5C]))
862#define MCF5282_INTC0_ICR29             (*(vuint8  *)(void *)(&__IPSBAR[0x0C5D]))
863#define MCF5282_INTC0_ICR30             (*(vuint8  *)(void *)(&__IPSBAR[0x0C5E]))
864#define MCF5282_INTC0_ICR31             (*(vuint8  *)(void *)(&__IPSBAR[0x0C5F]))
865#define MCF5282_INTC0_ICR32             (*(vuint8  *)(void *)(&__IPSBAR[0x0C60]))
866#define MCF5282_INTC0_ICR33             (*(vuint8  *)(void *)(&__IPSBAR[0x0C61]))
867#define MCF5282_INTC0_ICR34             (*(vuint8  *)(void *)(&__IPSBAR[0x0C62]))
868#define MCF5282_INTC0_ICR35             (*(vuint8  *)(void *)(&__IPSBAR[0x0C63]))
869#define MCF5282_INTC0_ICR36             (*(vuint8  *)(void *)(&__IPSBAR[0x0C64]))
870#define MCF5282_INTC0_ICR37             (*(vuint8  *)(void *)(&__IPSBAR[0x0C65]))
871#define MCF5282_INTC0_ICR38             (*(vuint8  *)(void *)(&__IPSBAR[0x0C66]))
872#define MCF5282_INTC0_ICR39             (*(vuint8  *)(void *)(&__IPSBAR[0x0C67]))
873#define MCF5282_INTC0_ICR40             (*(vuint8  *)(void *)(&__IPSBAR[0x0C68]))
874#define MCF5282_INTC0_ICR41             (*(vuint8  *)(void *)(&__IPSBAR[0x0C69]))
875#define MCF5282_INTC0_ICR42             (*(vuint8  *)(void *)(&__IPSBAR[0x0C6A]))
876#define MCF5282_INTC0_ICR43             (*(vuint8  *)(void *)(&__IPSBAR[0x0C6B]))
877#define MCF5282_INTC0_ICR44             (*(vuint8  *)(void *)(&__IPSBAR[0x0C6C]))
878#define MCF5282_INTC0_ICR45             (*(vuint8  *)(void *)(&__IPSBAR[0x0C6D]))
879#define MCF5282_INTC0_ICR46             (*(vuint8  *)(void *)(&__IPSBAR[0x0C6E]))
880#define MCF5282_INTC0_ICR47             (*(vuint8  *)(void *)(&__IPSBAR[0x0C6F]))
881#define MCF5282_INTC0_ICR48             (*(vuint8  *)(void *)(&__IPSBAR[0x0C70]))
882#define MCF5282_INTC0_ICR49             (*(vuint8  *)(void *)(&__IPSBAR[0x0C71]))
883#define MCF5282_INTC0_ICR50             (*(vuint8  *)(void *)(&__IPSBAR[0x0C72]))
884#define MCF5282_INTC0_ICR51             (*(vuint8  *)(void *)(&__IPSBAR[0x0C73]))
885#define MCF5282_INTC0_ICR52             (*(vuint8  *)(void *)(&__IPSBAR[0x0C74]))
886#define MCF5282_INTC0_ICR53             (*(vuint8  *)(void *)(&__IPSBAR[0x0C75]))
887#define MCF5282_INTC0_ICR54             (*(vuint8  *)(void *)(&__IPSBAR[0x0C76]))
888#define MCF5282_INTC0_ICR55             (*(vuint8  *)(void *)(&__IPSBAR[0x0C77]))
889#define MCF5282_INTC0_ICR56             (*(vuint8  *)(void *)(&__IPSBAR[0x0C78]))
890#define MCF5282_INTC0_ICR57             (*(vuint8  *)(void *)(&__IPSBAR[0x0C79]))
891#define MCF5282_INTC0_ICR58             (*(vuint8  *)(void *)(&__IPSBAR[0x0C7A]))
892#define MCF5282_INTC0_ICR59             (*(vuint8  *)(void *)(&__IPSBAR[0x0C7B]))
893#define MCF5282_INTC0_ICR60             (*(vuint8  *)(void *)(&__IPSBAR[0x0C7C]))
894#define MCF5282_INTC0_ICR61             (*(vuint8  *)(void *)(&__IPSBAR[0x0C7D]))
895#define MCF5282_INTC0_ICR62             (*(vuint8  *)(void *)(&__IPSBAR[0x0C7E]))
896#define MCF5282_INTC0_SWIACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0CE0]))
897#define MCF5282_INTC0_L1IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0CE4]))
898#define MCF5282_INTC0_L2IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0CE8]))
899#define MCF5282_INTC0_L3IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0CEC]))
900#define MCF5282_INTC0_L4IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0CF0]))
901#define MCF5282_INTC0_L5IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0CF4]))
902#define MCF5282_INTC0_L6IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0CF8]))
903#define MCF5282_INTC0_L7IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0CFC]))
904
905#define MCF5282_INTC1_IPRH              (*(vuint32 *)(void *)(&__IPSBAR[0x0D00]))
906#define MCF5282_INTC1_IPRL              (*(vuint32 *)(void *)(&__IPSBAR[0x0D04]))
907#define MCF5282_INTC1_IMRH              (*(vuint32 *)(void *)(&__IPSBAR[0x0D08]))
908#define MCF5282_INTC1_IMRL              (*(vuint32 *)(void *)(&__IPSBAR[0x0D0C]))
909#define MCF5282_INTC1_INTFRCH   (*(vuint32 *)(void *)(&__IPSBAR[0x0D10]))
910#define MCF5282_INTC1_INTFRCL   (*(vuint32 *)(void *)(&__IPSBAR[0x0D14]))
911#define MCF5282_INTC1_IRLR              (*(vuint8  *)(void *)(&__IPSBAR[0x0D18]))
912#define MCF5282_INTC1_IACKLPR   (*(vuint8  *)(void *)(&__IPSBAR[0x0D19]))
913#define MCF5282_INTC1_ICR08             (*(vuint8  *)(void *)(&__IPSBAR[0x0D48]))
914#define MCF5282_INTC1_ICR09             (*(vuint8  *)(void *)(&__IPSBAR[0x0D49]))
915#define MCF5282_INTC1_ICR10             (*(vuint8  *)(void *)(&__IPSBAR[0x0D4A]))
916#define MCF5282_INTC1_ICR11             (*(vuint8  *)(void *)(&__IPSBAR[0x0D4B]))
917#define MCF5282_INTC1_ICR12             (*(vuint8  *)(void *)(&__IPSBAR[0x0D4C]))
918#define MCF5282_INTC1_ICR13             (*(vuint8  *)(void *)(&__IPSBAR[0x0D4D]))
919#define MCF5282_INTC1_ICR14             (*(vuint8  *)(void *)(&__IPSBAR[0x0D4E]))
920#define MCF5282_INTC1_ICR15             (*(vuint8  *)(void *)(&__IPSBAR[0x0D4F]))
921#define MCF5282_INTC1_ICR16             (*(vuint8  *)(void *)(&__IPSBAR[0x0D50]))
922#define MCF5282_INTC1_ICR17             (*(vuint8  *)(void *)(&__IPSBAR[0x0D51]))
923#define MCF5282_INTC1_ICR18             (*(vuint8  *)(void *)(&__IPSBAR[0x0D52]))
924#define MCF5282_INTC1_ICR19             (*(vuint8  *)(void *)(&__IPSBAR[0x0D53]))
925#define MCF5282_INTC1_ICR20             (*(vuint8  *)(void *)(&__IPSBAR[0x0D54]))
926#define MCF5282_INTC1_ICR21             (*(vuint8  *)(void *)(&__IPSBAR[0x0D55]))
927#define MCF5282_INTC1_ICR22             (*(vuint8  *)(void *)(&__IPSBAR[0x0D56]))
928#define MCF5282_INTC1_ICR23             (*(vuint8  *)(void *)(&__IPSBAR[0x0D57]))
929#define MCF5282_INTC1_ICR24             (*(vuint8  *)(void *)(&__IPSBAR[0x0D58]))
930#define MCF5282_INTC1_ICR25             (*(vuint8  *)(void *)(&__IPSBAR[0x0D59]))
931#define MCF5282_INTC1_ICR26             (*(vuint8  *)(void *)(&__IPSBAR[0x0D5A]))
932#define MCF5282_INTC1_SWIACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0DE0]))
933#define MCF5282_INTC1_L1IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0DE4]))
934#define MCF5282_INTC1_L2IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0DE8]))
935#define MCF5282_INTC1_L3IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0DEC]))
936#define MCF5282_INTC1_L4IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0DF0]))
937#define MCF5282_INTC1_L5IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0DF4]))
938#define MCF5282_INTC1_L6IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0DF8]))
939#define MCF5282_INTC1_L7IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0DFC]))
940
941/* Bit level definitions and macros */
942#define MCF5282_INTC_IPRH_INT63                         (0x80000000)
943#define MCF5282_INTC_IPRH_INT62                         (0x40000000)
944#define MCF5282_INTC_IPRH_INT61                         (0x20000000)
945#define MCF5282_INTC_IPRH_INT60                         (0x10000000)
946#define MCF5282_INTC_IPRH_INT59                         (0x08000000)
947#define MCF5282_INTC_IPRH_INT58                         (0x04000000)
948#define MCF5282_INTC_IPRH_INT57                         (0x02000000)
949#define MCF5282_INTC_IPRH_INT56                         (0x01000000)
950#define MCF5282_INTC_IPRH_INT55                         (0x00800000)
951#define MCF5282_INTC_IPRH_INT54                         (0x00400000)
952#define MCF5282_INTC_IPRH_INT53                         (0x00200000)
953#define MCF5282_INTC_IPRH_INT52                         (0x00100000)
954#define MCF5282_INTC_IPRH_INT51                         (0x00080000)
955#define MCF5282_INTC_IPRH_INT50                         (0x00040000)
956#define MCF5282_INTC_IPRH_INT49                         (0x00020000)
957#define MCF5282_INTC_IPRH_INT48                         (0x00010000)
958#define MCF5282_INTC_IPRH_INT47                         (0x00008000)
959#define MCF5282_INTC_IPRH_INT46                         (0x00004000)
960#define MCF5282_INTC_IPRH_INT45                         (0x00002000)
961#define MCF5282_INTC_IPRH_INT44                         (0x00001000)
962#define MCF5282_INTC_IPRH_INT43                         (0x00000800)
963#define MCF5282_INTC_IPRH_INT42                         (0x00000400)
964#define MCF5282_INTC_IPRH_INT41                         (0x00000200)
965#define MCF5282_INTC_IPRH_INT40                         (0x00000100)
966#define MCF5282_INTC_IPRH_INT39                         (0x00000080)
967#define MCF5282_INTC_IPRH_INT38                         (0x00000040)
968#define MCF5282_INTC_IPRH_INT37                         (0x00000020)
969#define MCF5282_INTC_IPRH_INT36                         (0x00000010)
970#define MCF5282_INTC_IPRH_INT35                         (0x00000008)
971#define MCF5282_INTC_IPRH_INT34                         (0x00000004)
972#define MCF5282_INTC_IPRH_INT33                         (0x00000002)
973#define MCF5282_INTC_IPRH_INT32                         (0x00000001)
974
975#define MCF5282_INTC_IPRL_INT31                         (0x80000000)
976#define MCF5282_INTC_IPRL_INT30                         (0x40000000)
977#define MCF5282_INTC_IPRL_INT29                         (0x20000000)
978#define MCF5282_INTC_IPRL_INT28                         (0x10000000)
979#define MCF5282_INTC_IPRL_INT27                         (0x08000000)
980#define MCF5282_INTC_IPRL_INT26                         (0x04000000)
981#define MCF5282_INTC_IPRL_INT25                         (0x02000000)
982#define MCF5282_INTC_IPRL_INT24                         (0x01000000)
983#define MCF5282_INTC_IPRL_INT23                         (0x00800000)
984#define MCF5282_INTC_IPRL_INT22                         (0x00400000)
985#define MCF5282_INTC_IPRL_INT21                         (0x00200000)
986#define MCF5282_INTC_IPRL_INT20                         (0x00100000)
987#define MCF5282_INTC_IPRL_INT19                         (0x00080000)
988#define MCF5282_INTC_IPRL_INT18                         (0x00040000)
989#define MCF5282_INTC_IPRL_INT17                         (0x00020000)
990#define MCF5282_INTC_IPRL_INT16                         (0x00010000)
991#define MCF5282_INTC_IPRL_INT15                         (0x00008000)
992#define MCF5282_INTC_IPRL_INT14                         (0x00004000)
993#define MCF5282_INTC_IPRL_INT13                         (0x00002000)
994#define MCF5282_INTC_IPRL_INT12                         (0x00001000)
995#define MCF5282_INTC_IPRL_INT11                         (0x00000800)
996#define MCF5282_INTC_IPRL_INT10                         (0x00000400)
997#define MCF5282_INTC_IPRL_INT9                          (0x00000200)
998#define MCF5282_INTC_IPRL_INT8                          (0x00000100)
999#define MCF5282_INTC_IPRL_INT7                          (0x00000080)
1000#define MCF5282_INTC_IPRL_INT6                          (0x00000040)
1001#define MCF5282_INTC_IPRL_INT5                          (0x00000020)
1002#define MCF5282_INTC_IPRL_INT4                          (0x00000010)
1003#define MCF5282_INTC_IPRL_INT3                          (0x00000008)
1004#define MCF5282_INTC_IPRL_INT2                          (0x00000004)
1005#define MCF5282_INTC_IPRL_INT1                          (0x00000002)
1006
1007#define MCF5282_INTC_IMRH_INT63                         (0x80000000)
1008#define MCF5282_INTC_IMRH_INT62                         (0x40000000)
1009#define MCF5282_INTC_IMRH_INT61                         (0x20000000)
1010#define MCF5282_INTC_IMRH_INT60                         (0x10000000)
1011#define MCF5282_INTC_IMRH_INT59                         (0x08000000)
1012#define MCF5282_INTC_IMRH_INT58                         (0x04000000)
1013#define MCF5282_INTC_IMRH_INT57                         (0x02000000)
1014#define MCF5282_INTC_IMRH_INT56                         (0x01000000)
1015#define MCF5282_INTC_IMRH_INT55                         (0x00800000)
1016#define MCF5282_INTC_IMRH_INT54                         (0x00400000)
1017#define MCF5282_INTC_IMRH_INT53                         (0x00200000)
1018#define MCF5282_INTC_IMRH_INT52                         (0x00100000)
1019#define MCF5282_INTC_IMRH_INT51                         (0x00080000)
1020#define MCF5282_INTC_IMRH_INT50                         (0x00040000)
1021#define MCF5282_INTC_IMRH_INT49                         (0x00020000)
1022#define MCF5282_INTC_IMRH_INT48                         (0x00010000)
1023#define MCF5282_INTC_IMRH_INT47                         (0x00008000)
1024#define MCF5282_INTC_IMRH_INT46                         (0x00004000)
1025#define MCF5282_INTC_IMRH_INT45                         (0x00002000)
1026#define MCF5282_INTC_IMRH_INT44                         (0x00001000)
1027#define MCF5282_INTC_IMRH_INT43                         (0x00000800)
1028#define MCF5282_INTC_IMRH_INT42                         (0x00000400)
1029#define MCF5282_INTC_IMRH_INT41                         (0x00000200)
1030#define MCF5282_INTC_IMRH_INT40                         (0x00000100)
1031#define MCF5282_INTC_IMRH_INT39                         (0x00000080)
1032#define MCF5282_INTC_IMRH_INT38                         (0x00000040)
1033#define MCF5282_INTC_IMRH_INT37                         (0x00000020)
1034#define MCF5282_INTC_IMRH_INT36                         (0x00000010)
1035#define MCF5282_INTC_IMRH_INT35                         (0x00000008)
1036#define MCF5282_INTC_IMRH_INT34                         (0x00000004)
1037#define MCF5282_INTC_IMRH_INT33                         (0x00000002)
1038#define MCF5282_INTC_IMRH_INT32                         (0x00000001)
1039
1040#define MCF5282_INTC_IMRL_INT31                         (0x80000000)
1041#define MCF5282_INTC_IMRL_INT30                         (0x40000000)
1042#define MCF5282_INTC_IMRL_INT29                         (0x20000000)
1043#define MCF5282_INTC_IMRL_INT28                         (0x10000000)
1044#define MCF5282_INTC_IMRL_INT27                         (0x08000000)
1045#define MCF5282_INTC_IMRL_INT26                         (0x04000000)
1046#define MCF5282_INTC_IMRL_INT25                         (0x02000000)
1047#define MCF5282_INTC_IMRL_INT24                         (0x01000000)
1048#define MCF5282_INTC_IMRL_INT23                         (0x00800000)
1049#define MCF5282_INTC_IMRL_INT22                         (0x00400000)
1050#define MCF5282_INTC_IMRL_INT21                         (0x00200000)
1051#define MCF5282_INTC_IMRL_INT20                         (0x00100000)
1052#define MCF5282_INTC_IMRL_INT19                         (0x00080000)
1053#define MCF5282_INTC_IMRL_INT18                         (0x00040000)
1054#define MCF5282_INTC_IMRL_INT17                         (0x00020000)
1055#define MCF5282_INTC_IMRL_INT16                         (0x00010000)
1056#define MCF5282_INTC_IMRL_INT15                         (0x00008000)
1057#define MCF5282_INTC_IMRL_INT14                         (0x00004000)
1058#define MCF5282_INTC_IMRL_INT13                         (0x00002000)
1059#define MCF5282_INTC_IMRL_INT12                         (0x00001000)
1060#define MCF5282_INTC_IMRL_INT11                         (0x00000800)
1061#define MCF5282_INTC_IMRL_INT10                         (0x00000400)
1062#define MCF5282_INTC_IMRL_INT9                          (0x00000200)
1063#define MCF5282_INTC_IMRL_INT8                          (0x00000100)
1064#define MCF5282_INTC_IMRL_INT7                          (0x00000080)
1065#define MCF5282_INTC_IMRL_INT6                          (0x00000040)
1066#define MCF5282_INTC_IMRL_INT5                          (0x00000020)
1067#define MCF5282_INTC_IMRL_INT4                          (0x00000010)
1068#define MCF5282_INTC_IMRL_INT3                          (0x00000008)
1069#define MCF5282_INTC_IMRL_INT2                          (0x00000004)
1070#define MCF5282_INTC_IMRL_INT1                          (0x00000002)
1071#define MCF5282_INTC_IMRL_MASKALL                       (0x00000001)
1072
1073#define MCF5282_INTC_INTFRCH_INT63                      (0x80000000)
1074#define MCF5282_INTC_INTFRCH_INT62                      (0x40000000)
1075#define MCF5282_INTC_INTFRCH_INT61                      (0x20000000)
1076#define MCF5282_INTC_INTFRCH_INT60                      (0x10000000)
1077#define MCF5282_INTC_INTFRCH_INT59                      (0x08000000)
1078#define MCF5282_INTC_INTFRCH_INT58                      (0x04000000)
1079#define MCF5282_INTC_INTFRCH_INT57                      (0x02000000)
1080#define MCF5282_INTC_INTFRCH_INT56                      (0x01000000)
1081#define MCF5282_INTC_INTFRCH_INT55                      (0x00800000)
1082#define MCF5282_INTC_INTFRCH_INT54                      (0x00400000)
1083#define MCF5282_INTC_INTFRCH_INT53                      (0x00200000)
1084#define MCF5282_INTC_INTFRCH_INT52                      (0x00100000)
1085#define MCF5282_INTC_INTFRCH_INT51                      (0x00080000)
1086#define MCF5282_INTC_INTFRCH_INT50                      (0x00040000)
1087#define MCF5282_INTC_INTFRCH_INT49                      (0x00020000)
1088#define MCF5282_INTC_INTFRCH_INT48                      (0x00010000)
1089#define MCF5282_INTC_INTFRCH_INT47                      (0x00008000)
1090#define MCF5282_INTC_INTFRCH_INT46                      (0x00004000)
1091#define MCF5282_INTC_INTFRCH_INT45                      (0x00002000)
1092#define MCF5282_INTC_INTFRCH_INT44                      (0x00001000)
1093#define MCF5282_INTC_INTFRCH_INT43                      (0x00000800)
1094#define MCF5282_INTC_INTFRCH_INT42                      (0x00000400)
1095#define MCF5282_INTC_INTFRCH_INT41                      (0x00000200)
1096#define MCF5282_INTC_INTFRCH_INT40                      (0x00000100)
1097#define MCF5282_INTC_INTFRCH_INT39                      (0x00000080)
1098#define MCF5282_INTC_INTFRCH_INT38                      (0x00000040)
1099#define MCF5282_INTC_INTFRCH_INT37                      (0x00000020)
1100#define MCF5282_INTC_INTFRCH_INT36                      (0x00000010)
1101#define MCF5282_INTC_INTFRCH_INT35                      (0x00000008)
1102#define MCF5282_INTC_INTFRCH_INT34                      (0x00000004)
1103#define MCF5282_INTC_INTFRCH_INT33                      (0x00000002)
1104#define MCF5282_INTC_INTFRCH_INT32                      (0x00000001)
1105
1106#define MCF5282_INTC_INTFRCL_INT31                      (0x80000000)
1107#define MCF5282_INTC_INTFRCL_INT30                      (0x40000000)
1108#define MCF5282_INTC_INTFRCL_INT29                      (0x20000000)
1109#define MCF5282_INTC_INTFRCL_INT28                      (0x10000000)
1110#define MCF5282_INTC_INTFRCL_INT27                      (0x08000000)
1111#define MCF5282_INTC_INTFRCL_INT26                      (0x04000000)
1112#define MCF5282_INTC_INTFRCL_INT25                      (0x02000000)
1113#define MCF5282_INTC_INTFRCL_INT24                      (0x01000000)
1114#define MCF5282_INTC_INTFRCL_INT23                      (0x00800000)
1115#define MCF5282_INTC_INTFRCL_INT22                      (0x00400000)
1116#define MCF5282_INTC_INTFRCL_INT21                      (0x00200000)
1117#define MCF5282_INTC_INTFRCL_INT20                      (0x00100000)
1118#define MCF5282_INTC_INTFRCL_INT19                      (0x00080000)
1119#define MCF5282_INTC_INTFRCL_INT18                      (0x00040000)
1120#define MCF5282_INTC_INTFRCL_INT17                      (0x00020000)
1121#define MCF5282_INTC_INTFRCL_INT16                      (0x00010000)
1122#define MCF5282_INTC_INTFRCL_INT15                      (0x00008000)
1123#define MCF5282_INTC_INTFRCL_INT14                      (0x00004000)
1124#define MCF5282_INTC_INTFRCL_INT13                      (0x00002000)
1125#define MCF5282_INTC_INTFRCL_INT12                      (0x00001000)
1126#define MCF5282_INTC_INTFRCL_INT11                      (0x00000800)
1127#define MCF5282_INTC_INTFRCL_INT10                      (0x00000400)
1128#define MCF5282_INTC_INTFRCL_INT9                       (0x00000200)
1129#define MCF5282_INTC_INTFRCL_INT8                       (0x00000100)
1130#define MCF5282_INTC_INTFRCL_INT7                       (0x00000080)
1131#define MCF5282_INTC_INTFRCL_INT6                       (0x00000040)
1132#define MCF5282_INTC_INTFRCL_INT5                       (0x00000020)
1133#define MCF5282_INTC_INTFRCL_INT4                       (0x00000010)
1134#define MCF5282_INTC_INTFRCL_INT3                       (0x00000008)
1135#define MCF5282_INTC_INTFRCL_INT2                       (0x00000004)
1136#define MCF5282_INTC_INTFRCL_INT1                       (0x00000002)
1137
1138#define MCF5282_INTC_IRLR_IRQ7                          (0x80)
1139#define MCF5282_INTC_IRLR_IRQ6                          (0x40)
1140#define MCF5282_INTC_IRLR_IRQ5                          (0x20)
1141#define MCF5282_INTC_IRLR_IRQ4                          (0x10)
1142#define MCF5282_INTC_IRLR_IRQ3                          (0x08)
1143#define MCF5282_INTC_IRLR_IRQ2                          (0x04)
1144#define MCF5282_INTC_IRLR_IRQ1                          (0x02)
1145
1146#define MCF5282_INTC_ICR_IL(x)                          (((x)&0x07)<<3)
1147#define MCF5282_INTC_ICR_IP(x)                          (((x)&0x07)<<0)
1148
1149/*********************************************************************
1150*
1151* Global Interrupt Acknowledge Cycle (GIAC) Registers
1152*
1153*********************************************************************/
1154
1155/* Read/Write access macros for general use */
1156#define MCF5282_GIAC_GSWIACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0FE0]))
1157#define MCF5282_GIAC_GL1IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0FE4]))
1158#define MCF5282_GIAC_GL2IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0FE8]))
1159#define MCF5282_GIAC_GL3IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0FEC]))
1160#define MCF5282_GIAC_GL4IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0FF0]))
1161#define MCF5282_GIAC_GL5IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0FF4]))
1162#define MCF5282_GIAC_GL6IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0FF8]))
1163#define MCF5282_GIAC_GL7IACK    (*(vuint8  *)(void *)(&__IPSBAR[0x0FFC]))
1164
1165/* Bit level definitions and macros */
1166
1167/* To do - add bit level definintions */
1168
1169/*********************************************************************
1170*
1171* Fast Ethernet Controller (FEC) Module
1172*
1173*********************************************************************/
1174
1175/* Read/Write access macros for general use */
1176#define MCF5282_FEC_EIR                 (*(vuint32  *)(void *)(&__IPSBAR[0x1004]))
1177#define MCF5282_FEC_EIMR                (*(vuint32  *)(void *)(&__IPSBAR[0x1008]))
1178#define MCF5282_FEC_RDAR                (*(vuint32  *)(void *)(&__IPSBAR[0x1010]))
1179#define MCF5282_FEC_TDAR                (*(vuint32  *)(void *)(&__IPSBAR[0x1014]))
1180#define MCF5282_FEC_ECR                 (*(vuint32  *)(void *)(&__IPSBAR[0x1024]))
1181#define MCF5282_FEC_MMFR                (*(vuint32  *)(void *)(&__IPSBAR[0x1040]))
1182#define MCF5282_FEC_MSCR                (*(vuint32  *)(void *)(&__IPSBAR[0x1044]))
1183#define MCF5282_FEC_MIBC                (*(vuint32  *)(void *)(&__IPSBAR[0x1064]))
1184#define MCF5282_FEC_RCR                 (*(vuint32  *)(void *)(&__IPSBAR[0x1084]))
1185#define MCF5282_FEC_TCR                 (*(vuint32  *)(void *)(&__IPSBAR[0x10C4]))
1186#define MCF5282_FEC_PALR                (*(vuint32  *)(void *)(&__IPSBAR[0x10E4]))
1187#define MCF5282_FEC_PAUR                (*(vuint32  *)(void *)(&__IPSBAR[0x10E8]))
1188#define MCF5282_FEC_OPD                 (*(vuint32  *)(void *)(&__IPSBAR[0x10EC]))
1189#define MCF5282_FEC_IAUR                (*(vuint32  *)(void *)(&__IPSBAR[0x1118]))
1190#define MCF5282_FEC_IALR                (*(vuint32  *)(void *)(&__IPSBAR[0x111C]))
1191#define MCF5282_FEC_GAUR                (*(vuint32  *)(void *)(&__IPSBAR[0x1120]))
1192#define MCF5282_FEC_GALR                (*(vuint32  *)(void *)(&__IPSBAR[0x1124]))
1193#define MCF5282_FEC_TFWR                (*(vuint32  *)(void *)(&__IPSBAR[0x1144]))
1194#define MCF5282_FEC_FRBR                (*(vuint32  *)(void *)(&__IPSBAR[0x114C]))
1195#define MCF5282_FEC_FRSR                (*(vuint32  *)(void *)(&__IPSBAR[0x1150]))
1196#define MCF5282_FEC_ERDSR               (*(vuint32  *)(void *)(&__IPSBAR[0x1180]))
1197#define MCF5282_FEC_ETDSR               (*(vuint32  *)(void *)(&__IPSBAR[0x1184]))
1198#define MCF5282_FEC_EMRBR               (*(vuint32  *)(void *)(&__IPSBAR[0x1188]))
1199
1200#define MCF5282_FEC_RMON_T_DROP                 (*(vuint32  *)(void *)(&__IPSBAR[0x1200]))
1201#define MCF5282_FEC_RMON_T_PACKETS              (*(vuint32  *)(void *)(&__IPSBAR[0x1204]))
1202#define MCF5282_FEC_RMON_T_BC_PKT               (*(vuint32  *)(void *)(&__IPSBAR[0x1208]))
1203#define MCF5282_FEC_RMON_T_MC_PKT               (*(vuint32  *)(void *)(&__IPSBAR[0x120C]))
1204#define MCF5282_FEC_RMON_T_CRC_ALIGN    (*(vuint32  *)(void *)(&__IPSBAR[0x1210]))
1205#define MCF5282_FEC_RMON_T_UNDERSIZE    (*(vuint32  *)(void *)(&__IPSBAR[0x1214]))
1206#define MCF5282_FEC_RMON_T_OVERSIZE             (*(vuint32  *)(void *)(&__IPSBAR[0x1218]))
1207#define MCF5282_FEC_RMON_T_FRAG                 (*(vuint32  *)(void *)(&__IPSBAR[0x121C]))
1208#define MCF5282_FEC_RMON_T_JAB                  (*(vuint32  *)(void *)(&__IPSBAR[0x1220]))
1209#define MCF5282_FEC_RMON_T_COL                  (*(vuint32  *)(void *)(&__IPSBAR[0x1224]))
1210#define MCF5282_FEC_RMON_T_P64                  (*(vuint32  *)(void *)(&__IPSBAR[0x1228]))
1211#define MCF5282_FEC_RMON_T_P65TO127             (*(vuint32  *)(void *)(&__IPSBAR[0x122C]))
1212#define MCF5282_FEC_RMON_T_P128TO255    (*(vuint32  *)(void *)(&__IPSBAR[0x1230]))
1213#define MCF5282_FEC_RMON_T_P256TO511    (*(vuint32  *)(void *)(&__IPSBAR[0x1234]))
1214#define MCF5282_FEC_RMON_T_P512TO1023   (*(vuint32  *)(void *)(&__IPSBAR[0x1238]))
1215#define MCF5282_FEC_RMON_T_P1024TO2047  (*(vuint32  *)(void *)(&__IPSBAR[0x123C]))
1216#define MCF5282_FEC_RMON_T_P_GTE2048    (*(vuint32  *)(void *)(&__IPSBAR[0x1240]))
1217#define MCF5282_FEC_RMON_T_OCTETS               (*(vuint32  *)(void *)(&__IPSBAR[0x1244]))
1218#define MCF5282_FEC_IEEE_T_DROP                 (*(vuint32  *)(void *)(&__IPSBAR[0x1248]))
1219#define MCF5282_FEC_IEEE_T_FRAME_OK             (*(vuint32  *)(void *)(&__IPSBAR[0x124C]))
1220#define MCF5282_FEC_IEEE_T_1COL                 (*(vuint32  *)(void *)(&__IPSBAR[0x1250]))
1221#define MCF5282_FEC_IEEE_T_MCOL                 (*(vuint32  *)(void *)(&__IPSBAR[0x1254]))
1222#define MCF5282_FEC_IEEE_T_DEF                  (*(vuint32  *)(void *)(&__IPSBAR[0x1258]))
1223#define MCF5282_FEC_IEEE_T_LCOL                 (*(vuint32  *)(void *)(&__IPSBAR[0x125C]))
1224#define MCF5282_FEC_IEEE_T_EXCOL                (*(vuint32  *)(void *)(&__IPSBAR[0x1260]))
1225#define MCF5282_FEC_IEEE_T_MACERR               (*(vuint32  *)(void *)(&__IPSBAR[0x1264]))
1226#define MCF5282_FEC_IEEE_T_CSERR                (*(vuint32  *)(void *)(&__IPSBAR[0x1268]))
1227#define MCF5282_FEC_IEEE_T_SQE                  (*(vuint32  *)(void *)(&__IPSBAR[0x126C]))
1228#define MCF5282_FEC_IEEE_T_FDXFC                (*(vuint32  *)(void *)(&__IPSBAR[0x1270]))
1229#define MCF5282_FEC_IEEE_T_OCTETS_OK    (*(vuint32  *)(void *)(&__IPSBAR[0x1274]))
1230#define MCF5282_FEC_RMON_R_PACKETS              (*(vuint32  *)(void *)(&__IPSBAR[0x1284]))
1231#define MCF5282_FEC_RMON_R_BC_PKT               (*(vuint32  *)(void *)(&__IPSBAR[0x1288]))
1232#define MCF5282_FEC_RMON_R_MC_PKT               (*(vuint32  *)(void *)(&__IPSBAR[0x128C]))
1233#define MCF5282_FEC_RMON_R_CRC_ALIGN    (*(vuint32  *)(void *)(&__IPSBAR[0x1290]))
1234#define MCF5282_FEC_RMON_R_UNDERSIZE    (*(vuint32  *)(void *)(&__IPSBAR[0x1294]))
1235#define MCF5282_FEC_RMON_R_OVERSIZE             (*(vuint32  *)(void *)(&__IPSBAR[0x1298]))
1236#define MCF5282_FEC_RMON_R_FRAG                 (*(vuint32  *)(void *)(&__IPSBAR[0x129C]))
1237#define MCF5282_FEC_RMON_R_JAB                  (*(vuint32  *)(void *)(&__IPSBAR[0x12A0]))
1238#define MCF5282_FEC_RMON_R_RESVD_0              (*(vuint32  *)(void *)(&__IPSBAR[0x12A4]))
1239#define MCF5282_FEC_RMON_R_P64                  (*(vuint32  *)(void *)(&__IPSBAR[0x12A8]))
1240#define MCF5282_FEC_RMON_R_P65T0127             (*(vuint32  *)(void *)(&__IPSBAR[0x12AC]))
1241#define MCF5282_FEC_RMON_R_P128TO255    (*(vuint32  *)(void *)(&__IPSBAR[0x12B0]))
1242#define MCF5282_FEC_RMON_R_P256TO511    (*(vuint32  *)(void *)(&__IPSBAR[0x12B4]))
1243#define MCF5282_FEC_RMON_R_P512TO1023   (*(vuint32  *)(void *)(&__IPSBAR[0x12B8]))
1244#define MCF5282_FEC_RMON_R_P1024TO2047  (*(vuint32  *)(void *)(&__IPSBAR[0x12BC]))
1245#define MCF5282_FEC_RMON_R_GTE2048              (*(vuint32  *)(void *)(&__IPSBAR[0x12C0]))
1246#define MCF5282_FEC_RMON_R_OCTETS               (*(vuint32  *)(void *)(&__IPSBAR[0x12C4]))
1247#define MCF5282_FEC_IEEE_R_DROP                 (*(vuint32  *)(void *)(&__IPSBAR[0x12C8]))
1248#define MCF5282_FEC_IEEE_R_FRAME_OK             (*(vuint32  *)(void *)(&__IPSBAR[0x12CC]))
1249#define MCF5282_FEC_IEEE_R_CRC                  (*(vuint32  *)(void *)(&__IPSBAR[0x12D0]))
1250#define MCF5282_FEC_IEEE_R_ALIGN                (*(vuint32  *)(void *)(&__IPSBAR[0x12D4]))
1251#define MCF5282_FEC_IEEE_R_MACERR               (*(vuint32  *)(void *)(&__IPSBAR[0x12D8]))
1252#define MCF5282_FEC_IEEE_R_FDXFC                (*(vuint32  *)(void *)(&__IPSBAR[0x12DC]))
1253#define MCF5282_FEC_IEEE_R_OCTETS_OK    (*(vuint32  *)(void *)(&__IPSBAR[0x12E0]))
1254
1255/* Bit level definitions and macros */
1256#define MCF5282_FEC_EIR_HBERR                           (0x80000000)
1257#define MCF5282_FEC_EIR_BABR                            (0x40000000)
1258#define MCF5282_FEC_EIR_BABT                            (0x20000000)
1259#define MCF5282_FEC_EIR_GRA                                     (0x10000000)
1260#define MCF5282_FEC_EIR_TXF                                     (0x08000000)
1261#define MCF5282_FEC_EIR_TXB                                     (0x04000000)
1262#define MCF5282_FEC_EIR_RXF                                     (0x02000000)
1263#define MCF5282_FEC_EIR_RXB                                     (0x01000000)
1264#define MCF5282_FEC_EIR_MII                                     (0x00800000)
1265#define MCF5282_FEC_EIR_EBERR                           (0x00400000)
1266#define MCF5282_FEC_EIR_LC                                      (0x00200000)
1267#define MCF5282_FEC_EIR_RL                                      (0x00100000)
1268#define MCF5282_FEC_EIR_UN                                      (0x00080000)
1269
1270#define MCF5282_FEC_EIMR_HBERR                          (0x80000000)
1271#define MCF5282_FEC_EIMR_BABR                           (0x40000000)
1272#define MCF5282_FEC_EIMR_BABT                           (0x20000000)
1273#define MCF5282_FEC_EIMR_GRA                            (0x10000000)
1274#define MCF5282_FEC_EIMR_TXF                            (0x08000000)
1275#define MCF5282_FEC_EIMR_TXB                            (0x04000000)
1276#define MCF5282_FEC_EIMR_RXF                            (0x02000000)
1277#define MCF5282_FEC_EIMR_RXB                            (0x01000000)
1278#define MCF5282_FEC_EIMR_MII                            (0x00800000)
1279#define MCF5282_FEC_EIMR_EBERR                          (0x00400000)
1280#define MCF5282_FEC_EIMR_LC                                     (0x00200000)
1281#define MCF5282_FEC_EIMR_RL                                     (0x00100000)
1282#define MCF5282_FEC_EIMR_UN                                     (0x00080000)
1283
1284#define MCF5282_FEC_RDAR_R_DES_ACTIVE           (0x01000000)
1285
1286#define MCF5282_FEC_TDAR_X_DES_ACTIVE           (0x01000000)
1287
1288#define MCF5282_FEC_ECR_ETHER_EN                        (0x00000002)
1289#define MCF5282_FEC_ECR_RESET                           (0x00000001)
1290
1291#define MCF5282_FEC_MMFR_ST                                     (0x40000000)
1292#define MCF5282_FEC_MMFR_OP_RD                          (0x20000000)
1293#define MCF5282_FEC_MMFR_OP_WR                          (0x10000000)
1294#define MCF5282_FEC_MMFR_PA(x)                          (((x)&0x1F)<<23)
1295#define MCF5282_FEC_MMFR_RA(x)                          (((x)&0x1F)<<18)
1296#define MCF5282_FEC_MMFR_TA                                     (0x00020000)
1297#define MCF5282_FEC_MMFR_DATA(x)                        (((x)&0xFFFF))
1298
1299#define MCF5282_FEC_MSCR_DIS_PREAMBLE           (0x00000008)
1300#define MCF5282_FEC_MSCR_MII_SPEED(x)           (((x)&0x1F)<<1)
1301
1302#define MCF5282_FEC_MIBC_MIB_DISABLE            (0x80000000)
1303#define MCF5282_FEC_MIBC_MIB_IDLE                       (0x40000000)
1304
1305#define MCF5282_FEC_RCR_MAX_FL(x)                       (((x)&0x07FF)<<16)
1306#define MCF5282_FEC_RCR_FCE                                     (0x00000020)
1307#define MCF5282_FEC_RCR_BC_REJ                          (0x00000010)
1308#define MCF5282_FEC_RCR_PROM                            (0x00000008)
1309#define MCF5282_FEC_RCR_MII_MODE                        (0x00000004)
1310#define MCF5282_FEC_RCR_DRT                                     (0x00000002)
1311#define MCF5282_FEC_RCR_LOOP                            (0x00000001)
1312
1313#define MCF5282_FEC_TCR_RFC_PAUSE                       (0x00000010)
1314#define MCF5282_FEC_TCR_TFC_PAUSE                       (0x00000008)
1315#define MCF5282_FEC_TCR_FDEN                            (0x00000004)
1316#define MCF5282_FEC_TCR_HBC                                     (0x00000002)
1317#define MCF5282_FEC_TCR_GTS                                     (0x00000001)
1318
1319#define MCF5282_FEC_PALR_BYTE0(x)                       (((x)&0xFF)<<24)
1320#define MCF5282_FEC_PALR_BYTE1(x)                       (((x)&0xFF)<<16)
1321#define MCF5282_FEC_PALR_BYTE2(x)                       (((x)&0xFF)<<8)
1322#define MCF5282_FEC_PALR_BYTE3(x)                       (((x)&0xFF))
1323
1324#define MCF5282_FEC_PAUR_BYTE4(x)                       (((x)&0xFF)<<24)
1325#define MCF5282_FEC_PAUR_BYTE5(x)                       (((x)&0xFF)<<16)
1326
1327#define MCF5282_FEC_OPD_PAUSE_DUR(x)            (((x)&0xFFFF))
1328
1329#define MCF5282_FEC_TFWR_X_WMRK_64                      (0x00000001)
1330#define MCF5282_FEC_TFWR_X_WMRK_128                     (0x00000002)
1331#define MCF5282_FEC_TFWR_X_WMRK_192                     (0x00000003)
1332
1333#define MCF5282_FEC_EMRBR_R_BUF_SIZE(x)         (((x)&7F)<<4)
1334
1335#define MCF5282_FEC_TxBD_R                                      0x8000
1336#define MCF5282_FEC_TxBD_BUSY                           0x4000
1337#define MCF5282_FEC_TxBD_TO1                            0x4000
1338#define MCF5282_FEC_TxBD_W                                      0x2000
1339#define MCF5282_FEC_TxBD_TO2                            0x1000
1340#define MCF5282_FEC_TxBD_FIRST                          0x1000
1341#define MCF5282_FEC_TxBD_L                                      0x0800
1342#define MCF5282_FEC_TxBD_TC                                     0x0400
1343#define MCF5282_FEC_TxBD_DEF                            0x0200
1344#define MCF5282_FEC_TxBD_HB                                     0x0100
1345#define MCF5282_FEC_TxBD_LC                                     0x0080
1346#define MCF5282_FEC_TxBD_RL                                     0x0040
1347#define MCF5282_FEC_TxBD_UN                                     0x0002
1348#define MCF5282_FEC_TxBD_CSL                            0x0001
1349
1350#define MCF5282_FEC_RxBD_E                                      0x8000
1351#define MCF5282_FEC_RxBD_INUSE                          0x4000
1352#define MCF5282_FEC_RxBD_R01                            0x4000
1353#define MCF5282_FEC_RxBD_W                                      0x2000
1354#define MCF5282_FEC_RxBD_R02                            0x1000
1355#define MCF5282_FEC_RxBD_L                                      0x0800
1356#define MCF5282_FEC_RxBD_M                                      0x0100
1357#define MCF5282_FEC_RxBD_BC                                     0x0080
1358#define MCF5282_FEC_RxBD_MC                                     0x0040
1359#define MCF5282_FEC_RxBD_LG                                     0x0020
1360#define MCF5282_FEC_RxBD_NO                                     0x0010
1361#define MCF5282_FEC_RxBD_CR                                     0x0004
1362#define MCF5282_FEC_RxBD_OV                                     0x0002
1363#define MCF5282_FEC_RxBD_TR                                     0x0001
1364
1365/*********************************************************************
1366*
1367* General Purpose I/O (GPIO) Module
1368*
1369*********************************************************************/
1370
1371/* Read/Write access macros for general use */
1372#define MCF5282_GPIO_PORTA              (*(vuint8  *)(void *)(&__IPSBAR[0x100000]))
1373#define MCF5282_GPIO_PORTB              (*(vuint8  *)(void *)(&__IPSBAR[0x100001]))
1374#define MCF5282_GPIO_PORTC              (*(vuint8  *)(void *)(&__IPSBAR[0x100002]))
1375#define MCF5282_GPIO_PORTD              (*(vuint8  *)(void *)(&__IPSBAR[0x100003]))
1376#define MCF5282_GPIO_PORTE              (*(vuint8  *)(void *)(&__IPSBAR[0x100004]))
1377#define MCF5282_GPIO_PORTF              (*(vuint8  *)(void *)(&__IPSBAR[0x100005]))
1378#define MCF5282_GPIO_PORTG              (*(vuint8  *)(void *)(&__IPSBAR[0x100006]))
1379#define MCF5282_GPIO_PORTH              (*(vuint8  *)(void *)(&__IPSBAR[0x100007]))
1380#define MCF5282_GPIO_PORTJ              (*(vuint8  *)(void *)(&__IPSBAR[0x100008]))
1381#define MCF5282_GPIO_PORTDD             (*(vuint8  *)(void *)(&__IPSBAR[0x100009]))
1382#define MCF5282_GPIO_PORTEH             (*(vuint8  *)(void *)(&__IPSBAR[0x10000A]))
1383#define MCF5282_GPIO_PORTEL             (*(vuint8  *)(void *)(&__IPSBAR[0x10000B]))
1384#define MCF5282_GPIO_PORTAS             (*(vuint8  *)(void *)(&__IPSBAR[0x10000C]))
1385#define MCF5282_GPIO_PORTQS             (*(vuint8  *)(void *)(&__IPSBAR[0x10000D]))
1386#define MCF5282_GPIO_PORTSD             (*(vuint8  *)(void *)(&__IPSBAR[0x10000E]))
1387#define MCF5282_GPIO_PORTTC             (*(vuint8  *)(void *)(&__IPSBAR[0x10000F]))
1388#define MCF5282_GPIO_PORTTD             (*(vuint8  *)(void *)(&__IPSBAR[0x100010]))
1389#define MCF5282_GPIO_PORTUA             (*(vuint8  *)(void *)(&__IPSBAR[0x100011]))
1390
1391#define MCF5282_GPIO_DDRA               (*(vuint8  *)(void *)(&__IPSBAR[0x100014]))
1392#define MCF5282_GPIO_DDRB               (*(vuint8  *)(void *)(&__IPSBAR[0x100015]))
1393#define MCF5282_GPIO_DDRC               (*(vuint8  *)(void *)(&__IPSBAR[0x100016]))
1394#define MCF5282_GPIO_DDRD               (*(vuint8  *)(void *)(&__IPSBAR[0x100017]))
1395#define MCF5282_GPIO_DDRE               (*(vuint8  *)(void *)(&__IPSBAR[0x100018]))
1396#define MCF5282_GPIO_DDRF               (*(vuint8  *)(void *)(&__IPSBAR[0x100019]))
1397#define MCF5282_GPIO_DDRG               (*(vuint8  *)(void *)(&__IPSBAR[0x10001A]))
1398#define MCF5282_GPIO_DDRH               (*(vuint8  *)(void *)(&__IPSBAR[0x10001B]))
1399#define MCF5282_GPIO_DDRJ               (*(vuint8  *)(void *)(&__IPSBAR[0x10001C]))
1400#define MCF5282_GPIO_DDRDD              (*(vuint8  *)(void *)(&__IPSBAR[0x10001D]))
1401#define MCF5282_GPIO_DDREH              (*(vuint8  *)(void *)(&__IPSBAR[0x10001E]))
1402#define MCF5282_GPIO_DDREL              (*(vuint8  *)(void *)(&__IPSBAR[0x10001F]))
1403#define MCF5282_GPIO_DDRAS              (*(vuint8  *)(void *)(&__IPSBAR[0x100020]))
1404#define MCF5282_GPIO_DDRQS              (*(vuint8  *)(void *)(&__IPSBAR[0x100021]))
1405#define MCF5282_GPIO_DDRSD              (*(vuint8  *)(void *)(&__IPSBAR[0x100022]))
1406#define MCF5282_GPIO_DDRTC              (*(vuint8  *)(void *)(&__IPSBAR[0x100023]))
1407#define MCF5282_GPIO_DDRTD              (*(vuint8  *)(void *)(&__IPSBAR[0x100024]))
1408#define MCF5282_GPIO_DDRUA              (*(vuint8  *)(void *)(&__IPSBAR[0x100025]))
1409
1410#define MCF5282_GPIO_PORTAP             (*(vuint8  *)(void *)(&__IPSBAR[0x100028]))
1411#define MCF5282_GPIO_PORTBP             (*(vuint8  *)(void *)(&__IPSBAR[0x100029]))
1412#define MCF5282_GPIO_PORTCP             (*(vuint8  *)(void *)(&__IPSBAR[0x10002A]))
1413#define MCF5282_GPIO_PORTDP             (*(vuint8  *)(void *)(&__IPSBAR[0x10002B]))
1414#define MCF5282_GPIO_PORTEP             (*(vuint8  *)(void *)(&__IPSBAR[0x10002C]))
1415#define MCF5282_GPIO_PORTFP             (*(vuint8  *)(void *)(&__IPSBAR[0x10002D]))
1416#define MCF5282_GPIO_PORTGP             (*(vuint8  *)(void *)(&__IPSBAR[0x10002E]))
1417#define MCF5282_GPIO_PORTHP             (*(vuint8  *)(void *)(&__IPSBAR[0x10002F]))
1418#define MCF5282_GPIO_PORTJP             (*(vuint8  *)(void *)(&__IPSBAR[0x100030]))
1419#define MCF5282_GPIO_PORTDDP    (*(vuint8  *)(void *)(&__IPSBAR[0x100031]))
1420#define MCF5282_GPIO_PORTEHP    (*(vuint8  *)(void *)(&__IPSBAR[0x100032]))
1421#define MCF5282_GPIO_PORTELP    (*(vuint8  *)(void *)(&__IPSBAR[0x100033]))
1422#define MCF5282_GPIO_PORTASP    (*(vuint8  *)(void *)(&__IPSBAR[0x100034]))
1423#define MCF5282_GPIO_PORTQSP    (*(vuint8  *)(void *)(&__IPSBAR[0x100035]))
1424#define MCF5282_GPIO_PORTSDP    (*(vuint8  *)(void *)(&__IPSBAR[0x100036]))
1425#define MCF5282_GPIO_PORTTCP    (*(vuint8  *)(void *)(&__IPSBAR[0x100037]))
1426#define MCF5282_GPIO_PORTTDP    (*(vuint8  *)(void *)(&__IPSBAR[0x100038]))
1427#define MCF5282_GPIO_PORTUAP    (*(vuint8  *)(void *)(&__IPSBAR[0x100039]))
1428
1429#define MCF5282_GPIO_SETA               (*(vuint8  *)(void *)(&__IPSBAR[0x100028]))
1430#define MCF5282_GPIO_SETB               (*(vuint8  *)(void *)(&__IPSBAR[0x100029]))
1431#define MCF5282_GPIO_SETC               (*(vuint8  *)(void *)(&__IPSBAR[0x10002A]))
1432#define MCF5282_GPIO_SETD               (*(vuint8  *)(void *)(&__IPSBAR[0x10002B]))
1433#define MCF5282_GPIO_SETE               (*(vuint8  *)(void *)(&__IPSBAR[0x10002C]))
1434#define MCF5282_GPIO_SETF               (*(vuint8  *)(void *)(&__IPSBAR[0x10002D]))
1435#define MCF5282_GPIO_SETG       (*(vuint8  *)(void *)(&__IPSBAR[0x10002E]))
1436#define MCF5282_GPIO_SETH       (*(vuint8  *)(void *)(&__IPSBAR[0x10002F]))
1437#define MCF5282_GPIO_SETJ       (*(vuint8  *)(void *)(&__IPSBAR[0x100030]))
1438#define MCF5282_GPIO_SETDD      (*(vuint8  *)(void *)(&__IPSBAR[0x100031]))
1439#define MCF5282_GPIO_SETEH      (*(vuint8  *)(void *)(&__IPSBAR[0x100032]))
1440#define MCF5282_GPIO_SETEL      (*(vuint8  *)(void *)(&__IPSBAR[0x100033]))
1441#define MCF5282_GPIO_SETAS      (*(vuint8  *)(void *)(&__IPSBAR[0x100034]))
1442#define MCF5282_GPIO_SETQS      (*(vuint8  *)(void *)(&__IPSBAR[0x100035]))
1443#define MCF5282_GPIO_SETSD      (*(vuint8  *)(void *)(&__IPSBAR[0x100036]))
1444#define MCF5282_GPIO_SETTC      (*(vuint8  *)(void *)(&__IPSBAR[0x100037]))
1445#define MCF5282_GPIO_SETTD      (*(vuint8  *)(void *)(&__IPSBAR[0x100038]))
1446#define MCF5282_GPIO_SETUA      (*(vuint8  *)(void *)(&__IPSBAR[0x100039]))
1447
1448#define MCF5282_GPIO_CLRA               (*(vuint8  *)(void *)(&__IPSBAR[0x10003C]))
1449#define MCF5282_GPIO_CLRB               (*(vuint8  *)(void *)(&__IPSBAR[0x10003D]))
1450#define MCF5282_GPIO_CLRC               (*(vuint8  *)(void *)(&__IPSBAR[0x10003E]))
1451#define MCF5282_GPIO_CLRD               (*(vuint8  *)(void *)(&__IPSBAR[0x10003F]))
1452#define MCF5282_GPIO_CLRE               (*(vuint8  *)(void *)(&__IPSBAR[0x100040]))
1453#define MCF5282_GPIO_CLRF               (*(vuint8  *)(void *)(&__IPSBAR[0x100041]))
1454#define MCF5282_GPIO_CLRG               (*(vuint8  *)(void *)(&__IPSBAR[0x100042]))
1455#define MCF5282_GPIO_CLRH               (*(vuint8  *)(void *)(&__IPSBAR[0x100043]))
1456#define MCF5282_GPIO_CLRJ               (*(vuint8  *)(void *)(&__IPSBAR[0x100044]))
1457#define MCF5282_GPIO_CLRDD      (*(vuint8  *)(void *)(&__IPSBAR[0x100045]))
1458#define MCF5282_GPIO_CLREH      (*(vuint8  *)(void *)(&__IPSBAR[0x100046]))
1459#define MCF5282_GPIO_CLREL      (*(vuint8  *)(void *)(&__IPSBAR[0x100047]))
1460#define MCF5282_GPIO_CLRAS      (*(vuint8  *)(void *)(&__IPSBAR[0x100048]))
1461#define MCF5282_GPIO_CLRQS      (*(vuint8  *)(void *)(&__IPSBAR[0x100049]))
1462#define MCF5282_GPIO_CLRSD      (*(vuint8  *)(void *)(&__IPSBAR[0x10004A]))
1463#define MCF5282_GPIO_CLRTC      (*(vuint8  *)(void *)(&__IPSBAR[0x10004B]))
1464#define MCF5282_GPIO_CLRTD      (*(vuint8  *)(void *)(&__IPSBAR[0x10004C]))
1465#define MCF5282_GPIO_CLRUA      (*(vuint8  *)(void *)(&__IPSBAR[0x10004D]))
1466
1467#define MCF5282_GPIO_PBCDPAR    (*(vuint8  *)(void *)(&__IPSBAR[0x100050]))
1468#define MCF5282_GPIO_PFPAR      (*(vuint8  *)(void *)(&__IPSBAR[0x100051]))
1469#define MCF5282_GPIO_PEPAR      (*(vuint16 *)(void *)(&__IPSBAR[0x100052]))
1470#define MCF5282_GPIO_PJPAR      (*(vuint8  *)(void *)(&__IPSBAR[0x100054]))
1471#define MCF5282_GPIO_PSDPAR     (*(vuint8  *)(void *)(&__IPSBAR[0x100055]))
1472#define MCF5282_GPIO_PASPAR     (*(vuint16 *)(void *)(&__IPSBAR[0x100056]))
1473#define MCF5282_GPIO_PEHLPAR    (*(vuint8  *)(void *)(&__IPSBAR[0x100058]))
1474#define MCF5282_GPIO_PQSPAR     (*(vuint8  *)(void *)(&__IPSBAR[0x100059]))
1475#define MCF5282_GPIO_PTCPAR     (*(vuint8  *)(void *)(&__IPSBAR[0x10005A]))
1476#define MCF5282_GPIO_PTDPAR     (*(vuint8  *)(void *)(&__IPSBAR[0x10005B]))
1477#define MCF5282_GPIO_PUAPAR     (*(vuint8  *)(void *)(&__IPSBAR[0x10005C]))
1478
1479/* Bit level definitions and macros */
1480#define MCF5282_GPIO_PORTx7                                     (0x80)
1481#define MCF5282_GPIO_PORTx6                                     (0x40)
1482#define MCF5282_GPIO_PORTx5                                     (0x20)
1483#define MCF5282_GPIO_PORTx4                                     (0x10)
1484#define MCF5282_GPIO_PORTx3                                     (0x08)
1485#define MCF5282_GPIO_PORTx2                                     (0x04)
1486#define MCF5282_GPIO_PORTx1                                     (0x02)
1487#define MCF5282_GPIO_PORTx0                                     (0x01)
1488#define MCF5282_GPIO_PORTx(x)                           (0x01<<x)
1489
1490#define MCF5282_GPIO_DDRx7                                      (0x80)
1491#define MCF5282_GPIO_DDRx6                                      (0x40)
1492#define MCF5282_GPIO_DDRx5                                      (0x20)
1493#define MCF5282_GPIO_DDRx4                                      (0x10)
1494#define MCF5282_GPIO_DDRx3                                      (0x08)
1495#define MCF5282_GPIO_DDRx2                                      (0x04)
1496#define MCF5282_GPIO_DDRx1                                      (0x02)
1497#define MCF5282_GPIO_DDRx0                                      (0x01)
1498#define MCF5282_GPIO_DDRx(x)                            (0x01<<x)
1499
1500#define MCF5282_GPIO_PORTxP7                            (0x80)
1501#define MCF5282_GPIO_PORTxP6                            (0x40)
1502#define MCF5282_GPIO_PORTxP5                            (0x20)
1503#define MCF5282_GPIO_PORTxP4                            (0x10)
1504#define MCF5282_GPIO_PORTxP3                            (0x08)
1505#define MCF5282_GPIO_PORTxP2                            (0x04)
1506#define MCF5282_GPIO_PORTxP1                            (0x02)
1507#define MCF5282_GPIO_PORTxP0                            (0x01)
1508#define MCF5282_GPIO_PORTxP(x)                          (0x01<<x)
1509
1510#define MCF5282_GPIO_SETx7                                      (0x80)
1511#define MCF5282_GPIO_SETx6                                      (0x40)
1512#define MCF5282_GPIO_SETx5                                      (0x20)
1513#define MCF5282_GPIO_SETx4                                      (0x10)
1514#define MCF5282_GPIO_SETx3                                      (0x08)
1515#define MCF5282_GPIO_SETx2                                      (0x04)
1516#define MCF5282_GPIO_SETx1                                      (0x02)
1517#define MCF5282_GPIO_SETx0                                      (0x01)
1518#define MCF5282_GPIO_SETx(x)                            (0x01<<x)
1519
1520#define MCF5282_GPIO_CLRx7                                      (0x80)
1521#define MCF5282_GPIO_CLRx6                                      (0x40)
1522#define MCF5282_GPIO_CLRx5                                      (0x20)
1523#define MCF5282_GPIO_CLRx4                                      (0x10)
1524#define MCF5282_GPIO_CLRx3                                      (0x08)
1525#define MCF5282_GPIO_CLRx2                                      (0x04)
1526#define MCF5282_GPIO_CLRx1                                      (0x02)
1527#define MCF5282_GPIO_CLRx0                                      (0x01)
1528#define MCF5282_GPIO_CLRx(x)                            (0x01<<x)
1529
1530#define MCF5282_GPIO_PBCDPAR_PBPA                       (0x80)
1531#define MCF5282_GPIO_PBCDPAR_PCDPA                      (0x40)
1532
1533#define MCF5282_GPIO_PEPAR_PEPA7                        (0x4000)
1534#define MCF5282_GPIO_PEPAR_PEPA6                        (0x1000)
1535#define MCF5282_GPIO_PEPAR_PEPA5                        (0x0400)
1536#define MCF5282_GPIO_PEPAR_PEPA4                        (0x0100)
1537#define MCF5282_GPIO_PEPAR_PEPA3                        (0x0040)
1538#define MCF5282_GPIO_PEPAR_PEPA2                        (0x0010)
1539#define MCF5282_GPIO_PEPAR_PEPA1(x)                     (((x)&0x3)<<2)
1540#define MCF5282_GPIO_PEPAR_PEPA0(x)                     (((x)&0x3))
1541
1542#define MCF5282_GPIO_PFPAR_PFPA7                        (0x80)                 
1543#define MCF5282_GPIO_PFPAR_PFPA6                        (0x40)
1544#define MCF5282_GPIO_PFPAR_PFPA5                        (0x20)
1545
1546#define MCF5282_GPIO_PJPAR_PJPA7                        (0x80)
1547#define MCF5282_GPIO_PJPAR_PJPA6                        (0x40)
1548#define MCF5282_GPIO_PJPAR_PJPA5                        (0x20)
1549#define MCF5282_GPIO_PJPAR_PJPA4                        (0x10)
1550#define MCF5282_GPIO_PJPAR_PJPA3                        (0x08)
1551#define MCF5282_GPIO_PJPAR_PJPA2                        (0x04)
1552#define MCF5282_GPIO_PJPAR_PJPA1                        (0x02)
1553#define MCF5282_GPIO_PJPAR_PJPA0                        (0x01)
1554#define MCF5282_GPIO_PJPAR_PJPA(x)                      (0x01<<x)
1555
1556#define MCF5282_GPIO_PSDPAR_PSDPA                       (0x80)
1557
1558#define MCF5282_GPIO_PASPAR_PASPA5(x)           (((x)&0x3)<<10)
1559#define MCF5282_GPIO_PASPAR_PASPA4(x)           (((x)&0x3)<<8)
1560#define MCF5282_GPIO_PASPAR_PASPA3(x)           (((x)&0x3)<<6)
1561#define MCF5282_GPIO_PASPAR_PASPA2(x)           (((x)&0x3)<<4)
1562#define MCF5282_GPIO_PASPAR_PASPA1(x)           (((x)&0x3)<<2)
1563#define MCF5282_GPIO_PASPAR_PASPA0(x)           (((x)&0x3))
1564
1565#define MCF5282_GPIO_PEHLPAR_PEHPA                      (0x80)
1566#define MCF5282_GPIO_PEHLPAR_PELPA                      (0x40)
1567
1568#define MCF5282_GPIO_PQSPAR_PQSPA6                      (0x40)
1569#define MCF5282_GPIO_PQSPAR_PQSPA5                      (0x20)
1570#define MCF5282_GPIO_PQSPAR_PQSPA4                      (0x10)
1571#define MCF5282_GPIO_PQSPAR_PQSPA3                      (0x08)
1572#define MCF5282_GPIO_PQSPAR_PQSPA2                      (0x04)
1573#define MCF5282_GPIO_PQSPAR_PQSPA1                      (0x02)
1574#define MCF5282_GPIO_PQSPAR_PQSPA0                      (0x01)
1575#define MCF5282_GPIO_PQSPAR_PQSPA(x)            (0x01<<x)
1576
1577#define MCF5282_GPIO_PTCPAR_PTCPA3(x)           (((x)&0x3)<<6)
1578#define MCF5282_GPIO_PTCPAR_PTCPA2(x)           (((x)&0x3)<<4)
1579#define MCF5282_GPIO_PTCPAR_PTCPA1(x)           (((x)&0x3)<<2)
1580#define MCF5282_GPIO_PTCPAR_PTCPA0(x)           (((x)&0x3))
1581
1582#define MCF5282_GPIO_PTDPAR_PTDPA3(x)           (((x)&0x3)<<6)
1583#define MCF5282_GPIO_PTDPAR_PTDPA2(x)           (((x)&0x3)<<4)
1584#define MCF5282_GPIO_PTDPAR_PTDPA1(x)           (((x)&0x3)<<2)
1585#define MCF5282_GPIO_PTDPAR_PTDPA0(x)           (((x)&0x3))
1586
1587#define MCF5282_GPIO_PUAPAR_PUAPA3                      (0x08)
1588#define MCF5282_GPIO_PUAPAR_PUAPA2                      (0x04)
1589#define MCF5282_GPIO_PUAPAR_PUAPA1                      (0x02)
1590#define MCF5282_GPIO_PUAPAR_PUAPA0                      (0x01)
1591
1592/*********************************************************************
1593*
1594* Reset Controller Module
1595*
1596*********************************************************************/
1597
1598/* Read/Write access macros for general use */
1599#define MCF5282_RESET_RCR               (*(vuint8  *)(void *)(&__IPSBAR[0x110000]))
1600#define MCF5282_RESET_RSR               (*(vuint8  *)(void *)(&__IPSBAR[0x110001]))
1601
1602/* Bit level definitions and macros */
1603#define MCF5282_RESET_RCR_SOFTRST                       (0x80)
1604#define MCF5282_RESET_RCR_FRCRSTOUT             (0x40)
1605#define MCF5282_RESET_RCR_LVDF                          (0x10)
1606#define MCF5282_RESET_RCR_LVDIE                         (0x08)
1607#define MCF5282_RESET_RCR_LVDRE                         (0x04)
1608#define MCF5282_RESET_RCR_LVDE                          (0x01)
1609
1610#define MCF5282_RESET_RSR_LVD                           (0x40)
1611#define MCF5282_RESET_RSR_SOFT                          (0x20)
1612#define MCF5282_RESET_RSR_WDR                           (0x10)
1613#define MCF5282_RESET_RSR_POR                           (0x08)
1614#define MCF5282_RESET_RSR_EXT                           (0x04)
1615#define MCF5282_RESET_RSR_LOC                           (0x02)
1616#define MCF5282_RESET_RSR_LOL                           (0x01)
1617
1618/*********************************************************************
1619*
1620* Chip Configuration Module (CCM)
1621*
1622*********************************************************************/
1623
1624/* Read/Write access macros for general use */
1625#define MCF5282_CCM_CCR                 (*(vuint16 *)(void *)(&__IPSBAR[0x110004]))
1626#define MCF5282_CCM_RCON                (*(vuint16 *)(void *)(&__IPSBAR[0x110008]))
1627#define MCF5282_CCM_CIR                 (*(vuint16 *)(void *)(&__IPSBAR[0x11000A]))
1628
1629/* Bit level definitions and macros */
1630#define MCF5282_CCM_CCR_LOAD                            (0x8000)
1631#define MCF5282_CCM_CCR_MODE(x)                         (((x)&0x0007)<<8)
1632#define MCF5282_CCM_CCR_SZEN                            (0x0040)
1633#define MCF5282_CCM_CCR_PSTEN                           (0x0020)
1634#define MCF5282_CCM_CCR_BME                                     (0x0008)
1635#define MCF5282_CCM_CCR_BMT(x)                          (((x)&0x0007))
1636
1637/*********************************************************************
1638*
1639* Power Management Module (PMM)
1640*
1641*********************************************************************/
1642
1643/* Read/Write access macros for general use */
1644#define MCF5282_PMM_LPICR               (*(vuint8  *)(void *)(&__IPSBAR[0x000012]))
1645#define MCF5282_PMM_LPCR                (*(vuint8  *)(void *)(&__IPSBAR[0x110007]))
1646
1647/* Bit level definitions and macros */
1648#define MCF5282_PMM_LPICR_ENBSTOP                       (0x80)
1649#define MCF5282_PMM_LPICR_XLMP_IPL(x)           (((x)&0x07)<<4)
1650
1651#define MCF5282_PMM_LPCR_LPMD_STOP                      (0xC0)
1652#define MCF5282_PMM_LPCR_LPMD_WAIT                      (0x80)
1653#define MCF5282_PMM_LPCR_LPMD_DOZE                      (0x40)
1654#define MCF5282_PMM_LPCR_LPMD_RUN                       (0x00)
1655#define MCF5282_PMM_LPCR_STPMD(x)                       (((x)&0x03)<<3)
1656#define MCF5282_PMM_LPCR_LVDSE                          (0x02)
1657
1658/*********************************************************************
1659*
1660* Clock Module
1661*
1662*********************************************************************/
1663
1664/* Read/Write access macros for general use */
1665#define MCF5282_CLOCK_SYNCR             (*(vuint16 *)(void *)(&__IPSBAR[0x120000]))
1666#define MCF5282_CLOCK_SYNSR             (*(vuint8  *)(void *)(&__IPSBAR[0x120002]))
1667
1668/* Bit level definitions and macros */
1669#define MCF5282_CLOCK_SYNCR_LOLRE                       (0x8000)
1670#define MCF5282_CLOCK_SYNCR_MFD(x)                      (((x)&0x0007)<<12)
1671#define MCF5282_CLOCK_SYNCR_LOCRE                       (0x0800)
1672#define MCF5282_CLOCK_SYNCR_RFD(x)                      (((x)&0x0007)<<8)
1673#define MCF5282_CLOCK_SYNCR_LOCEN                       (0x0080)
1674#define MCF5282_CLOCK_SYNCR_DISCLK                      (0x0040)
1675#define MCF5282_CLOCK_SYNCR_FWKUP                       (0x0020)
1676#define MCF5282_CLOCK_SYNCR_STPMD(x)            (((x)&0x0003)<<2)
1677
1678#define MCF5282_CLOCK_SYNSR_PLLMODE                     (0x80)
1679#define MCF5282_CLOCK_SYNSR_PLLSEL                      (0x40)
1680#define MCF5282_CLOCK_SYNSR_PLLREF                      (0x20)
1681#define MCF5282_CLOCK_SYNSR_LOCKS                       (0x10)
1682#define MCF5282_CLOCK_SYNSR_LOCK                        (0x08)
1683#define MCF5282_CLOCK_SYNSR_LOCS                        (0x04)
1684
1685/*********************************************************************
1686*
1687* Edge Port (EPORT) Module
1688*
1689*********************************************************************/
1690
1691/* Read/Write access macros for general use */
1692#define MCF5282_EPORT_EPPAR             (*(vuint16 *)(void *)(&__IPSBAR[0x130000]))
1693#define MCF5282_EPORT_EPDDR             (*(vuint8  *)(void *)(&__IPSBAR[0x130002]))
1694#define MCF5282_EPORT_EPIER             (*(vuint8  *)(void *)(&__IPSBAR[0x130003]))
1695#define MCF5282_EPORT_EPDR              (*(vuint8  *)(void *)(&__IPSBAR[0x130004]))
1696#define MCF5282_EPORT_EPPDR             (*(vuint8  *)(void *)(&__IPSBAR[0x130005]))
1697#define MCF5282_EPORT_EPFR              (*(vuint8  *)(void *)(&__IPSBAR[0x130006]))
1698
1699/* Bit level definitions and macros */
1700#define MCF5282_EPORT_EPPAR_EPPA7_LEVEL         (0x0000)
1701#define MCF5282_EPORT_EPPAR_EPPA7_RISING        (0x4000)
1702#define MCF5282_EPORT_EPPAR_EPPA7_FALLING       (0x8000)
1703#define MCF5282_EPORT_EPPAR_EPPA7_BOTHEDGE      (0xC000)
1704#define MCF5282_EPORT_EPPAR_EPPA6_LEVEL         (0x0000)
1705#define MCF5282_EPORT_EPPAR_EPPA6_RISING    (0x1000)
1706#define MCF5282_EPORT_EPPAR_EPPA6_FALLING   (0x2000)
1707#define MCF5282_EPORT_EPPAR_EPPA6_BOTHEDGE  (0x3000)
1708#define MCF5282_EPORT_EPPAR_EPPA5_LEVEL         (0x0000)
1709#define MCF5282_EPORT_EPPAR_EPPA5_RISING    (0x0400)
1710#define MCF5282_EPORT_EPPAR_EPPA5_FALLING   (0x0800)
1711#define MCF5282_EPORT_EPPAR_EPPA5_BOTHEDGE  (0x0C00)
1712#define MCF5282_EPORT_EPPAR_EPPA4_LEVEL         (0x0000)
1713#define MCF5282_EPORT_EPPAR_EPPA4_RISING    (0x0100)
1714#define MCF5282_EPORT_EPPAR_EPPA4_FALLING   (0x0200)
1715#define MCF5282_EPORT_EPPAR_EPPA4_BOTHEDGE  (0x0300)
1716#define MCF5282_EPORT_EPPAR_EPPA3_LEVEL         (0x0000)
1717#define MCF5282_EPORT_EPPAR_EPPA3_RISING    (0x0040)
1718#define MCF5282_EPORT_EPPAR_EPPA3_FALLING   (0x0080)
1719#define MCF5282_EPORT_EPPAR_EPPA3_BOTHEDGE  (0x00C0)
1720#define MCF5282_EPORT_EPPAR_EPPA2_LEVEL         (0x0000)
1721#define MCF5282_EPORT_EPPAR_EPPA2_RISING    (0x0010)
1722#define MCF5282_EPORT_EPPAR_EPPA2_FALLING   (0x0020)
1723#define MCF5282_EPORT_EPPAR_EPPA2_BOTHEDGE  (0x0030)
1724#define MCF5282_EPORT_EPPAR_EPPA1_LEVEL         (0x0000)
1725#define MCF5282_EPORT_EPPAR_EPPA1_RISING    (0x0004)
1726#define MCF5282_EPORT_EPPAR_EPPA1_FALLING   (0x0008)
1727#define MCF5282_EPORT_EPPAR_EPPA1_BOTHEDGE  (0x000C)
1728
1729
1730#define MCF5282_EPORT_EPDDR_EPDD7                       (0x80)
1731#define MCF5282_EPORT_EPDDR_EPDD6                       (0x40)
1732#define MCF5282_EPORT_EPDDR_EPDD5                       (0x20)
1733#define MCF5282_EPORT_EPDDR_EPDD4                       (0x10)
1734#define MCF5282_EPORT_EPDDR_EPDD3                       (0x08)
1735#define MCF5282_EPORT_EPDDR_EPDD2                       (0x04)
1736#define MCF5282_EPORT_EPDDR_EPDD1                       (0x02)
1737#define MCF5282_EPORT_EPDDR_EPDD(x)                     (0x01<<x)
1738
1739#define MCF5282_EPORT_EPIER_EPIE7                       (0x80)
1740#define MCF5282_EPORT_EPIER_EPIE6                       (0x40)
1741#define MCF5282_EPORT_EPIER_EPIE5                       (0x20)
1742#define MCF5282_EPORT_EPIER_EPIE4                       (0x10)
1743#define MCF5282_EPORT_EPIER_EPIE3                       (0x08)
1744#define MCF5282_EPORT_EPIER_EPIE2                       (0x04)
1745#define MCF5282_EPORT_EPIER_EPIE1                       (0x02)
1746#define MCF5282_EPORT_EPIER_EPIE(x)                     (0x01<<x)
1747
1748#define MCF5282_EPORT_EPDR_EPD7                         (0x80)
1749#define MCF5282_EPORT_EPDR_EPD6                         (0x40)
1750#define MCF5282_EPORT_EPDR_EPD5                         (0x20)
1751#define MCF5282_EPORT_EPDR_EPD4                         (0x10)
1752#define MCF5282_EPORT_EPDR_EPD3                         (0x08)
1753#define MCF5282_EPORT_EPDR_EPD2                         (0x04)
1754#define MCF5282_EPORT_EPDR_EPD1                         (0x02)
1755#define MCF5282_EPORT_EPDR_EPD(x)                       (0x01<<x)
1756
1757#define MCF5282_EPORT_EPPDR_EPPD7                       (0x80)
1758#define MCF5282_EPORT_EPPDR_EPPD6                       (0x40)
1759#define MCF5282_EPORT_EPPDR_EPPD5                       (0x20)
1760#define MCF5282_EPORT_EPPDR_EPPD4                       (0x10)
1761#define MCF5282_EPORT_EPPDR_EPPD3                       (0x08)
1762#define MCF5282_EPORT_EPPDR_EPPD2                       (0x04)
1763#define MCF5282_EPORT_EPPDR_EPPD1                       (0x02)
1764#define MCF5282_EPORT_EPPDR_EPPD(x)                     (0x01<<x)
1765
1766#define MCF5282_EPORT_EPFR_EPF7                         (0x80)
1767#define MCF5282_EPORT_EPFR_EPF6                         (0x40)
1768#define MCF5282_EPORT_EPFR_EPF5                         (0x20)
1769#define MCF5282_EPORT_EPFR_EPF4                         (0x10)
1770#define MCF5282_EPORT_EPFR_EPF3                         (0x08)
1771#define MCF5282_EPORT_EPFR_EPF2                         (0x04)
1772#define MCF5282_EPORT_EPFR_EPF1                         (0x02)
1773#define MCF5282_EPORT_EPFR_EPF(x)                       (0x01<<x)
1774
1775/*********************************************************************
1776*
1777* Watchdog Timer Module (WTM)
1778*
1779*********************************************************************/
1780
1781/* Read/Write access macros for general use */
1782#define MCF5282_WTM_WCR         (*(vuint16 *)(void *)(&__IPSBAR[0x140000]))
1783#define MCF5282_WTM_WMR         (*(vuint16 *)(void *)(&__IPSBAR[0x140002]))
1784#define MCF5282_WTM_WCNTR       (*(vuint16 *)(void *)(&__IPSBAR[0x140004]))
1785#define MCF5282_WTM_WSR         (*(vuint16 *)(void *)(&__IPSBAR[0x140006]))
1786
1787/* Bit level definitions and macros */
1788#define MCF5282_WTM_WCR_WAIT                            (0x0008)               
1789#define MCF5282_WTM_WCR_DOZE                            (0x0004)
1790#define MCF5282_WTM_WCR_HALTED                          (0x0002)
1791#define MCF5282_WTM_WCR_EN                              (0x0001)
1792
1793#define MCF5282_WTM_WSR_SEQ1                            (0x5555)
1794#define MCF5282_WTM_WSR_SEQ2                            (0xAAAA)
1795
1796/*********************************************************************
1797*
1798* Programmable Interrupt Timer (PIT) Module
1799*
1800*********************************************************************/
1801
1802/* Read/Write access macros for general use */
1803#define MCF5282_PIT0_PCSR               (*(vuint16 *)(void *)(&__IPSBAR[0x150000]))
1804#define MCF5282_PIT0_PMR                (*(vuint16 *)(void *)(&__IPSBAR[0x150002]))
1805#define MCF5282_PIT0_PCNTR              (*(vuint16 *)(void *)(&__IPSBAR[0x150004]))
1806                                                                                 
1807#define MCF5282_PIT1_PCSR               (*(vuint16 *)(void *)(&__IPSBAR[0x160000]))
1808#define MCF5282_PIT1_PMR                (*(vuint16 *)(void *)(&__IPSBAR[0x160002]))
1809#define MCF5282_PIT1_PCNTR              (*(vuint16 *)(void *)(&__IPSBAR[0x160004]))
1810
1811#define MCF5282_PIT2_PCSR               (*(vuint16 *)(void *)(&__IPSBAR[0x170000]))
1812#define MCF5282_PIT2_PMR                (*(vuint16 *)(void *)(&__IPSBAR[0x170002]))
1813#define MCF5282_PIT2_PCNTR              (*(vuint16 *)(void *)(&__IPSBAR[0x170004]))
1814
1815#define MCF5282_PIT3_PCSR               (*(vuint16 *)(void *)(&__IPSBAR[0x180000]))
1816#define MCF5282_PIT3_PMR                (*(vuint16 *)(void *)(&__IPSBAR[0x180002]))
1817#define MCF5282_PIT3_PCNTR              (*(vuint16 *)(void *)(&__IPSBAR[0x180004]))
1818
1819#define MCF5282_PIT_PCSR(x)             (*(vuint16 *)(void *)(&__IPSBAR[0x150000+(0x1000*x)]))
1820#define MCF5282_PIT_PMR(x)              (*(vuint16 *)(void *)(&__IPSBAR[0x150002+(0x1000*x)]))
1821#define MCF5282_PIT_PCNTR(x)    (*(vuint16 *)(void *)(&__IPSBAR[0x150004+(0x1000*x)]))
1822
1823/* Bit level definitions and macros */
1824#define MCF5282_PIT_PCSR_PRE(x)                         (((x)&0x000F)<<8)
1825#define MCF5282_PIT_PCSR_DOZE                           (0x0040)
1826#define MCF5282_PIT_PCSR_HALTED                         (0x0020)
1827#define MCF5282_PIT_PCSR_OVW                            (0x0010)
1828#define MCF5282_PIT_PCSR_PIE                            (0x0008)
1829#define MCF5282_PIT_PCSR_PIF                            (0x0004)
1830#define MCF5282_PIT_PCSR_RLD                            (0x0002)
1831#define MCF5282_PIT_PCSR_EN                                     (0x0001)
1832
1833/*********************************************************************
1834*
1835* Queued Analog to Digital Converter (QADC) Module
1836*
1837*********************************************************************/
1838
1839/* Read/Write access macros for general use */
1840#define MCF5282_QADC_QADCMCR    (*(vuint16 *)(void *)(&__IPSBAR[0x190000]))
1841#define MCF5282_QADC_PORTQA             (*(vuint8  *)(void *)(&__IPSBAR[0x190006]))
1842#define MCF5282_QADC_PORTQB             (*(vuint8  *)(void *)(&__IPSBAR[0x190007]))
1843#define MCF5282_QADC_DDRQA              (*(vuint8  *)(void *)(&__IPSBAR[0x190008]))
1844#define MCF5282_QADC_DDRQB              (*(vuint8  *)(void *)(&__IPSBAR[0x190009]))
1845#define MCF5282_QADC_QACR0              (*(vuint16 *)(void *)(&__IPSBAR[0x19000A]))
1846#define MCF5282_QADC_QACR1              (*(vuint16 *)(void *)(&__IPSBAR[0x19000C]))
1847#define MCF5282_QADC_QACR2              (*(vuint16 *)(void *)(&__IPSBAR[0x19000E]))
1848#define MCF5282_QADC_QASR0              (*(vuint16 *)(void *)(&__IPSBAR[0x190010]))
1849#define MCF5282_QADC_QASR1              (*(vuint16 *)(void *)(&__IPSBAR[0x190012]))
1850#define MCF5282_QADC_CCW(x)             (*(vuint16 *)(void *)(&__IPSBAR[0x190200+(x*2)]))
1851#define MCF5282_QADC_RJURR(x)   (*(vuint16 *)(void *)(&__IPSBAR[0x190280+(x*2)]))
1852#define MCF5282_QADC_LJSRR(x)   (*(vuint16 *)(void *)(&__IPSBAR[0x190300+(x*2)]))
1853#define MCF5282_QADC_LJURR(x)   (*(vuint16 *)(void *)(&__IPSBAR[0x190380+(x*2)]))
1854
1855/* Bit level definitions and macros */
1856#define MCF5282_QADC_QADCMCR_QSTOP                      (0x8000)
1857#define MCF5282_QADC_QADCMCR_QDBG                       (0x4000)
1858#define MCF5282_QADC_QADCMCR_SUPV                       (0x0080)
1859
1860#define MCF5282_QADC_PORTQA_PQA4                        (0x10)
1861#define MCF5282_QADC_PORTQA_PQA3                        (0x08)
1862#define MCF5282_QADC_PORTQA_PQA1                        (0x02)
1863#define MCF5282_QADC_PORTQA_PQA0                        (0x01)
1864#define MCF5282_QADC_PORTQA_AN56                        (0x10)
1865#define MCF5282_QADC_PORTQA_AN55                        (0x08)
1866#define MCF5282_QADC_PORTQA_ETRIG2                      (0x10)
1867#define MCF5282_QADC_PORTQA_ETRIG1                      (0x08)
1868#define MCF5282_QADC_PORTQA_AN53                        (0x02)
1869#define MCF5282_QADC_PORTQA_AN52                        (0x01)
1870#define MCF5282_QADC_PORTQA_MA1                         (0x02)
1871#define MCF5282_QADC_PORTQA_MA0                         (0x01)
1872
1873#define MCF5282_QADC_PORTQB_PQB3                        (0x08)
1874#define MCF5282_QADC_PORTQB_PQB2                        (0x04)
1875#define MCF5282_QADC_PORTQB_PQB1                        (0x02)
1876#define MCF5282_QADC_PORTQB_PQB0                        (0x01)
1877#define MCF5282_QADC_PORTQB_AN3                         (0x08)
1878#define MCF5282_QADC_PORTQB_AN2                         (0x04)
1879#define MCF5282_QADC_PORTQB_AN1                         (0x02)
1880#define MCF5282_QADC_PORTQB_AN0                         (0x01)
1881#define MCF5282_QADC_PORTQB_ANZ                         (0x08)
1882#define MCF5282_QADC_PORTQB_ANY                         (0x04)
1883#define MCF5282_QADC_PORTQB_ANX                         (0x02)
1884#define MCF5282_QADC_PORTQB_ANW                         (0x01)
1885
1886#define MCF5282_QADC_DDRQA_DDQA4                        (0x10)
1887#define MCF5282_QADC_DDRQA_DDQA3                        (0x08)
1888#define MCF5282_QADC_DDRQA_DDQA1                        (0x02)
1889#define MCF5282_QADC_DDRQA_DDQA0                        (0x01)
1890
1891#define MCF5282_QADC_DDRQB_DDQB3                        (0x08)
1892#define MCF5282_QADC_DDRQB_DDQB2                        (0x04)
1893#define MCF5282_QADC_DDRQB_DDQB1                        (0x02)
1894#define MCF5282_QADC_DDRQB_DDQB0                        (0x01)
1895
1896#define MCF5282_QADC_QACR0_MUX                          (0x8000)
1897#define MCF5282_QADC_QACR0_TRG                          (0x1000)
1898#define MCF5282_QADC_QACR0_QPR(x)                       (((x)&0x007F))
1899
1900#define MCF5282_QADC_QACRx_CIE                          (0x8000)
1901#define MCF5282_QADC_QACRx_PIE                          (0x4000)
1902#define MCF5282_QADC_QACRx_SSE                          (0x2000)
1903#define MCF5282_QADC_QACRx_MQ(x)                        (((x)&0x001F)<<8)
1904#define MCF5282_QADC_QACRx_RESUME                       (0x0080)
1905#define MCF5282_QADC_QACRx_BQ(x)                        (((x)&0x007F))
1906
1907#define MCF5282_QADC_QASR0_CF1                          (0x8000)
1908#define MCF5282_QADC_QASR0_PF1                          (0x4000)
1909#define MCF5282_QADC_QASR0_CF2                          (0x2000)
1910#define MCF5282_QADC_QASR0_PF2                          (0x1000)
1911#define MCF5282_QADC_QASR0_TOR1                         (0x0800)                               
1912#define MCF5282_QADC_QASR0_TOR2                         (0x0400)
1913       
1914#define MCF5282_QADC_CCW_P                                      (0x0200)
1915#define MCF5282_QADC_CCW_BYP                            (0x0100)
1916#define MCF5282_QADC_CCW_IST(x)                         (((x)&0x0003)<<14)
1917#define MCF5282_QADC_CCW_CHAN(x)                        (((x)&0x003F))
1918
1919/*********************************************************************
1920*
1921* General Purpose Timer (GPT) Module
1922*
1923*********************************************************************/
1924
1925/* Read/Write access macros for general use */
1926#define MCF5282_GPTA_GPTIOS             (*(vuint8  *)(void *)(&__IPSBAR[0x1A0000]))
1927#define MCF5282_GPTA_GPTCFORC   (*(vuint8  *)(void *)(&__IPSBAR[0x1A0001]))
1928#define MCF5282_GPTA_GPTOC3M    (*(vuint8  *)(void *)(&__IPSBAR[0x1A0002]))
1929#define MCF5282_GPTA_GPTOC3D    (*(vuint8  *)(void *)(&__IPSBAR[0x1A0003]))
1930#define MCF5282_GPTA_GPTCNT             (*(vuint16 *)(void *)(&__IPSBAR[0x1A0004]))
1931#define MCF5282_GPTA_GPTSCR1    (*(vuint8  *)(void *)(&__IPSBAR[0x1A0006]))
1932#define MCF5282_GPTA_GPTTOV             (*(vuint8  *)(void *)(&__IPSBAR[0x1A0008]))
1933#define MCF5282_GPTA_GPTCTL1    (*(vuint8  *)(void *)(&__IPSBAR[0x1A0009]))
1934#define MCF5282_GPTA_GPTCTL2    (*(vuint8  *)(void *)(&__IPSBAR[0x1A000B]))
1935#define MCF5282_GPTA_GPTIE              (*(vuint8  *)(void *)(&__IPSBAR[0x1A000C]))
1936#define MCF5282_GPTA_GPTSCR2    (*(vuint8  *)(void *)(&__IPSBAR[0x1A000D]))
1937#define MCF5282_GPTA_GPTFLG1    (*(vuint8  *)(void *)(&__IPSBAR[0x1A000E]))
1938#define MCF5282_GPTA_GPTFLG2    (*(vuint8  *)(void *)(&__IPSBAR[0x1A000F]))
1939#define MCF5282_GPTA_GPTC0              (*(vuint16 *)(void *)(&__IPSBAR[0x1A0010]))
1940#define MCF5282_GPTA_GPTC1              (*(vuint16 *)(void *)(&__IPSBAR[0x1A0012]))
1941#define MCF5282_GPTA_GPTC2              (*(vuint16 *)(void *)(&__IPSBAR[0x1A0014]))
1942#define MCF5282_GPTA_GPTC3              (*(vuint16 *)(void *)(&__IPSBAR[0x1A0016]))
1943#define MCF5282_GPTA_GPTPACTL   (*(vuint8  *)(void *)(&__IPSBAR[0x1A0018]))
1944#define MCF5282_GPTA_GPTPAFLG   (*(vuint8  *)(void *)(&__IPSBAR[0x1A0019]))
1945#define MCF5282_GPTA_GPTPACNT   (*(vuint16 *)(void *)(&__IPSBAR[0x1A001A]))
1946#define MCF5282_GPTA_GPTPORT    (*(vuint8  *)(void *)(&__IPSBAR[0x1A001D]))
1947#define MCF5282_GPTA_GPTDDR             (*(vuint8  *)(void *)(&__IPSBAR[0x1A001E]))
1948
1949#define MCF5282_GPTB_GPTIOS             (*(vuint8  *)(void *)(&__IPSBAR[0x1B0000]))
1950#define MCF5282_GPTB_GPTCFORC   (*(vuint8  *)(void *)(&__IPSBAR[0x1B0001]))
1951#define MCF5282_GPTB_GPTOC3M    (*(vuint8  *)(void *)(&__IPSBAR[0x1B0002]))
1952#define MCF5282_GPTB_GPTOC3D    (*(vuint8  *)(void *)(&__IPSBAR[0x1B0003]))
1953#define MCF5282_GPTB_GPTCNT             (*(vuint16 *)(void *)(&__IPSBAR[0x1B0004]))
1954#define MCF5282_GPTB_GPTSCR1    (*(vuint8  *)(void *)(&__IPSBAR[0x1B0006]))
1955#define MCF5282_GPTB_GPTTOV             (*(vuint8  *)(void *)(&__IPSBAR[0x1B0008]))
1956#define MCF5282_GPTB_GPTCTL1    (*(vuint8  *)(void *)(&__IPSBAR[0x1B0009]))
1957#define MCF5282_GPTB_GPTCTL2    (*(vuint8  *)(void *)(&__IPSBAR[0x1B000B]))
1958#define MCF5282_GPTB_GPTIE              (*(vuint8  *)(void *)(&__IPSBAR[0x1B000C]))
1959#define MCF5282_GPTB_GPTSCR2    (*(vuint8  *)(void *)(&__IPSBAR[0x1B000D]))
1960#define MCF5282_GPTB_GPTFLG1    (*(vuint8  *)(void *)(&__IPSBAR[0x1B000E]))
1961#define MCF5282_GPTB_GPTFLG2    (*(vuint8  *)(void *)(&__IPSBAR[0x1B000F]))
1962#define MCF5282_GPTB_GPTC0              (*(vuint16 *)(void *)(&__IPSBAR[0x1B0010]))
1963#define MCF5282_GPTB_GPTC1              (*(vuint16 *)(void *)(&__IPSBAR[0x1B0012]))
1964#define MCF5282_GPTB_GPTC2              (*(vuint16 *)(void *)(&__IPSBAR[0x1B0014]))
1965#define MCF5282_GPTB_GPTC3              (*(vuint16 *)(void *)(&__IPSBAR[0x1B0016]))
1966#define MCF5282_GPTB_GPTPACTL   (*(vuint8  *)(void *)(&__IPSBAR[0x1B0018]))
1967#define MCF5282_GPTB_GPTPAFLG   (*(vuint8  *)(void *)(&__IPSBAR[0x1B0019]))
1968#define MCF5282_GPTB_GPTPACNT   (*(vuint16 *)(void *)(&__IPSBAR[0x1B001A]))
1969#define MCF5282_GPTB_GPTPORT    (*(vuint8  *)(void *)(&__IPSBAR[0x1B001D]))
1970#define MCF5282_GPTB_GPTDDR             (*(vuint8  *)(void *)(&__IPSBAR[0x1B001E]))
1971
1972/* Bit level definitions and macros */
1973#define MCF5282_GPT_GPTIOS_IOS3                         (0x08)
1974#define MCF5282_GPT_GPTIOS_IOS2                         (0x04)
1975#define MCF5282_GPT_GPTIOS_IOS1                         (0x02)
1976#define MCF5282_GPT_GPTIOS_IOS0                         (0x01)
1977
1978#define MCF5282_GPT_GPTCFORC_FOC3                       (0x08)
1979#define MCF5282_GPT_GPTCFORC_FOC2                       (0x04)
1980#define MCF5282_GPT_GPTCFORC_FOC1                       (0x02)
1981#define MCF5282_GPT_GPTCFORC_FOC0                       (0x01)
1982
1983#define MCF5282_GPT_GPTOC3M_OC3M3                       (0x08)
1984#define MCF5282_GPT_GPTOC3M_OC3M2                       (0x04)
1985#define MCF5282_GPT_GPTOC3M_OC3M1                       (0x02)
1986#define MCF5282_GPT_GPTOC3M_OC3M0                       (0x01)
1987
1988#define MCF5282_GPT_GPTOC3M_OC3D(x)                     (((x)&0x04))
1989
1990#define MCF5282_GPT_GPTSCR1_GPTEN                       (0x80)
1991#define MCF5282_GPT_GPTSCR1_TFFCA                       (0x10)
1992
1993#define MCF5282_GPT_GPTTOV3                                     (0x08)
1994#define MCF5282_GPT_GPTTOV2                                     (0x04)
1995#define MCF5282_GPT_GPTTOV1                                     (0x02)
1996#define MCF5282_GPT_GPTTOV0                                     (0x01)
1997
1998#define MCF5282_GPT_GPTCTL_OMOL3(x)                     (((x)&0x03)<<6)
1999#define MCF5282_GPT_GPTCTL_OMOL2(x)                     (((x)&0x03)<<4)
2000#define MCF5282_GPT_GPTCTL_OMOL1(x)                     (((x)&0x03)<<2)
2001#define MCF5282_GPT_GPTCTL_OMOL0(x)                     (((x)&0x03))
2002
2003#define MCF5282_GPT_GPTCTL2_EDG3(x)                     (((x)&0x03)<<6)
2004#define MCF5282_GPT_GPTCTL2_EDG2(x)                     (((x)&0x03)<<4)
2005#define MCF5282_GPT_GPTCTL2_EDG1(x)                     (((x)&0x03)<<2)
2006#define MCF5282_GPT_GPTCTL2_EDG0(x)                     (((x)&0x03))
2007
2008#define MCF5282_GPT_GPTIE_C3I                           (0x08)
2009#define MCF5282_GPT_GPTIE_C2I                           (0x04)
2010#define MCF5282_GPT_GPTIE_C1I                           (0x02)
2011#define MCF5282_GPT_GPTIE_C0I                           (0x01)
2012
2013#define MCF5282_GPT_GPTSCR2_TOI                         (0x80)
2014#define MCF5282_GPT_GPTSCR2_PUPT                        (0x20)
2015#define MCF5282_GPT_GPTSCR2_RDPT                        (0x10)
2016#define MCF5282_GPT_GPTSCR2_TCRE                        (0x08)
2017#define MCF5282_GPT_GPTSCR2_PR(x)                       (((x)&0x07))
2018
2019#define MCF5282_GPT_GPTFLG1_C3F                         (0x08)
2020#define MCF5282_GPT_GPTFLG1_C2F                         (0x04)
2021#define MCF5282_GPT_GPTFLG1_C1F                         (0x02)
2022#define MCF5282_GPT_GPTFLG1_C0F                         (0x01)
2023
2024#define MCF5282_GPT_GPTFLG2_TOF                         (0x80)
2025#define MCF5282_GPT_GPTFLG2_C3F                         (0x08)
2026#define MCF5282_GPT_GPTFLG2_C2F                         (0x04)
2027#define MCF5282_GPT_GPTFLG2_C1F                         (0x02)
2028#define MCF5282_GPT_GPTFLG2_C0F                         (0x01)
2029
2030#define MCF5282_GPT_GPTPACTL_PAE                        (0x40)
2031#define MCF5282_GPT_GPTPACTL_PAMOD                      (0x20)
2032#define MCF5282_GPT_GPTPACTL_PEDGE                      (0x10)
2033#define MCF5282_GPT_GPTPACTL_CLK_PACLK          (0x04)
2034#define MCF5282_GPT_GPTPACTL_CLK_PACLK256       (0x08)
2035#define MCF5282_GPT_GPTPACTL_CLK_PACLK65536     (0x0C)
2036#define MCF5282_GPT_GPTPACTL_CLK(x)                     (((x)&0x03)<<2)
2037#define MCF5282_GPT_GPTPACTL_PAOVI                      (0x02)
2038#define MCF5282_GPT_GPTPACTL_PAI                        (0x01)
2039
2040#define MCF5282_GPT_GPTPAFLG_PAOVF                      (0x02)
2041#define MCF5282_GPT_GPTPAFLG_PAIF                       (0x01)
2042
2043#define MCF5282_GPT_GPTPORT_PORTT3                      (0x08)
2044#define MCF5282_GPT_GPTPORT_PORTT2                      (0x04)
2045#define MCF5282_GPT_GPTPORT_PORTT1                      (0x02)
2046#define MCF5282_GPT_GPTPORT_PORTT0                      (0x01)
2047
2048#define MCF5282_GPT_GPTDDR_DDRT3                        (0x08)
2049#define MCF5282_GPT_GPTDDR_DDRT2                        (0x04)
2050#define MCF5282_GPT_GPTDDR_DDRT1                        (0x02)
2051#define MCF5282_GPT_GPTDDR_DDRT0                        (0x01)
2052
2053/*********************************************************************
2054*
2055* FlexCAN Module
2056*
2057*********************************************************************/
2058
2059/* Read/Write access macros for general use */
2060#define MCF5282_FLEXCAN_CANMCR          (*(vuint16 *)(void *)(&__IPSBAR[0x1C0000]))
2061#define MCF5282_FLEXCAN_CANCTRL0        (*(vuint8  *)(void *)(&__IPSBAR[0x1C0006]))
2062#define MCF5282_FLEXCAN_CANCTRL1        (*(vuint8  *)(void *)(&__IPSBAR[0x1C0007]))
2063#define MCF5282_FLEXCAN_PRESDIV         (*(vuint8  *)(void *)(&__IPSBAR[0x1C0008]))
2064#define MCF5282_FLEXCAN_CANCTRL2        (*(vuint8  *)(void *)(&__IPSBAR[0x1C0009]))
2065#define MCF5282_FLEXCAN_TIMER           (*(vuint16 *)(void *)(&__IPSBAR[0x1C000A]))
2066#define MCF5282_FLEXCAN_RXGMASK         (*(vuint32 *)(void *)(&__IPSBAR[0x1C0010]))
2067#define MCF5282_FLEXCAN_RX14MASK        (*(vuint32 *)(void *)(&__IPSBAR[0x1C0014]))
2068#define MCF5282_FLEXCAN_RX15MASK        (*(vuint32 *)(void *)(&__IPSBAR[0x1C0018]))
2069#define MCF5282_FLEXCAN_ESTAT           (*(vuint16 *)(void *)(&__IPSBAR[0x1C0020]))
2070#define MCF5282_FLEXCAN_IMASK           (*(vuint16 *)(void *)(&__IPSBAR[0x1C0022]))
2071#define MCF5282_FLEXCAN_IFLAG           (*(vuint16 *)(void *)(&__IPSBAR[0x1C0024]))
2072#define MCF5282_FLEXCAN_RXECTR          (*(vuint8  *)(void *)(&__IPSBAR[0x1C0026]))
2073#define MCF5282_FLEXCAN_TXECTR          (*(vuint8  *)(void *)(&__IPSBAR[0x1C0027]))
2074#define MCF5282_FLEXCAN_MBUF0_CTRL      (*(vuint8 *)(void *)(&__IPSBAR[0x1C0081]))
2075#define MCF5282_FLEXCAN_MBUF0_IDH       (*(vuint16 *)(void *)(&__IPSBAR[0x1C0082]))
2076#define MCF5282_FLEXCAN_MBUF0_IDL       (*(vuint16 *)(void *)(&__IPSBAR[0x1C0084]))
2077#define MCF5282_FLEXCAN_MBUF0_BYTE0     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0086]))
2078#define MCF5282_FLEXCAN_MBUF0_BYTE1     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0087]))
2079#define MCF5282_FLEXCAN_MBUF0_BYTE2     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0088]))
2080#define MCF5282_FLEXCAN_MBUF0_BYTE3     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0089]))
2081#define MCF5282_FLEXCAN_MBUF0_BYTE4     (*(vuint8  *)(void *)(&__IPSBAR[0x1C008A]))
2082#define MCF5282_FLEXCAN_MBUF0_BYTE5     (*(vuint8  *)(void *)(&__IPSBAR[0x1C008B]))
2083#define MCF5282_FLEXCAN_MBUF0_BYTE6     (*(vuint8  *)(void *)(&__IPSBAR[0x1C008C]))
2084#define MCF5282_FLEXCAN_MBUF0_BYTE7     (*(vuint8  *)(void *)(&__IPSBAR[0x1C008D]))
2085#define MCF5282_FLEXCAN_MBUF1_CTRL      (*(vuint8 *)(void *)(&__IPSBAR[0x1C0091]))
2086#define MCF5282_FLEXCAN_MBUF1_IDH       (*(vuint16 *)(void *)(&__IPSBAR[0x1C0092]))
2087#define MCF5282_FLEXCAN_MBUF1_IDL       (*(vuint16 *)(void *)(&__IPSBAR[0x1C0094]))
2088#define MCF5282_FLEXCAN_MBUF1_BYTE0     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0096]))
2089#define MCF5282_FLEXCAN_MBUF1_BYTE1     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0097]))
2090#define MCF5282_FLEXCAN_MBUF1_BYTE2     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0098]))
2091#define MCF5282_FLEXCAN_MBUF1_BYTE3     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0099]))
2092#define MCF5282_FLEXCAN_MBUF1_BYTE4     (*(vuint8  *)(void *)(&__IPSBAR[0x1C009A]))
2093#define MCF5282_FLEXCAN_MBUF1_BYTE5     (*(vuint8  *)(void *)(&__IPSBAR[0x1C009B]))
2094#define MCF5282_FLEXCAN_MBUF1_BYTE6     (*(vuint8  *)(void *)(&__IPSBAR[0x1C009C]))
2095#define MCF5282_FLEXCAN_MBUF1_BYTE7     (*(vuint8  *)(void *)(&__IPSBAR[0x1C009D]))
2096#define MCF5282_FLEXCAN_MBUF2_CTRL      (*(vuint8 *)(void *)(&__IPSBAR[0x1C00A1]))
2097#define MCF5282_FLEXCAN_MBUF2_IDH       (*(vuint16 *)(void *)(&__IPSBAR[0x1C00A2]))
2098#define MCF5282_FLEXCAN_MBUF2_IDL       (*(vuint16 *)(void *)(&__IPSBAR[0x1C00A4]))
2099#define MCF5282_FLEXCAN_MBUF2_BYTE0     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00A6]))
2100#define MCF5282_FLEXCAN_MBUF2_BYTE1     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00A7]))
2101#define MCF5282_FLEXCAN_MBUF2_BYTE2     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00A8]))
2102#define MCF5282_FLEXCAN_MBUF2_BYTE3     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00A9]))
2103#define MCF5282_FLEXCAN_MBUF2_BYTE4     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00AA]))
2104#define MCF5282_FLEXCAN_MBUF2_BYTE5     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00AB]))
2105#define MCF5282_FLEXCAN_MBUF2_BYTE6     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00AC]))
2106#define MCF5282_FLEXCAN_MBUF2_BYTE7     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00AD]))
2107#define MCF5282_FLEXCAN_MBUF3_CTRL      (*(vuint8 *)(void *)(&__IPSBAR[0x1C00B1]))
2108#define MCF5282_FLEXCAN_MBUF3_IDH       (*(vuint16 *)(void *)(&__IPSBAR[0x1C00B2]))
2109#define MCF5282_FLEXCAN_MBUF3_IDL       (*(vuint16 *)(void *)(&__IPSBAR[0x1C00B4]))
2110#define MCF5282_FLEXCAN_MBUF3_BYTE0     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00B6]))
2111#define MCF5282_FLEXCAN_MBUF3_BYTE1     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00B7]))
2112#define MCF5282_FLEXCAN_MBUF3_BYTE2     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00B8]))
2113#define MCF5282_FLEXCAN_MBUF3_BYTE3     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00B9]))
2114#define MCF5282_FLEXCAN_MBUF3_BYTE4     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00BA]))
2115#define MCF5282_FLEXCAN_MBUF3_BYTE5     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00BB]))
2116#define MCF5282_FLEXCAN_MBUF3_BYTE6     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00BC]))
2117#define MCF5282_FLEXCAN_MBUF3_BYTE7     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00BD]))
2118#define MCF5282_FLEXCAN_MBUF4_CTRL      (*(vuint8 *)(void *)(&__IPSBAR[0x1C00C1]))
2119#define MCF5282_FLEXCAN_MBUF4_IDH       (*(vuint16 *)(void *)(&__IPSBAR[0x1C00C2]))
2120#define MCF5282_FLEXCAN_MBUF4_IDL       (*(vuint16 *)(void *)(&__IPSBAR[0x1C00C4]))
2121#define MCF5282_FLEXCAN_MBUF4_BYTE0     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00C6]))
2122#define MCF5282_FLEXCAN_MBUF4_BYTE1     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00C7]))
2123#define MCF5282_FLEXCAN_MBUF4_BYTE2     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00C8]))
2124#define MCF5282_FLEXCAN_MBUF4_BYTE3     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00C9]))
2125#define MCF5282_FLEXCAN_MBUF4_BYTE4     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00CA]))
2126#define MCF5282_FLEXCAN_MBUF4_BYTE5     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00CB]))
2127#define MCF5282_FLEXCAN_MBUF4_BYTE6     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00CC]))
2128#define MCF5282_FLEXCAN_MBUF4_BYTE7     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00CD]))
2129#define MCF5282_FLEXCAN_MBUF5_CTRL      (*(vuint8 *)(void *)(&__IPSBAR[0x1C00D1]))
2130#define MCF5282_FLEXCAN_MBUF5_IDH       (*(vuint16 *)(void *)(&__IPSBAR[0x1C00D2]))
2131#define MCF5282_FLEXCAN_MBUF5_IDL       (*(vuint16 *)(void *)(&__IPSBAR[0x1C00D4]))
2132#define MCF5282_FLEXCAN_MBUF5_BYTE0     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00D6]))
2133#define MCF5282_FLEXCAN_MBUF5_BYTE1     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00D7]))
2134#define MCF5282_FLEXCAN_MBUF5_BYTE2     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00D8]))
2135#define MCF5282_FLEXCAN_MBUF5_BYTE3     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00D9]))
2136#define MCF5282_FLEXCAN_MBUF5_BYTE4     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00DA]))
2137#define MCF5282_FLEXCAN_MBUF5_BYTE5     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00DB]))
2138#define MCF5282_FLEXCAN_MBUF5_BYTE6     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00DC]))
2139#define MCF5282_FLEXCAN_MBUF5_BYTE7     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00DD]))
2140#define MCF5282_FLEXCAN_MBUF6_CTRL      (*(vuint8 *)(void *)(&__IPSBAR[0x1C00E1]))
2141#define MCF5282_FLEXCAN_MBUF6_IDH       (*(vuint16 *)(void *)(&__IPSBAR[0x1C00E2]))
2142#define MCF5282_FLEXCAN_MBUF6_IDL       (*(vuint16 *)(void *)(&__IPSBAR[0x1C00E4]))
2143#define MCF5282_FLEXCAN_MBUF6_BYTE0     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00E6]))
2144#define MCF5282_FLEXCAN_MBUF6_BYTE1     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00E7]))
2145#define MCF5282_FLEXCAN_MBUF6_BYTE2     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00E8]))
2146#define MCF5282_FLEXCAN_MBUF6_BYTE3     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00E9]))
2147#define MCF5282_FLEXCAN_MBUF6_BYTE4     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00EA]))
2148#define MCF5282_FLEXCAN_MBUF6_BYTE5     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00EB]))
2149#define MCF5282_FLEXCAN_MBUF6_BYTE6     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00EC]))
2150#define MCF5282_FLEXCAN_MBUF6_BYTE7     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00ED]))
2151#define MCF5282_FLEXCAN_MBUF7_CTRL      (*(vuint8 *)(void *)(&__IPSBAR[0x1C00F1]))
2152#define MCF5282_FLEXCAN_MBUF7_IDH       (*(vuint16 *)(void *)(&__IPSBAR[0x1C00F2]))
2153#define MCF5282_FLEXCAN_MBUF7_IDL       (*(vuint16 *)(void *)(&__IPSBAR[0x1C00F4]))
2154#define MCF5282_FLEXCAN_MBUF7_BYTE0     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00F6]))
2155#define MCF5282_FLEXCAN_MBUF7_BYTE1     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00F7]))
2156#define MCF5282_FLEXCAN_MBUF7_BYTE2     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00F8]))
2157#define MCF5282_FLEXCAN_MBUF7_BYTE3     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00F9]))
2158#define MCF5282_FLEXCAN_MBUF7_BYTE4     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00FA]))
2159#define MCF5282_FLEXCAN_MBUF7_BYTE5     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00FB]))
2160#define MCF5282_FLEXCAN_MBUF7_BYTE6     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00FC]))
2161#define MCF5282_FLEXCAN_MBUF7_BYTE7     (*(vuint8  *)(void *)(&__IPSBAR[0x1C00FD]))
2162#define MCF5282_FLEXCAN_MBUF8_CTRL      (*(vuint8 *)(void *)(&__IPSBAR[0x1C0101]))
2163#define MCF5282_FLEXCAN_MBUF8_IDH       (*(vuint16 *)(void *)(&__IPSBAR[0x1C0102]))
2164#define MCF5282_FLEXCAN_MBUF8_IDL       (*(vuint16 *)(void *)(&__IPSBAR[0x1C0104]))
2165#define MCF5282_FLEXCAN_MBUF8_BYTE0     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0106]))
2166#define MCF5282_FLEXCAN_MBUF8_BYTE1     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0107]))
2167#define MCF5282_FLEXCAN_MBUF8_BYTE2     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0108]))
2168#define MCF5282_FLEXCAN_MBUF8_BYTE3     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0109]))
2169#define MCF5282_FLEXCAN_MBUF8_BYTE4     (*(vuint8  *)(void *)(&__IPSBAR[0x1C010A]))
2170#define MCF5282_FLEXCAN_MBUF8_BYTE5     (*(vuint8  *)(void *)(&__IPSBAR[0x1C010B]))
2171#define MCF5282_FLEXCAN_MBUF8_BYTE6     (*(vuint8  *)(void *)(&__IPSBAR[0x1C010C]))
2172#define MCF5282_FLEXCAN_MBUF8_BYTE7     (*(vuint8  *)(void *)(&__IPSBAR[0x1C010D]))
2173#define MCF5282_FLEXCAN_MBUF9_CTRL      (*(vuint8 *)(void *)(&__IPSBAR[0x1C0111]))
2174#define MCF5282_FLEXCAN_MBUF9_IDH       (*(vuint16 *)(void *)(&__IPSBAR[0x1C0112]))
2175#define MCF5282_FLEXCAN_MBUF9_IDL       (*(vuint16 *)(void *)(&__IPSBAR[0x1C0114]))
2176#define MCF5282_FLEXCAN_MBUF9_BYTE0     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0116]))
2177#define MCF5282_FLEXCAN_MBUF9_BYTE1     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0117]))
2178#define MCF5282_FLEXCAN_MBUF9_BYTE2     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0118]))
2179#define MCF5282_FLEXCAN_MBUF9_BYTE3     (*(vuint8  *)(void *)(&__IPSBAR[0x1C0119]))
2180#define MCF5282_FLEXCAN_MBUF9_BYTE4     (*(vuint8  *)(void *)(&__IPSBAR[0x1C011A]))
2181#define MCF5282_FLEXCAN_MBUF9_BYTE5     (*(vuint8  *)(void *)(&__IPSBAR[0x1C011B]))
2182#define MCF5282_FLEXCAN_MBUF9_BYTE6     (*(vuint8  *)(void *)(&__IPSBAR[0x1C011C]))
2183#define MCF5282_FLEXCAN_MBUF9_BYTE7     (*(vuint8  *)(void *)(&__IPSBAR[0x1C011D]))
2184#define MCF5282_FLEXCAN_MBUF10_CTRL             (*(vuint8 *)(void *)(&__IPSBAR[0x1C0121]))
2185#define MCF5282_FLEXCAN_MBUF10_IDH              (*(vuint16 *)(void *)(&__IPSBAR[0x1C0122]))
2186#define MCF5282_FLEXCAN_MBUF10_IDL              (*(vuint16 *)(void *)(&__IPSBAR[0x1C0124]))
2187#define MCF5282_FLEXCAN_MBUF10_BYTE0    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0126]))
2188#define MCF5282_FLEXCAN_MBUF10_BYTE1    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0127]))
2189#define MCF5282_FLEXCAN_MBUF10_BYTE2    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0128]))
2190#define MCF5282_FLEXCAN_MBUF10_BYTE3    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0129]))
2191#define MCF5282_FLEXCAN_MBUF10_BYTE4    (*(vuint8  *)(void *)(&__IPSBAR[0x1C012A]))
2192#define MCF5282_FLEXCAN_MBUF10_BYTE5    (*(vuint8  *)(void *)(&__IPSBAR[0x1C012B]))
2193#define MCF5282_FLEXCAN_MBUF10_BYTE6    (*(vuint8  *)(void *)(&__IPSBAR[0x1C012C]))
2194#define MCF5282_FLEXCAN_MBUF10_BYTE7    (*(vuint8  *)(void *)(&__IPSBAR[0x1C012D]))
2195#define MCF5282_FLEXCAN_MBUF11_CTRL             (*(vuint8 *)(void *)(&__IPSBAR[0x1C0131]))
2196#define MCF5282_FLEXCAN_MBUF11_IDH              (*(vuint16 *)(void *)(&__IPSBAR[0x1C0132]))
2197#define MCF5282_FLEXCAN_MBUF11_IDL              (*(vuint16 *)(void *)(&__IPSBAR[0x1C0134]))
2198#define MCF5282_FLEXCAN_MBUF11_BYTE0    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0136]))
2199#define MCF5282_FLEXCAN_MBUF11_BYTE1    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0137]))
2200#define MCF5282_FLEXCAN_MBUF11_BYTE2    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0138]))
2201#define MCF5282_FLEXCAN_MBUF11_BYTE3    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0139]))
2202#define MCF5282_FLEXCAN_MBUF11_BYTE4    (*(vuint8  *)(void *)(&__IPSBAR[0x1C013A]))
2203#define MCF5282_FLEXCAN_MBUF11_BYTE5    (*(vuint8  *)(void *)(&__IPSBAR[0x1C013B]))
2204#define MCF5282_FLEXCAN_MBUF11_BYTE6    (*(vuint8  *)(void *)(&__IPSBAR[0x1C013C]))
2205#define MCF5282_FLEXCAN_MBUF11_BYTE7    (*(vuint8  *)(void *)(&__IPSBAR[0x1C013D]))
2206#define MCF5282_FLEXCAN_MBUF12_CTRL             (*(vuint8 *)(void *)(&__IPSBAR[0x1C0141]))
2207#define MCF5282_FLEXCAN_MBUF12_IDH              (*(vuint16 *)(void *)(&__IPSBAR[0x1C0142]))
2208#define MCF5282_FLEXCAN_MBUF12_IDL              (*(vuint16 *)(void *)(&__IPSBAR[0x1C0144]))
2209#define MCF5282_FLEXCAN_MBUF12_BYTE0    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0146]))
2210#define MCF5282_FLEXCAN_MBUF12_BYTE1    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0147]))
2211#define MCF5282_FLEXCAN_MBUF12_BYTE2    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0148]))
2212#define MCF5282_FLEXCAN_MBUF12_BYTE3    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0149]))
2213#define MCF5282_FLEXCAN_MBUF12_BYTE4    (*(vuint8  *)(void *)(&__IPSBAR[0x1C014A]))
2214#define MCF5282_FLEXCAN_MBUF12_BYTE5    (*(vuint8  *)(void *)(&__IPSBAR[0x1C014B]))
2215#define MCF5282_FLEXCAN_MBUF12_BYTE6    (*(vuint8  *)(void *)(&__IPSBAR[0x1C014C]))
2216#define MCF5282_FLEXCAN_MBUF12_BYTE7    (*(vuint8  *)(void *)(&__IPSBAR[0x1C014D]))
2217#define MCF5282_FLEXCAN_MBUF13_CTRL             (*(vuint8 *)(void *)(&__IPSBAR[0x1C0151]))
2218#define MCF5282_FLEXCAN_MBUF13_IDH              (*(vuint16 *)(void *)(&__IPSBAR[0x1C0152]))
2219#define MCF5282_FLEXCAN_MBUF13_IDL              (*(vuint16 *)(void *)(&__IPSBAR[0x1C0154]))
2220#define MCF5282_FLEXCAN_MBUF13_BYTE0    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0156]))
2221#define MCF5282_FLEXCAN_MBUF13_BYTE1    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0157]))
2222#define MCF5282_FLEXCAN_MBUF13_BYTE2    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0158]))
2223#define MCF5282_FLEXCAN_MBUF13_BYTE3    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0159]))
2224#define MCF5282_FLEXCAN_MBUF13_BYTE4    (*(vuint8  *)(void *)(&__IPSBAR[0x1C015A]))
2225#define MCF5282_FLEXCAN_MBUF13_BYTE5    (*(vuint8  *)(void *)(&__IPSBAR[0x1C015B]))
2226#define MCF5282_FLEXCAN_MBUF13_BYTE6    (*(vuint8  *)(void *)(&__IPSBAR[0x1C015C]))
2227#define MCF5282_FLEXCAN_MBUF13_BYTE7    (*(vuint8  *)(void *)(&__IPSBAR[0x1C015D]))
2228#define MCF5282_FLEXCAN_MBUF14_CTRL             (*(vuint8 *)(void *)(&__IPSBAR[0x1C0161]))
2229#define MCF5282_FLEXCAN_MBUF14_IDH              (*(vuint16 *)(void *)(&__IPSBAR[0x1C0162]))
2230#define MCF5282_FLEXCAN_MBUF14_IDL              (*(vuint16 *)(void *)(&__IPSBAR[0x1C0164]))
2231#define MCF5282_FLEXCAN_MBUF14_BYTE0    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0166]))
2232#define MCF5282_FLEXCAN_MBUF14_BYTE1    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0167]))
2233#define MCF5282_FLEXCAN_MBUF14_BYTE2    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0168]))
2234#define MCF5282_FLEXCAN_MBUF14_BYTE3    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0169]))
2235#define MCF5282_FLEXCAN_MBUF14_BYTE4    (*(vuint8  *)(void *)(&__IPSBAR[0x1C016A]))
2236#define MCF5282_FLEXCAN_MBUF14_BYTE5    (*(vuint8  *)(void *)(&__IPSBAR[0x1C016B]))
2237#define MCF5282_FLEXCAN_MBUF14_BYTE6    (*(vuint8  *)(void *)(&__IPSBAR[0x1C016C]))
2238#define MCF5282_FLEXCAN_MBUF14_BYTE7    (*(vuint8  *)(void *)(&__IPSBAR[0x1C016D]))
2239#define MCF5282_FLEXCAN_MBUF15_CTRL             (*(vuint8 *)(void *)(&__IPSBAR[0x1C0171]))
2240#define MCF5282_FLEXCAN_MBUF15_IDH              (*(vuint16 *)(void *)(&__IPSBAR[0x1C0172]))
2241#define MCF5282_FLEXCAN_MBUF15_IDL              (*(vuint16 *)(void *)(&__IPSBAR[0x1C0174]))
2242#define MCF5282_FLEXCAN_MBUF15_BYTE0    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0176]))
2243#define MCF5282_FLEXCAN_MBUF15_BYTE1    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0177]))
2244#define MCF5282_FLEXCAN_MBUF15_BYTE2    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0178]))
2245#define MCF5282_FLEXCAN_MBUF15_BYTE3    (*(vuint8  *)(void *)(&__IPSBAR[0x1C0179]))
2246#define MCF5282_FLEXCAN_MBUF15_BYTE4    (*(vuint8  *)(void *)(&__IPSBAR[0x1C017A]))
2247#define MCF5282_FLEXCAN_MBUF15_BYTE5    (*(vuint8  *)(void *)(&__IPSBAR[0x1C017B]))
2248#define MCF5282_FLEXCAN_MBUF15_BYTE6    (*(vuint8  *)(void *)(&__IPSBAR[0x1C017C]))
2249#define MCF5282_FLEXCAN_MBUF15_BYTE7    (*(vuint8  *)(void *)(&__IPSBAR[0x1C017D]))
2250
2251#define MCF5282_FLEXCAN_MBUF0_BYTE(x)   (*(vuint8  *)(void *)(&__IPSBAR[(0x1C0086+x)]))
2252#define MCF5282_FLEXCAN_MBUF1_BYTE(x)   (*(vuint8  *)(void *)(&__IPSBAR[(0x1C0096+x)]))
2253#define MCF5282_FLEXCAN_MBUF2_BYTE(x)   (*(vuint8  *)(void *)(&__IPSBAR[(0x1C00A6+x)]))
2254#define MCF5282_FLEXCAN_MBUF3_BYTE(x)   (*(vuint8  *)(void *)(&__IPSBAR[(0x1C00B6+x)]))
2255#define MCF5282_FLEXCAN_MBUF4_BYTE(x)   (*(vuint8  *)(void *)(&__IPSBAR[(0x1C00C6+x)]))
2256#define MCF5282_FLEXCAN_MBUF5_BYTE(x)   (*(vuint8  *)(void *)(&__IPSBAR[(0x1C00D6+x)]))
2257#define MCF5282_FLEXCAN_MBUF6_BYTE(x)   (*(vuint8  *)(void *)(&__IPSBAR[(0x1C00E6+x)]))
2258#define MCF5282_FLEXCAN_MBUF7_BYTE(x)   (*(vuint8  *)(void *)(&__IPSBAR[(0x1C00F6+x)]))
2259#define MCF5282_FLEXCAN_MBUF8_BYTE(x)   (*(vuint8  *)(void *)(&__IPSBAR[(0x1C0106+x)]))
2260#define MCF5282_FLEXCAN_MBUF9_BYTE(x)   (*(vuint8  *)(void *)(&__IPSBAR[(0x1C0116+x)]))
2261#define MCF5282_FLEXCAN_MBUF10_BYTE(x)  (*(vuint8  *)(void *)(&__IPSBAR[(0x1C0126+x)]))
2262#define MCF5282_FLEXCAN_MBUF11_BYTE(x)  (*(vuint8  *)(void *)(&__IPSBAR[(0x1C0136+x)]))
2263#define MCF5282_FLEXCAN_MBUF12_BYTE(x)  (*(vuint8  *)(void *)(&__IPSBAR[(0x1C0146+x)]))
2264#define MCF5282_FLEXCAN_MBUF13_BYTE(x)  (*(vuint8  *)(void *)(&__IPSBAR[(0x1C0156+x)]))
2265#define MCF5282_FLEXCAN_MBUF14_BYTE(x)  (*(vuint8  *)(void *)(&__IPSBAR[(0x1C0166+x)]))
2266#define MCF5282_FLEXCAN_MBUF15_BYTE(x)  (*(vuint8  *)(void *)(&__IPSBAR[(0x1C0176+x)]))
2267
2268#define MCF5282_FLEXCAN_MBUF_BYTE(x,y)  (*(vuint8  *)(void *)(&__IPSBAR[((0x1C0086+(0x10*x)+y)]))
2269
2270/* Bit level definitions and macros */
2271#define MCF5282_FLEXCAN_CANMCR_STOP                     (0x8000)
2272#define MCF5282_FLEXCAN_CANMCR_FRZ                      (0x4000)
2273#define MCF5282_FLEXCAN_CANMCR_HALT                     (0x1000)
2274#define MCF5282_FLEXCAN_CANMCR_NOTRDY           (0x0800)
2275#define MCF5282_FLEXCAN_CANMCR_WAKEMSK          (0x0400)
2276#define MCF5282_FLEXCAN_CANMCR_SOFTRST          (0x0200)
2277#define MCF5282_FLEXCAN_CANMCR_FRZACK           (0x0100)
2278#define MCF5282_FLEXCAN_CANMCR_SUPV                     (0x0080)
2279#define MCF5282_FLEXCAN_CANMCR_SELFWAKE         (0x0040)
2280#define MCF5282_FLEXCAN_CANMCR_APS                      (0x0020)
2281
2282#define MCF5282_FLEXCAN_CANCTRL0_BOFFMSK        (0x80)
2283#define MCF5282_FLEXCAN_CANCTRL0_ERRMSK         (0x40)
2284#define MCF5282_FLEXCAN_CANCTRL0_RXMODE         (0x04)
2285#define MCF5282_FLEXCAN_CANCTRL0_TXMODE_CMOSPOS         (0x00)
2286#define MCF5282_FLEXCAN_CANCTRL0_TXMODE_CMOSNEG         (0x01)
2287#define MCF5282_FLEXCAN_CANCTRL0_TXMODE_OPENDRAIN       (0x02)
2288
2289#define MCF5282_FLEXCAN_CANCTRL1_SAMP           (0x80)
2290#define MCF5282_FLEXCAN_CANCTRL1_TSYNC          (0x20)
2291#define MCF5282_FLEXCAN_CANCTRL1_LBUF           (0x10)
2292#define MCF5282_FLEXCAN_CANCTRL1_LOM            (0x08)
2293#define MCF5282_FLEXCAN_CANCTRL1_PROPSEG(x)     (((x)&0x07))
2294
2295#define MCF5282_FLEXCAN_CANCTRL2_RJW(x)         (((x)&0x03)<<6)
2296#define MCF5282_FLEXCAN_CANCTRL2_PSEG1(x)       (((x)&0x07)<<3)
2297#define MCF5282_FLEXCAN_CANCTRL2_PSEG2(x)       (((x)&0x07)<<0)
2298
2299#define MCF5282_FLEXCAN_ESTAT_BITERR(x)         (((x)&0x03)<<14)
2300#define MCF5282_FLEXCAN_ESTAT_ACKERR            (0x2000)
2301#define MCF5282_FLEXCAN_ESTAT_CRCERR            (0x1000)
2302#define MCF5282_FLEXCAN_ESTAT_FORMERR           (0x0800)
2303#define MCF5282_FLEXCAN_ESTAT_STUFFERR          (0x0400)
2304#define MCF5282_FLEXCAN_ESTAT_TXWARN            (0x0200)
2305#define MCF5282_FLEXCAN_ESTAT_RXWARN            (0x0100)
2306#define MCF5282_FLEXCAN_ESTAT_IDLE              (0x0080)
2307#define MCF5282_FLEXCAN_ESTAT_TXRX              (0x0040)
2308#define MCF5282_FLEXCAN_ESTAT_FCS(x)            (((x)&0x03)<<4)
2309#define MCF5282_FLEXCAN_ESTAT_BOFFINT           (0x0004)
2310#define MCF5282_FLEXCAN_ESTAT_ERRINT            (0x0002)
2311#define MCF5282_FLEXCAN_ESTAT_WAKEINT           (0x0001)
2312
2313#define MCF5282_FLEXCAN_IMASK_BUF15M            (0x8000)
2314#define MCF5282_FLEXCAN_IMASK_BUF14M            (0x4000)
2315#define MCF5282_FLEXCAN_IMASK_BUF13M            (0x2000)
2316#define MCF5282_FLEXCAN_IMASK_BUF12M            (0x1000)
2317#define MCF5282_FLEXCAN_IMASK_BUF11M            (0x0800)
2318#define MCF5282_FLEXCAN_IMASK_BUF10M            (0x0400)
2319#define MCF5282_FLEXCAN_IMASK_BUF9M             (0x0200)
2320#define MCF5282_FLEXCAN_IMASK_BUF8M             (0x0100)
2321#define MCF5282_FLEXCAN_IMASK_BUF7M             (0x0080)
2322#define MCF5282_FLEXCAN_IMASK_BUF6M             (0x0040)
2323#define MCF5282_FLEXCAN_IMASK_BUF5M             (0x0020)
2324#define MCF5282_FLEXCAN_IMASK_BUF4M             (0x0010)
2325#define MCF5282_FLEXCAN_IMASK_BUF3M             (0x0008)
2326#define MCF5282_FLEXCAN_IMASK_BUF2M             (0x0004)
2327#define MCF5282_FLEXCAN_IMASK_BUF1M             (0x0002)
2328#define MCF5282_FLEXCAN_IMASK_BUF0M             (0x0001)
2329
2330#define MCF5282_FLEXCAN_IFLAG_BUF15I            (0x8000)
2331#define MCF5282_FLEXCAN_IFLAG_BUF14I            (0x4000)
2332#define MCF5282_FLEXCAN_IFLAG_BUF13I            (0x2000)
2333#define MCF5282_FLEXCAN_IFLAG_BUF12I            (0x1000)
2334#define MCF5282_FLEXCAN_IFLAG_BUF11I            (0x0800)
2335#define MCF5282_FLEXCAN_IFLAG_BUF10I            (0x0400)
2336#define MCF5282_FLEXCAN_IFLAG_BUF9I             (0x0200)
2337#define MCF5282_FLEXCAN_IFLAG_BUF8I             (0x0100)
2338#define MCF5282_FLEXCAN_IFLAG_BUF7I             (0x0080)
2339#define MCF5282_FLEXCAN_IFLAG_BUF6I             (0x0040)
2340#define MCF5282_FLEXCAN_IFLAG_BUF5I             (0x0020)
2341#define MCF5282_FLEXCAN_IFLAG_BUF4I             (0x0010)
2342#define MCF5282_FLEXCAN_IFLAG_BUF3I             (0x0008)
2343#define MCF5282_FLEXCAN_IFLAG_BUF2I             (0x0004)
2344#define MCF5282_FLEXCAN_IFLAG_BUF1I             (0x0002)
2345#define MCF5282_FLEXCAN_IFLAG_BUF0I             (0x0001)
2346
2347/*********************************************************************
2348*
2349* ColdFire Flash Module (CFM)
2350*
2351*********************************************************************/
2352
2353/* Read/Write access macros for general use */
2354#define MCF5282_CFM_CFMMCR              (*(vuint16 *)(void *)(&__IPSBAR[0x1D0000]))
2355#define MCF5282_CFM_CFMCLKD             (*(vuint8  *)(void *)(&__IPSBAR[0x1D0002]))
2356#define MCF5282_CFM_CFMSEC              (*(vuint32 *)(void *)(&__IPSBAR[0x1D0008]))
2357#define MCF5282_CFM_CFMPROT             (*(vuint32 *)(void *)(&__IPSBAR[0x1D0010]))
2358#define MCF5282_CFM_CFMSACC             (*(vuint32 *)(void *)(&__IPSBAR[0x1D0014]))
2359#define MCF5282_CFM_CFMDACC             (*(vuint32 *)(void *)(&__IPSBAR[0x1D0018]))
2360#define MCF5282_CFM_CFMUSTAT    (*(vuint8  *)(void *)(&__IPSBAR[0x1D0020]))
2361#define MCF5282_CFM_CFMCMD              (*(vuint8  *)(void *)(&__IPSBAR[0x1D0024]))
2362#define MCF5282_CFM_CFMDISU             (*(vuint16 *)(void *)(&__IPSBAR[0x1D0042]))
2363
2364/* Bit level definitions and macros */
2365#define MCF5282_CFM_FLASHBAR_BA(a)                      ((a)&0xFFF8000)
2366#define MCF5282_CFM_FLASHBAR_WP                         (0x00000100)
2367#define MCF5282_CFM_FLASHBAR_CI                         (0x00000020)
2368#define MCF5282_CFM_FLASHBAR_SC                         (0x00000010)
2369#define MCF5282_CFM_FLASHBAR_SD                         (0x00000008)
2370#define MCF5282_CFM_FLASHBAR_UC                         (0x00000004)
2371#define MCF5282_CFM_FLASHBAR_UD                         (0x00000002)
2372#define MCF5282_CFM_FLASHBAR_V                          (0x00000001)
2373
2374#define MCF5282_CFM_CFMMCR_LOCK                         (0x0400)
2375#define MCF5282_CFM_CFMMCR_PVIE                         (0x0200)
2376#define MCF5282_CFM_CFMMCR_AEIE                         (0x0100)
2377#define MCF5282_CFM_CFMMCR_CBEIE                        (0x0080)
2378#define MCF5282_CFM_CFMMCR_CCIE                         (0x0040)
2379#define MCF5282_CFM_CFMMCR_KEYACC                       (0x0020)
2380
2381#define MCF5282_CFM_CFMCLKD_DIVLD                       (0x80)
2382#define MCF5282_CFM_CFMCLKD_PRDIV8                      (0x40)
2383#define MCF5282_CFM_CFMCLKD_DIV(x)                      (((x)&0x3F))
2384
2385#define MCF5282_CFM_CFMSEC_KEYEN                        (0x80000000)
2386#define MCF5282_CFM_CFMSEC_SECSTAT                      (0x40000000)
2387#define MCF5282_CFM_CFMSEC_SEC(x)                       (((x)&0xFFFF))
2388
2389#define MCF5282_CFM_CFMUSTAT_CBEIF                      (0x80)
2390#define MCF5282_CFM_CFMUSTAT_CCIF                       (0x40)
2391#define MCF5282_CFM_CFMUSTAT_PVIOL                      (0x20)
2392#define MCF5282_CFM_CFMUSTAT_ACCERR                     (0x10)
2393#define MCF5282_CFM_CFMUSTAT_BLANK                      (0x04)
2394
2395#define MCF5282_CFM_CFMCMD_CMD(x)                       (((x)&7F))
2396
2397/********************************************************************/
2398
2399#endif  /* _CPU_MCF5282_H */
Note: See TracBrowser for help on using the repository browser.