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

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