Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:46

0001 /*
0002  *******************************************
0003  *   Definitions from Motorola/FreeScale   *
0004  *******************************************
0005  */
0006 
0007 /*
0008  * File:        mcf5282.h
0009  * Purpose:     MCF5282 definitions
0010  *
0011  * Notes:
0012  */
0013 
0014 #ifndef _CPU_MCF5282_H
0015 #define _CPU_MCF5282_H
0016 
0017 /********************************************************************/
0018 
0019 /*
0020  * File:        mcf5xxx.h
0021  * Purpose:     Definitions common to all ColdFire processors
0022  *
0023  * Notes:
0024  */
0025 
0026 #ifndef _CPU_MCF5XXX_H
0027 #define _CPU_MCF5XXX_H
0028 
0029 /***********************************************************************/
0030 /*
0031  * The basic data types
0032  *
0033  * Those are low-level so we mark them so that they may alias anything
0034  */
0035 
0036 typedef unsigned char       uint8;  /*  8 bits */
0037 typedef unsigned short int  uint16 __attribute__((__may_alias__)); /* 16 bits */
0038 typedef unsigned long int   uint32 __attribute__((__may_alias__)); /* 32 bits */
0039 
0040 typedef signed char         int8;   /*  8 bits */
0041 typedef signed short int    int16 __attribute__((__may_alias__));  /* 16 bits */
0042 typedef signed long int     int32 __attribute__((__may_alias__));  /* 32 bits */
0043 
0044 typedef volatile uint8      vuint8 __attribute__((__may_alias__));  /*  8 bits */
0045 typedef volatile uint16     vuint16 __attribute__((__may_alias__)); /* 16 bits */
0046 typedef volatile uint32     vuint32 __attribute__((__may_alias__)); /* 32 bits */
0047 
0048 /***********************************************************************/
0049 /*
0050  * Common M68K & ColdFire definitions
0051  */
0052 
0053 #define ADDRESS         uint32
0054 #define INSTRUCTION     uint16
0055 #define ILLEGAL         0x4AFC
0056 #define CPU_WORD_SIZE   16
0057 
0058 #define MCF5XXX_SR_T        (0x8000)
0059 #define MCF5XXX_SR_S        (0x2000)
0060 #define MCF5XXX_SR_M        (0x1000)
0061 #define MCF5XXX_SR_IPL      (0x0700)
0062 #define MCF5XXX_SR_IPL_0    (0x0000)
0063 #define MCF5XXX_SR_IPL_1    (0x0100)
0064 #define MCF5XXX_SR_IPL_2    (0x0200)
0065 #define MCF5XXX_SR_IPL_3    (0x0300)
0066 #define MCF5XXX_SR_IPL_4    (0x0400)
0067 #define MCF5XXX_SR_IPL_5    (0x0500)
0068 #define MCF5XXX_SR_IPL_6    (0x0600)
0069 #define MCF5XXX_SR_IPL_7    (0x0700)
0070 #define MCF5XXX_SR_X        (0x0010)
0071 #define MCF5XXX_SR_N        (0x0008)
0072 #define MCF5XXX_SR_Z        (0x0004)
0073 #define MCF5XXX_SR_V        (0x0002)
0074 #define MCF5XXX_SR_C        (0x0001)
0075 
0076 /*
0077  * Used to set the initialize the cacr register to the BSP's desired
0078  * starting value.
0079  */
0080 void mcf5xxx_initialize_cacr(uint32_t);
0081 
0082 #define MCF5XXX_CACR_CENB       (0x80000000)
0083 #define MCF5XXX_CACR_CPDI       (0x10000000)
0084 #define MCF5XXX_CACR_CPD        (0x10000000)
0085 #define MCF5XXX_CACR_CFRZ       (0x08000000)
0086 #define MCF5XXX_CACR_CINV       (0x01000000)
0087 #define MCF5XXX_CACR_DIDI       (0x00800000)
0088 #define MCF5XXX_CACR_DISD       (0x00400000)
0089 #define MCF5XXX_CACR_INVI       (0x00200000)
0090 #define MCF5XXX_CACR_INVD       (0x00100000)
0091 #define MCF5XXX_CACR_CEIB       (0x00000400)
0092 #define MCF5XXX_CACR_DCM_WR     (0x00000000)
0093 #define MCF5XXX_CACR_DCM_CB     (0x00000100)
0094 #define MCF5XXX_CACR_DCM_IP     (0x00000200)
0095 #define MCF5XXX_CACR_DCM        (0x00000200)
0096 #define MCF5XXX_CACR_DCM_II     (0x00000300)
0097 #define MCF5XXX_CACR_DBWE       (0x00000100)
0098 #define MCF5XXX_CACR_DWP        (0x00000020)
0099 #define MCF5XXX_CACR_EUST       (0x00000010)
0100 #define MCF5XXX_CACR_CLNF_00    (0x00000000)
0101 #define MCF5XXX_CACR_CLNF_01    (0x00000002)
0102 #define MCF5XXX_CACR_CLNF_10    (0x00000004)
0103 #define MCF5XXX_CACR_CLNF_11    (0x00000006)
0104 
0105 #define MCF5XXX_ACR_AB(a)       ((a)&0xFF000000)
0106 #define MCF5XXX_ACR_AM(a)       (((a)&0xFF000000) >> 8)
0107 #define MCF5XXX_ACR_EN          (0x00008000)
0108 #define MCF5XXX_ACR_SM_USER     (0x00000000)
0109 #define MCF5XXX_ACR_SM_SUPER    (0x00002000)
0110 #define MCF5XXX_ACR_SM_IGNORE   (0x00006000)
0111 #define MCF5XXX_ACR_ENIB        (0x00000080)
0112 #define MCF5XXX_ACR_CM          (0x00000040)
0113 #define MCF5XXX_ACR_DCM_WR      (0x00000000)
0114 #define MCF5XXX_ACR_DCM_CB      (0x00000020)
0115 #define MCF5XXX_ACR_DCM_IP      (0x00000040)
0116 #define MCF5XXX_ACR_DCM_II      (0x00000060)
0117 #define MCF5XXX_ACR_CM          (0x00000040)
0118 #define MCF5XXX_ACR_BWE         (0x00000020)
0119 #define MCF5XXX_ACR_WP          (0x00000004)
0120 
0121 #define MCF5XXX_RAMBAR_BA(a)    ((a)&0xFFFFC000)
0122 #define MCF5XXX_RAMBAR_PRI_00   (0x00000000)
0123 #define MCF5XXX_RAMBAR_PRI_01   (0x00004000)
0124 #define MCF5XXX_RAMBAR_PRI_10   (0x00008000)
0125 #define MCF5XXX_RAMBAR_PRI_11   (0x0000C000)
0126 #define MCF5XXX_RAMBAR_WP       (0x00000100)
0127 #define MCF5XXX_RAMBAR_CI       (0x00000020)
0128 #define MCF5XXX_RAMBAR_SC       (0x00000010)
0129 #define MCF5XXX_RAMBAR_SD       (0x00000008)
0130 #define MCF5XXX_RAMBAR_UC       (0x00000004)
0131 #define MCF5XXX_RAMBAR_UD       (0x00000002)
0132 #define MCF5XXX_RAMBAR_V        (0x00000001)
0133 
0134 /***********************************************************************/
0135 /*
0136  * The ColdFire family of processors has a simplified exception stack
0137  * frame that looks like the following:
0138  *
0139  *              3322222222221111 111111
0140  *              1098765432109876 5432109876543210
0141  *           8 +----------------+----------------+
0142  *             |         Program Counter         |
0143  *           4 +----------------+----------------+
0144  *             |FS/Fmt/Vector/FS|      SR        |
0145  *   SP -->  0 +----------------+----------------+
0146  *
0147  * The stack self-aligns to a 4-byte boundary at an exception, with
0148  * the FS/Fmt/Vector/FS field indicating the size of the adjustment
0149  * (SP += 0,1,2,3 bytes).
0150  */
0151 
0152 #define MCF5XXX_RD_SF_FORMAT(PTR)   \
0153     ((*((uint16 *)(PTR)) >> 12) & 0x00FF)
0154 
0155 #define MCF5XXX_RD_SF_VECTOR(PTR)   \
0156     ((*((uint16 *)(PTR)) >>  2) & 0x00FF)
0157 
0158 #define MCF5XXX_RD_SF_FS(PTR)       \
0159     ( ((*((uint16 *)(PTR)) & 0x0C00) >> 8) | (*((uint16 *)(PTR)) & 0x0003) )
0160 
0161 #define MCF5XXX_SF_SR(PTR)  *((uint16 *)(PTR)+1)
0162 #define MCF5XXX_SF_PC(PTR)  *((uint32 *)(PTR)+1)
0163 
0164 /********************************************************************/
0165 /*
0166  * Functions provided by mcf5xxx.s
0167  */
0168 
0169 int     asm_set_ipl (uint32);
0170 void    mcf5xxx_wr_cacr (uint32);
0171 void    mcf5xxx_wr_acr0 (uint32);
0172 void    mcf5xxx_wr_acr1 (uint32);
0173 void    mcf5xxx_wr_acr2 (uint32);
0174 void    mcf5xxx_wr_acr3 (uint32);
0175 void    mcf5xxx_wr_other_a7 (uint32);
0176 void    mcf5xxx_wr_other_sp (uint32);
0177 void    mcf5xxx_wr_vbr (uint32);
0178 void    mcf5xxx_wr_macsr (uint32);
0179 void    mcf5xxx_wr_mask (uint32);
0180 void    mcf5xxx_wr_acc0 (uint32);
0181 void    mcf5xxx_wr_accext01 (uint32);
0182 void    mcf5xxx_wr_accext23 (uint32);
0183 void    mcf5xxx_wr_acc1 (uint32);
0184 void    mcf5xxx_wr_acc2 (uint32);
0185 void    mcf5xxx_wr_acc3 (uint32);
0186 void    mcf5xxx_wr_sr (uint32);
0187 void    mcf5xxx_wr_rambar0 (uint32);
0188 void    mcf5xxx_wr_rambar1 (uint32);
0189 void    mcf5xxx_wr_mbar (uint32);
0190 void    mcf5xxx_wr_mbar0 (uint32);
0191 void    mcf5xxx_wr_mbar1 (uint32);
0192 
0193 /********************************************************************/
0194 
0195 #endif  /* _CPU_MCF5XXX_H */
0196 
0197 
0198 /********************************************************************/
0199 /*
0200  * Memory map definitions from linker command files
0201  */
0202 extern uint8 __IPSBAR[];
0203 
0204 /*********************************************************************
0205 *
0206 * System Control Module (SCM)
0207 *
0208 *********************************************************************/
0209 
0210 /* Read/Write access macros for general use */
0211 #define MCF5282_SCM_IPSBAR      (*(vuint32 *)(&__IPSBAR[0x0000]))
0212 #define MCF5282_SCM_RAMBAR      (*(vuint32 *)(&__IPSBAR[0x0008]))
0213 #define MCF5282_SCM_CRSR        (*(vuint8  *)(&__IPSBAR[0x0010]))
0214 #define MCF5282_SCM_CWCR        (*(vuint8  *)(&__IPSBAR[0x0011]))
0215 #define MCF5282_SCM_LPICR       (*(vuint8  *)(&__IPSBAR[0x0012]))
0216 #define MCF5282_SCM_CWSR        (*(vuint8  *)(&__IPSBAR[0x0013]))
0217 #define MCF5282_SCM_DMAREQC     (*(vuint32 *)(&__IPSBAR[0x0014]))
0218 #define MCF5282_SCM_MPARK       (*(vuint32 *)(&__IPSBAR[0x001C]))
0219 #define MCF5282_SCM_MPR         (*(vuint8  *)(&__IPSBAR[0x0020]))
0220 #define MCF5282_SCM_PACR0       (*(vuint8  *)(&__IPSBAR[0x0024]))
0221 #define MCF5282_SCM_PACR1       (*(vuint8  *)(&__IPSBAR[0x0025]))
0222 #define MCF5282_SCM_PACR2       (*(vuint8  *)(&__IPSBAR[0x0026]))
0223 #define MCF5282_SCM_PACR3       (*(vuint8  *)(&__IPSBAR[0x0027]))
0224 #define MCF5282_SCM_PACR4       (*(vuint8  *)(&__IPSBAR[0x0028]))
0225 #define MCF5282_SCM_PACR5       (*(vuint8  *)(&__IPSBAR[0x002A]))
0226 #define MCF5282_SCM_PACR6       (*(vuint8  *)(&__IPSBAR[0x002B]))
0227 #define MCF5282_SCM_PACR7       (*(vuint8  *)(&__IPSBAR[0x002C]))
0228 #define MCF5282_SCM_PACR8       (*(vuint8  *)(&__IPSBAR[0x002E]))
0229 #define MCF5282_SCM_GPACR0      (*(vuint8  *)(&__IPSBAR[0x0030]))
0230 #define MCF5282_SCM_GPACR1      (*(vuint8  *)(&__IPSBAR[0x0031]))
0231 
0232 /* Bit level definitions and macros */
0233 #define MCF5282_SCM_IPSBAR_BA(x)            ((x)&0xC0000000)
0234 #define MCF5282_SCM_IPSBAR_V                (0x00000001)
0235 
0236 #define MCF5282_SCM_RAMBAR_BA(x)            ((x)&0xFFFF0000)
0237 #define MCF5282_SCM_RAMBAR_BDE              (0x00000200)
0238 
0239 #define MCF5282_SCM_CRSR_EXT                (0x80)
0240 #define MCF5282_SCM_CRSR_CWDR               (0x20)
0241 
0242 #define MCF5282_SCM_CWCR_CWE                (0x80)
0243 #define MCF5282_SCM_CWCR_CWRI               (0x40)
0244 #define MCF5282_SCM_CWCR_CWT(x)             (((x)&0x03)<<3)
0245 #define MCF5282_SCM_CWCR_CWTA               (0x04)
0246 #define MCF5282_SCM_CWCR_CWTAVAL            (0x02)
0247 #define MCF5282_SCM_CWCR_CWTIC              (0x01)
0248 
0249 #define MCF5282_SCM_LPICR_ENBSTOP           (0x80)
0250 #define MCF5282_SCM_LPICR_XSTOP_IPL(x)      (((x)&0x07)<<4)
0251 
0252 #define MCF5282_SCM_CWSR_SEQ1               (0x55)
0253 #define MCF5282_SCM_CWSR_SEQ2               (0xAA)
0254 
0255 #define MCF5282_SCM_DMAREQC_DMAC3(x)        (((x)&0x000F)<<12)
0256 #define MCF5282_SCM_DMAREQC_DMAC2(x)        (((x)&0x000F)<<8)
0257 #define MCF5282_SCM_DMAREQC_DMAC1(x)        (((x)&0x000F)<<4)
0258 #define MCF5282_SCM_DMAREQC_DMAC0(x)        (((x)&0x000F))
0259 #define MCF5282_SCM_DMAREQC_DMATIMER0       (0x4)
0260 #define MCF5282_SCM_DMAREQC_DMATIMER1       (0x5)
0261 #define MCF5282_SCM_DMAREQC_DMATIMER2       (0x6)
0262 #define MCF5282_SCM_DMAREQC_DMATIMER3       (0x7)
0263 #define MCF5282_SCM_DMAREQC_UART0           (0x8)
0264 #define MCF5282_SCM_DMAREQC_UART1           (0x9)
0265 #define MCF5282_SCM_DMAREQC_UART2           (0xA)
0266 
0267 #define MCF5282_SCM_MPARK_M2_P_EN           (0x02000000)
0268 #define MCF5282_SCM_MPARK_BCR24BIT          (0x01000000)
0269 #define MCF5282_SCM_MPARK_M3_PRTY(x)        (((x)&0x03)<<22)
0270 #define MCF5282_SCM_MPARK_M2_PRTY(x)        (((x)&0x03)<<20)
0271 #define MCF5282_SCM_MPARK_M0_PRTY(x)        (((x)&0x03)<<18)
0272 #define MCF5282_SCM_MPARK_M1_PRTY(x)        (((x)&0x03)<<16)
0273 #define MCF5282_SCM_MPARK_FIXED             (0x00040000)
0274 #define MCF5282_SCM_MPARK_TIMEOUT           (0x00020000)
0275 #define MCF5282_SCM_MPARK_PRK_LAST          (0x00010000)
0276 #define MCF5282_SCM_MPARK_LCKOUT_TIME(x)    (((x)&0x000F)<<8)
0277 
0278 #define MCF5282_SCM_MPARK_MX_PRTY_FIRST     (0x3)
0279 #define MCF5282_SCM_MPARK_MX_PRTY_SECOND    (0x2)
0280 #define MCF5282_SCM_MPARK_MX_PRTY_THIRD     (0x1)
0281 #define MCF5282_SCM_MPARK_MX_PRTY_FOURTH    (0x0)
0282 
0283 #define MCF5282_SCM_MPR_MPR(x)              (((x)&0x0F))
0284 
0285 #define MCF5282_SCM_PACR_LOCK1              (0x80)
0286 #define MCF5282_SCM_PACR_ACCESSCTRL1(x)     (((x)&0x07)<<4)
0287 #define MCF5282_SCM_PACR_LOCK0              (0x08)
0288 #define MCF5282_SCM_PACR_ACCESSCTRL0(x)     (((x)&0x07))
0289 #define MCF5282_SCM_PACR_RW_NA              (0x0)
0290 #define MCF5282_SCM_PACR_R_NA               (0x1)
0291 #define MCF5282_SCM_PACR_R_R                (0x2)
0292 #define MCF5282_SCM_PACR_RW_RW              (0x4)
0293 #define MCF5282_SCM_PACR_RW_R               (0x5)
0294 #define MCF5282_SCM_PACR_NA_NA              (0x7)
0295 
0296 #define MCF5282_SCM_GPACR_LOCK              (0x80)
0297 #define MCF5282_SCM_GPACR_ACCESSCTRL(x)     (((x)&0x0F))
0298 #define MCF5282_SCM_GPACR_ACCESSCTRL_RW_NA      (0x0)
0299 #define MCF5282_SCM_GPACR_ACCESSCTRL_R_NA       (0x1)
0300 #define MCF5282_SCM_GPACR_ACCESSCTRL_R_R        (0x2)
0301 #define MCF5282_SCM_GPACR_ACCESSCTRL_RW_RW      (0x4)
0302 #define MCF5282_SCM_GPACR_ACCESSCTRL_RW_R       (0x5)
0303 #define MCF5282_SCM_GPACR_ACCESSCTRL_NA_NA      (0x7)
0304 #define MCF5282_SCM_GPACR_ACCESSCTRL_RWE_NA     (0x8)
0305 #define MCF5282_SCM_GPACR_ACCESSCTRL_RE_NA      (0x9)
0306 #define MCF5282_SCM_GPACR_ACCESSCTRL_RE_RE      (0xA)
0307 #define MCF5282_SCM_GPACR_ACCESSCTRL_E_NA       (0xB)
0308 #define MCF5282_SCM_GPACR_ACCESSCTRL_RWE_RWE    (0xC)
0309 #define MCF5282_SCM_GPACR_ACCESSCTRL_RWE_RE     (0xD)
0310 #define MCF5282_SCM_GPACR_ACCESSCTRL_RWE_E      (0xF)
0311 
0312 /*********************************************************************
0313 *
0314 * SDRAM Controller Module
0315 *
0316 *********************************************************************/
0317 
0318 /* Read/Write access macros for general use */
0319 #define MCF5282_SDRAMC_DCR      (*(vuint16 *)(&__IPSBAR[0x0040]))
0320 #define MCF5282_SDRAMC_DACR0    (*(vuint32 *)(&__IPSBAR[0x0048]))
0321 #define MCF5282_SDRAMC_DMR0     (*(vuint32 *)(&__IPSBAR[0x004C]))
0322 #define MCF5282_SDRAMC_DACR1    (*(vuint32 *)(&__IPSBAR[0x0050]))
0323 #define MCF5282_SDRAMC_DMR1     (*(vuint32 *)(&__IPSBAR[0x0054]))
0324 
0325 /* Bit level definitions and macros */
0326 #define MCF5282_SDRAMC_DCR_NAM              (0x2000)
0327 #define MCF5282_SDRAMC_DCR_COC              (0x1000)
0328 #define MCF5282_SDRAMC_DCR_IS               (0x0800)
0329 #define MCF5282_SDRAMC_DCR_RTIM_3           (0x0000)
0330 #define MCF5282_SDRAMC_DCR_RTIM_6           (0x0200)
0331 #define MCF5282_SDRAMC_DCR_RTIM_9           (0x0400)
0332 #define MCF5282_SDRAMC_DCR_RC(x)            ((x)&0x01FF)
0333 
0334 #define MCF5282_SDRAMC_DACR_BASE(x)         ((x)&0xFFFC0000)
0335 #define MCF5282_SDRAMC_DACR_RE              (0x00008000)
0336 #define MCF5282_SDRAMC_DACR_CASL(x)         (((x)&0x03)<<12)
0337 #define MCF5282_SDRAMC_DACR_CBM(x)          (((x)&0x07)<<8)
0338 #define MCF5282_SDRAMC_DACR_PS_32           (0x00000000)
0339 #define MCF5282_SDRAMC_DACR_PS_8            (0x00000010)
0340 #define MCF5282_SDRAMC_DACR_PS_16           (0x00000020)
0341 #define MCF5282_SDRAMC_DACR_IMRS            (0x00000040)
0342 #define MCF5282_SDRAMC_DACR_IP              (0x00000008)
0343 
0344 #define MCF5282_SDRAMC_DMR_BAM_4G           (0xFFFC0000)
0345 #define MCF5282_SDRAMC_DMR_BAM_2G           (0x7FFC0000)
0346 #define MCF5282_SDRAMC_DMR_BAM_1G           (0x3FFC0000)
0347 #define MCF5282_SDRAMC_DMR_BAM_1024M        (0x3FFC0000)
0348 #define MCF5282_SDRAMC_DMR_BAM_512M         (0x1FFC0000)
0349 #define MCF5282_SDRAMC_DMR_BAM_256M         (0x0FFC0000)
0350 #define MCF5282_SDRAMC_DMR_BAM_128M         (0x07FC0000)
0351 #define MCF5282_SDRAMC_DMR_BAM_64M          (0x03FC0000)
0352 #define MCF5282_SDRAMC_DMR_BAM_32M          (0x01FC0000)
0353 #define MCF5282_SDRAMC_DMR_BAM_16M          (0x00FC0000)
0354 #define MCF5282_SDRAMC_DMR_BAM_8M           (0x007C0000)
0355 #define MCF5282_SDRAMC_DMR_BAM_4M           (0x003C0000)
0356 #define MCF5282_SDRAMC_DMR_BAM_2M           (0x001C0000)
0357 #define MCF5282_SDRAMC_DMR_BAM_1M           (0x000C0000)
0358 #define MCF5282_SDRAMC_DMR_BAM_1024K        (0x000C0000)
0359 #define MCF5282_SDRAMC_DMR_BAM_512K         (0x00040000)
0360 #define MCF5282_SDRAMC_DMR_BAM_256K         (0x00000000)
0361 #define MCF5282_SDRAMC_DMR_WP               (0x00000100)
0362 #define MCF5282_SDRAMC_DMR_CI               (0x00000040)
0363 #define MCF5282_SDRAMC_DMR_AM               (0x00000020)
0364 #define MCF5282_SDRAMC_DMR_SC               (0x00000010)
0365 #define MCF5282_SDRAMC_DMR_SD               (0x00000008)
0366 #define MCF5282_SDRAMC_DMR_UC               (0x00000004)
0367 #define MCF5282_SDRAMC_DMR_UD               (0x00000002)
0368 #define MCF5282_SDRAMC_DMR_V                (0x00000001)
0369 
0370 /*********************************************************************
0371 *
0372 * Chip Select Module
0373 *
0374 *********************************************************************/
0375 
0376 /* Read/Write access macros for general use */
0377 #define MCF5282_CS0_CSAR    (*(vuint16 *)(&__IPSBAR[0x0080]))
0378 #define MCF5282_CS0_CSMR    (*(vuint32 *)(&__IPSBAR[0x0084]))
0379 #define MCF5282_CS0_CSCR    (*(vuint16 *)(&__IPSBAR[0x008A]))
0380 
0381 #define MCF5282_CS1_CSAR    (*(vuint16 *)(&__IPSBAR[0x008C]))
0382 #define MCF5282_CS1_CSMR    (*(vuint32 *)(&__IPSBAR[0x0090]))
0383 #define MCF5282_CS1_CSCR    (*(vuint16 *)(&__IPSBAR[0x0096]))
0384 
0385 #define MCF5282_CS2_CSAR    (*(vuint16 *)(&__IPSBAR[0x0098]))
0386 #define MCF5282_CS2_CSMR    (*(vuint32 *)(&__IPSBAR[0x009C]))
0387 #define MCF5282_CS2_CSCR    (*(vuint16 *)(&__IPSBAR[0x00A2]))
0388 
0389 #define MCF5282_CS3_CSAR    (*(vuint16 *)(&__IPSBAR[0x00A4]))
0390 #define MCF5282_CS3_CSMR    (*(vuint32 *)(&__IPSBAR[0x00A8]))
0391 #define MCF5282_CS3_CSCR    (*(vuint16 *)(&__IPSBAR[0x00AE]))
0392 
0393 #define MCF5282_CS4_CSAR    (*(vuint16 *)(&__IPSBAR[0x00B0]))
0394 #define MCF5282_CS4_CSMR    (*(vuint32 *)(&__IPSBAR[0x00B4]))
0395 #define MCF5282_CS4_CSCR    (*(vuint16 *)(&__IPSBAR[0x00BA]))
0396 
0397 #define MCF5282_CS5_CSAR    (*(vuint16 *)(&__IPSBAR[0x00BC]))
0398 #define MCF5282_CS5_CSMR    (*(vuint32 *)(&__IPSBAR[0x00C0]))
0399 #define MCF5282_CS5_CSCR    (*(vuint16 *)(&__IPSBAR[0x00C6]))
0400 
0401 #define MCF5282_CS6_CSAR    (*(vuint16 *)(&__IPSBAR[0x00C8]))
0402 #define MCF5282_CS6_CSMR    (*(vuint32 *)(&__IPSBAR[0x00CC]))
0403 #define MCF5282_CS6_CSCR    (*(vuint16 *)(&__IPSBAR[0x00D2]))
0404 
0405 #define MCF5282_CS_CSAR(x)  (*(vuint16 *)(&__IPSBAR[0x0080+((x)*0x0C)]))
0406 #define MCF5282_CS_CSMR(x)  (*(vuint32 *)(&__IPSBAR[0x0084+((x)*0x0C)]))
0407 #define MCF5282_CS_CSCR(x)  (*(vuint16 *)(&__IPSBAR[0x008A+((x)*0x0C)]))
0408 
0409 /* Bit level definitions and macros */
0410 #define MCF5282_CS_CSAR_BA(a)               (uint16)(((a)&0xFFFF0000)>>16)
0411 
0412 #define MCF5282_CS_CSMR_BAM_4G              (0xFFFF0000)
0413 #define MCF5282_CS_CSMR_BAM_2G              (0x7FFF0000)
0414 #define MCF5282_CS_CSMR_BAM_1G              (0x3FFF0000)
0415 #define MCF5282_CS_CSMR_BAM_1024M           (0x3FFF0000)
0416 #define MCF5282_CS_CSMR_BAM_512M            (0x1FFF0000)
0417 #define MCF5282_CS_CSMR_BAM_256M            (0x0FFF0000)
0418 #define MCF5282_CS_CSMR_BAM_128M            (0x07FF0000)
0419 #define MCF5282_CS_CSMR_BAM_64M             (0x03FF0000)
0420 #define MCF5282_CS_CSMR_BAM_32M             (0x01FF0000)
0421 #define MCF5282_CS_CSMR_BAM_16M             (0x00FF0000)
0422 #define MCF5282_CS_CSMR_BAM_8M              (0x007F0000)
0423 #define MCF5282_CS_CSMR_BAM_4M              (0x003F0000)
0424 #define MCF5282_CS_CSMR_BAM_2M              (0x001F0000)
0425 #define MCF5282_CS_CSMR_BAM_1M              (0x000F0000)
0426 #define MCF5282_CS_CSMR_BAM_1024K           (0x000F0000)
0427 #define MCF5282_CS_CSMR_BAM_512K            (0x00070000)
0428 #define MCF5282_CS_CSMR_BAM_256K            (0x00030000)
0429 #define MCF5282_CS_CSMR_BAM_128K            (0x00010000)
0430 #define MCF5282_CS_CSMR_BAM_64K             (0x00000000)
0431 #define MCF5282_CS_CSMR_WP                  (0x00000100)
0432 #define MCF5282_CS_CSMR_AM                  (0x00000040)
0433 #define MCF5282_CS_CSMR_CI                  (0x00000020)
0434 #define MCF5282_CS_CSMR_SC                  (0x00000010)
0435 #define MCF5282_CS_CSMR_SD                  (0x00000008)
0436 #define MCF5282_CS_CSMR_UC                  (0x00000004)
0437 #define MCF5282_CS_CSMR_UD                  (0x00000002)
0438 #define MCF5282_CS_CSMR_V                   (0x00000001)
0439 
0440 #define MCF5282_CS_CSCR_WS(x)               (((x)&0x0F)<<10)
0441 #define MCF5282_CS_CSCR_AA                  (0x0100)
0442 #define MCF5282_CS_CSCR_PS_8                (0x0040)
0443 #define MCF5282_CS_CSCR_PS_16               (0x0080)
0444 #define MCF5282_CS_CSCR_PS_32               (0x0000)
0445 #define MCF5282_CS_CSCR_BEM                 (0x0020)
0446 #define MCF5282_CS_CSCR_BSTR                (0x0010)
0447 #define MCF5282_CS_CSCR_BSTW                (0x0008)
0448 
0449 /*********************************************************************
0450 *
0451 * Direct Memory Access (DMA) Module
0452 *
0453 *********************************************************************/
0454 
0455 /* Read/Write access macros for general use */
0456 #define MCF5282_DMA0_SAR        (*(vuint32  *)(&__IPSBAR[0x0100]))
0457 #define MCF5282_DMA0_DAR        (*(vuint32  *)(&__IPSBAR[0x0104]))
0458 #define MCF5282_DMA0_DCR        (*(vuint32  *)(&__IPSBAR[0x0108]))
0459 #define MCF5282_DMA0_BCR        (*(vuint32  *)(&__IPSBAR[0x010C]))
0460 #define MCF5282_DMA0_DSR        (*(vuint8   *)(&__IPSBAR[0x0110]))
0461 
0462 #define MCF5282_DMA1_SAR        (*(vuint32  *)(&__IPSBAR[0x0140]))
0463 #define MCF5282_DMA1_DAR        (*(vuint32  *)(&__IPSBAR[0x0144]))
0464 #define MCF5282_DMA1_DCR        (*(vuint32  *)(&__IPSBAR[0x0148]))
0465 #define MCF5282_DMA1_BCR        (*(vuint32  *)(&__IPSBAR[0x014C]))
0466 #define MCF5282_DMA1_DSR        (*(vuint8   *)(&__IPSBAR[0x0150]))
0467 
0468 #define MCF5282_DMA2_SAR        (*(vuint32  *)(&__IPSBAR[0x0180]))
0469 #define MCF5282_DMA2_DAR        (*(vuint32  *)(&__IPSBAR[0x0184]))
0470 #define MCF5282_DMA2_DCR        (*(vuint32  *)(&__IPSBAR[0x0188]))
0471 #define MCF5282_DMA2_BCR        (*(vuint32  *)(&__IPSBAR[0x018C]))
0472 #define MCF5282_DMA2_DSR        (*(vuint8   *)(&__IPSBAR[0x0190]))
0473 
0474 #define MCF5282_DMA3_SAR        (*(vuint32  *)(&__IPSBAR[0x01C0]))
0475 #define MCF5282_DMA3_DAR        (*(vuint32  *)(&__IPSBAR[0x01C4]))
0476 #define MCF5282_DMA3_DCR        (*(vuint32  *)(&__IPSBAR[0x01C8]))
0477 #define MCF5282_DMA3_BCR        (*(vuint32  *)(&__IPSBAR[0x01CC]))
0478 #define MCF5282_DMA3_DSR        (*(vuint8   *)(&__IPSBAR[0x01D0]))
0479 
0480 #define MCF5282_DMA_SAR(x)      (*(vuint32  *)(&__IPSBAR[0x0100+((x)*0x40)]))
0481 #define MCF5282_DMA_DAR(x)      (*(vuint32  *)(&__IPSBAR[0x0104+((x)*0x40)]))
0482 #define MCF5282_DMA_DCR(x)      (*(vuint32  *)(&__IPSBAR[0x0108+((x)*0x40)]))
0483 #define MCF5282_DMA_BCR(x)      (*(vuint32  *)(&__IPSBAR[0x010C+((x)*0x40)]))
0484 #define MCF5282_DMA_DSR(x)      (*(vuint8   *)(&__IPSBAR[0x0110+((x)*0x40)]))
0485 
0486 /* Bit level definitions and macros */
0487 #define MCF5282_DMA_DCR_INT                 (0x80000000)
0488 #define MCF5282_DMA_DCR_EEXT                (0x40000000)
0489 #define MCF5282_DMA_DCR_CS                  (0x20000000)
0490 #define MCF5282_DMA_DCR_AA                  (0x10000000)
0491 #define MCF5282_DMA_DCR_BWC_DMA             (0x00000000)
0492 #define MCF5282_DMA_DCR_BWC_512             (0x02000000)
0493 #define MCF5282_DMA_DCR_BWC_1024            (0x04000000)
0494 #define MCF5282_DMA_DCR_BWC_2048            (0x06000000)
0495 #define MCF5282_DMA_DCR_BWC_4096            (0x08000000)
0496 #define MCF5282_DMA_DCR_BWC_8192            (0x0A000000)
0497 #define MCF5282_DMA_DCR_BWC_16384           (0x0C000000)
0498 #define MCF5282_DMA_DCR_BWC_32768           (0x0E000000)
0499 #define MCF5282_DMA_DCR_SINC                (0x00400000)
0500 #define MCF5282_DMA_DCR_SSIZE_LONG          (0x00000000)
0501 #define MCF5282_DMA_DCR_SSIZE_BYTE          (0x00100000)
0502 #define MCF5282_DMA_DCR_SSIZE_WORD          (0x00200000)
0503 #define MCF5282_DMA_DCR_SSIZE_LINE          (0x00300000)
0504 #define MCF5282_DMA_DCR_DINC                (0x00080000)
0505 #define MCF5282_DMA_DCR_DSIZE_LONG          (0x00000000)
0506 #define MCF5282_DMA_DCR_DSIZE_BYTE          (0x00020000)
0507 #define MCF5282_DMA_DCR_DSIZE_WORD          (0x00040000)
0508 #define MCF5282_DMA_DCR_START               (0x00010000)
0509 #define MCF5282_DMA_DCR_AT                  (0x00008000)
0510 
0511 #define MCF5282_DMA_DSR_CE                  (0x40)
0512 #define MCF5282_DMA_DSR_BES                 (0x20)
0513 #define MCF5282_DMA_DSR_BED                 (0x10)
0514 #define MCF5282_DMA_DSR_REQ                 (0x04)
0515 #define MCF5282_DMA_DSR_BSY                 (0x02)
0516 #define MCF5282_DMA_DSR_DONE                (0x01)
0517 
0518 /*********************************************************************
0519 *
0520 * Universal Asychronous Receiver/Transmitter (UART) Module
0521 *
0522 *********************************************************************/
0523 
0524 /* Read/Write access macros for general use */
0525 #define MCF5282_UART0_UMR       (*(vuint8  *)(&__IPSBAR[0x0200]))
0526 #define MCF5282_UART0_USR       (*(vuint8  *)(&__IPSBAR[0x0204]))
0527 #define MCF5282_UART0_UCSR      (*(vuint8  *)(&__IPSBAR[0x0204]))
0528 #define MCF5282_UART0_UCR       (*(vuint8  *)(&__IPSBAR[0x0208]))
0529 #define MCF5282_UART0_URB       (*(vuint8  *)(&__IPSBAR[0x020C]))
0530 #define MCF5282_UART0_UTB       (*(vuint8  *)(&__IPSBAR[0x020C]))
0531 #define MCF5282_UART0_UIPCR     (*(vuint8  *)(&__IPSBAR[0x0210]))
0532 #define MCF5282_UART0_UACR      (*(vuint8  *)(&__IPSBAR[0x0210]))
0533 #define MCF5282_UART0_UISR      (*(vuint8  *)(&__IPSBAR[0x0214]))
0534 #define MCF5282_UART0_UIMR      (*(vuint8  *)(&__IPSBAR[0x0214]))
0535 #define MCF5282_UART0_UBG1      (*(vuint8  *)(&__IPSBAR[0x0218]))
0536 #define MCF5282_UART0_UBG2      (*(vuint8  *)(&__IPSBAR[0x021C]))
0537 #define MCF5282_UART0_UIP       (*(vuint8  *)(&__IPSBAR[0x0234]))
0538 #define MCF5282_UART0_UOP1      (*(vuint8  *)(&__IPSBAR[0x0238]))
0539 #define MCF5282_UART0_UOP0      (*(vuint8  *)(&__IPSBAR[0x023C]))
0540 
0541 #define MCF5282_UART1_UMR       (*(vuint8  *)(&__IPSBAR[0x0240]))
0542 #define MCF5282_UART1_USR       (*(vuint8  *)(&__IPSBAR[0x0244]))
0543 #define MCF5282_UART1_UCSR      (*(vuint8  *)(&__IPSBAR[0x0244]))
0544 #define MCF5282_UART1_UCR       (*(vuint8  *)(&__IPSBAR[0x0248]))
0545 #define MCF5282_UART1_URB       (*(vuint8  *)(&__IPSBAR[0x024C]))
0546 #define MCF5282_UART1_UTB       (*(vuint8  *)(&__IPSBAR[0x024C]))
0547 #define MCF5282_UART1_UIPCR     (*(vuint8  *)(&__IPSBAR[0x0250]))
0548 #define MCF5282_UART1_UACR      (*(vuint8  *)(&__IPSBAR[0x0250]))
0549 #define MCF5282_UART1_UISR      (*(vuint8  *)(&__IPSBAR[0x0254]))
0550 #define MCF5282_UART1_UIMR      (*(vuint8  *)(&__IPSBAR[0x0254]))
0551 #define MCF5282_UART1_UBG1      (*(vuint8  *)(&__IPSBAR[0x0258]))
0552 #define MCF5282_UART1_UBG2      (*(vuint8  *)(&__IPSBAR[0x025C]))
0553 #define MCF5282_UART1_UIP       (*(vuint8  *)(&__IPSBAR[0x0274]))
0554 #define MCF5282_UART1_UOP1      (*(vuint8  *)(&__IPSBAR[0x0278]))
0555 #define MCF5282_UART1_UOP0      (*(vuint8  *)(&__IPSBAR[0x027C]))
0556 
0557 #define MCF5282_UART2_UMR       (*(vuint8  *)(&__IPSBAR[0x0280]))
0558 #define MCF5282_UART2_USR       (*(vuint8  *)(&__IPSBAR[0x0284]))
0559 #define MCF5282_UART2_UCSR      (*(vuint8  *)(&__IPSBAR[0x0284]))
0560 #define MCF5282_UART2_UCR       (*(vuint8  *)(&__IPSBAR[0x0288]))
0561 #define MCF5282_UART2_URB       (*(vuint8  *)(&__IPSBAR[0x028C]))
0562 #define MCF5282_UART2_UTB       (*(vuint8  *)(&__IPSBAR[0x028C]))
0563 #define MCF5282_UART2_UIPCR     (*(vuint8  *)(&__IPSBAR[0x0290]))
0564 #define MCF5282_UART2_UACR      (*(vuint8  *)(&__IPSBAR[0x0290]))
0565 #define MCF5282_UART2_UISR      (*(vuint8  *)(&__IPSBAR[0x0294]))
0566 #define MCF5282_UART2_UIMR      (*(vuint8  *)(&__IPSBAR[0x0294]))
0567 #define MCF5282_UART2_UBG1      (*(vuint8  *)(&__IPSBAR[0x0298]))
0568 #define MCF5282_UART2_UBG2      (*(vuint8  *)(&__IPSBAR[0x029C]))
0569 #define MCF5282_UART2_UIP       (*(vuint8  *)(&__IPSBAR[0x02B4]))
0570 #define MCF5282_UART2_UOP1      (*(vuint8  *)(&__IPSBAR[0x02B8]))
0571 #define MCF5282_UART2_UOP0      (*(vuint8  *)(&__IPSBAR[0x02BC]))
0572 
0573 #define MCF5282_UART_UMR(x)     (*(vuint8  *)(&__IPSBAR[0x0200+((x)*0x40)]))
0574 #define MCF5282_UART_USR(x)     (*(vuint8  *)(&__IPSBAR[0x0204+((x)*0x40)]))
0575 #define MCF5282_UART_UCSR(x)    (*(vuint8  *)(&__IPSBAR[0x0204+((x)*0x40)]))
0576 #define MCF5282_UART_UCR(x)     (*(vuint8  *)(&__IPSBAR[0x0208+((x)*0x40)]))
0577 #define MCF5282_UART_URB(x)     (*(vuint8  *)(&__IPSBAR[0x020C+((x)*0x40)]))
0578 #define MCF5282_UART_UTB(x)     (*(vuint8  *)(&__IPSBAR[0x020C+((x)*0x40)]))
0579 #define MCF5282_UART_UIPCR(x)   (*(vuint8  *)(&__IPSBAR[0x0210+((x)*0x40)]))
0580 #define MCF5282_UART_UACR(x)    (*(vuint8  *)(&__IPSBAR[0x0210+((x)*0x40)]))
0581 #define MCF5282_UART_UISR(x)    (*(vuint8  *)(&__IPSBAR[0x0214+((x)*0x40)]))
0582 #define MCF5282_UART_UIMR(x)    (*(vuint8  *)(&__IPSBAR[0x0214+((x)*0x40)]))
0583 #define MCF5282_UART_UBG1(x)    (*(vuint8  *)(&__IPSBAR[0x0218+((x)*0x40)]))
0584 #define MCF5282_UART_UBG2(x)    (*(vuint8  *)(&__IPSBAR[0x021C+((x)*0x40)]))
0585 #define MCF5282_UART_UIP(x)     (*(vuint8  *)(&__IPSBAR[0x0234+((x)*0x40)]))
0586 #define MCF5282_UART_UOP1(x)    (*(vuint8  *)(&__IPSBAR[0x0238+((x)*0x40)]))
0587 #define MCF5282_UART_UOP0(x)    (*(vuint8  *)(&__IPSBAR[0x023C+((x)*0x40)]))
0588 
0589 /* Bit level definitions and macros */
0590 #define MCF5282_UART_UMR1_RXRTS             (0x80)
0591 #define MCF5282_UART_UMR1_RXIRQ             (0x40)
0592 #define MCF5282_UART_UMR1_ERR               (0x20)
0593 #define MCF5282_UART_UMR1_PM_MULTI_ADDR     (0x1C)
0594 #define MCF5282_UART_UMR1_PM_MULTI_DATA     (0x18)
0595 #define MCF5282_UART_UMR1_PM_NONE           (0x10)
0596 #define MCF5282_UART_UMR1_PM_FORCE_HI       (0x0C)
0597 #define MCF5282_UART_UMR1_PM_FORCE_LO       (0x08)
0598 #define MCF5282_UART_UMR1_PM_ODD            (0x04)
0599 #define MCF5282_UART_UMR1_PM_EVEN           (0x00)
0600 #define MCF5282_UART_UMR1_BC_5              (0x00)
0601 #define MCF5282_UART_UMR1_BC_6              (0x01)
0602 #define MCF5282_UART_UMR1_BC_7              (0x02)
0603 #define MCF5282_UART_UMR1_BC_8              (0x03)
0604 
0605 #define MCF5282_UART_UMR2_CM_NORMAL         (0x00)
0606 #define MCF5282_UART_UMR2_CM_ECHO           (0x40)
0607 #define MCF5282_UART_UMR2_CM_LOCAL_LOOP     (0x80)
0608 #define MCF5282_UART_UMR2_CM_REMOTE_LOOP    (0xC0)
0609 #define MCF5282_UART_UMR2_TXRTS             (0x20)
0610 #define MCF5282_UART_UMR2_TXCTS             (0x10)
0611 #define MCF5282_UART_UMR2_STOP_BITS_1       (0x07)
0612 #define MCF5282_UART_UMR2_STOP_BITS_15      (0x08)
0613 #define MCF5282_UART_UMR2_STOP_BITS_2       (0x0F)
0614 #define MCF5282_UART_UMR2_STOP_BITS(a)      ((a)&0x0f)
0615 
0616 #define MCF5282_UART_USR_RB                 (0x80)
0617 #define MCF5282_UART_USR_FE                 (0x40)
0618 #define MCF5282_UART_USR_PE                 (0x20)
0619 #define MCF5282_UART_USR_OE                 (0x10)
0620 #define MCF5282_UART_USR_TXEMP              (0x08)
0621 #define MCF5282_UART_USR_TXRDY              (0x04)
0622 #define MCF5282_UART_USR_FFULL              (0x02)
0623 #define MCF5282_UART_USR_RXRDY              (0x01)
0624 
0625 #define MCF5282_UART_UCSR_RCS_SYS_CLK       (0xD0)
0626 #define MCF5282_UART_UCSR_RCS_DTIN16        (0xE0)
0627 #define MCF5282_UART_UCSR_RCS_DTIN          (0xF0)
0628 #define MCF5282_UART_UCSR_TCS_SYS_CLK       (0x0D)
0629 #define MCF5282_UART_UCSR_TCS_DTIN16        (0x0E)
0630 #define MCF5282_UART_UCSR_TCS_DTIN          (0x0F)
0631 
0632 #define MCF5282_UART_UCR_NONE               (0x00)
0633 #define MCF5282_UART_UCR_STOP_BREAK         (0x70)
0634 #define MCF5282_UART_UCR_START_BREAK        (0x60)
0635 #define MCF5282_UART_UCR_RESET_BKCHGINT     (0x50)
0636 #define MCF5282_UART_UCR_RESET_ERROR        (0x40)
0637 #define MCF5282_UART_UCR_RESET_TX           (0x30)
0638 #define MCF5282_UART_UCR_RESET_RX           (0x20)
0639 #define MCF5282_UART_UCR_RESET_MR           (0x10)
0640 #define MCF5282_UART_UCR_TX_DISABLED        (0x08)
0641 #define MCF5282_UART_UCR_TX_ENABLED         (0x04)
0642 #define MCF5282_UART_UCR_RX_DISABLED        (0x02)
0643 #define MCF5282_UART_UCR_RX_ENABLED         (0x01)
0644 
0645 #define MCF5282_UART_UIPCR_COS              (0x10)
0646 #define MCF5282_UART_UIPCR_CTS              (0x01)
0647 
0648 #define MCF5282_UART_UACR_IEC               (0x01)
0649 
0650 #define MCF5282_UART_UISR_COS               (0x80)
0651 #define MCF5282_UART_UISR_ABC               (0x40)
0652 #define MCF5282_UART_UISR_RXFIFO            (0x20)
0653 #define MCF5282_UART_UISR_TXFIFO            (0x10)
0654 #define MCF5282_UART_UISR_RXFTO             (0x08)
0655 #define MCF5282_UART_UISR_DB                (0x04)
0656 #define MCF5282_UART_UISR_RXRDY             (0x02)
0657 #define MCF5282_UART_UISR_TXRDY             (0x01)
0658 
0659 #define MCF5282_UART_UIMR_COS               (0x80)
0660 #define MCF5282_UART_UIMR_DB                (0x04)
0661 #define MCF5282_UART_UIMR_FFULL             (0x02)
0662 #define MCF5282_UART_UIMR_TXRDY             (0x01)
0663 
0664 #define MCF5282_UART_UIP_CTS                (0x01)
0665 
0666 #define MCF5282_UART_UOP_RTS                (0x01)
0667 
0668 /*********************************************************************
0669 *
0670 * Inter-IC (I2C) Module
0671 *
0672 *********************************************************************/
0673 
0674 /* Read/Write access macros for general use */
0675 #define MCF5282_I2C_I2ADR       (*(vuint8  *)(&__IPSBAR[0x0300]))
0676 #define MCF5282_I2C_I2FDR       (*(vuint8  *)(&__IPSBAR[0x0304]))
0677 #define MCF5282_I2C_I2CR        (*(vuint8  *)(&__IPSBAR[0x0308]))
0678 #define MCF5282_I2C_I2SR        (*(vuint8  *)(&__IPSBAR[0x030C]))
0679 #define MCF5282_I2C_I2DR        (*(vuint8  *)(&__IPSBAR[0x0310]))
0680 
0681 /* Bit level definitions and macros */
0682 #define MCF5282_I2C_I2ADR_ADDR(x)           (((x)&0x7F)<<0x01)
0683 
0684 #define MCF5282_I2C_I2FDR_IC(x)             (((x)&0x3F))
0685 
0686 #define MCF5282_I2C_I2CR_IEN                (0x80)
0687 #define MCF5282_I2C_I2CR_IIEN               (0x40)
0688 #define MCF5282_I2C_I2CR_MSTA               (0x20)
0689 #define MCF5282_I2C_I2CR_MTX                (0x10)
0690 #define MCF5282_I2C_I2CR_TXAK               (0x08)
0691 #define MCF5282_I2C_I2CR_RSTA               (0x04)
0692 
0693 #define MCF5282_I2C_I2SR_ICF                (0x80)
0694 #define MCF5282_I2C_I2SR_IAAS               (0x40)
0695 #define MCF5282_I2C_I2SR_IBB                (0x20)
0696 #define MCF5282_I2C_I2SR_IAL                (0x10)
0697 #define MCF5282_I2C_I2SR_SRW                (0x04)
0698 #define MCF5282_I2C_I2SR_IIF                (0x02)
0699 #define MCF5282_I2C_I2SR_RXAK               (0x01)
0700 
0701 /*********************************************************************
0702 *
0703 * Queued Serial Peripheral Interface (QSPI) Module
0704 *
0705 *********************************************************************/
0706 
0707 /* Read/Write access macros for general use */
0708 #define MCF5282_QSPI_QMR        (*(vuint16 *)(&__IPSBAR[0x0340]))
0709 #define MCF5282_QSPI_QDLYR      (*(vuint16 *)(&__IPSBAR[0x0344]))
0710 #define MCF5282_QSPI_QWR        (*(vuint16 *)(&__IPSBAR[0x0348]))
0711 #define MCF5282_QSPI_QIR        (*(vuint16 *)(&__IPSBAR[0x034C]))
0712 #define MCF5282_QSPI_QAR        (*(vuint16 *)(&__IPSBAR[0x0350]))
0713 #define MCF5282_QSPI_QDR        (*(vuint16 *)(&__IPSBAR[0x0354]))
0714 #define MCF5282_QSPI_QCR        (*(vuint16 *)(&__IPSBAR[0x0354]))
0715 
0716 /* Bit level definitions and macros */
0717 #define MCF5282_QSPI_QMR_MSTR               (0x8000)
0718 #define MCF5282_QSPI_QMR_DOHIE              (0x4000)
0719 #define MCF5282_QSPI_QMR_BITS_16            (0x0000)
0720 #define MCF5282_QSPI_QMR_BITS_8             (0x2000)
0721 #define MCF5282_QSPI_QMR_BITS_9             (0x2400)
0722 #define MCF5282_QSPI_QMR_BITS_10            (0x2800)
0723 #define MCF5282_QSPI_QMR_BITS_11            (0x2C00)
0724 #define MCF5282_QSPI_QMR_BITS_12            (0x3000)
0725 #define MCF5282_QSPI_QMR_BITS_13            (0x3400)
0726 #define MCF5282_QSPI_QMR_BITS_14            (0x3800)
0727 #define MCF5282_QSPI_QMR_BITS_15            (0x3C00)
0728 #define MCF5282_QSPI_QMR_CPOL               (0x0200)
0729 #define MCF5282_QSPI_QMR_CPHA               (0x0100)
0730 #define MCF5282_QSPI_QMR_BAUD(x)            (((x)&0x00FF))
0731 
0732 #define MCF5282_QSPI_QDLYR_SPE              (0x8000)
0733 #define MCF5282_QSPI_QDLYR_QCD(x)           (((x)&0x007F)<<8)
0734 #define MCF5282_QSPI_QDLYR_DTL(x)           (((x)&0x00FF))
0735 
0736 #define MCF5282_QSPI_QWR_HALT               (0x8000)
0737 #define MCF5282_QSPI_QWR_WREN               (0x4000)
0738 #define MCF5282_QSPI_QWR_WRTO               (0x2000)
0739 #define MCF5282_QSPI_QWR_CSIV               (0x1000)
0740 #define MCF5282_QSPI_QWR_ENDQP(x)           (((x)&0x000F)<<8)
0741 #define MCF5282_QSPI_QWR_CPTQP(x)           (((x)&0x000F)<<4)
0742 #define MCF5282_QSPI_QWR_NEWQP(x)           (((x)&0x000F))
0743 
0744 #define MCF5282_QSPI_QIR_WCEFB              (0x8000)
0745 #define MCF5282_QSPI_QIR_ABRTB              (0x4000)
0746 #define MCF5282_QSPI_QIR_ABRTL              (0x1000)
0747 #define MCF5282_QSPI_QIR_WCEFE              (0x0800)
0748 #define MCF5282_QSPI_QIR_ABRTE              (0x0400)
0749 #define MCF5282_QSPI_QIR_SPIFE              (0x0100)
0750 #define MCF5282_QSPI_QIR_WCEF               (0x0008)
0751 #define MCF5282_QSPI_QIR_ABRT               (0x0004)
0752 #define MCF5282_QSPI_QIR_SPIF               (0x0001)
0753 
0754 #define MCF5282_QSPI_QAR_ADDR(x)            (((x)&0x003F))
0755 
0756 #define MCF5282_QSPI_QDR_COMMAND(x)         (((x)&0xFF00))
0757 
0758 #define MCF5282_QSPI_QCR_DATA(x)            (((x)&0x00FF)<<8)
0759 #define MCF5282_QSPI_QCR_CONT               (0x8000)
0760 #define MCF5282_QSPI_QCR_BITSE              (0x4000)
0761 #define MCF5282_QSPI_QCR_DT                 (0x2000)
0762 #define MCF5282_QSPI_QCR_DSCK               (0x1000)
0763 #define MCF5282_QSPI_QCR_CS(x)              (((x)&0x000F)<<8)
0764 
0765 /*********************************************************************
0766 *
0767 * DMA Timer Module
0768 *
0769 *********************************************************************/
0770 
0771 /* Read/Write access macros for general use */
0772 #define MCF5282_TIMER0_DTMR     (*(vuint16 *)(&__IPSBAR[0x0400]))
0773 #define MCF5282_TIMER0_DTXMR    (*(vuint8  *)(&__IPSBAR[0x0402]))
0774 #define MCF5282_TIMER0_DTER     (*(vuint8  *)(&__IPSBAR[0x0403]))
0775 #define MCF5282_TIMER0_DTRR     (*(vuint32 *)(&__IPSBAR[0x0404]))
0776 #define MCF5282_TIMER0_DTCR     (*(vuint32 *)(&__IPSBAR[0x0408]))
0777 #define MCF5282_TIMER0_DTCN     (*(vuint32 *)(&__IPSBAR[0x040C]))
0778 
0779 #define MCF5282_TIMER1_DTMR     (*(vuint16 *)(&__IPSBAR[0x0440]))
0780 #define MCF5282_TIMER1_DTXMR    (*(vuint8  *)(&__IPSBAR[0x0442]))
0781 #define MCF5282_TIMER1_DTER     (*(vuint8  *)(&__IPSBAR[0x0443]))
0782 #define MCF5282_TIMER1_DTRR     (*(vuint32 *)(&__IPSBAR[0x0444]))
0783 #define MCF5282_TIMER1_DTCR     (*(vuint32 *)(&__IPSBAR[0x0448]))
0784 #define MCF5282_TIMER1_DTCN     (*(vuint32 *)(&__IPSBAR[0x044C]))
0785 
0786 #define MCF5282_TIMER2_DTMR     (*(vuint16 *)(&__IPSBAR[0x0480]))
0787 #define MCF5282_TIMER2_DTXMR    (*(vuint8  *)(&__IPSBAR[0x0482]))
0788 #define MCF5282_TIMER2_DTER     (*(vuint8  *)(&__IPSBAR[0x0483]))
0789 #define MCF5282_TIMER2_DTRR     (*(vuint32 *)(&__IPSBAR[0x0484]))
0790 #define MCF5282_TIMER2_DTCR     (*(vuint32 *)(&__IPSBAR[0x0488]))
0791 #define MCF5282_TIMER2_DTCN     (*(vuint32 *)(&__IPSBAR[0x048C]))
0792 
0793 #define MCF5282_TIMER3_DTMR     (*(vuint16 *)(&__IPSBAR[0x04C0]))
0794 #define MCF5282_TIMER3_DTXMR    (*(vuint8  *)(&__IPSBAR[0x04C2]))
0795 #define MCF5282_TIMER3_DTER     (*(vuint8  *)(&__IPSBAR[0x04C3]))
0796 #define MCF5282_TIMER3_DTRR     (*(vuint32 *)(&__IPSBAR[0x04C4]))
0797 #define MCF5282_TIMER3_DTCR     (*(vuint32 *)(&__IPSBAR[0x04C8]))
0798 #define MCF5282_TIMER3_DTCN     (*(vuint32 *)(&__IPSBAR[0x04CC]))
0799 
0800 #define MCF5282_TIMER_DTMR(x)   (*(vuint16 *)(&__IPSBAR[0x0400+((x)*0x40)]))
0801 #define MCF5282_TIMER_DTXMR(x)  (*(vuint8  *)(&__IPSBAR[0x0402+((x)*0x40)]))
0802 #define MCF5282_TIMER_DTER(x)   (*(vuint8  *)(&__IPSBAR[0x0403+((x)*0x40)]))
0803 #define MCF5282_TIMER_DTRR(x)   (*(vuint32 *)(&__IPSBAR[0x0404+((x)*0x40)]))
0804 #define MCF5282_TIMER_DTCR(x)   (*(vuint32 *)(&__IPSBAR[0x0408+((x)*0x40)]))
0805 #define MCF5282_TIMER_DTCN(x)   (*(vuint32 *)(&__IPSBAR[0x040C+((x)*0x40)]))
0806 
0807 /* Bit level definitions and macros */
0808 #define MCF5282_TIMER_DTMR_PS(a)            (((a)&0x00FF)<<8)
0809 #define MCF5282_TIMER_DTMR_CE_ANY           (0x00C0)
0810 #define MCF5282_TIMER_DTMR_CE_FALL          (0x0080)
0811 #define MCF5282_TIMER_DTMR_CE_RISE          (0x0040)
0812 #define MCF5282_TIMER_DTMR_CE_NONE          (0x0000)
0813 #define MCF5282_TIMER_DTMR_OM               (0x0020)
0814 #define MCF5282_TIMER_DTMR_ORRI             (0x0010)
0815 #define MCF5282_TIMER_DTMR_FRR              (0x0008)
0816 #define MCF5282_TIMER_DTMR_CLK_DTIN         (0x0006)
0817 #define MCF5282_TIMER_DTMR_CLK_DIV16        (0x0004)
0818 #define MCF5282_TIMER_DTMR_CLK_DIV1         (0x0002)
0819 #define MCF5282_TIMER_DTMR_CLK_STOP         (0x0000)
0820 #define MCF5282_TIMER_DTMR_RST              (0x0001)
0821 
0822 #define MCF5282_TIMER_DTXMR_DMAEN           (0x80)
0823 #define MCF5282_TIMER_DTXMR_MODE16          (0x01)
0824 
0825 #define MCF5282_TIMER_DTER_REF              (0x02)
0826 #define MCF5282_TIMER_DTER_CAP              (0x01)
0827 
0828 /*********************************************************************
0829 *
0830 * Interrupt Controller (INTC) Module
0831 *
0832 *********************************************************************/
0833 
0834 /* Read/Write access macros for general use */
0835 #define MCF5282_INTC0_IPRH      (*(vuint32 *)(&__IPSBAR[0x0C00]))
0836 #define MCF5282_INTC0_IPRL      (*(vuint32 *)(&__IPSBAR[0x0C04]))
0837 #define MCF5282_INTC0_IMRH      (*(vuint32 *)(&__IPSBAR[0x0C08]))
0838 #define MCF5282_INTC0_IMRL      (*(vuint32 *)(&__IPSBAR[0x0C0C]))
0839 #define MCF5282_INTC0_INTFRCH   (*(vuint32 *)(&__IPSBAR[0x0C10]))
0840 #define MCF5282_INTC0_INTFRCL   (*(vuint32 *)(&__IPSBAR[0x0C14]))
0841 #define MCF5282_INTC0_IRLR      (*(vuint8  *)(&__IPSBAR[0x0C18]))
0842 #define MCF5282_INTC0_IACKLPR   (*(vuint8  *)(&__IPSBAR[0x0C19]))
0843 #define MCF5282_INTC0_ICR1      (*(vuint8  *)(&__IPSBAR[0x0C41]))
0844 #define MCF5282_INTC0_ICR2      (*(vuint8  *)(&__IPSBAR[0x0C42]))
0845 #define MCF5282_INTC0_ICR3      (*(vuint8  *)(&__IPSBAR[0x0C43]))
0846 #define MCF5282_INTC0_ICR4      (*(vuint8  *)(&__IPSBAR[0x0C44]))
0847 #define MCF5282_INTC0_ICR5      (*(vuint8  *)(&__IPSBAR[0x0C45]))
0848 #define MCF5282_INTC0_ICR6      (*(vuint8  *)(&__IPSBAR[0x0C46]))
0849 #define MCF5282_INTC0_ICR7      (*(vuint8  *)(&__IPSBAR[0x0C47]))
0850 #define MCF5282_INTC0_ICR8      (*(vuint8  *)(&__IPSBAR[0x0C48]))
0851 #define MCF5282_INTC0_ICR9      (*(vuint8  *)(&__IPSBAR[0x0C49]))
0852 #define MCF5282_INTC0_ICR10     (*(vuint8  *)(&__IPSBAR[0x0C4A]))
0853 #define MCF5282_INTC0_ICR11     (*(vuint8  *)(&__IPSBAR[0x0C4B]))
0854 #define MCF5282_INTC0_ICR12     (*(vuint8  *)(&__IPSBAR[0x0C4C]))
0855 #define MCF5282_INTC0_ICR13     (*(vuint8  *)(&__IPSBAR[0x0C4D]))
0856 #define MCF5282_INTC0_ICR14     (*(vuint8  *)(&__IPSBAR[0x0C4E]))
0857 #define MCF5282_INTC0_ICR15     (*(vuint8  *)(&__IPSBAR[0x0C4F]))
0858 #define MCF5282_INTC0_ICR17     (*(vuint8  *)(&__IPSBAR[0x0C51]))
0859 #define MCF5282_INTC0_ICR18     (*(vuint8  *)(&__IPSBAR[0x0C52]))
0860 #define MCF5282_INTC0_ICR19     (*(vuint8  *)(&__IPSBAR[0x0C53]))
0861 #define MCF5282_INTC0_ICR20     (*(vuint8  *)(&__IPSBAR[0x0C54]))
0862 #define MCF5282_INTC0_ICR21     (*(vuint8  *)(&__IPSBAR[0x0C55]))
0863 #define MCF5282_INTC0_ICR22     (*(vuint8  *)(&__IPSBAR[0x0C56]))
0864 #define MCF5282_INTC0_ICR23     (*(vuint8  *)(&__IPSBAR[0x0C57]))
0865 #define MCF5282_INTC0_ICR24     (*(vuint8  *)(&__IPSBAR[0x0C58]))
0866 #define MCF5282_INTC0_ICR25     (*(vuint8  *)(&__IPSBAR[0x0C59]))
0867 #define MCF5282_INTC0_ICR26     (*(vuint8  *)(&__IPSBAR[0x0C5A]))
0868 #define MCF5282_INTC0_ICR27     (*(vuint8  *)(&__IPSBAR[0x0C5B]))
0869 #define MCF5282_INTC0_ICR28     (*(vuint8  *)(&__IPSBAR[0x0C5C]))
0870 #define MCF5282_INTC0_ICR29     (*(vuint8  *)(&__IPSBAR[0x0C5D]))
0871 #define MCF5282_INTC0_ICR30     (*(vuint8  *)(&__IPSBAR[0x0C5E]))
0872 #define MCF5282_INTC0_ICR31     (*(vuint8  *)(&__IPSBAR[0x0C5F]))
0873 #define MCF5282_INTC0_ICR32     (*(vuint8  *)(&__IPSBAR[0x0C60]))
0874 #define MCF5282_INTC0_ICR33     (*(vuint8  *)(&__IPSBAR[0x0C61]))
0875 #define MCF5282_INTC0_ICR34     (*(vuint8  *)(&__IPSBAR[0x0C62]))
0876 #define MCF5282_INTC0_ICR35     (*(vuint8  *)(&__IPSBAR[0x0C63]))
0877 #define MCF5282_INTC0_ICR36     (*(vuint8  *)(&__IPSBAR[0x0C64]))
0878 #define MCF5282_INTC0_ICR37     (*(vuint8  *)(&__IPSBAR[0x0C65]))
0879 #define MCF5282_INTC0_ICR38     (*(vuint8  *)(&__IPSBAR[0x0C66]))
0880 #define MCF5282_INTC0_ICR39     (*(vuint8  *)(&__IPSBAR[0x0C67]))
0881 #define MCF5282_INTC0_ICR40     (*(vuint8  *)(&__IPSBAR[0x0C68]))
0882 #define MCF5282_INTC0_ICR41     (*(vuint8  *)(&__IPSBAR[0x0C69]))
0883 #define MCF5282_INTC0_ICR42     (*(vuint8  *)(&__IPSBAR[0x0C6A]))
0884 #define MCF5282_INTC0_ICR43     (*(vuint8  *)(&__IPSBAR[0x0C6B]))
0885 #define MCF5282_INTC0_ICR44     (*(vuint8  *)(&__IPSBAR[0x0C6C]))
0886 #define MCF5282_INTC0_ICR45     (*(vuint8  *)(&__IPSBAR[0x0C6D]))
0887 #define MCF5282_INTC0_ICR46     (*(vuint8  *)(&__IPSBAR[0x0C6E]))
0888 #define MCF5282_INTC0_ICR47     (*(vuint8  *)(&__IPSBAR[0x0C6F]))
0889 #define MCF5282_INTC0_ICR48     (*(vuint8  *)(&__IPSBAR[0x0C70]))
0890 #define MCF5282_INTC0_ICR49     (*(vuint8  *)(&__IPSBAR[0x0C71]))
0891 #define MCF5282_INTC0_ICR50     (*(vuint8  *)(&__IPSBAR[0x0C72]))
0892 #define MCF5282_INTC0_ICR51     (*(vuint8  *)(&__IPSBAR[0x0C73]))
0893 #define MCF5282_INTC0_ICR52     (*(vuint8  *)(&__IPSBAR[0x0C74]))
0894 #define MCF5282_INTC0_ICR53     (*(vuint8  *)(&__IPSBAR[0x0C75]))
0895 #define MCF5282_INTC0_ICR54     (*(vuint8  *)(&__IPSBAR[0x0C76]))
0896 #define MCF5282_INTC0_ICR55     (*(vuint8  *)(&__IPSBAR[0x0C77]))
0897 #define MCF5282_INTC0_ICR56     (*(vuint8  *)(&__IPSBAR[0x0C78]))
0898 #define MCF5282_INTC0_ICR57     (*(vuint8  *)(&__IPSBAR[0x0C79]))
0899 #define MCF5282_INTC0_ICR58     (*(vuint8  *)(&__IPSBAR[0x0C7A]))
0900 #define MCF5282_INTC0_ICR59     (*(vuint8  *)(&__IPSBAR[0x0C7B]))
0901 #define MCF5282_INTC0_ICR60     (*(vuint8  *)(&__IPSBAR[0x0C7C]))
0902 #define MCF5282_INTC0_ICR61     (*(vuint8  *)(&__IPSBAR[0x0C7D]))
0903 #define MCF5282_INTC0_ICR62     (*(vuint8  *)(&__IPSBAR[0x0C7E]))
0904 #define MCF5282_INTC0_SWIACK    (*(vuint8  *)(&__IPSBAR[0x0CE0]))
0905 #define MCF5282_INTC0_L1IACK    (*(vuint8  *)(&__IPSBAR[0x0CE4]))
0906 #define MCF5282_INTC0_L2IACK    (*(vuint8  *)(&__IPSBAR[0x0CE8]))
0907 #define MCF5282_INTC0_L3IACK    (*(vuint8  *)(&__IPSBAR[0x0CEC]))
0908 #define MCF5282_INTC0_L4IACK    (*(vuint8  *)(&__IPSBAR[0x0CF0]))
0909 #define MCF5282_INTC0_L5IACK    (*(vuint8  *)(&__IPSBAR[0x0CF4]))
0910 #define MCF5282_INTC0_L6IACK    (*(vuint8  *)(&__IPSBAR[0x0CF8]))
0911 #define MCF5282_INTC0_L7IACK    (*(vuint8  *)(&__IPSBAR[0x0CFC]))
0912 
0913 #define MCF5282_INTC1_IPRH      (*(vuint32 *)(&__IPSBAR[0x0D00]))
0914 #define MCF5282_INTC1_IPRL      (*(vuint32 *)(&__IPSBAR[0x0D04]))
0915 #define MCF5282_INTC1_IMRH      (*(vuint32 *)(&__IPSBAR[0x0D08]))
0916 #define MCF5282_INTC1_IMRL      (*(vuint32 *)(&__IPSBAR[0x0D0C]))
0917 #define MCF5282_INTC1_INTFRCH   (*(vuint32 *)(&__IPSBAR[0x0D10]))
0918 #define MCF5282_INTC1_INTFRCL   (*(vuint32 *)(&__IPSBAR[0x0D14]))
0919 #define MCF5282_INTC1_IRLR      (*(vuint8  *)(&__IPSBAR[0x0D18]))
0920 #define MCF5282_INTC1_IACKLPR   (*(vuint8  *)(&__IPSBAR[0x0D19]))
0921 #define MCF5282_INTC1_ICR08     (*(vuint8  *)(&__IPSBAR[0x0D48]))
0922 #define MCF5282_INTC1_ICR09     (*(vuint8  *)(&__IPSBAR[0x0D49]))
0923 #define MCF5282_INTC1_ICR10     (*(vuint8  *)(&__IPSBAR[0x0D4A]))
0924 #define MCF5282_INTC1_ICR11     (*(vuint8  *)(&__IPSBAR[0x0D4B]))
0925 #define MCF5282_INTC1_ICR12     (*(vuint8  *)(&__IPSBAR[0x0D4C]))
0926 #define MCF5282_INTC1_ICR13     (*(vuint8  *)(&__IPSBAR[0x0D4D]))
0927 #define MCF5282_INTC1_ICR14     (*(vuint8  *)(&__IPSBAR[0x0D4E]))
0928 #define MCF5282_INTC1_ICR15     (*(vuint8  *)(&__IPSBAR[0x0D4F]))
0929 #define MCF5282_INTC1_ICR16     (*(vuint8  *)(&__IPSBAR[0x0D50]))
0930 #define MCF5282_INTC1_ICR17     (*(vuint8  *)(&__IPSBAR[0x0D51]))
0931 #define MCF5282_INTC1_ICR18     (*(vuint8  *)(&__IPSBAR[0x0D52]))
0932 #define MCF5282_INTC1_ICR19     (*(vuint8  *)(&__IPSBAR[0x0D53]))
0933 #define MCF5282_INTC1_ICR20     (*(vuint8  *)(&__IPSBAR[0x0D54]))
0934 #define MCF5282_INTC1_ICR21     (*(vuint8  *)(&__IPSBAR[0x0D55]))
0935 #define MCF5282_INTC1_ICR22     (*(vuint8  *)(&__IPSBAR[0x0D56]))
0936 #define MCF5282_INTC1_ICR23     (*(vuint8  *)(&__IPSBAR[0x0D57]))
0937 #define MCF5282_INTC1_ICR24     (*(vuint8  *)(&__IPSBAR[0x0D58]))
0938 #define MCF5282_INTC1_ICR25     (*(vuint8  *)(&__IPSBAR[0x0D59]))
0939 #define MCF5282_INTC1_ICR26     (*(vuint8  *)(&__IPSBAR[0x0D5A]))
0940 #define MCF5282_INTC1_SWIACK    (*(vuint8  *)(&__IPSBAR[0x0DE0]))
0941 #define MCF5282_INTC1_L1IACK    (*(vuint8  *)(&__IPSBAR[0x0DE4]))
0942 #define MCF5282_INTC1_L2IACK    (*(vuint8  *)(&__IPSBAR[0x0DE8]))
0943 #define MCF5282_INTC1_L3IACK    (*(vuint8  *)(&__IPSBAR[0x0DEC]))
0944 #define MCF5282_INTC1_L4IACK    (*(vuint8  *)(&__IPSBAR[0x0DF0]))
0945 #define MCF5282_INTC1_L5IACK    (*(vuint8  *)(&__IPSBAR[0x0DF4]))
0946 #define MCF5282_INTC1_L6IACK    (*(vuint8  *)(&__IPSBAR[0x0DF8]))
0947 #define MCF5282_INTC1_L7IACK    (*(vuint8  *)(&__IPSBAR[0x0DFC]))
0948 
0949 /* Bit level definitions and macros */
0950 #define MCF5282_INTC_IPRH_INT63             (0x80000000)
0951 #define MCF5282_INTC_IPRH_INT62             (0x40000000)
0952 #define MCF5282_INTC_IPRH_INT61             (0x20000000)
0953 #define MCF5282_INTC_IPRH_INT60             (0x10000000)
0954 #define MCF5282_INTC_IPRH_INT59             (0x08000000)
0955 #define MCF5282_INTC_IPRH_INT58             (0x04000000)
0956 #define MCF5282_INTC_IPRH_INT57             (0x02000000)
0957 #define MCF5282_INTC_IPRH_INT56             (0x01000000)
0958 #define MCF5282_INTC_IPRH_INT55             (0x00800000)
0959 #define MCF5282_INTC_IPRH_INT54             (0x00400000)
0960 #define MCF5282_INTC_IPRH_INT53             (0x00200000)
0961 #define MCF5282_INTC_IPRH_INT52             (0x00100000)
0962 #define MCF5282_INTC_IPRH_INT51             (0x00080000)
0963 #define MCF5282_INTC_IPRH_INT50             (0x00040000)
0964 #define MCF5282_INTC_IPRH_INT49             (0x00020000)
0965 #define MCF5282_INTC_IPRH_INT48             (0x00010000)
0966 #define MCF5282_INTC_IPRH_INT47             (0x00008000)
0967 #define MCF5282_INTC_IPRH_INT46             (0x00004000)
0968 #define MCF5282_INTC_IPRH_INT45             (0x00002000)
0969 #define MCF5282_INTC_IPRH_INT44             (0x00001000)
0970 #define MCF5282_INTC_IPRH_INT43             (0x00000800)
0971 #define MCF5282_INTC_IPRH_INT42             (0x00000400)
0972 #define MCF5282_INTC_IPRH_INT41             (0x00000200)
0973 #define MCF5282_INTC_IPRH_INT40             (0x00000100)
0974 #define MCF5282_INTC_IPRH_INT39             (0x00000080)
0975 #define MCF5282_INTC_IPRH_INT38             (0x00000040)
0976 #define MCF5282_INTC_IPRH_INT37             (0x00000020)
0977 #define MCF5282_INTC_IPRH_INT36             (0x00000010)
0978 #define MCF5282_INTC_IPRH_INT35             (0x00000008)
0979 #define MCF5282_INTC_IPRH_INT34             (0x00000004)
0980 #define MCF5282_INTC_IPRH_INT33             (0x00000002)
0981 #define MCF5282_INTC_IPRH_INT32             (0x00000001)
0982 
0983 #define MCF5282_INTC_IPRL_INT31             (0x80000000)
0984 #define MCF5282_INTC_IPRL_INT30             (0x40000000)
0985 #define MCF5282_INTC_IPRL_INT29             (0x20000000)
0986 #define MCF5282_INTC_IPRL_INT28             (0x10000000)
0987 #define MCF5282_INTC_IPRL_INT27             (0x08000000)
0988 #define MCF5282_INTC_IPRL_INT26             (0x04000000)
0989 #define MCF5282_INTC_IPRL_INT25             (0x02000000)
0990 #define MCF5282_INTC_IPRL_INT24             (0x01000000)
0991 #define MCF5282_INTC_IPRL_INT23             (0x00800000)
0992 #define MCF5282_INTC_IPRL_INT22             (0x00400000)
0993 #define MCF5282_INTC_IPRL_INT21             (0x00200000)
0994 #define MCF5282_INTC_IPRL_INT20             (0x00100000)
0995 #define MCF5282_INTC_IPRL_INT19             (0x00080000)
0996 #define MCF5282_INTC_IPRL_INT18             (0x00040000)
0997 #define MCF5282_INTC_IPRL_INT17             (0x00020000)
0998 #define MCF5282_INTC_IPRL_INT16             (0x00010000)
0999 #define MCF5282_INTC_IPRL_INT15             (0x00008000)
1000 #define MCF5282_INTC_IPRL_INT14             (0x00004000)
1001 #define MCF5282_INTC_IPRL_INT13             (0x00002000)
1002 #define MCF5282_INTC_IPRL_INT12             (0x00001000)
1003 #define MCF5282_INTC_IPRL_INT11             (0x00000800)
1004 #define MCF5282_INTC_IPRL_INT10             (0x00000400)
1005 #define MCF5282_INTC_IPRL_INT9              (0x00000200)
1006 #define MCF5282_INTC_IPRL_INT8              (0x00000100)
1007 #define MCF5282_INTC_IPRL_INT7              (0x00000080)
1008 #define MCF5282_INTC_IPRL_INT6              (0x00000040)
1009 #define MCF5282_INTC_IPRL_INT5              (0x00000020)
1010 #define MCF5282_INTC_IPRL_INT4              (0x00000010)
1011 #define MCF5282_INTC_IPRL_INT3              (0x00000008)
1012 #define MCF5282_INTC_IPRL_INT2              (0x00000004)
1013 #define MCF5282_INTC_IPRL_INT1              (0x00000002)
1014 
1015 #define MCF5282_INTC_IMRH_INT63             (0x80000000)
1016 #define MCF5282_INTC_IMRH_INT62             (0x40000000)
1017 #define MCF5282_INTC_IMRH_INT61             (0x20000000)
1018 #define MCF5282_INTC_IMRH_INT60             (0x10000000)
1019 #define MCF5282_INTC_IMRH_INT59             (0x08000000)
1020 #define MCF5282_INTC_IMRH_INT58             (0x04000000)
1021 #define MCF5282_INTC_IMRH_INT57             (0x02000000)
1022 #define MCF5282_INTC_IMRH_INT56             (0x01000000)
1023 #define MCF5282_INTC_IMRH_INT55             (0x00800000)
1024 #define MCF5282_INTC_IMRH_INT54             (0x00400000)
1025 #define MCF5282_INTC_IMRH_INT53             (0x00200000)
1026 #define MCF5282_INTC_IMRH_INT52             (0x00100000)
1027 #define MCF5282_INTC_IMRH_INT51             (0x00080000)
1028 #define MCF5282_INTC_IMRH_INT50             (0x00040000)
1029 #define MCF5282_INTC_IMRH_INT49             (0x00020000)
1030 #define MCF5282_INTC_IMRH_INT48             (0x00010000)
1031 #define MCF5282_INTC_IMRH_INT47             (0x00008000)
1032 #define MCF5282_INTC_IMRH_INT46             (0x00004000)
1033 #define MCF5282_INTC_IMRH_INT45             (0x00002000)
1034 #define MCF5282_INTC_IMRH_INT44             (0x00001000)
1035 #define MCF5282_INTC_IMRH_INT43             (0x00000800)
1036 #define MCF5282_INTC_IMRH_INT42             (0x00000400)
1037 #define MCF5282_INTC_IMRH_INT41             (0x00000200)
1038 #define MCF5282_INTC_IMRH_INT40             (0x00000100)
1039 #define MCF5282_INTC_IMRH_INT39             (0x00000080)
1040 #define MCF5282_INTC_IMRH_INT38             (0x00000040)
1041 #define MCF5282_INTC_IMRH_INT37             (0x00000020)
1042 #define MCF5282_INTC_IMRH_INT36             (0x00000010)
1043 #define MCF5282_INTC_IMRH_INT35             (0x00000008)
1044 #define MCF5282_INTC_IMRH_INT34             (0x00000004)
1045 #define MCF5282_INTC_IMRH_INT33             (0x00000002)
1046 #define MCF5282_INTC_IMRH_INT32             (0x00000001)
1047 
1048 #define MCF5282_INTC_IMRL_INT31             (0x80000000)
1049 #define MCF5282_INTC_IMRL_INT30             (0x40000000)
1050 #define MCF5282_INTC_IMRL_INT29             (0x20000000)
1051 #define MCF5282_INTC_IMRL_INT28             (0x10000000)
1052 #define MCF5282_INTC_IMRL_INT27             (0x08000000)
1053 #define MCF5282_INTC_IMRL_INT26             (0x04000000)
1054 #define MCF5282_INTC_IMRL_INT25             (0x02000000)
1055 #define MCF5282_INTC_IMRL_INT24             (0x01000000)
1056 #define MCF5282_INTC_IMRL_INT23             (0x00800000)
1057 #define MCF5282_INTC_IMRL_INT22             (0x00400000)
1058 #define MCF5282_INTC_IMRL_INT21             (0x00200000)
1059 #define MCF5282_INTC_IMRL_INT20             (0x00100000)
1060 #define MCF5282_INTC_IMRL_INT19             (0x00080000)
1061 #define MCF5282_INTC_IMRL_INT18             (0x00040000)
1062 #define MCF5282_INTC_IMRL_INT17             (0x00020000)
1063 #define MCF5282_INTC_IMRL_INT16             (0x00010000)
1064 #define MCF5282_INTC_IMRL_INT15             (0x00008000)
1065 #define MCF5282_INTC_IMRL_INT14             (0x00004000)
1066 #define MCF5282_INTC_IMRL_INT13             (0x00002000)
1067 #define MCF5282_INTC_IMRL_INT12             (0x00001000)
1068 #define MCF5282_INTC_IMRL_INT11             (0x00000800)
1069 #define MCF5282_INTC_IMRL_INT10             (0x00000400)
1070 #define MCF5282_INTC_IMRL_INT9              (0x00000200)
1071 #define MCF5282_INTC_IMRL_INT8              (0x00000100)
1072 #define MCF5282_INTC_IMRL_INT7              (0x00000080)
1073 #define MCF5282_INTC_IMRL_INT6              (0x00000040)
1074 #define MCF5282_INTC_IMRL_INT5              (0x00000020)
1075 #define MCF5282_INTC_IMRL_INT4              (0x00000010)
1076 #define MCF5282_INTC_IMRL_INT3              (0x00000008)
1077 #define MCF5282_INTC_IMRL_INT2              (0x00000004)
1078 #define MCF5282_INTC_IMRL_INT1              (0x00000002)
1079 #define MCF5282_INTC_IMRL_MASKALL           (0x00000001)
1080 
1081 #define MCF5282_INTC_INTFRCH_INT63          (0x80000000)
1082 #define MCF5282_INTC_INTFRCH_INT62          (0x40000000)
1083 #define MCF5282_INTC_INTFRCH_INT61          (0x20000000)
1084 #define MCF5282_INTC_INTFRCH_INT60          (0x10000000)
1085 #define MCF5282_INTC_INTFRCH_INT59          (0x08000000)
1086 #define MCF5282_INTC_INTFRCH_INT58          (0x04000000)
1087 #define MCF5282_INTC_INTFRCH_INT57          (0x02000000)
1088 #define MCF5282_INTC_INTFRCH_INT56          (0x01000000)
1089 #define MCF5282_INTC_INTFRCH_INT55          (0x00800000)
1090 #define MCF5282_INTC_INTFRCH_INT54          (0x00400000)
1091 #define MCF5282_INTC_INTFRCH_INT53          (0x00200000)
1092 #define MCF5282_INTC_INTFRCH_INT52          (0x00100000)
1093 #define MCF5282_INTC_INTFRCH_INT51          (0x00080000)
1094 #define MCF5282_INTC_INTFRCH_INT50          (0x00040000)
1095 #define MCF5282_INTC_INTFRCH_INT49          (0x00020000)
1096 #define MCF5282_INTC_INTFRCH_INT48          (0x00010000)
1097 #define MCF5282_INTC_INTFRCH_INT47          (0x00008000)
1098 #define MCF5282_INTC_INTFRCH_INT46          (0x00004000)
1099 #define MCF5282_INTC_INTFRCH_INT45          (0x00002000)
1100 #define MCF5282_INTC_INTFRCH_INT44          (0x00001000)
1101 #define MCF5282_INTC_INTFRCH_INT43          (0x00000800)
1102 #define MCF5282_INTC_INTFRCH_INT42          (0x00000400)
1103 #define MCF5282_INTC_INTFRCH_INT41          (0x00000200)
1104 #define MCF5282_INTC_INTFRCH_INT40          (0x00000100)
1105 #define MCF5282_INTC_INTFRCH_INT39          (0x00000080)
1106 #define MCF5282_INTC_INTFRCH_INT38          (0x00000040)
1107 #define MCF5282_INTC_INTFRCH_INT37          (0x00000020)
1108 #define MCF5282_INTC_INTFRCH_INT36          (0x00000010)
1109 #define MCF5282_INTC_INTFRCH_INT35          (0x00000008)
1110 #define MCF5282_INTC_INTFRCH_INT34          (0x00000004)
1111 #define MCF5282_INTC_INTFRCH_INT33          (0x00000002)
1112 #define MCF5282_INTC_INTFRCH_INT32          (0x00000001)
1113 
1114 #define MCF5282_INTC_INTFRCL_INT31          (0x80000000)
1115 #define MCF5282_INTC_INTFRCL_INT30          (0x40000000)
1116 #define MCF5282_INTC_INTFRCL_INT29          (0x20000000)
1117 #define MCF5282_INTC_INTFRCL_INT28          (0x10000000)
1118 #define MCF5282_INTC_INTFRCL_INT27          (0x08000000)
1119 #define MCF5282_INTC_INTFRCL_INT26          (0x04000000)
1120 #define MCF5282_INTC_INTFRCL_INT25          (0x02000000)
1121 #define MCF5282_INTC_INTFRCL_INT24          (0x01000000)
1122 #define MCF5282_INTC_INTFRCL_INT23          (0x00800000)
1123 #define MCF5282_INTC_INTFRCL_INT22          (0x00400000)
1124 #define MCF5282_INTC_INTFRCL_INT21          (0x00200000)
1125 #define MCF5282_INTC_INTFRCL_INT20          (0x00100000)
1126 #define MCF5282_INTC_INTFRCL_INT19          (0x00080000)
1127 #define MCF5282_INTC_INTFRCL_INT18          (0x00040000)
1128 #define MCF5282_INTC_INTFRCL_INT17          (0x00020000)
1129 #define MCF5282_INTC_INTFRCL_INT16          (0x00010000)
1130 #define MCF5282_INTC_INTFRCL_INT15          (0x00008000)
1131 #define MCF5282_INTC_INTFRCL_INT14          (0x00004000)
1132 #define MCF5282_INTC_INTFRCL_INT13          (0x00002000)
1133 #define MCF5282_INTC_INTFRCL_INT12          (0x00001000)
1134 #define MCF5282_INTC_INTFRCL_INT11          (0x00000800)
1135 #define MCF5282_INTC_INTFRCL_INT10          (0x00000400)
1136 #define MCF5282_INTC_INTFRCL_INT9           (0x00000200)
1137 #define MCF5282_INTC_INTFRCL_INT8           (0x00000100)
1138 #define MCF5282_INTC_INTFRCL_INT7           (0x00000080)
1139 #define MCF5282_INTC_INTFRCL_INT6           (0x00000040)
1140 #define MCF5282_INTC_INTFRCL_INT5           (0x00000020)
1141 #define MCF5282_INTC_INTFRCL_INT4           (0x00000010)
1142 #define MCF5282_INTC_INTFRCL_INT3           (0x00000008)
1143 #define MCF5282_INTC_INTFRCL_INT2           (0x00000004)
1144 #define MCF5282_INTC_INTFRCL_INT1           (0x00000002)
1145 
1146 #define MCF5282_INTC_IRLR_IRQ7              (0x80)
1147 #define MCF5282_INTC_IRLR_IRQ6              (0x40)
1148 #define MCF5282_INTC_IRLR_IRQ5              (0x20)
1149 #define MCF5282_INTC_IRLR_IRQ4              (0x10)
1150 #define MCF5282_INTC_IRLR_IRQ3              (0x08)
1151 #define MCF5282_INTC_IRLR_IRQ2              (0x04)
1152 #define MCF5282_INTC_IRLR_IRQ1              (0x02)
1153 
1154 #define MCF5282_INTC_ICR_IL(x)              (((x)&0x07)<<3)
1155 #define MCF5282_INTC_ICR_IP(x)              (((x)&0x07)<<0)
1156 
1157 /*********************************************************************
1158 *
1159 * Global Interrupt Acknowledge Cycle (GIAC) Registers
1160 *
1161 *********************************************************************/
1162 
1163 /* Read/Write access macros for general use */
1164 #define MCF5282_GIAC_GSWIACK    (*(vuint8  *)(&__IPSBAR[0x0FE0]))
1165 #define MCF5282_GIAC_GL1IACK    (*(vuint8  *)(&__IPSBAR[0x0FE4]))
1166 #define MCF5282_GIAC_GL2IACK    (*(vuint8  *)(&__IPSBAR[0x0FE8]))
1167 #define MCF5282_GIAC_GL3IACK    (*(vuint8  *)(&__IPSBAR[0x0FEC]))
1168 #define MCF5282_GIAC_GL4IACK    (*(vuint8  *)(&__IPSBAR[0x0FF0]))
1169 #define MCF5282_GIAC_GL5IACK    (*(vuint8  *)(&__IPSBAR[0x0FF4]))
1170 #define MCF5282_GIAC_GL6IACK    (*(vuint8  *)(&__IPSBAR[0x0FF8]))
1171 #define MCF5282_GIAC_GL7IACK    (*(vuint8  *)(&__IPSBAR[0x0FFC]))
1172 
1173 /* Bit level definitions and macros */
1174 
1175 /* To do - add bit level definintions */
1176 
1177 /*********************************************************************
1178 *
1179 * Fast Ethernet Controller (FEC) Module
1180 *
1181 *********************************************************************/
1182 
1183 /* Read/Write access macros for general use */
1184 #define MCF5282_FEC_EIR         (*(vuint32  *)(&__IPSBAR[0x1004]))
1185 #define MCF5282_FEC_EIMR        (*(vuint32  *)(&__IPSBAR[0x1008]))
1186 #define MCF5282_FEC_RDAR        (*(vuint32  *)(&__IPSBAR[0x1010]))
1187 #define MCF5282_FEC_TDAR        (*(vuint32  *)(&__IPSBAR[0x1014]))
1188 #define MCF5282_FEC_ECR         (*(vuint32  *)(&__IPSBAR[0x1024]))
1189 #define MCF5282_FEC_MMFR        (*(vuint32  *)(&__IPSBAR[0x1040]))
1190 #define MCF5282_FEC_MSCR        (*(vuint32  *)(&__IPSBAR[0x1044]))
1191 #define MCF5282_FEC_MIBC        (*(vuint32  *)(&__IPSBAR[0x1064]))
1192 #define MCF5282_FEC_RCR         (*(vuint32  *)(&__IPSBAR[0x1084]))
1193 #define MCF5282_FEC_TCR         (*(vuint32  *)(&__IPSBAR[0x10C4]))
1194 #define MCF5282_FEC_PALR        (*(vuint32  *)(&__IPSBAR[0x10E4]))
1195 #define MCF5282_FEC_PAUR        (*(vuint32  *)(&__IPSBAR[0x10E8]))
1196 #define MCF5282_FEC_OPD         (*(vuint32  *)(&__IPSBAR[0x10EC]))
1197 #define MCF5282_FEC_IAUR        (*(vuint32  *)(&__IPSBAR[0x1118]))
1198 #define MCF5282_FEC_IALR        (*(vuint32  *)(&__IPSBAR[0x111C]))
1199 #define MCF5282_FEC_GAUR        (*(vuint32  *)(&__IPSBAR[0x1120]))
1200 #define MCF5282_FEC_GALR        (*(vuint32  *)(&__IPSBAR[0x1124]))
1201 #define MCF5282_FEC_TFWR        (*(vuint32  *)(&__IPSBAR[0x1144]))
1202 #define MCF5282_FEC_FRBR        (*(vuint32  *)(&__IPSBAR[0x114C]))
1203 #define MCF5282_FEC_FRSR        (*(vuint32  *)(&__IPSBAR[0x1150]))
1204 #define MCF5282_FEC_ERDSR       (*(vuint32  *)(&__IPSBAR[0x1180]))
1205 #define MCF5282_FEC_ETDSR       (*(vuint32  *)(&__IPSBAR[0x1184]))
1206 #define MCF5282_FEC_EMRBR       (*(vuint32  *)(&__IPSBAR[0x1188]))
1207 
1208 #define MCF5282_FEC_RMON_T_DROP         (*(vuint32  *)(&__IPSBAR[0x1200]))
1209 #define MCF5282_FEC_RMON_T_PACKETS      (*(vuint32  *)(&__IPSBAR[0x1204]))
1210 #define MCF5282_FEC_RMON_T_BC_PKT       (*(vuint32  *)(&__IPSBAR[0x1208]))
1211 #define MCF5282_FEC_RMON_T_MC_PKT       (*(vuint32  *)(&__IPSBAR[0x120C]))
1212 #define MCF5282_FEC_RMON_T_CRC_ALIGN    (*(vuint32  *)(&__IPSBAR[0x1210]))
1213 #define MCF5282_FEC_RMON_T_UNDERSIZE    (*(vuint32  *)(&__IPSBAR[0x1214]))
1214 #define MCF5282_FEC_RMON_T_OVERSIZE     (*(vuint32  *)(&__IPSBAR[0x1218]))
1215 #define MCF5282_FEC_RMON_T_FRAG         (*(vuint32  *)(&__IPSBAR[0x121C]))
1216 #define MCF5282_FEC_RMON_T_JAB          (*(vuint32  *)(&__IPSBAR[0x1220]))
1217 #define MCF5282_FEC_RMON_T_COL          (*(vuint32  *)(&__IPSBAR[0x1224]))
1218 #define MCF5282_FEC_RMON_T_P64          (*(vuint32  *)(&__IPSBAR[0x1228]))
1219 #define MCF5282_FEC_RMON_T_P65TO127     (*(vuint32  *)(&__IPSBAR[0x122C]))
1220 #define MCF5282_FEC_RMON_T_P128TO255    (*(vuint32  *)(&__IPSBAR[0x1230]))
1221 #define MCF5282_FEC_RMON_T_P256TO511    (*(vuint32  *)(&__IPSBAR[0x1234]))
1222 #define MCF5282_FEC_RMON_T_P512TO1023   (*(vuint32  *)(&__IPSBAR[0x1238]))
1223 #define MCF5282_FEC_RMON_T_P1024TO2047  (*(vuint32  *)(&__IPSBAR[0x123C]))
1224 #define MCF5282_FEC_RMON_T_P_GTE2048    (*(vuint32  *)(&__IPSBAR[0x1240]))
1225 #define MCF5282_FEC_RMON_T_OCTETS       (*(vuint32  *)(&__IPSBAR[0x1244]))
1226 #define MCF5282_FEC_IEEE_T_DROP         (*(vuint32  *)(&__IPSBAR[0x1248]))
1227 #define MCF5282_FEC_IEEE_T_FRAME_OK     (*(vuint32  *)(&__IPSBAR[0x124C]))
1228 #define MCF5282_FEC_IEEE_T_1COL         (*(vuint32  *)(&__IPSBAR[0x1250]))
1229 #define MCF5282_FEC_IEEE_T_MCOL         (*(vuint32  *)(&__IPSBAR[0x1254]))
1230 #define MCF5282_FEC_IEEE_T_DEF          (*(vuint32  *)(&__IPSBAR[0x1258]))
1231 #define MCF5282_FEC_IEEE_T_LCOL         (*(vuint32  *)(&__IPSBAR[0x125C]))
1232 #define MCF5282_FEC_IEEE_T_EXCOL        (*(vuint32  *)(&__IPSBAR[0x1260]))
1233 #define MCF5282_FEC_IEEE_T_MACERR       (*(vuint32  *)(&__IPSBAR[0x1264]))
1234 #define MCF5282_FEC_IEEE_T_CSERR        (*(vuint32  *)(&__IPSBAR[0x1268]))
1235 #define MCF5282_FEC_IEEE_T_SQE          (*(vuint32  *)(&__IPSBAR[0x126C]))
1236 #define MCF5282_FEC_IEEE_T_FDXFC        (*(vuint32  *)(&__IPSBAR[0x1270]))
1237 #define MCF5282_FEC_IEEE_T_OCTETS_OK    (*(vuint32  *)(&__IPSBAR[0x1274]))
1238 #define MCF5282_FEC_RMON_R_PACKETS      (*(vuint32  *)(&__IPSBAR[0x1284]))
1239 #define MCF5282_FEC_RMON_R_BC_PKT       (*(vuint32  *)(&__IPSBAR[0x1288]))
1240 #define MCF5282_FEC_RMON_R_MC_PKT       (*(vuint32  *)(&__IPSBAR[0x128C]))
1241 #define MCF5282_FEC_RMON_R_CRC_ALIGN    (*(vuint32  *)(&__IPSBAR[0x1290]))
1242 #define MCF5282_FEC_RMON_R_UNDERSIZE    (*(vuint32  *)(&__IPSBAR[0x1294]))
1243 #define MCF5282_FEC_RMON_R_OVERSIZE     (*(vuint32  *)(&__IPSBAR[0x1298]))
1244 #define MCF5282_FEC_RMON_R_FRAG         (*(vuint32  *)(&__IPSBAR[0x129C]))
1245 #define MCF5282_FEC_RMON_R_JAB          (*(vuint32  *)(&__IPSBAR[0x12A0]))
1246 #define MCF5282_FEC_RMON_R_RESVD_0      (*(vuint32  *)(&__IPSBAR[0x12A4]))
1247 #define MCF5282_FEC_RMON_R_P64          (*(vuint32  *)(&__IPSBAR[0x12A8]))
1248 #define MCF5282_FEC_RMON_R_P65T0127     (*(vuint32  *)(&__IPSBAR[0x12AC]))
1249 #define MCF5282_FEC_RMON_R_P128TO255    (*(vuint32  *)(&__IPSBAR[0x12B0]))
1250 #define MCF5282_FEC_RMON_R_P256TO511    (*(vuint32  *)(&__IPSBAR[0x12B4]))
1251 #define MCF5282_FEC_RMON_R_P512TO1023   (*(vuint32  *)(&__IPSBAR[0x12B8]))
1252 #define MCF5282_FEC_RMON_R_P1024TO2047  (*(vuint32  *)(&__IPSBAR[0x12BC]))
1253 #define MCF5282_FEC_RMON_R_GTE2048      (*(vuint32  *)(&__IPSBAR[0x12C0]))
1254 #define MCF5282_FEC_RMON_R_OCTETS       (*(vuint32  *)(&__IPSBAR[0x12C4]))
1255 #define MCF5282_FEC_IEEE_R_DROP         (*(vuint32  *)(&__IPSBAR[0x12C8]))
1256 #define MCF5282_FEC_IEEE_R_FRAME_OK     (*(vuint32  *)(&__IPSBAR[0x12CC]))
1257 #define MCF5282_FEC_IEEE_R_CRC          (*(vuint32  *)(&__IPSBAR[0x12D0]))
1258 #define MCF5282_FEC_IEEE_R_ALIGN        (*(vuint32  *)(&__IPSBAR[0x12D4]))
1259 #define MCF5282_FEC_IEEE_R_MACERR       (*(vuint32  *)(&__IPSBAR[0x12D8]))
1260 #define MCF5282_FEC_IEEE_R_FDXFC        (*(vuint32  *)(&__IPSBAR[0x12DC]))
1261 #define MCF5282_FEC_IEEE_R_OCTETS_OK    (*(vuint32  *)(&__IPSBAR[0x12E0]))
1262 
1263 /* Bit level definitions and macros */
1264 #define MCF5282_FEC_EIR_HBERR               (0x80000000)
1265 #define MCF5282_FEC_EIR_BABR                (0x40000000)
1266 #define MCF5282_FEC_EIR_BABT                (0x20000000)
1267 #define MCF5282_FEC_EIR_GRA                 (0x10000000)
1268 #define MCF5282_FEC_EIR_TXF                 (0x08000000)
1269 #define MCF5282_FEC_EIR_TXB                 (0x04000000)
1270 #define MCF5282_FEC_EIR_RXF                 (0x02000000)
1271 #define MCF5282_FEC_EIR_RXB                 (0x01000000)
1272 #define MCF5282_FEC_EIR_MII                 (0x00800000)
1273 #define MCF5282_FEC_EIR_EBERR               (0x00400000)
1274 #define MCF5282_FEC_EIR_LC                  (0x00200000)
1275 #define MCF5282_FEC_EIR_RL                  (0x00100000)
1276 #define MCF5282_FEC_EIR_UN                  (0x00080000)
1277 
1278 #define MCF5282_FEC_EIMR_HBERR              (0x80000000)
1279 #define MCF5282_FEC_EIMR_BABR               (0x40000000)
1280 #define MCF5282_FEC_EIMR_BABT               (0x20000000)
1281 #define MCF5282_FEC_EIMR_GRA                (0x10000000)
1282 #define MCF5282_FEC_EIMR_TXF                (0x08000000)
1283 #define MCF5282_FEC_EIMR_TXB                (0x04000000)
1284 #define MCF5282_FEC_EIMR_RXF                (0x02000000)
1285 #define MCF5282_FEC_EIMR_RXB                (0x01000000)
1286 #define MCF5282_FEC_EIMR_MII                (0x00800000)
1287 #define MCF5282_FEC_EIMR_EBERR              (0x00400000)
1288 #define MCF5282_FEC_EIMR_LC                 (0x00200000)
1289 #define MCF5282_FEC_EIMR_RL                 (0x00100000)
1290 #define MCF5282_FEC_EIMR_UN                 (0x00080000)
1291 
1292 #define MCF5282_FEC_RDAR_R_DES_ACTIVE       (0x01000000)
1293 
1294 #define MCF5282_FEC_TDAR_X_DES_ACTIVE       (0x01000000)
1295 
1296 #define MCF5282_FEC_ECR_ETHER_EN            (0x00000002)
1297 #define MCF5282_FEC_ECR_RESET               (0x00000001)
1298 
1299 #define MCF5282_FEC_MMFR_ST                 (0x40000000)
1300 #define MCF5282_FEC_MMFR_OP_RD              (0x20000000)
1301 #define MCF5282_FEC_MMFR_OP_WR              (0x10000000)
1302 #define MCF5282_FEC_MMFR_PA(x)              (((x)&0x1F)<<23)
1303 #define MCF5282_FEC_MMFR_RA(x)              (((x)&0x1F)<<18)
1304 #define MCF5282_FEC_MMFR_TA                 (0x00020000)
1305 #define MCF5282_FEC_MMFR_DATA(x)            (((x)&0xFFFF))
1306 
1307 #define MCF5282_FEC_MSCR_DIS_PREAMBLE       (0x00000008)
1308 #define MCF5282_FEC_MSCR_MII_SPEED(x)       (((x)&0x1F)<<1)
1309 
1310 #define MCF5282_FEC_MIBC_MIB_DISABLE        (0x80000000)
1311 #define MCF5282_FEC_MIBC_MIB_IDLE           (0x40000000)
1312 
1313 #define MCF5282_FEC_RCR_MAX_FL(x)           (((x)&0x07FF)<<16)
1314 #define MCF5282_FEC_RCR_FCE                 (0x00000020)
1315 #define MCF5282_FEC_RCR_BC_REJ              (0x00000010)
1316 #define MCF5282_FEC_RCR_PROM                (0x00000008)
1317 #define MCF5282_FEC_RCR_MII_MODE            (0x00000004)
1318 #define MCF5282_FEC_RCR_DRT                 (0x00000002)
1319 #define MCF5282_FEC_RCR_LOOP                (0x00000001)
1320 
1321 #define MCF5282_FEC_TCR_RFC_PAUSE           (0x00000010)
1322 #define MCF5282_FEC_TCR_TFC_PAUSE           (0x00000008)
1323 #define MCF5282_FEC_TCR_FDEN                (0x00000004)
1324 #define MCF5282_FEC_TCR_HBC                 (0x00000002)
1325 #define MCF5282_FEC_TCR_GTS                 (0x00000001)
1326 
1327 #define MCF5282_FEC_PALR_BYTE0(x)           (((x)&0xFF)<<24)
1328 #define MCF5282_FEC_PALR_BYTE1(x)           (((x)&0xFF)<<16)
1329 #define MCF5282_FEC_PALR_BYTE2(x)           (((x)&0xFF)<<8)
1330 #define MCF5282_FEC_PALR_BYTE3(x)           (((x)&0xFF))
1331 
1332 #define MCF5282_FEC_PAUR_BYTE4(x)           (((x)&0xFF)<<24)
1333 #define MCF5282_FEC_PAUR_BYTE5(x)           (((x)&0xFF)<<16)
1334 
1335 #define MCF5282_FEC_OPD_PAUSE_DUR(x)        (((x)&0xFFFF))
1336 
1337 #define MCF5282_FEC_TFWR_X_WMRK_64          (0x00000001)
1338 #define MCF5282_FEC_TFWR_X_WMRK_128         (0x00000002)
1339 #define MCF5282_FEC_TFWR_X_WMRK_192         (0x00000003)
1340 
1341 #define MCF5282_FEC_EMRBR_R_BUF_SIZE(x)     (((x)&0x7F)<<4)
1342 
1343 #define MCF5282_FEC_TxBD_R                  0x8000
1344 #define MCF5282_FEC_TxBD_BUSY               0x4000
1345 #define MCF5282_FEC_TxBD_TO1                0x4000
1346 #define MCF5282_FEC_TxBD_W                  0x2000
1347 #define MCF5282_FEC_TxBD_TO2                0x1000
1348 #define MCF5282_FEC_TxBD_FIRST              0x1000
1349 #define MCF5282_FEC_TxBD_L                  0x0800
1350 #define MCF5282_FEC_TxBD_TC                 0x0400
1351 #define MCF5282_FEC_TxBD_DEF                0x0200
1352 #define MCF5282_FEC_TxBD_HB                 0x0100
1353 #define MCF5282_FEC_TxBD_LC                 0x0080
1354 #define MCF5282_FEC_TxBD_RL                 0x0040
1355 #define MCF5282_FEC_TxBD_UN                 0x0002
1356 #define MCF5282_FEC_TxBD_CSL                0x0001
1357 
1358 #define MCF5282_FEC_RxBD_E                  0x8000
1359 #define MCF5282_FEC_RxBD_INUSE              0x4000
1360 #define MCF5282_FEC_RxBD_R01                0x4000
1361 #define MCF5282_FEC_RxBD_W                  0x2000
1362 #define MCF5282_FEC_RxBD_R02                0x1000
1363 #define MCF5282_FEC_RxBD_L                  0x0800
1364 #define MCF5282_FEC_RxBD_M                  0x0100
1365 #define MCF5282_FEC_RxBD_BC                 0x0080
1366 #define MCF5282_FEC_RxBD_MC                 0x0040
1367 #define MCF5282_FEC_RxBD_LG                 0x0020
1368 #define MCF5282_FEC_RxBD_NO                 0x0010
1369 #define MCF5282_FEC_RxBD_CR                 0x0004
1370 #define MCF5282_FEC_RxBD_OV                 0x0002
1371 #define MCF5282_FEC_RxBD_TR                 0x0001
1372 
1373 /*********************************************************************
1374 *
1375 * General Purpose I/O (GPIO) Module
1376 *
1377 *********************************************************************/
1378 
1379 /* Read/Write access macros for general use */
1380 #define MCF5282_GPIO_PORTA      (*(vuint8  *)(&__IPSBAR[0x100000]))
1381 #define MCF5282_GPIO_PORTB      (*(vuint8  *)(&__IPSBAR[0x100001]))
1382 #define MCF5282_GPIO_PORTC      (*(vuint8  *)(&__IPSBAR[0x100002]))
1383 #define MCF5282_GPIO_PORTD      (*(vuint8  *)(&__IPSBAR[0x100003]))
1384 #define MCF5282_GPIO_PORTE      (*(vuint8  *)(&__IPSBAR[0x100004]))
1385 #define MCF5282_GPIO_PORTF      (*(vuint8  *)(&__IPSBAR[0x100005]))
1386 #define MCF5282_GPIO_PORTG      (*(vuint8  *)(&__IPSBAR[0x100006]))
1387 #define MCF5282_GPIO_PORTH      (*(vuint8  *)(&__IPSBAR[0x100007]))
1388 #define MCF5282_GPIO_PORTJ      (*(vuint8  *)(&__IPSBAR[0x100008]))
1389 #define MCF5282_GPIO_PORTDD     (*(vuint8  *)(&__IPSBAR[0x100009]))
1390 #define MCF5282_GPIO_PORTEH     (*(vuint8  *)(&__IPSBAR[0x10000A]))
1391 #define MCF5282_GPIO_PORTEL     (*(vuint8  *)(&__IPSBAR[0x10000B]))
1392 #define MCF5282_GPIO_PORTAS     (*(vuint8  *)(&__IPSBAR[0x10000C]))
1393 #define MCF5282_GPIO_PORTQS     (*(vuint8  *)(&__IPSBAR[0x10000D]))
1394 #define MCF5282_GPIO_PORTSD     (*(vuint8  *)(&__IPSBAR[0x10000E]))
1395 #define MCF5282_GPIO_PORTTC     (*(vuint8  *)(&__IPSBAR[0x10000F]))
1396 #define MCF5282_GPIO_PORTTD     (*(vuint8  *)(&__IPSBAR[0x100010]))
1397 #define MCF5282_GPIO_PORTUA     (*(vuint8  *)(&__IPSBAR[0x100011]))
1398 
1399 #define MCF5282_GPIO_DDRA       (*(vuint8  *)(&__IPSBAR[0x100014]))
1400 #define MCF5282_GPIO_DDRB       (*(vuint8  *)(&__IPSBAR[0x100015]))
1401 #define MCF5282_GPIO_DDRC       (*(vuint8  *)(&__IPSBAR[0x100016]))
1402 #define MCF5282_GPIO_DDRD       (*(vuint8  *)(&__IPSBAR[0x100017]))
1403 #define MCF5282_GPIO_DDRE       (*(vuint8  *)(&__IPSBAR[0x100018]))
1404 #define MCF5282_GPIO_DDRF       (*(vuint8  *)(&__IPSBAR[0x100019]))
1405 #define MCF5282_GPIO_DDRG       (*(vuint8  *)(&__IPSBAR[0x10001A]))
1406 #define MCF5282_GPIO_DDRH       (*(vuint8  *)(&__IPSBAR[0x10001B]))
1407 #define MCF5282_GPIO_DDRJ       (*(vuint8  *)(&__IPSBAR[0x10001C]))
1408 #define MCF5282_GPIO_DDRDD      (*(vuint8  *)(&__IPSBAR[0x10001D]))
1409 #define MCF5282_GPIO_DDREH      (*(vuint8  *)(&__IPSBAR[0x10001E]))
1410 #define MCF5282_GPIO_DDREL      (*(vuint8  *)(&__IPSBAR[0x10001F]))
1411 #define MCF5282_GPIO_DDRAS      (*(vuint8  *)(&__IPSBAR[0x100020]))
1412 #define MCF5282_GPIO_DDRQS      (*(vuint8  *)(&__IPSBAR[0x100021]))
1413 #define MCF5282_GPIO_DDRSD      (*(vuint8  *)(&__IPSBAR[0x100022]))
1414 #define MCF5282_GPIO_DDRTC      (*(vuint8  *)(&__IPSBAR[0x100023]))
1415 #define MCF5282_GPIO_DDRTD      (*(vuint8  *)(&__IPSBAR[0x100024]))
1416 #define MCF5282_GPIO_DDRUA      (*(vuint8  *)(&__IPSBAR[0x100025]))
1417 
1418 #define MCF5282_GPIO_PORTAP     (*(vuint8  *)(&__IPSBAR[0x100028]))
1419 #define MCF5282_GPIO_PORTBP     (*(vuint8  *)(&__IPSBAR[0x100029]))
1420 #define MCF5282_GPIO_PORTCP     (*(vuint8  *)(&__IPSBAR[0x10002A]))
1421 #define MCF5282_GPIO_PORTDP     (*(vuint8  *)(&__IPSBAR[0x10002B]))
1422 #define MCF5282_GPIO_PORTEP     (*(vuint8  *)(&__IPSBAR[0x10002C]))
1423 #define MCF5282_GPIO_PORTFP     (*(vuint8  *)(&__IPSBAR[0x10002D]))
1424 #define MCF5282_GPIO_PORTGP     (*(vuint8  *)(&__IPSBAR[0x10002E]))
1425 #define MCF5282_GPIO_PORTHP     (*(vuint8  *)(&__IPSBAR[0x10002F]))
1426 #define MCF5282_GPIO_PORTJP     (*(vuint8  *)(&__IPSBAR[0x100030]))
1427 #define MCF5282_GPIO_PORTDDP    (*(vuint8  *)(&__IPSBAR[0x100031]))
1428 #define MCF5282_GPIO_PORTEHP    (*(vuint8  *)(&__IPSBAR[0x100032]))
1429 #define MCF5282_GPIO_PORTELP    (*(vuint8  *)(&__IPSBAR[0x100033]))
1430 #define MCF5282_GPIO_PORTASP    (*(vuint8  *)(&__IPSBAR[0x100034]))
1431 #define MCF5282_GPIO_PORTQSP    (*(vuint8  *)(&__IPSBAR[0x100035]))
1432 #define MCF5282_GPIO_PORTSDP    (*(vuint8  *)(&__IPSBAR[0x100036]))
1433 #define MCF5282_GPIO_PORTTCP    (*(vuint8  *)(&__IPSBAR[0x100037]))
1434 #define MCF5282_GPIO_PORTTDP    (*(vuint8  *)(&__IPSBAR[0x100038]))
1435 #define MCF5282_GPIO_PORTUAP    (*(vuint8  *)(&__IPSBAR[0x100039]))
1436 
1437 #define MCF5282_GPIO_SETA       (*(vuint8  *)(&__IPSBAR[0x100028]))
1438 #define MCF5282_GPIO_SETB       (*(vuint8  *)(&__IPSBAR[0x100029]))
1439 #define MCF5282_GPIO_SETC       (*(vuint8  *)(&__IPSBAR[0x10002A]))
1440 #define MCF5282_GPIO_SETD       (*(vuint8  *)(&__IPSBAR[0x10002B]))
1441 #define MCF5282_GPIO_SETE       (*(vuint8  *)(&__IPSBAR[0x10002C]))
1442 #define MCF5282_GPIO_SETF       (*(vuint8  *)(&__IPSBAR[0x10002D]))
1443 #define MCF5282_GPIO_SETG       (*(vuint8  *)(&__IPSBAR[0x10002E]))
1444 #define MCF5282_GPIO_SETH       (*(vuint8  *)(&__IPSBAR[0x10002F]))
1445 #define MCF5282_GPIO_SETJ       (*(vuint8  *)(&__IPSBAR[0x100030]))
1446 #define MCF5282_GPIO_SETDD      (*(vuint8  *)(&__IPSBAR[0x100031]))
1447 #define MCF5282_GPIO_SETEH      (*(vuint8  *)(&__IPSBAR[0x100032]))
1448 #define MCF5282_GPIO_SETEL      (*(vuint8  *)(&__IPSBAR[0x100033]))
1449 #define MCF5282_GPIO_SETAS      (*(vuint8  *)(&__IPSBAR[0x100034]))
1450 #define MCF5282_GPIO_SETQS      (*(vuint8  *)(&__IPSBAR[0x100035]))
1451 #define MCF5282_GPIO_SETSD      (*(vuint8  *)(&__IPSBAR[0x100036]))
1452 #define MCF5282_GPIO_SETTC      (*(vuint8  *)(&__IPSBAR[0x100037]))
1453 #define MCF5282_GPIO_SETTD      (*(vuint8  *)(&__IPSBAR[0x100038]))
1454 #define MCF5282_GPIO_SETUA      (*(vuint8  *)(&__IPSBAR[0x100039]))
1455 
1456 #define MCF5282_GPIO_CLRA       (*(vuint8  *)(&__IPSBAR[0x10003C]))
1457 #define MCF5282_GPIO_CLRB       (*(vuint8  *)(&__IPSBAR[0x10003D]))
1458 #define MCF5282_GPIO_CLRC       (*(vuint8  *)(&__IPSBAR[0x10003E]))
1459 #define MCF5282_GPIO_CLRD       (*(vuint8  *)(&__IPSBAR[0x10003F]))
1460 #define MCF5282_GPIO_CLRE       (*(vuint8  *)(&__IPSBAR[0x100040]))
1461 #define MCF5282_GPIO_CLRF       (*(vuint8  *)(&__IPSBAR[0x100041]))
1462 #define MCF5282_GPIO_CLRG       (*(vuint8  *)(&__IPSBAR[0x100042]))
1463 #define MCF5282_GPIO_CLRH       (*(vuint8  *)(&__IPSBAR[0x100043]))
1464 #define MCF5282_GPIO_CLRJ       (*(vuint8  *)(&__IPSBAR[0x100044]))
1465 #define MCF5282_GPIO_CLRDD      (*(vuint8  *)(&__IPSBAR[0x100045]))
1466 #define MCF5282_GPIO_CLREH      (*(vuint8  *)(&__IPSBAR[0x100046]))
1467 #define MCF5282_GPIO_CLREL      (*(vuint8  *)(&__IPSBAR[0x100047]))
1468 #define MCF5282_GPIO_CLRAS      (*(vuint8  *)(&__IPSBAR[0x100048]))
1469 #define MCF5282_GPIO_CLRQS      (*(vuint8  *)(&__IPSBAR[0x100049]))
1470 #define MCF5282_GPIO_CLRSD      (*(vuint8  *)(&__IPSBAR[0x10004A]))
1471 #define MCF5282_GPIO_CLRTC      (*(vuint8  *)(&__IPSBAR[0x10004B]))
1472 #define MCF5282_GPIO_CLRTD      (*(vuint8  *)(&__IPSBAR[0x10004C]))
1473 #define MCF5282_GPIO_CLRUA      (*(vuint8  *)(&__IPSBAR[0x10004D]))
1474 
1475 #define MCF5282_GPIO_PBCDPAR    (*(vuint8  *)(&__IPSBAR[0x100050]))
1476 #define MCF5282_GPIO_PFPAR      (*(vuint8  *)(&__IPSBAR[0x100051]))
1477 #define MCF5282_GPIO_PEPAR      (*(vuint16 *)(&__IPSBAR[0x100052]))
1478 #define MCF5282_GPIO_PJPAR      (*(vuint8  *)(&__IPSBAR[0x100054]))
1479 #define MCF5282_GPIO_PSDPAR     (*(vuint8  *)(&__IPSBAR[0x100055]))
1480 #define MCF5282_GPIO_PASPAR     (*(vuint16 *)(&__IPSBAR[0x100056]))
1481 #define MCF5282_GPIO_PEHLPAR    (*(vuint8  *)(&__IPSBAR[0x100058]))
1482 #define MCF5282_GPIO_PQSPAR     (*(vuint8  *)(&__IPSBAR[0x100059]))
1483 #define MCF5282_GPIO_PTCPAR     (*(vuint8  *)(&__IPSBAR[0x10005A]))
1484 #define MCF5282_GPIO_PTDPAR     (*(vuint8  *)(&__IPSBAR[0x10005B]))
1485 #define MCF5282_GPIO_PUAPAR     (*(vuint8  *)(&__IPSBAR[0x10005C]))
1486 
1487 /* Bit level definitions and macros */
1488 #define MCF5282_GPIO_PORTx7                 (0x80)
1489 #define MCF5282_GPIO_PORTx6                 (0x40)
1490 #define MCF5282_GPIO_PORTx5                 (0x20)
1491 #define MCF5282_GPIO_PORTx4                 (0x10)
1492 #define MCF5282_GPIO_PORTx3                 (0x08)
1493 #define MCF5282_GPIO_PORTx2                 (0x04)
1494 #define MCF5282_GPIO_PORTx1                 (0x02)
1495 #define MCF5282_GPIO_PORTx0                 (0x01)
1496 #define MCF5282_GPIO_PORTx(x)               (0x01<<(x))
1497 
1498 #define MCF5282_GPIO_DDRx7                  (0x80)
1499 #define MCF5282_GPIO_DDRx6                  (0x40)
1500 #define MCF5282_GPIO_DDRx5                  (0x20)
1501 #define MCF5282_GPIO_DDRx4                  (0x10)
1502 #define MCF5282_GPIO_DDRx3                  (0x08)
1503 #define MCF5282_GPIO_DDRx2                  (0x04)
1504 #define MCF5282_GPIO_DDRx1                  (0x02)
1505 #define MCF5282_GPIO_DDRx0                  (0x01)
1506 #define MCF5282_GPIO_DDRx(x)                (0x01<<(x))
1507 
1508 #define MCF5282_GPIO_PORTxP7                (0x80)
1509 #define MCF5282_GPIO_PORTxP6                (0x40)
1510 #define MCF5282_GPIO_PORTxP5                (0x20)
1511 #define MCF5282_GPIO_PORTxP4                (0x10)
1512 #define MCF5282_GPIO_PORTxP3                (0x08)
1513 #define MCF5282_GPIO_PORTxP2                (0x04)
1514 #define MCF5282_GPIO_PORTxP1                (0x02)
1515 #define MCF5282_GPIO_PORTxP0                (0x01)
1516 #define MCF5282_GPIO_PORTxP(x)              (0x01<<(x))
1517 
1518 #define MCF5282_GPIO_SETx7                  (0x80)
1519 #define MCF5282_GPIO_SETx6                  (0x40)
1520 #define MCF5282_GPIO_SETx5                  (0x20)
1521 #define MCF5282_GPIO_SETx4                  (0x10)
1522 #define MCF5282_GPIO_SETx3                  (0x08)
1523 #define MCF5282_GPIO_SETx2                  (0x04)
1524 #define MCF5282_GPIO_SETx1                  (0x02)
1525 #define MCF5282_GPIO_SETx0                  (0x01)
1526 #define MCF5282_GPIO_SETx(x)                (0x01<<(x))
1527 
1528 #define MCF5282_GPIO_CLRx7                  (0x80)
1529 #define MCF5282_GPIO_CLRx6                  (0x40)
1530 #define MCF5282_GPIO_CLRx5                  (0x20)
1531 #define MCF5282_GPIO_CLRx4                  (0x10)
1532 #define MCF5282_GPIO_CLRx3                  (0x08)
1533 #define MCF5282_GPIO_CLRx2                  (0x04)
1534 #define MCF5282_GPIO_CLRx1                  (0x02)
1535 #define MCF5282_GPIO_CLRx0                  (0x01)
1536 #define MCF5282_GPIO_CLRx(x)                (0x01<<(x))
1537 
1538 #define MCF5282_GPIO_PBCDPAR_PBPA           (0x80)
1539 #define MCF5282_GPIO_PBCDPAR_PCDPA          (0x40)
1540 
1541 #define MCF5282_GPIO_PEPAR_PEPA7            (0x4000)
1542 #define MCF5282_GPIO_PEPAR_PEPA6            (0x1000)
1543 #define MCF5282_GPIO_PEPAR_PEPA5            (0x0400)
1544 #define MCF5282_GPIO_PEPAR_PEPA4            (0x0100)
1545 #define MCF5282_GPIO_PEPAR_PEPA3            (0x0040)
1546 #define MCF5282_GPIO_PEPAR_PEPA2            (0x0010)
1547 #define MCF5282_GPIO_PEPAR_PEPA1(x)         (((x)&0x3)<<2)
1548 #define MCF5282_GPIO_PEPAR_PEPA0(x)         (((x)&0x3))
1549 
1550 #define MCF5282_GPIO_PFPAR_PFPA7            (0x80)
1551 #define MCF5282_GPIO_PFPAR_PFPA6            (0x40)
1552 #define MCF5282_GPIO_PFPAR_PFPA5            (0x20)
1553 
1554 #define MCF5282_GPIO_PJPAR_PJPA7            (0x80)
1555 #define MCF5282_GPIO_PJPAR_PJPA6            (0x40)
1556 #define MCF5282_GPIO_PJPAR_PJPA5            (0x20)
1557 #define MCF5282_GPIO_PJPAR_PJPA4            (0x10)
1558 #define MCF5282_GPIO_PJPAR_PJPA3            (0x08)
1559 #define MCF5282_GPIO_PJPAR_PJPA2            (0x04)
1560 #define MCF5282_GPIO_PJPAR_PJPA1            (0x02)
1561 #define MCF5282_GPIO_PJPAR_PJPA0            (0x01)
1562 #define MCF5282_GPIO_PJPAR_PJPA(x)          (0x01<<(x))
1563 
1564 #define MCF5282_GPIO_PSDPAR_PSDPA           (0x80)
1565 
1566 #define MCF5282_GPIO_PASPAR_PASPA5(x)       (((x)&0x3)<<10)
1567 #define MCF5282_GPIO_PASPAR_PASPA4(x)       (((x)&0x3)<<8)
1568 #define MCF5282_GPIO_PASPAR_PASPA3(x)       (((x)&0x3)<<6)
1569 #define MCF5282_GPIO_PASPAR_PASPA2(x)       (((x)&0x3)<<4)
1570 #define MCF5282_GPIO_PASPAR_PASPA1(x)       (((x)&0x3)<<2)
1571 #define MCF5282_GPIO_PASPAR_PASPA0(x)       (((x)&0x3))
1572 
1573 #define MCF5282_GPIO_PEHLPAR_PEHPA          (0x80)
1574 #define MCF5282_GPIO_PEHLPAR_PELPA          (0x40)
1575 
1576 #define MCF5282_GPIO_PQSPAR_PQSPA6          (0x40)
1577 #define MCF5282_GPIO_PQSPAR_PQSPA5          (0x20)
1578 #define MCF5282_GPIO_PQSPAR_PQSPA4          (0x10)
1579 #define MCF5282_GPIO_PQSPAR_PQSPA3          (0x08)
1580 #define MCF5282_GPIO_PQSPAR_PQSPA2          (0x04)
1581 #define MCF5282_GPIO_PQSPAR_PQSPA1          (0x02)
1582 #define MCF5282_GPIO_PQSPAR_PQSPA0          (0x01)
1583 #define MCF5282_GPIO_PQSPAR_PQSPA(x)        (0x01<<(x))
1584 
1585 #define MCF5282_GPIO_PTCPAR_PTCPA3(x)       (((x)&0x3)<<6)
1586 #define MCF5282_GPIO_PTCPAR_PTCPA2(x)       (((x)&0x3)<<4)
1587 #define MCF5282_GPIO_PTCPAR_PTCPA1(x)       (((x)&0x3)<<2)
1588 #define MCF5282_GPIO_PTCPAR_PTCPA0(x)       (((x)&0x3))
1589 
1590 #define MCF5282_GPIO_PTDPAR_PTDPA3(x)       (((x)&0x3)<<6)
1591 #define MCF5282_GPIO_PTDPAR_PTDPA2(x)       (((x)&0x3)<<4)
1592 #define MCF5282_GPIO_PTDPAR_PTDPA1(x)       (((x)&0x3)<<2)
1593 #define MCF5282_GPIO_PTDPAR_PTDPA0(x)       (((x)&0x3))
1594 
1595 #define MCF5282_GPIO_PUAPAR_PUAPA3          (0x08)
1596 #define MCF5282_GPIO_PUAPAR_PUAPA2          (0x04)
1597 #define MCF5282_GPIO_PUAPAR_PUAPA1          (0x02)
1598 #define MCF5282_GPIO_PUAPAR_PUAPA0          (0x01)
1599 
1600 /*********************************************************************
1601 *
1602 * Reset Controller Module
1603 *
1604 *********************************************************************/
1605 
1606 /* Read/Write access macros for general use */
1607 #define MCF5282_RESET_RCR       (*(vuint8  *)(&__IPSBAR[0x110000]))
1608 #define MCF5282_RESET_RSR       (*(vuint8  *)(&__IPSBAR[0x110001]))
1609 
1610 /* Bit level definitions and macros */
1611 #define MCF5282_RESET_RCR_SOFTRST           (0x80)
1612 #define MCF5282_RESET_RCR_FRCRSTOUT         (0x40)
1613 #define MCF5282_RESET_RCR_LVDF              (0x10)
1614 #define MCF5282_RESET_RCR_LVDIE             (0x08)
1615 #define MCF5282_RESET_RCR_LVDRE             (0x04)
1616 #define MCF5282_RESET_RCR_LVDE              (0x01)
1617 
1618 #define MCF5282_RESET_RSR_LVD               (0x40)
1619 #define MCF5282_RESET_RSR_SOFT              (0x20)
1620 #define MCF5282_RESET_RSR_WDR               (0x10)
1621 #define MCF5282_RESET_RSR_POR               (0x08)
1622 #define MCF5282_RESET_RSR_EXT               (0x04)
1623 #define MCF5282_RESET_RSR_LOC               (0x02)
1624 #define MCF5282_RESET_RSR_LOL               (0x01)
1625 
1626 /*********************************************************************
1627 *
1628 * Chip Configuration Module (CCM)
1629 *
1630 *********************************************************************/
1631 
1632 /* Read/Write access macros for general use */
1633 #define MCF5282_CCM_CCR         (*(vuint16 *)(&__IPSBAR[0x110004]))
1634 #define MCF5282_CCM_RCON        (*(vuint16 *)(&__IPSBAR[0x110008]))
1635 #define MCF5282_CCM_CIR         (*(vuint16 *)(&__IPSBAR[0x11000A]))
1636 
1637 /* Bit level definitions and macros */
1638 #define MCF5282_CCM_CCR_LOAD                (0x8000)
1639 #define MCF5282_CCM_CCR_MODE(x)             (((x)&0x0007)<<8)
1640 #define MCF5282_CCM_CCR_SZEN                (0x0040)
1641 #define MCF5282_CCM_CCR_PSTEN               (0x0020)
1642 #define MCF5282_CCM_CCR_BME                 (0x0008)
1643 #define MCF5282_CCM_CCR_BMT(x)              (((x)&0x0007))
1644 
1645 /*********************************************************************
1646 *
1647 * Power Management Module (PMM)
1648 *
1649 *********************************************************************/
1650 
1651 /* Read/Write access macros for general use */
1652 #define MCF5282_PMM_LPICR       (*(vuint8  *)(&__IPSBAR[0x000012]))
1653 #define MCF5282_PMM_LPCR        (*(vuint8  *)(&__IPSBAR[0x110007]))
1654 
1655 /* Bit level definitions and macros */
1656 #define MCF5282_PMM_LPICR_ENBSTOP           (0x80)
1657 #define MCF5282_PMM_LPICR_XLMP_IPL(x)       (((x)&0x07)<<4)
1658 
1659 #define MCF5282_PMM_LPCR_LPMD_STOP          (0xC0)
1660 #define MCF5282_PMM_LPCR_LPMD_WAIT          (0x80)
1661 #define MCF5282_PMM_LPCR_LPMD_DOZE          (0x40)
1662 #define MCF5282_PMM_LPCR_LPMD_RUN           (0x00)
1663 #define MCF5282_PMM_LPCR_STPMD(x)           (((x)&0x03)<<3)
1664 #define MCF5282_PMM_LPCR_LVDSE              (0x02)
1665 
1666 /*********************************************************************
1667 *
1668 * Clock Module
1669 *
1670 *********************************************************************/
1671 
1672 /* Read/Write access macros for general use */
1673 #define MCF5282_CLOCK_SYNCR     (*(vuint16 *)(&__IPSBAR[0x120000]))
1674 #define MCF5282_CLOCK_SYNSR     (*(vuint8  *)(&__IPSBAR[0x120002]))
1675 
1676 /* Bit level definitions and macros */
1677 #define MCF5282_CLOCK_SYNCR_LOLRE           (0x8000)
1678 #define MCF5282_CLOCK_SYNCR_MFD(x)          (((x)&0x0007)<<12)
1679 #define MCF5282_CLOCK_SYNCR_LOCRE           (0x0800)
1680 #define MCF5282_CLOCK_SYNCR_RFD(x)          (((x)&0x0007)<<8)
1681 #define MCF5282_CLOCK_SYNCR_LOCEN           (0x0080)
1682 #define MCF5282_CLOCK_SYNCR_DISCLK          (0x0040)
1683 #define MCF5282_CLOCK_SYNCR_FWKUP           (0x0020)
1684 #define MCF5282_CLOCK_SYNCR_STPMD(x)        (((x)&0x0003)<<2)
1685 
1686 #define MCF5282_CLOCK_SYNSR_PLLMODE         (0x80)
1687 #define MCF5282_CLOCK_SYNSR_PLLSEL          (0x40)
1688 #define MCF5282_CLOCK_SYNSR_PLLREF          (0x20)
1689 #define MCF5282_CLOCK_SYNSR_LOCKS           (0x10)
1690 #define MCF5282_CLOCK_SYNSR_LOCK            (0x08)
1691 #define MCF5282_CLOCK_SYNSR_LOCS            (0x04)
1692 
1693 /*********************************************************************
1694 *
1695 * Edge Port (EPORT) Module
1696 *
1697 *********************************************************************/
1698 
1699 /* Read/Write access macros for general use */
1700 #define MCF5282_EPORT_EPPAR     (*(vuint16 *)(&__IPSBAR[0x130000]))
1701 #define MCF5282_EPORT_EPDDR     (*(vuint8  *)(&__IPSBAR[0x130002]))
1702 #define MCF5282_EPORT_EPIER     (*(vuint8  *)(&__IPSBAR[0x130003]))
1703 #define MCF5282_EPORT_EPDR      (*(vuint8  *)(&__IPSBAR[0x130004]))
1704 #define MCF5282_EPORT_EPPDR     (*(vuint8  *)(&__IPSBAR[0x130005]))
1705 #define MCF5282_EPORT_EPFR      (*(vuint8  *)(&__IPSBAR[0x130006]))
1706 
1707 /* Bit level definitions and macros */
1708 #define MCF5282_EPORT_EPPAR_EPPA7_LEVEL     (0x0000)
1709 #define MCF5282_EPORT_EPPAR_EPPA7_RISING    (0x4000)
1710 #define MCF5282_EPORT_EPPAR_EPPA7_FALLING   (0x8000)
1711 #define MCF5282_EPORT_EPPAR_EPPA7_BOTHEDGE  (0xC000)
1712 #define MCF5282_EPORT_EPPAR_EPPA6_LEVEL     (0x0000)
1713 #define MCF5282_EPORT_EPPAR_EPPA6_RISING    (0x1000)
1714 #define MCF5282_EPORT_EPPAR_EPPA6_FALLING   (0x2000)
1715 #define MCF5282_EPORT_EPPAR_EPPA6_BOTHEDGE  (0x3000)
1716 #define MCF5282_EPORT_EPPAR_EPPA5_LEVEL     (0x0000)
1717 #define MCF5282_EPORT_EPPAR_EPPA5_RISING    (0x0400)
1718 #define MCF5282_EPORT_EPPAR_EPPA5_FALLING   (0x0800)
1719 #define MCF5282_EPORT_EPPAR_EPPA5_BOTHEDGE  (0x0C00)
1720 #define MCF5282_EPORT_EPPAR_EPPA4_LEVEL     (0x0000)
1721 #define MCF5282_EPORT_EPPAR_EPPA4_RISING    (0x0100)
1722 #define MCF5282_EPORT_EPPAR_EPPA4_FALLING   (0x0200)
1723 #define MCF5282_EPORT_EPPAR_EPPA4_BOTHEDGE  (0x0300)
1724 #define MCF5282_EPORT_EPPAR_EPPA3_LEVEL     (0x0000)
1725 #define MCF5282_EPORT_EPPAR_EPPA3_RISING    (0x0040)
1726 #define MCF5282_EPORT_EPPAR_EPPA3_FALLING   (0x0080)
1727 #define MCF5282_EPORT_EPPAR_EPPA3_BOTHEDGE  (0x00C0)
1728 #define MCF5282_EPORT_EPPAR_EPPA2_LEVEL     (0x0000)
1729 #define MCF5282_EPORT_EPPAR_EPPA2_RISING    (0x0010)
1730 #define MCF5282_EPORT_EPPAR_EPPA2_FALLING   (0x0020)
1731 #define MCF5282_EPORT_EPPAR_EPPA2_BOTHEDGE  (0x0030)
1732 #define MCF5282_EPORT_EPPAR_EPPA1_LEVEL     (0x0000)
1733 #define MCF5282_EPORT_EPPAR_EPPA1_RISING    (0x0004)
1734 #define MCF5282_EPORT_EPPAR_EPPA1_FALLING   (0x0008)
1735 #define MCF5282_EPORT_EPPAR_EPPA1_BOTHEDGE  (0x000C)
1736 
1737 
1738 #define MCF5282_EPORT_EPDDR_EPDD7           (0x80)
1739 #define MCF5282_EPORT_EPDDR_EPDD6           (0x40)
1740 #define MCF5282_EPORT_EPDDR_EPDD5           (0x20)
1741 #define MCF5282_EPORT_EPDDR_EPDD4           (0x10)
1742 #define MCF5282_EPORT_EPDDR_EPDD3           (0x08)
1743 #define MCF5282_EPORT_EPDDR_EPDD2           (0x04)
1744 #define MCF5282_EPORT_EPDDR_EPDD1           (0x02)
1745 #define MCF5282_EPORT_EPDDR_EPDD(x)         (0x01<<(x))
1746 
1747 #define MCF5282_EPORT_EPIER_EPIE7           (0x80)
1748 #define MCF5282_EPORT_EPIER_EPIE6           (0x40)
1749 #define MCF5282_EPORT_EPIER_EPIE5           (0x20)
1750 #define MCF5282_EPORT_EPIER_EPIE4           (0x10)
1751 #define MCF5282_EPORT_EPIER_EPIE3           (0x08)
1752 #define MCF5282_EPORT_EPIER_EPIE2           (0x04)
1753 #define MCF5282_EPORT_EPIER_EPIE1           (0x02)
1754 #define MCF5282_EPORT_EPIER_EPIE(x)         (0x01<<(x))
1755 
1756 #define MCF5282_EPORT_EPDR_EPD7             (0x80)
1757 #define MCF5282_EPORT_EPDR_EPD6             (0x40)
1758 #define MCF5282_EPORT_EPDR_EPD5             (0x20)
1759 #define MCF5282_EPORT_EPDR_EPD4             (0x10)
1760 #define MCF5282_EPORT_EPDR_EPD3             (0x08)
1761 #define MCF5282_EPORT_EPDR_EPD2             (0x04)
1762 #define MCF5282_EPORT_EPDR_EPD1             (0x02)
1763 #define MCF5282_EPORT_EPDR_EPD(x)           (0x01<<(x))
1764 
1765 #define MCF5282_EPORT_EPPDR_EPPD7           (0x80)
1766 #define MCF5282_EPORT_EPPDR_EPPD6           (0x40)
1767 #define MCF5282_EPORT_EPPDR_EPPD5           (0x20)
1768 #define MCF5282_EPORT_EPPDR_EPPD4           (0x10)
1769 #define MCF5282_EPORT_EPPDR_EPPD3           (0x08)
1770 #define MCF5282_EPORT_EPPDR_EPPD2           (0x04)
1771 #define MCF5282_EPORT_EPPDR_EPPD1           (0x02)
1772 #define MCF5282_EPORT_EPPDR_EPPD(x)         (0x01<<(x))
1773 
1774 #define MCF5282_EPORT_EPFR_EPF7             (0x80)
1775 #define MCF5282_EPORT_EPFR_EPF6             (0x40)
1776 #define MCF5282_EPORT_EPFR_EPF5             (0x20)
1777 #define MCF5282_EPORT_EPFR_EPF4             (0x10)
1778 #define MCF5282_EPORT_EPFR_EPF3             (0x08)
1779 #define MCF5282_EPORT_EPFR_EPF2             (0x04)
1780 #define MCF5282_EPORT_EPFR_EPF1             (0x02)
1781 #define MCF5282_EPORT_EPFR_EPF(x)           (0x01<<(x))
1782 
1783 /*********************************************************************
1784 *
1785 * Watchdog Timer Module (WTM)
1786 *
1787 *********************************************************************/
1788 
1789 /* Read/Write access macros for general use */
1790 #define MCF5282_WTM_WCR     (*(vuint16 *)(&__IPSBAR[0x140000]))
1791 #define MCF5282_WTM_WMR     (*(vuint16 *)(&__IPSBAR[0x140002]))
1792 #define MCF5282_WTM_WCNTR   (*(vuint16 *)(&__IPSBAR[0x140004]))
1793 #define MCF5282_WTM_WSR     (*(vuint16 *)(&__IPSBAR[0x140006]))
1794 
1795 /* Bit level definitions and macros */
1796 #define MCF5282_WTM_WCR_WAIT                (0x0008)
1797 #define MCF5282_WTM_WCR_DOZE                (0x0004)
1798 #define MCF5282_WTM_WCR_HALTED              (0x0002)
1799 #define MCF5282_WTM_WCR_EN                  (0x0001)
1800 
1801 #define MCF5282_WTM_WSR_SEQ1                (0x5555)
1802 #define MCF5282_WTM_WSR_SEQ2                (0xAAAA)
1803 
1804 /*********************************************************************
1805 *
1806 * Programmable Interrupt Timer (PIT) Module
1807 *
1808 *********************************************************************/
1809 
1810 /* Read/Write access macros for general use */
1811 #define MCF5282_PIT0_PCSR       (*(vuint16 *)(&__IPSBAR[0x150000]))
1812 #define MCF5282_PIT0_PMR        (*(vuint16 *)(&__IPSBAR[0x150002]))
1813 #define MCF5282_PIT0_PCNTR      (*(vuint16 *)(&__IPSBAR[0x150004]))
1814 
1815 #define MCF5282_PIT1_PCSR       (*(vuint16 *)(&__IPSBAR[0x160000]))
1816 #define MCF5282_PIT1_PMR        (*(vuint16 *)(&__IPSBAR[0x160002]))
1817 #define MCF5282_PIT1_PCNTR      (*(vuint16 *)(&__IPSBAR[0x160004]))
1818 
1819 #define MCF5282_PIT2_PCSR       (*(vuint16 *)(&__IPSBAR[0x170000]))
1820 #define MCF5282_PIT2_PMR        (*(vuint16 *)(&__IPSBAR[0x170002]))
1821 #define MCF5282_PIT2_PCNTR      (*(vuint16 *)(&__IPSBAR[0x170004]))
1822 
1823 #define MCF5282_PIT3_PCSR       (*(vuint16 *)(&__IPSBAR[0x180000]))
1824 #define MCF5282_PIT3_PMR        (*(vuint16 *)(&__IPSBAR[0x180002]))
1825 #define MCF5282_PIT3_PCNTR      (*(vuint16 *)(&__IPSBAR[0x180004]))
1826 
1827 #define MCF5282_PIT_PCSR(x)     (*(vuint16 *)(&__IPSBAR[0x150000+(0x1000*(x))]))
1828 #define MCF5282_PIT_PMR(x)      (*(vuint16 *)(&__IPSBAR[0x150002+(0x1000*(x))]))
1829 #define MCF5282_PIT_PCNTR(x)    (*(vuint16 *)(&__IPSBAR[0x150004+(0x1000*(x))]))
1830 
1831 /* Bit level definitions and macros */
1832 #define MCF5282_PIT_PCSR_PRE(x)             (((x)&0x000F)<<8)
1833 #define MCF5282_PIT_PCSR_DOZE               (0x0040)
1834 #define MCF5282_PIT_PCSR_HALTED             (0x0020)
1835 #define MCF5282_PIT_PCSR_OVW                (0x0010)
1836 #define MCF5282_PIT_PCSR_PIE                (0x0008)
1837 #define MCF5282_PIT_PCSR_PIF                (0x0004)
1838 #define MCF5282_PIT_PCSR_RLD                (0x0002)
1839 #define MCF5282_PIT_PCSR_EN                 (0x0001)
1840 
1841 /*********************************************************************
1842 *
1843 * Queued Analog to Digital Converter (QADC) Module
1844 *
1845 *********************************************************************/
1846 
1847 /* Read/Write access macros for general use */
1848 #define MCF5282_QADC_QADCMCR    (*(vuint16 *)(&__IPSBAR[0x190000]))
1849 #define MCF5282_QADC_PORTQA     (*(vuint8  *)(&__IPSBAR[0x190006]))
1850 #define MCF5282_QADC_PORTQB     (*(vuint8  *)(&__IPSBAR[0x190007]))
1851 #define MCF5282_QADC_DDRQA      (*(vuint8  *)(&__IPSBAR[0x190008]))
1852 #define MCF5282_QADC_DDRQB      (*(vuint8  *)(&__IPSBAR[0x190009]))
1853 #define MCF5282_QADC_QACR0      (*(vuint16 *)(&__IPSBAR[0x19000A]))
1854 #define MCF5282_QADC_QACR1      (*(vuint16 *)(&__IPSBAR[0x19000C]))
1855 #define MCF5282_QADC_QACR2      (*(vuint16 *)(&__IPSBAR[0x19000E]))
1856 #define MCF5282_QADC_QASR0      (*(vuint16 *)(&__IPSBAR[0x190010]))
1857 #define MCF5282_QADC_QASR1      (*(vuint16 *)(&__IPSBAR[0x190012]))
1858 #define MCF5282_QADC_CCW(x)     (*(vuint16 *)(&__IPSBAR[0x190200+((x)*2)]))
1859 #define MCF5282_QADC_RJURR(x)   (*(vuint16 *)(&__IPSBAR[0x190280+((x)*2)]))
1860 #define MCF5282_QADC_LJSRR(x)   (*(vuint16 *)(&__IPSBAR[0x190300+((x)*2)]))
1861 #define MCF5282_QADC_LJURR(x)   (*(vuint16 *)(&__IPSBAR[0x190380+((x)*2)]))
1862 
1863 /* Bit level definitions and macros */
1864 #define MCF5282_QADC_QADCMCR_QSTOP          (0x8000)
1865 #define MCF5282_QADC_QADCMCR_QDBG           (0x4000)
1866 #define MCF5282_QADC_QADCMCR_SUPV           (0x0080)
1867 
1868 #define MCF5282_QADC_PORTQA_PQA4            (0x10)
1869 #define MCF5282_QADC_PORTQA_PQA3            (0x08)
1870 #define MCF5282_QADC_PORTQA_PQA1            (0x02)
1871 #define MCF5282_QADC_PORTQA_PQA0            (0x01)
1872 #define MCF5282_QADC_PORTQA_AN56            (0x10)
1873 #define MCF5282_QADC_PORTQA_AN55            (0x08)
1874 #define MCF5282_QADC_PORTQA_ETRIG2          (0x10)
1875 #define MCF5282_QADC_PORTQA_ETRIG1          (0x08)
1876 #define MCF5282_QADC_PORTQA_AN53            (0x02)
1877 #define MCF5282_QADC_PORTQA_AN52            (0x01)
1878 #define MCF5282_QADC_PORTQA_MA1             (0x02)
1879 #define MCF5282_QADC_PORTQA_MA0             (0x01)
1880 
1881 #define MCF5282_QADC_PORTQB_PQB3            (0x08)
1882 #define MCF5282_QADC_PORTQB_PQB2            (0x04)
1883 #define MCF5282_QADC_PORTQB_PQB1            (0x02)
1884 #define MCF5282_QADC_PORTQB_PQB0            (0x01)
1885 #define MCF5282_QADC_PORTQB_AN3             (0x08)
1886 #define MCF5282_QADC_PORTQB_AN2             (0x04)
1887 #define MCF5282_QADC_PORTQB_AN1             (0x02)
1888 #define MCF5282_QADC_PORTQB_AN0             (0x01)
1889 #define MCF5282_QADC_PORTQB_ANZ             (0x08)
1890 #define MCF5282_QADC_PORTQB_ANY             (0x04)
1891 #define MCF5282_QADC_PORTQB_ANX             (0x02)
1892 #define MCF5282_QADC_PORTQB_ANW             (0x01)
1893 
1894 #define MCF5282_QADC_DDRQA_DDQA4            (0x10)
1895 #define MCF5282_QADC_DDRQA_DDQA3            (0x08)
1896 #define MCF5282_QADC_DDRQA_DDQA1            (0x02)
1897 #define MCF5282_QADC_DDRQA_DDQA0            (0x01)
1898 
1899 #define MCF5282_QADC_DDRQB_DDQB3            (0x08)
1900 #define MCF5282_QADC_DDRQB_DDQB2            (0x04)
1901 #define MCF5282_QADC_DDRQB_DDQB1            (0x02)
1902 #define MCF5282_QADC_DDRQB_DDQB0            (0x01)
1903 
1904 #define MCF5282_QADC_QACR0_MUX              (0x8000)
1905 #define MCF5282_QADC_QACR0_TRG              (0x1000)
1906 #define MCF5282_QADC_QACR0_QPR(x)           (((x)&0x007F))
1907 
1908 #define MCF5282_QADC_QACRx_CIE              (0x8000)
1909 #define MCF5282_QADC_QACRx_PIE              (0x4000)
1910 #define MCF5282_QADC_QACRx_SSE              (0x2000)
1911 #define MCF5282_QADC_QACRx_MQ(x)            (((x)&0x001F)<<8)
1912 #define MCF5282_QADC_QACRx_RESUME           (0x0080)
1913 #define MCF5282_QADC_QACRx_BQ(x)            (((x)&0x007F))
1914 
1915 #define MCF5282_QADC_QASR0_CF1              (0x8000)
1916 #define MCF5282_QADC_QASR0_PF1              (0x4000)
1917 #define MCF5282_QADC_QASR0_CF2              (0x2000)
1918 #define MCF5282_QADC_QASR0_PF2              (0x1000)
1919 #define MCF5282_QADC_QASR0_TOR1             (0x0800)
1920 #define MCF5282_QADC_QASR0_TOR2             (0x0400)
1921 
1922 #define MCF5282_QADC_CCW_P                  (0x0200)
1923 #define MCF5282_QADC_CCW_BYP                (0x0100)
1924 #define MCF5282_QADC_CCW_IST(x)             (((x)&0x0003)<<14)
1925 #define MCF5282_QADC_CCW_CHAN(x)            (((x)&0x003F))
1926 
1927 /*********************************************************************
1928 *
1929 * General Purpose Timer (GPT) Module
1930 *
1931 *********************************************************************/
1932 
1933 /* Read/Write access macros for general use */
1934 #define MCF5282_GPTA_GPTIOS     (*(vuint8  *)(&__IPSBAR[0x1A0000]))
1935 #define MCF5282_GPTA_GPTCFORC   (*(vuint8  *)(&__IPSBAR[0x1A0001]))
1936 #define MCF5282_GPTA_GPTOC3M    (*(vuint8  *)(&__IPSBAR[0x1A0002]))
1937 #define MCF5282_GPTA_GPTOC3D    (*(vuint8  *)(&__IPSBAR[0x1A0003]))
1938 #define MCF5282_GPTA_GPTCNT     (*(vuint16 *)(&__IPSBAR[0x1A0004]))
1939 #define MCF5282_GPTA_GPTSCR1    (*(vuint8  *)(&__IPSBAR[0x1A0006]))
1940 #define MCF5282_GPTA_GPTTOV     (*(vuint8  *)(&__IPSBAR[0x1A0008]))
1941 #define MCF5282_GPTA_GPTCTL1    (*(vuint8  *)(&__IPSBAR[0x1A0009]))
1942 #define MCF5282_GPTA_GPTCTL2    (*(vuint8  *)(&__IPSBAR[0x1A000B]))
1943 #define MCF5282_GPTA_GPTIE      (*(vuint8  *)(&__IPSBAR[0x1A000C]))
1944 #define MCF5282_GPTA_GPTSCR2    (*(vuint8  *)(&__IPSBAR[0x1A000D]))
1945 #define MCF5282_GPTA_GPTFLG1    (*(vuint8  *)(&__IPSBAR[0x1A000E]))
1946 #define MCF5282_GPTA_GPTFLG2    (*(vuint8  *)(&__IPSBAR[0x1A000F]))
1947 #define MCF5282_GPTA_GPTC0      (*(vuint16 *)(&__IPSBAR[0x1A0010]))
1948 #define MCF5282_GPTA_GPTC1      (*(vuint16 *)(&__IPSBAR[0x1A0012]))
1949 #define MCF5282_GPTA_GPTC2      (*(vuint16 *)(&__IPSBAR[0x1A0014]))
1950 #define MCF5282_GPTA_GPTC3      (*(vuint16 *)(&__IPSBAR[0x1A0016]))
1951 #define MCF5282_GPTA_GPTPACTL   (*(vuint8  *)(&__IPSBAR[0x1A0018]))
1952 #define MCF5282_GPTA_GPTPAFLG   (*(vuint8  *)(&__IPSBAR[0x1A0019]))
1953 #define MCF5282_GPTA_GPTPACNT   (*(vuint16 *)(&__IPSBAR[0x1A001A]))
1954 #define MCF5282_GPTA_GPTPORT    (*(vuint8  *)(&__IPSBAR[0x1A001D]))
1955 #define MCF5282_GPTA_GPTDDR     (*(vuint8  *)(&__IPSBAR[0x1A001E]))
1956 
1957 #define MCF5282_GPTB_GPTIOS     (*(vuint8  *)(&__IPSBAR[0x1B0000]))
1958 #define MCF5282_GPTB_GPTCFORC   (*(vuint8  *)(&__IPSBAR[0x1B0001]))
1959 #define MCF5282_GPTB_GPTOC3M    (*(vuint8  *)(&__IPSBAR[0x1B0002]))
1960 #define MCF5282_GPTB_GPTOC3D    (*(vuint8  *)(&__IPSBAR[0x1B0003]))
1961 #define MCF5282_GPTB_GPTCNT     (*(vuint16 *)(&__IPSBAR[0x1B0004]))
1962 #define MCF5282_GPTB_GPTSCR1    (*(vuint8  *)(&__IPSBAR[0x1B0006]))
1963 #define MCF5282_GPTB_GPTTOV     (*(vuint8  *)(&__IPSBAR[0x1B0008]))
1964 #define MCF5282_GPTB_GPTCTL1    (*(vuint8  *)(&__IPSBAR[0x1B0009]))
1965 #define MCF5282_GPTB_GPTCTL2    (*(vuint8  *)(&__IPSBAR[0x1B000B]))
1966 #define MCF5282_GPTB_GPTIE      (*(vuint8  *)(&__IPSBAR[0x1B000C]))
1967 #define MCF5282_GPTB_GPTSCR2    (*(vuint8  *)(&__IPSBAR[0x1B000D]))
1968 #define MCF5282_GPTB_GPTFLG1    (*(vuint8  *)(&__IPSBAR[0x1B000E]))
1969 #define MCF5282_GPTB_GPTFLG2    (*(vuint8  *)(&__IPSBAR[0x1B000F]))
1970 #define MCF5282_GPTB_GPTC0      (*(vuint16 *)(&__IPSBAR[0x1B0010]))
1971 #define MCF5282_GPTB_GPTC1      (*(vuint16 *)(&__IPSBAR[0x1B0012]))
1972 #define MCF5282_GPTB_GPTC2      (*(vuint16 *)(&__IPSBAR[0x1B0014]))
1973 #define MCF5282_GPTB_GPTC3      (*(vuint16 *)(&__IPSBAR[0x1B0016]))
1974 #define MCF5282_GPTB_GPTPACTL   (*(vuint8  *)(&__IPSBAR[0x1B0018]))
1975 #define MCF5282_GPTB_GPTPAFLG   (*(vuint8  *)(&__IPSBAR[0x1B0019]))
1976 #define MCF5282_GPTB_GPTPACNT   (*(vuint16 *)(&__IPSBAR[0x1B001A]))
1977 #define MCF5282_GPTB_GPTPORT    (*(vuint8  *)(&__IPSBAR[0x1B001D]))
1978 #define MCF5282_GPTB_GPTDDR     (*(vuint8  *)(&__IPSBAR[0x1B001E]))
1979 
1980 /* Bit level definitions and macros */
1981 #define MCF5282_GPT_GPTIOS_IOS3             (0x08)
1982 #define MCF5282_GPT_GPTIOS_IOS2             (0x04)
1983 #define MCF5282_GPT_GPTIOS_IOS1             (0x02)
1984 #define MCF5282_GPT_GPTIOS_IOS0             (0x01)
1985 
1986 #define MCF5282_GPT_GPTCFORC_FOC3           (0x08)
1987 #define MCF5282_GPT_GPTCFORC_FOC2           (0x04)
1988 #define MCF5282_GPT_GPTCFORC_FOC1           (0x02)
1989 #define MCF5282_GPT_GPTCFORC_FOC0           (0x01)
1990 
1991 #define MCF5282_GPT_GPTOC3M_OC3M3           (0x08)
1992 #define MCF5282_GPT_GPTOC3M_OC3M2           (0x04)
1993 #define MCF5282_GPT_GPTOC3M_OC3M1           (0x02)
1994 #define MCF5282_GPT_GPTOC3M_OC3M0           (0x01)
1995 
1996 #define MCF5282_GPT_GPTOC3M_OC3D(x)         (((x)&0x04))
1997 
1998 #define MCF5282_GPT_GPTSCR1_GPTEN           (0x80)
1999 #define MCF5282_GPT_GPTSCR1_TFFCA           (0x10)
2000 
2001 #define MCF5282_GPT_GPTTOV3                 (0x08)
2002 #define MCF5282_GPT_GPTTOV2                 (0x04)
2003 #define MCF5282_GPT_GPTTOV1                 (0x02)
2004 #define MCF5282_GPT_GPTTOV0                 (0x01)
2005 
2006 #define MCF5282_GPT_GPTCTL_OMOL3(x)         (((x)&0x03)<<6)
2007 #define MCF5282_GPT_GPTCTL_OMOL2(x)         (((x)&0x03)<<4)
2008 #define MCF5282_GPT_GPTCTL_OMOL1(x)         (((x)&0x03)<<2)
2009 #define MCF5282_GPT_GPTCTL_OMOL0(x)         (((x)&0x03))
2010 
2011 #define MCF5282_GPT_GPTCTL2_EDG3(x)         (((x)&0x03)<<6)
2012 #define MCF5282_GPT_GPTCTL2_EDG2(x)         (((x)&0x03)<<4)
2013 #define MCF5282_GPT_GPTCTL2_EDG1(x)         (((x)&0x03)<<2)
2014 #define MCF5282_GPT_GPTCTL2_EDG0(x)         (((x)&0x03))
2015 
2016 #define MCF5282_GPT_GPTIE_C3I               (0x08)
2017 #define MCF5282_GPT_GPTIE_C2I               (0x04)
2018 #define MCF5282_GPT_GPTIE_C1I               (0x02)
2019 #define MCF5282_GPT_GPTIE_C0I               (0x01)
2020 
2021 #define MCF5282_GPT_GPTSCR2_TOI             (0x80)
2022 #define MCF5282_GPT_GPTSCR2_PUPT            (0x20)
2023 #define MCF5282_GPT_GPTSCR2_RDPT            (0x10)
2024 #define MCF5282_GPT_GPTSCR2_TCRE            (0x08)
2025 #define MCF5282_GPT_GPTSCR2_PR(x)           (((x)&0x07))
2026 
2027 #define MCF5282_GPT_GPTFLG1_C3F             (0x08)
2028 #define MCF5282_GPT_GPTFLG1_C2F             (0x04)
2029 #define MCF5282_GPT_GPTFLG1_C1F             (0x02)
2030 #define MCF5282_GPT_GPTFLG1_C0F             (0x01)
2031 
2032 #define MCF5282_GPT_GPTFLG2_TOF             (0x80)
2033 #define MCF5282_GPT_GPTFLG2_C3F             (0x08)
2034 #define MCF5282_GPT_GPTFLG2_C2F             (0x04)
2035 #define MCF5282_GPT_GPTFLG2_C1F             (0x02)
2036 #define MCF5282_GPT_GPTFLG2_C0F             (0x01)
2037 
2038 #define MCF5282_GPT_GPTPACTL_PAE            (0x40)
2039 #define MCF5282_GPT_GPTPACTL_PAMOD          (0x20)
2040 #define MCF5282_GPT_GPTPACTL_PEDGE          (0x10)
2041 #define MCF5282_GPT_GPTPACTL_CLK_PACLK      (0x04)
2042 #define MCF5282_GPT_GPTPACTL_CLK_PACLK256   (0x08)
2043 #define MCF5282_GPT_GPTPACTL_CLK_PACLK65536 (0x0C)
2044 #define MCF5282_GPT_GPTPACTL_CLK(x)         (((x)&0x03)<<2)
2045 #define MCF5282_GPT_GPTPACTL_PAOVI          (0x02)
2046 #define MCF5282_GPT_GPTPACTL_PAI            (0x01)
2047 
2048 #define MCF5282_GPT_GPTPAFLG_PAOVF          (0x02)
2049 #define MCF5282_GPT_GPTPAFLG_PAIF           (0x01)
2050 
2051 #define MCF5282_GPT_GPTPORT_PORTT3          (0x08)
2052 #define MCF5282_GPT_GPTPORT_PORTT2          (0x04)
2053 #define MCF5282_GPT_GPTPORT_PORTT1          (0x02)
2054 #define MCF5282_GPT_GPTPORT_PORTT0          (0x01)
2055 
2056 #define MCF5282_GPT_GPTDDR_DDRT3            (0x08)
2057 #define MCF5282_GPT_GPTDDR_DDRT2            (0x04)
2058 #define MCF5282_GPT_GPTDDR_DDRT1            (0x02)
2059 #define MCF5282_GPT_GPTDDR_DDRT0            (0x01)
2060 
2061 /*********************************************************************
2062 *
2063 * FlexCAN Module
2064 *
2065 *********************************************************************/
2066 
2067 /* Read/Write access macros for general use */
2068 #define MCF5282_FLEXCAN_CANMCR      (*(vuint16 *)(&__IPSBAR[0x1C0000]))
2069 #define MCF5282_FLEXCAN_CANCTRL0    (*(vuint8  *)(&__IPSBAR[0x1C0006]))
2070 #define MCF5282_FLEXCAN_CANCTRL1    (*(vuint8  *)(&__IPSBAR[0x1C0007]))
2071 #define MCF5282_FLEXCAN_PRESDIV     (*(vuint8  *)(&__IPSBAR[0x1C0008]))
2072 #define MCF5282_FLEXCAN_CANCTRL2    (*(vuint8  *)(&__IPSBAR[0x1C0009]))
2073 #define MCF5282_FLEXCAN_TIMER       (*(vuint16 *)(&__IPSBAR[0x1C000A]))
2074 #define MCF5282_FLEXCAN_RXGMASK     (*(vuint32 *)(&__IPSBAR[0x1C0010]))
2075 #define MCF5282_FLEXCAN_RX14MASK    (*(vuint32 *)(&__IPSBAR[0x1C0014]))
2076 #define MCF5282_FLEXCAN_RX15MASK    (*(vuint32 *)(&__IPSBAR[0x1C0018]))
2077 #define MCF5282_FLEXCAN_ESTAT       (*(vuint16 *)(&__IPSBAR[0x1C0020]))
2078 #define MCF5282_FLEXCAN_IMASK       (*(vuint16 *)(&__IPSBAR[0x1C0022]))
2079 #define MCF5282_FLEXCAN_IFLAG       (*(vuint16 *)(&__IPSBAR[0x1C0024]))
2080 #define MCF5282_FLEXCAN_RXECTR      (*(vuint8  *)(&__IPSBAR[0x1C0026]))
2081 #define MCF5282_FLEXCAN_TXECTR      (*(vuint8  *)(&__IPSBAR[0x1C0027]))
2082 #define MCF5282_FLEXCAN_MBUF0_CTRL  (*(vuint8 *)(&__IPSBAR[0x1C0081]))
2083 #define MCF5282_FLEXCAN_MBUF0_IDH   (*(vuint16 *)(&__IPSBAR[0x1C0082]))
2084 #define MCF5282_FLEXCAN_MBUF0_IDL   (*(vuint16 *)(&__IPSBAR[0x1C0084]))
2085 #define MCF5282_FLEXCAN_MBUF0_BYTE0 (*(vuint8  *)(&__IPSBAR[0x1C0086]))
2086 #define MCF5282_FLEXCAN_MBUF0_BYTE1 (*(vuint8  *)(&__IPSBAR[0x1C0087]))
2087 #define MCF5282_FLEXCAN_MBUF0_BYTE2 (*(vuint8  *)(&__IPSBAR[0x1C0088]))
2088 #define MCF5282_FLEXCAN_MBUF0_BYTE3 (*(vuint8  *)(&__IPSBAR[0x1C0089]))
2089 #define MCF5282_FLEXCAN_MBUF0_BYTE4 (*(vuint8  *)(&__IPSBAR[0x1C008A]))
2090 #define MCF5282_FLEXCAN_MBUF0_BYTE5 (*(vuint8  *)(&__IPSBAR[0x1C008B]))
2091 #define MCF5282_FLEXCAN_MBUF0_BYTE6 (*(vuint8  *)(&__IPSBAR[0x1C008C]))
2092 #define MCF5282_FLEXCAN_MBUF0_BYTE7 (*(vuint8  *)(&__IPSBAR[0x1C008D]))
2093 #define MCF5282_FLEXCAN_MBUF1_CTRL  (*(vuint8 *)(&__IPSBAR[0x1C0091]))
2094 #define MCF5282_FLEXCAN_MBUF1_IDH   (*(vuint16 *)(&__IPSBAR[0x1C0092]))
2095 #define MCF5282_FLEXCAN_MBUF1_IDL   (*(vuint16 *)(&__IPSBAR[0x1C0094]))
2096 #define MCF5282_FLEXCAN_MBUF1_BYTE0 (*(vuint8  *)(&__IPSBAR[0x1C0096]))
2097 #define MCF5282_FLEXCAN_MBUF1_BYTE1 (*(vuint8  *)(&__IPSBAR[0x1C0097]))
2098 #define MCF5282_FLEXCAN_MBUF1_BYTE2 (*(vuint8  *)(&__IPSBAR[0x1C0098]))
2099 #define MCF5282_FLEXCAN_MBUF1_BYTE3 (*(vuint8  *)(&__IPSBAR[0x1C0099]))
2100 #define MCF5282_FLEXCAN_MBUF1_BYTE4 (*(vuint8  *)(&__IPSBAR[0x1C009A]))
2101 #define MCF5282_FLEXCAN_MBUF1_BYTE5 (*(vuint8  *)(&__IPSBAR[0x1C009B]))
2102 #define MCF5282_FLEXCAN_MBUF1_BYTE6 (*(vuint8  *)(&__IPSBAR[0x1C009C]))
2103 #define MCF5282_FLEXCAN_MBUF1_BYTE7 (*(vuint8  *)(&__IPSBAR[0x1C009D]))
2104 #define MCF5282_FLEXCAN_MBUF2_CTRL  (*(vuint8 *)(&__IPSBAR[0x1C00A1]))
2105 #define MCF5282_FLEXCAN_MBUF2_IDH   (*(vuint16 *)(&__IPSBAR[0x1C00A2]))
2106 #define MCF5282_FLEXCAN_MBUF2_IDL   (*(vuint16 *)(&__IPSBAR[0x1C00A4]))
2107 #define MCF5282_FLEXCAN_MBUF2_BYTE0 (*(vuint8  *)(&__IPSBAR[0x1C00A6]))
2108 #define MCF5282_FLEXCAN_MBUF2_BYTE1 (*(vuint8  *)(&__IPSBAR[0x1C00A7]))
2109 #define MCF5282_FLEXCAN_MBUF2_BYTE2 (*(vuint8  *)(&__IPSBAR[0x1C00A8]))
2110 #define MCF5282_FLEXCAN_MBUF2_BYTE3 (*(vuint8  *)(&__IPSBAR[0x1C00A9]))
2111 #define MCF5282_FLEXCAN_MBUF2_BYTE4 (*(vuint8  *)(&__IPSBAR[0x1C00AA]))
2112 #define MCF5282_FLEXCAN_MBUF2_BYTE5 (*(vuint8  *)(&__IPSBAR[0x1C00AB]))
2113 #define MCF5282_FLEXCAN_MBUF2_BYTE6 (*(vuint8  *)(&__IPSBAR[0x1C00AC]))
2114 #define MCF5282_FLEXCAN_MBUF2_BYTE7 (*(vuint8  *)(&__IPSBAR[0x1C00AD]))
2115 #define MCF5282_FLEXCAN_MBUF3_CTRL  (*(vuint8 *)(&__IPSBAR[0x1C00B1]))
2116 #define MCF5282_FLEXCAN_MBUF3_IDH   (*(vuint16 *)(&__IPSBAR[0x1C00B2]))
2117 #define MCF5282_FLEXCAN_MBUF3_IDL   (*(vuint16 *)(&__IPSBAR[0x1C00B4]))
2118 #define MCF5282_FLEXCAN_MBUF3_BYTE0 (*(vuint8  *)(&__IPSBAR[0x1C00B6]))
2119 #define MCF5282_FLEXCAN_MBUF3_BYTE1 (*(vuint8  *)(&__IPSBAR[0x1C00B7]))
2120 #define MCF5282_FLEXCAN_MBUF3_BYTE2 (*(vuint8  *)(&__IPSBAR[0x1C00B8]))
2121 #define MCF5282_FLEXCAN_MBUF3_BYTE3 (*(vuint8  *)(&__IPSBAR[0x1C00B9]))
2122 #define MCF5282_FLEXCAN_MBUF3_BYTE4 (*(vuint8  *)(&__IPSBAR[0x1C00BA]))
2123 #define MCF5282_FLEXCAN_MBUF3_BYTE5 (*(vuint8  *)(&__IPSBAR[0x1C00BB]))
2124 #define MCF5282_FLEXCAN_MBUF3_BYTE6 (*(vuint8  *)(&__IPSBAR[0x1C00BC]))
2125 #define MCF5282_FLEXCAN_MBUF3_BYTE7 (*(vuint8  *)(&__IPSBAR[0x1C00BD]))
2126 #define MCF5282_FLEXCAN_MBUF4_CTRL  (*(vuint8 *)(&__IPSBAR[0x1C00C1]))
2127 #define MCF5282_FLEXCAN_MBUF4_IDH   (*(vuint16 *)(&__IPSBAR[0x1C00C2]))
2128 #define MCF5282_FLEXCAN_MBUF4_IDL   (*(vuint16 *)(&__IPSBAR[0x1C00C4]))
2129 #define MCF5282_FLEXCAN_MBUF4_BYTE0 (*(vuint8  *)(&__IPSBAR[0x1C00C6]))
2130 #define MCF5282_FLEXCAN_MBUF4_BYTE1 (*(vuint8  *)(&__IPSBAR[0x1C00C7]))
2131 #define MCF5282_FLEXCAN_MBUF4_BYTE2 (*(vuint8  *)(&__IPSBAR[0x1C00C8]))
2132 #define MCF5282_FLEXCAN_MBUF4_BYTE3 (*(vuint8  *)(&__IPSBAR[0x1C00C9]))
2133 #define MCF5282_FLEXCAN_MBUF4_BYTE4 (*(vuint8  *)(&__IPSBAR[0x1C00CA]))
2134 #define MCF5282_FLEXCAN_MBUF4_BYTE5 (*(vuint8  *)(&__IPSBAR[0x1C00CB]))
2135 #define MCF5282_FLEXCAN_MBUF4_BYTE6 (*(vuint8  *)(&__IPSBAR[0x1C00CC]))
2136 #define MCF5282_FLEXCAN_MBUF4_BYTE7 (*(vuint8  *)(&__IPSBAR[0x1C00CD]))
2137 #define MCF5282_FLEXCAN_MBUF5_CTRL  (*(vuint8 *)(&__IPSBAR[0x1C00D1]))
2138 #define MCF5282_FLEXCAN_MBUF5_IDH   (*(vuint16 *)(&__IPSBAR[0x1C00D2]))
2139 #define MCF5282_FLEXCAN_MBUF5_IDL   (*(vuint16 *)(&__IPSBAR[0x1C00D4]))
2140 #define MCF5282_FLEXCAN_MBUF5_BYTE0 (*(vuint8  *)(&__IPSBAR[0x1C00D6]))
2141 #define MCF5282_FLEXCAN_MBUF5_BYTE1 (*(vuint8  *)(&__IPSBAR[0x1C00D7]))
2142 #define MCF5282_FLEXCAN_MBUF5_BYTE2 (*(vuint8  *)(&__IPSBAR[0x1C00D8]))
2143 #define MCF5282_FLEXCAN_MBUF5_BYTE3 (*(vuint8  *)(&__IPSBAR[0x1C00D9]))
2144 #define MCF5282_FLEXCAN_MBUF5_BYTE4 (*(vuint8  *)(&__IPSBAR[0x1C00DA]))
2145 #define MCF5282_FLEXCAN_MBUF5_BYTE5 (*(vuint8  *)(&__IPSBAR[0x1C00DB]))
2146 #define MCF5282_FLEXCAN_MBUF5_BYTE6 (*(vuint8  *)(&__IPSBAR[0x1C00DC]))
2147 #define MCF5282_FLEXCAN_MBUF5_BYTE7 (*(vuint8  *)(&__IPSBAR[0x1C00DD]))
2148 #define MCF5282_FLEXCAN_MBUF6_CTRL  (*(vuint8 *)(&__IPSBAR[0x1C00E1]))
2149 #define MCF5282_FLEXCAN_MBUF6_IDH   (*(vuint16 *)(&__IPSBAR[0x1C00E2]))
2150 #define MCF5282_FLEXCAN_MBUF6_IDL   (*(vuint16 *)(&__IPSBAR[0x1C00E4]))
2151 #define MCF5282_FLEXCAN_MBUF6_BYTE0 (*(vuint8  *)(&__IPSBAR[0x1C00E6]))
2152 #define MCF5282_FLEXCAN_MBUF6_BYTE1 (*(vuint8  *)(&__IPSBAR[0x1C00E7]))
2153 #define MCF5282_FLEXCAN_MBUF6_BYTE2 (*(vuint8  *)(&__IPSBAR[0x1C00E8]))
2154 #define MCF5282_FLEXCAN_MBUF6_BYTE3 (*(vuint8  *)(&__IPSBAR[0x1C00E9]))
2155 #define MCF5282_FLEXCAN_MBUF6_BYTE4 (*(vuint8  *)(&__IPSBAR[0x1C00EA]))
2156 #define MCF5282_FLEXCAN_MBUF6_BYTE5 (*(vuint8  *)(&__IPSBAR[0x1C00EB]))
2157 #define MCF5282_FLEXCAN_MBUF6_BYTE6 (*(vuint8  *)(&__IPSBAR[0x1C00EC]))
2158 #define MCF5282_FLEXCAN_MBUF6_BYTE7 (*(vuint8  *)(&__IPSBAR[0x1C00ED]))
2159 #define MCF5282_FLEXCAN_MBUF7_CTRL  (*(vuint8 *)(&__IPSBAR[0x1C00F1]))
2160 #define MCF5282_FLEXCAN_MBUF7_IDH   (*(vuint16 *)(&__IPSBAR[0x1C00F2]))
2161 #define MCF5282_FLEXCAN_MBUF7_IDL   (*(vuint16 *)(&__IPSBAR[0x1C00F4]))
2162 #define MCF5282_FLEXCAN_MBUF7_BYTE0 (*(vuint8  *)(&__IPSBAR[0x1C00F6]))
2163 #define MCF5282_FLEXCAN_MBUF7_BYTE1 (*(vuint8  *)(&__IPSBAR[0x1C00F7]))
2164 #define MCF5282_FLEXCAN_MBUF7_BYTE2 (*(vuint8  *)(&__IPSBAR[0x1C00F8]))
2165 #define MCF5282_FLEXCAN_MBUF7_BYTE3 (*(vuint8  *)(&__IPSBAR[0x1C00F9]))
2166 #define MCF5282_FLEXCAN_MBUF7_BYTE4 (*(vuint8  *)(&__IPSBAR[0x1C00FA]))
2167 #define MCF5282_FLEXCAN_MBUF7_BYTE5 (*(vuint8  *)(&__IPSBAR[0x1C00FB]))
2168 #define MCF5282_FLEXCAN_MBUF7_BYTE6 (*(vuint8  *)(&__IPSBAR[0x1C00FC]))
2169 #define MCF5282_FLEXCAN_MBUF7_BYTE7 (*(vuint8  *)(&__IPSBAR[0x1C00FD]))
2170 #define MCF5282_FLEXCAN_MBUF8_CTRL  (*(vuint8 *)(&__IPSBAR[0x1C0101]))
2171 #define MCF5282_FLEXCAN_MBUF8_IDH   (*(vuint16 *)(&__IPSBAR[0x1C0102]))
2172 #define MCF5282_FLEXCAN_MBUF8_IDL   (*(vuint16 *)(&__IPSBAR[0x1C0104]))
2173 #define MCF5282_FLEXCAN_MBUF8_BYTE0 (*(vuint8  *)(&__IPSBAR[0x1C0106]))
2174 #define MCF5282_FLEXCAN_MBUF8_BYTE1 (*(vuint8  *)(&__IPSBAR[0x1C0107]))
2175 #define MCF5282_FLEXCAN_MBUF8_BYTE2 (*(vuint8  *)(&__IPSBAR[0x1C0108]))
2176 #define MCF5282_FLEXCAN_MBUF8_BYTE3 (*(vuint8  *)(&__IPSBAR[0x1C0109]))
2177 #define MCF5282_FLEXCAN_MBUF8_BYTE4 (*(vuint8  *)(&__IPSBAR[0x1C010A]))
2178 #define MCF5282_FLEXCAN_MBUF8_BYTE5 (*(vuint8  *)(&__IPSBAR[0x1C010B]))
2179 #define MCF5282_FLEXCAN_MBUF8_BYTE6 (*(vuint8  *)(&__IPSBAR[0x1C010C]))
2180 #define MCF5282_FLEXCAN_MBUF8_BYTE7 (*(vuint8  *)(&__IPSBAR[0x1C010D]))
2181 #define MCF5282_FLEXCAN_MBUF9_CTRL  (*(vuint8 *)(&__IPSBAR[0x1C0111]))
2182 #define MCF5282_FLEXCAN_MBUF9_IDH   (*(vuint16 *)(&__IPSBAR[0x1C0112]))
2183 #define MCF5282_FLEXCAN_MBUF9_IDL   (*(vuint16 *)(&__IPSBAR[0x1C0114]))
2184 #define MCF5282_FLEXCAN_MBUF9_BYTE0 (*(vuint8  *)(&__IPSBAR[0x1C0116]))
2185 #define MCF5282_FLEXCAN_MBUF9_BYTE1 (*(vuint8  *)(&__IPSBAR[0x1C0117]))
2186 #define MCF5282_FLEXCAN_MBUF9_BYTE2 (*(vuint8  *)(&__IPSBAR[0x1C0118]))
2187 #define MCF5282_FLEXCAN_MBUF9_BYTE3 (*(vuint8  *)(&__IPSBAR[0x1C0119]))
2188 #define MCF5282_FLEXCAN_MBUF9_BYTE4 (*(vuint8  *)(&__IPSBAR[0x1C011A]))
2189 #define MCF5282_FLEXCAN_MBUF9_BYTE5 (*(vuint8  *)(&__IPSBAR[0x1C011B]))
2190 #define MCF5282_FLEXCAN_MBUF9_BYTE6 (*(vuint8  *)(&__IPSBAR[0x1C011C]))
2191 #define MCF5282_FLEXCAN_MBUF9_BYTE7 (*(vuint8  *)(&__IPSBAR[0x1C011D]))
2192 #define MCF5282_FLEXCAN_MBUF10_CTRL     (*(vuint8 *)(&__IPSBAR[0x1C0121]))
2193 #define MCF5282_FLEXCAN_MBUF10_IDH      (*(vuint16 *)(&__IPSBAR[0x1C0122]))
2194 #define MCF5282_FLEXCAN_MBUF10_IDL      (*(vuint16 *)(&__IPSBAR[0x1C0124]))
2195 #define MCF5282_FLEXCAN_MBUF10_BYTE0    (*(vuint8  *)(&__IPSBAR[0x1C0126]))
2196 #define MCF5282_FLEXCAN_MBUF10_BYTE1    (*(vuint8  *)(&__IPSBAR[0x1C0127]))
2197 #define MCF5282_FLEXCAN_MBUF10_BYTE2    (*(vuint8  *)(&__IPSBAR[0x1C0128]))
2198 #define MCF5282_FLEXCAN_MBUF10_BYTE3    (*(vuint8  *)(&__IPSBAR[0x1C0129]))
2199 #define MCF5282_FLEXCAN_MBUF10_BYTE4    (*(vuint8  *)(&__IPSBAR[0x1C012A]))
2200 #define MCF5282_FLEXCAN_MBUF10_BYTE5    (*(vuint8  *)(&__IPSBAR[0x1C012B]))
2201 #define MCF5282_FLEXCAN_MBUF10_BYTE6    (*(vuint8  *)(&__IPSBAR[0x1C012C]))
2202 #define MCF5282_FLEXCAN_MBUF10_BYTE7    (*(vuint8  *)(&__IPSBAR[0x1C012D]))
2203 #define MCF5282_FLEXCAN_MBUF11_CTRL     (*(vuint8 *)(&__IPSBAR[0x1C0131]))
2204 #define MCF5282_FLEXCAN_MBUF11_IDH      (*(vuint16 *)(&__IPSBAR[0x1C0132]))
2205 #define MCF5282_FLEXCAN_MBUF11_IDL      (*(vuint16 *)(&__IPSBAR[0x1C0134]))
2206 #define MCF5282_FLEXCAN_MBUF11_BYTE0    (*(vuint8  *)(&__IPSBAR[0x1C0136]))
2207 #define MCF5282_FLEXCAN_MBUF11_BYTE1    (*(vuint8  *)(&__IPSBAR[0x1C0137]))
2208 #define MCF5282_FLEXCAN_MBUF11_BYTE2    (*(vuint8  *)(&__IPSBAR[0x1C0138]))
2209 #define MCF5282_FLEXCAN_MBUF11_BYTE3    (*(vuint8  *)(&__IPSBAR[0x1C0139]))
2210 #define MCF5282_FLEXCAN_MBUF11_BYTE4    (*(vuint8  *)(&__IPSBAR[0x1C013A]))
2211 #define MCF5282_FLEXCAN_MBUF11_BYTE5    (*(vuint8  *)(&__IPSBAR[0x1C013B]))
2212 #define MCF5282_FLEXCAN_MBUF11_BYTE6    (*(vuint8  *)(&__IPSBAR[0x1C013C]))
2213 #define MCF5282_FLEXCAN_MBUF11_BYTE7    (*(vuint8  *)(&__IPSBAR[0x1C013D]))
2214 #define MCF5282_FLEXCAN_MBUF12_CTRL     (*(vuint8 *)(&__IPSBAR[0x1C0141]))
2215 #define MCF5282_FLEXCAN_MBUF12_IDH      (*(vuint16 *)(&__IPSBAR[0x1C0142]))
2216 #define MCF5282_FLEXCAN_MBUF12_IDL      (*(vuint16 *)(&__IPSBAR[0x1C0144]))
2217 #define MCF5282_FLEXCAN_MBUF12_BYTE0    (*(vuint8  *)(&__IPSBAR[0x1C0146]))
2218 #define MCF5282_FLEXCAN_MBUF12_BYTE1    (*(vuint8  *)(&__IPSBAR[0x1C0147]))
2219 #define MCF5282_FLEXCAN_MBUF12_BYTE2    (*(vuint8  *)(&__IPSBAR[0x1C0148]))
2220 #define MCF5282_FLEXCAN_MBUF12_BYTE3    (*(vuint8  *)(&__IPSBAR[0x1C0149]))
2221 #define MCF5282_FLEXCAN_MBUF12_BYTE4    (*(vuint8  *)(&__IPSBAR[0x1C014A]))
2222 #define MCF5282_FLEXCAN_MBUF12_BYTE5    (*(vuint8  *)(&__IPSBAR[0x1C014B]))
2223 #define MCF5282_FLEXCAN_MBUF12_BYTE6    (*(vuint8  *)(&__IPSBAR[0x1C014C]))
2224 #define MCF5282_FLEXCAN_MBUF12_BYTE7    (*(vuint8  *)(&__IPSBAR[0x1C014D]))
2225 #define MCF5282_FLEXCAN_MBUF13_CTRL     (*(vuint8 *)(&__IPSBAR[0x1C0151]))
2226 #define MCF5282_FLEXCAN_MBUF13_IDH      (*(vuint16 *)(&__IPSBAR[0x1C0152]))
2227 #define MCF5282_FLEXCAN_MBUF13_IDL      (*(vuint16 *)(&__IPSBAR[0x1C0154]))
2228 #define MCF5282_FLEXCAN_MBUF13_BYTE0    (*(vuint8  *)(&__IPSBAR[0x1C0156]))
2229 #define MCF5282_FLEXCAN_MBUF13_BYTE1    (*(vuint8  *)(&__IPSBAR[0x1C0157]))
2230 #define MCF5282_FLEXCAN_MBUF13_BYTE2    (*(vuint8  *)(&__IPSBAR[0x1C0158]))
2231 #define MCF5282_FLEXCAN_MBUF13_BYTE3    (*(vuint8  *)(&__IPSBAR[0x1C0159]))
2232 #define MCF5282_FLEXCAN_MBUF13_BYTE4    (*(vuint8  *)(&__IPSBAR[0x1C015A]))
2233 #define MCF5282_FLEXCAN_MBUF13_BYTE5    (*(vuint8  *)(&__IPSBAR[0x1C015B]))
2234 #define MCF5282_FLEXCAN_MBUF13_BYTE6    (*(vuint8  *)(&__IPSBAR[0x1C015C]))
2235 #define MCF5282_FLEXCAN_MBUF13_BYTE7    (*(vuint8  *)(&__IPSBAR[0x1C015D]))
2236 #define MCF5282_FLEXCAN_MBUF14_CTRL     (*(vuint8 *)(&__IPSBAR[0x1C0161]))
2237 #define MCF5282_FLEXCAN_MBUF14_IDH      (*(vuint16 *)(&__IPSBAR[0x1C0162]))
2238 #define MCF5282_FLEXCAN_MBUF14_IDL      (*(vuint16 *)(&__IPSBAR[0x1C0164]))
2239 #define MCF5282_FLEXCAN_MBUF14_BYTE0    (*(vuint8  *)(&__IPSBAR[0x1C0166]))
2240 #define MCF5282_FLEXCAN_MBUF14_BYTE1    (*(vuint8  *)(&__IPSBAR[0x1C0167]))
2241 #define MCF5282_FLEXCAN_MBUF14_BYTE2    (*(vuint8  *)(&__IPSBAR[0x1C0168]))
2242 #define MCF5282_FLEXCAN_MBUF14_BYTE3    (*(vuint8  *)(&__IPSBAR[0x1C0169]))
2243 #define MCF5282_FLEXCAN_MBUF14_BYTE4    (*(vuint8  *)(&__IPSBAR[0x1C016A]))
2244 #define MCF5282_FLEXCAN_MBUF14_BYTE5    (*(vuint8  *)(&__IPSBAR[0x1C016B]))
2245 #define MCF5282_FLEXCAN_MBUF14_BYTE6    (*(vuint8  *)(&__IPSBAR[0x1C016C]))
2246 #define MCF5282_FLEXCAN_MBUF14_BYTE7    (*(vuint8  *)(&__IPSBAR[0x1C016D]))
2247 #define MCF5282_FLEXCAN_MBUF15_CTRL     (*(vuint8 *)(&__IPSBAR[0x1C0171]))
2248 #define MCF5282_FLEXCAN_MBUF15_IDH      (*(vuint16 *)(&__IPSBAR[0x1C0172]))
2249 #define MCF5282_FLEXCAN_MBUF15_IDL      (*(vuint16 *)(&__IPSBAR[0x1C0174]))
2250 #define MCF5282_FLEXCAN_MBUF15_BYTE0    (*(vuint8  *)(&__IPSBAR[0x1C0176]))
2251 #define MCF5282_FLEXCAN_MBUF15_BYTE1    (*(vuint8  *)(&__IPSBAR[0x1C0177]))
2252 #define MCF5282_FLEXCAN_MBUF15_BYTE2    (*(vuint8  *)(&__IPSBAR[0x1C0178]))
2253 #define MCF5282_FLEXCAN_MBUF15_BYTE3    (*(vuint8  *)(&__IPSBAR[0x1C0179]))
2254 #define MCF5282_FLEXCAN_MBUF15_BYTE4    (*(vuint8  *)(&__IPSBAR[0x1C017A]))
2255 #define MCF5282_FLEXCAN_MBUF15_BYTE5    (*(vuint8  *)(&__IPSBAR[0x1C017B]))
2256 #define MCF5282_FLEXCAN_MBUF15_BYTE6    (*(vuint8  *)(&__IPSBAR[0x1C017C]))
2257 #define MCF5282_FLEXCAN_MBUF15_BYTE7    (*(vuint8  *)(&__IPSBAR[0x1C017D]))
2258 
2259 #define MCF5282_FLEXCAN_MBUF0_BYTE(x)   (*(vuint8  *)(&__IPSBAR[(0x1C0086+(x))]))
2260 #define MCF5282_FLEXCAN_MBUF1_BYTE(x)   (*(vuint8  *)(&__IPSBAR[(0x1C0096+(x))]))
2261 #define MCF5282_FLEXCAN_MBUF2_BYTE(x)   (*(vuint8  *)(&__IPSBAR[(0x1C00A6+(x))]))
2262 #define MCF5282_FLEXCAN_MBUF3_BYTE(x)   (*(vuint8  *)(&__IPSBAR[(0x1C00B6+(x))]))
2263 #define MCF5282_FLEXCAN_MBUF4_BYTE(x)   (*(vuint8  *)(&__IPSBAR[(0x1C00C6+(x))]))
2264 #define MCF5282_FLEXCAN_MBUF5_BYTE(x)   (*(vuint8  *)(&__IPSBAR[(0x1C00D6+(x))]))
2265 #define MCF5282_FLEXCAN_MBUF6_BYTE(x)   (*(vuint8  *)(&__IPSBAR[(0x1C00E6+(x))]))
2266 #define MCF5282_FLEXCAN_MBUF7_BYTE(x)   (*(vuint8  *)(&__IPSBAR[(0x1C00F6+(x))]))
2267 #define MCF5282_FLEXCAN_MBUF8_BYTE(x)   (*(vuint8  *)(&__IPSBAR[(0x1C0106+(x))]))
2268 #define MCF5282_FLEXCAN_MBUF9_BYTE(x)   (*(vuint8  *)(&__IPSBAR[(0x1C0116+(x))]))
2269 #define MCF5282_FLEXCAN_MBUF10_BYTE(x)  (*(vuint8  *)(&__IPSBAR[(0x1C0126+(x))]))
2270 #define MCF5282_FLEXCAN_MBUF11_BYTE(x)  (*(vuint8  *)(&__IPSBAR[(0x1C0136+(x))]))
2271 #define MCF5282_FLEXCAN_MBUF12_BYTE(x)  (*(vuint8  *)(&__IPSBAR[(0x1C0146+(x))]))
2272 #define MCF5282_FLEXCAN_MBUF13_BYTE(x)  (*(vuint8  *)(&__IPSBAR[(0x1C0156+(x))]))
2273 #define MCF5282_FLEXCAN_MBUF14_BYTE(x)  (*(vuint8  *)(&__IPSBAR[(0x1C0166+(x))]))
2274 #define MCF5282_FLEXCAN_MBUF15_BYTE(x)  (*(vuint8  *)(&__IPSBAR[(0x1C0176+(x))]))
2275 
2276 #define MCF5282_FLEXCAN_MBUF_BYTE(x,y)  (*(vuint8  *)(&__IPSBAR[((0x1C0086+(0x10*(x))+(y))]))
2277 
2278 /* Bit level definitions and macros */
2279 #define MCF5282_FLEXCAN_CANMCR_STOP         (0x8000)
2280 #define MCF5282_FLEXCAN_CANMCR_FRZ          (0x4000)
2281 #define MCF5282_FLEXCAN_CANMCR_HALT         (0x1000)
2282 #define MCF5282_FLEXCAN_CANMCR_NOTRDY       (0x0800)
2283 #define MCF5282_FLEXCAN_CANMCR_WAKEMSK      (0x0400)
2284 #define MCF5282_FLEXCAN_CANMCR_SOFTRST      (0x0200)
2285 #define MCF5282_FLEXCAN_CANMCR_FRZACK       (0x0100)
2286 #define MCF5282_FLEXCAN_CANMCR_SUPV         (0x0080)
2287 #define MCF5282_FLEXCAN_CANMCR_SELFWAKE     (0x0040)
2288 #define MCF5282_FLEXCAN_CANMCR_APS          (0x0020)
2289 
2290 #define MCF5282_FLEXCAN_CANCTRL0_BOFFMSK    (0x80)
2291 #define MCF5282_FLEXCAN_CANCTRL0_ERRMSK     (0x40)
2292 #define MCF5282_FLEXCAN_CANCTRL0_RXMODE     (0x04)
2293 #define MCF5282_FLEXCAN_CANCTRL0_TXMODE_CMOSPOS     (0x00)
2294 #define MCF5282_FLEXCAN_CANCTRL0_TXMODE_CMOSNEG     (0x01)
2295 #define MCF5282_FLEXCAN_CANCTRL0_TXMODE_OPENDRAIN   (0x02)
2296 
2297 #define MCF5282_FLEXCAN_CANCTRL1_SAMP       (0x80)
2298 #define MCF5282_FLEXCAN_CANCTRL1_TSYNC      (0x20)
2299 #define MCF5282_FLEXCAN_CANCTRL1_LBUF       (0x10)
2300 #define MCF5282_FLEXCAN_CANCTRL1_LOM        (0x08)
2301 #define MCF5282_FLEXCAN_CANCTRL1_PROPSEG(x) (((x)&0x07))
2302 
2303 #define MCF5282_FLEXCAN_CANCTRL2_RJW(x)     (((x)&0x03)<<6)
2304 #define MCF5282_FLEXCAN_CANCTRL2_PSEG1(x)   (((x)&0x07)<<3)
2305 #define MCF5282_FLEXCAN_CANCTRL2_PSEG2(x)   (((x)&0x07)<<0)
2306 
2307 #define MCF5282_FLEXCAN_ESTAT_BITERR(x)     (((x)&0x03)<<14)
2308 #define MCF5282_FLEXCAN_ESTAT_ACKERR        (0x2000)
2309 #define MCF5282_FLEXCAN_ESTAT_CRCERR        (0x1000)
2310 #define MCF5282_FLEXCAN_ESTAT_FORMERR       (0x0800)
2311 #define MCF5282_FLEXCAN_ESTAT_STUFFERR      (0x0400)
2312 #define MCF5282_FLEXCAN_ESTAT_TXWARN        (0x0200)
2313 #define MCF5282_FLEXCAN_ESTAT_RXWARN        (0x0100)
2314 #define MCF5282_FLEXCAN_ESTAT_IDLE          (0x0080)
2315 #define MCF5282_FLEXCAN_ESTAT_TXRX          (0x0040)
2316 #define MCF5282_FLEXCAN_ESTAT_FCS(x)        (((x)&0x03)<<4)
2317 #define MCF5282_FLEXCAN_ESTAT_BOFFINT       (0x0004)
2318 #define MCF5282_FLEXCAN_ESTAT_ERRINT        (0x0002)
2319 #define MCF5282_FLEXCAN_ESTAT_WAKEINT       (0x0001)
2320 
2321 #define MCF5282_FLEXCAN_IMASK_BUF15M        (0x8000)
2322 #define MCF5282_FLEXCAN_IMASK_BUF14M        (0x4000)
2323 #define MCF5282_FLEXCAN_IMASK_BUF13M        (0x2000)
2324 #define MCF5282_FLEXCAN_IMASK_BUF12M        (0x1000)
2325 #define MCF5282_FLEXCAN_IMASK_BUF11M        (0x0800)
2326 #define MCF5282_FLEXCAN_IMASK_BUF10M        (0x0400)
2327 #define MCF5282_FLEXCAN_IMASK_BUF9M         (0x0200)
2328 #define MCF5282_FLEXCAN_IMASK_BUF8M         (0x0100)
2329 #define MCF5282_FLEXCAN_IMASK_BUF7M         (0x0080)
2330 #define MCF5282_FLEXCAN_IMASK_BUF6M         (0x0040)
2331 #define MCF5282_FLEXCAN_IMASK_BUF5M         (0x0020)
2332 #define MCF5282_FLEXCAN_IMASK_BUF4M         (0x0010)
2333 #define MCF5282_FLEXCAN_IMASK_BUF3M         (0x0008)
2334 #define MCF5282_FLEXCAN_IMASK_BUF2M         (0x0004)
2335 #define MCF5282_FLEXCAN_IMASK_BUF1M         (0x0002)
2336 #define MCF5282_FLEXCAN_IMASK_BUF0M         (0x0001)
2337 
2338 #define MCF5282_FLEXCAN_IFLAG_BUF15I        (0x8000)
2339 #define MCF5282_FLEXCAN_IFLAG_BUF14I        (0x4000)
2340 #define MCF5282_FLEXCAN_IFLAG_BUF13I        (0x2000)
2341 #define MCF5282_FLEXCAN_IFLAG_BUF12I        (0x1000)
2342 #define MCF5282_FLEXCAN_IFLAG_BUF11I        (0x0800)
2343 #define MCF5282_FLEXCAN_IFLAG_BUF10I        (0x0400)
2344 #define MCF5282_FLEXCAN_IFLAG_BUF9I         (0x0200)
2345 #define MCF5282_FLEXCAN_IFLAG_BUF8I         (0x0100)
2346 #define MCF5282_FLEXCAN_IFLAG_BUF7I         (0x0080)
2347 #define MCF5282_FLEXCAN_IFLAG_BUF6I         (0x0040)
2348 #define MCF5282_FLEXCAN_IFLAG_BUF5I         (0x0020)
2349 #define MCF5282_FLEXCAN_IFLAG_BUF4I         (0x0010)
2350 #define MCF5282_FLEXCAN_IFLAG_BUF3I         (0x0008)
2351 #define MCF5282_FLEXCAN_IFLAG_BUF2I         (0x0004)
2352 #define MCF5282_FLEXCAN_IFLAG_BUF1I         (0x0002)
2353 #define MCF5282_FLEXCAN_IFLAG_BUF0I         (0x0001)
2354 
2355 /*********************************************************************
2356 *
2357 * ColdFire Flash Module (CFM)
2358 *
2359 *********************************************************************/
2360 
2361 /* Read/Write access macros for general use */
2362 #define MCF5282_CFM_CFMMCR      (*(vuint16 *)(&__IPSBAR[0x1D0000]))
2363 #define MCF5282_CFM_CFMCLKD     (*(vuint8  *)(&__IPSBAR[0x1D0002]))
2364 #define MCF5282_CFM_CFMSEC      (*(vuint32 *)(&__IPSBAR[0x1D0008]))
2365 #define MCF5282_CFM_CFMPROT     (*(vuint32 *)(&__IPSBAR[0x1D0010]))
2366 #define MCF5282_CFM_CFMSACC     (*(vuint32 *)(&__IPSBAR[0x1D0014]))
2367 #define MCF5282_CFM_CFMDACC     (*(vuint32 *)(&__IPSBAR[0x1D0018]))
2368 #define MCF5282_CFM_CFMUSTAT    (*(vuint8  *)(&__IPSBAR[0x1D0020]))
2369 #define MCF5282_CFM_CFMCMD      (*(vuint8  *)(&__IPSBAR[0x1D0024]))
2370 #define MCF5282_CFM_CFMDISU     (*(vuint16 *)(&__IPSBAR[0x1D0042]))
2371 
2372 /* Bit level definitions and macros */
2373 #define MCF5282_CFM_FLASHBAR_BA(a)          ((a)&0xFFF8000)
2374 #define MCF5282_CFM_FLASHBAR_WP             (0x00000100)
2375 #define MCF5282_CFM_FLASHBAR_CI             (0x00000020)
2376 #define MCF5282_CFM_FLASHBAR_SC             (0x00000010)
2377 #define MCF5282_CFM_FLASHBAR_SD             (0x00000008)
2378 #define MCF5282_CFM_FLASHBAR_UC             (0x00000004)
2379 #define MCF5282_CFM_FLASHBAR_UD             (0x00000002)
2380 #define MCF5282_CFM_FLASHBAR_V              (0x00000001)
2381 
2382 #define MCF5282_CFM_CFMMCR_LOCK             (0x0400)
2383 #define MCF5282_CFM_CFMMCR_PVIE             (0x0200)
2384 #define MCF5282_CFM_CFMMCR_AEIE             (0x0100)
2385 #define MCF5282_CFM_CFMMCR_CBEIE            (0x0080)
2386 #define MCF5282_CFM_CFMMCR_CCIE             (0x0040)
2387 #define MCF5282_CFM_CFMMCR_KEYACC           (0x0020)
2388 
2389 #define MCF5282_CFM_CFMCLKD_DIVLD           (0x80)
2390 #define MCF5282_CFM_CFMCLKD_PRDIV8          (0x40)
2391 #define MCF5282_CFM_CFMCLKD_DIV(x)          (((x)&0x3F))
2392 
2393 #define MCF5282_CFM_CFMSEC_KEYEN            (0x80000000)
2394 #define MCF5282_CFM_CFMSEC_SECSTAT          (0x40000000)
2395 #define MCF5282_CFM_CFMSEC_SEC(x)           (((x)&0xFFFF))
2396 
2397 #define MCF5282_CFM_CFMUSTAT_CBEIF          (0x80)
2398 #define MCF5282_CFM_CFMUSTAT_CCIF           (0x40)
2399 #define MCF5282_CFM_CFMUSTAT_PVIOL          (0x20)
2400 #define MCF5282_CFM_CFMUSTAT_ACCERR         (0x10)
2401 #define MCF5282_CFM_CFMUSTAT_BLANK          (0x04)
2402 
2403 #define MCF5282_CFM_CFMCMD_CMD(x)           (((x)&0x7F))
2404 
2405 /********************************************************************/
2406 
2407 #endif  /* _CPU_MCF5282_H */