RTEMS 6.1-rc4
Loading...
Searching...
No Matches
mcf5225x.h
1/*
2 * File: mcf5225x.h
3 * Purpose: Register and bit definitions
4 */
5
6#ifndef __MCF5225x_H__
7#define __MCF5225x_H__
8
9typedef volatile unsigned char vuint8;
10typedef volatile unsigned short vuint16;
11typedef volatile unsigned long vuint32;
12
13/*********************************************************************
14*
15* System Control Module (SCM)
16*
17*********************************************************************/
18
19/* Register read/write macros */
20#define MCF_SCM_IPSBAR (*(vuint32*)(&__IPSBAR[0x000000]))
21#define MCF_SCM_RAMBAR (*(vuint32*)(&__IPSBAR[0x000008]))
22#define MCF_SCM_PPMRH (*(vuint32*)(&__IPSBAR[0x00000C]))
23#define MCF_SCM_CRSR (*(vuint8 *)(&__IPSBAR[0x000010]))
24#define MCF_SCM_CWCR (*(vuint8 *)(&__IPSBAR[0x000011]))
25#define MCF_SCM_LPICR (*(vuint8 *)(&__IPSBAR[0x000012]))
26#define MCF_SCM_CWSR (*(vuint8 *)(&__IPSBAR[0x000013]))
27#define MCF_SCM_PPMRL (*(vuint32*)(&__IPSBAR[0x000018]))
28#define MCF_SCM_MPARK (*(vuint32*)(&__IPSBAR[0x00001C]))
29#define MCF_SCM_MPR (*(vuint32*)(&__IPSBAR[0x000020]))
30#define MCF_SCM_PPMRS (*(vuint8 *)(&__IPSBAR[0x000021]))
31#define MCF_SCM_PPMRC (*(vuint8 *)(&__IPSBAR[0x000022]))
32#define MCF_SCM_IPSBMT (*(vuint8 *)(&__IPSBAR[0x000023]))
33#define MCF_SCM_PACR0 (*(vuint8 *)(&__IPSBAR[0x000024]))
34#define MCF_SCM_PACR1 (*(vuint8 *)(&__IPSBAR[0x000025]))
35#define MCF_SCM_PACR2 (*(vuint8 *)(&__IPSBAR[0x000026]))
36#define MCF_SCM_PACR3 (*(vuint8 *)(&__IPSBAR[0x000027]))
37#define MCF_SCM_PACR4 (*(vuint8 *)(&__IPSBAR[0x000028]))
38#define MCF_SCM_PACR5 (*(vuint8 *)(&__IPSBAR[0x000029]))
39#define MCF_SCM_PACR6 (*(vuint8 *)(&__IPSBAR[0x00002A]))
40#define MCF_SCM_PACR7 (*(vuint8 *)(&__IPSBAR[0x00002B]))
41#define MCF_SCM_PACR8 (*(vuint8 *)(&__IPSBAR[0x00002C]))
42#define MCF_SCM_GPACR0 (*(vuint8 *)(&__IPSBAR[0x000030]))
43#define MCF_SCM_GPACR1 (*(vuint8 *)(&__IPSBAR[0x000031]))
44
45/* Bit definitions and macros for MCF_SCM_IPSBAR */
46#define MCF_SCM_IPSBAR_V (0x00000001)
47#define MCF_SCM_IPSBAR_BA(x) ((x)&0xC0000000)
48
49/* Bit definitions and macros for MCF_SCM_RAMBAR */
50#define MCF_SCM_RAMBAR_BDE (0x00000200)
51#define MCF_SCM_RAMBAR_BA(x) ((x)&0xFFFF0000)
52
53/* Bit definitions and macros for MCF_SCM_CRSR */
54#define MCF_SCM_CRSR_CWDR (0x20)
55#define MCF_SCM_CRSR_EXT (0x80)
56
57/* Bit definitions and macros for MCF_SCM_CWCR */
58#define MCF_SCM_CWCR_CWTIC (0x01)
59#define MCF_SCM_CWCR_CWTAVAL (0x02)
60#define MCF_SCM_CWCR_CWTA (0x04)
61#define MCF_SCM_CWCR_CWT(x) (((x)&0x07)<<3)
62#define MCF_SCM_CWCR_CWRI (0x40)
63#define MCF_SCM_CWCR_CWE (0x80)
64
65/* Bit definitions and macros for MCF_SCM_LPICR */
66#define MCF_SCM_LPICR_XIPL(x) (((x)&0x07)<<4)
67#define MCF_SCM_LPICR_ENBSTOP (0x80)
68
69/* Bit definitions and macros for MCF_SCM_CWSR */
70#define MCF_SCM_CWSR_CWSR(x) (((x)&0xFF)<<0)
71
72/* Bit definitions and macros for MCF_SCM_PPMRH */
73#define MCF_SCM_PPMRH_CDPORTS (0x00000001)
74#define MCF_SCM_PPMRH_CDEPORT (0x00000002)
75#define MCF_SCM_PPMRH_CDPIT0 (0x00000008)
76#define MCF_SCM_PPMRH_CDPIT1 (0x00000010)
77#define MCF_SCM_PPMRH_CDCAN (0x00000020)
78#define MCF_SCM_PPMRH_CDADC (0x00000080)
79#define MCF_SCM_PPMRH_CDGPT (0x00000100)
80#define MCF_SCM_PPMRH_CDPWN (0x00000200)
81#define MCF_SCM_PPMRH_CDFCAN (0x00000400)
82#define MCF_SCM_PPMRH_CDCFM (0x00000800)
83
84/* Bit definitions and macros for MCF_SCM_PPMRL */
85#define MCF_SCM_PPMRL_CDG (0x00000002)
86#define MCF_SCM_PPMRL_CDEIM (0x00000008)
87#define MCF_SCM_PPMRL_CDDMA (0x00000010)
88#define MCF_SCM_PPMRL_CDUART0 (0x00000020)
89#define MCF_SCM_PPMRL_CDUART1 (0x00000040)
90#define MCF_SCM_PPMRL_CDUART2 (0x00000080)
91#define MCF_SCM_PPMRL_CDI2C0 (0x00000200)
92#define MCF_SCM_PPMRL_CDI2C1 (0x00000800)
93#define MCF_SCM_PPMRL_CDQSPI (0x00000400)
94#define MCF_SCM_PPMRL_CDDTIM0 (0x00002000)
95#define MCF_SCM_PPMRL_CDDTIM1 (0x00004000)
96#define MCF_SCM_PPMRL_CDDTIM2 (0x00008000)
97#define MCF_SCM_PPMRL_CDDTIM3 (0x00010000)
98#define MCF_SCM_PPMRL_CDINTC0 (0x00020000)
99#define MCF_SCM_PPMRL_CDINTC1 (0x00040000)
100#define MCF_SCM_PPMRL_CDFEC (0x00200000)
101
102/* Bit definitions and macros for MCF_SCM_MPARK */
103#define MCF_SCM_MPARK_LCKOUT_TIME(x) (((x)&0x0000000F)<<8)
104#define MCF_SCM_MPARK_PRKLAST (0x00001000)
105#define MCF_SCM_MPARK_TIMEOUT (0x00002000)
106#define MCF_SCM_MPARK_FIXED (0x00004000)
107#define MCF_SCM_MPARK_M0PRTY(x) (((x)&0x00000003)<<18)
108#define MCF_SCM_MPARK_M2PRTY(x) (((x)&0x00000003)<<20)
109#define MCF_SCM_MPARK_M3PRTY(x) (((x)&0x00000003)<<22)
110#define MCF_SCM_MPARK_BCR24BIT (0x01000000)
111#define MCF_SCM_MPARK_M2_P_EN (0x02000000)
112
113/* Bit definitions and macros for MCF_SCM_PPMRS */
114#define MCF_SCM_PPMRS_DISABLE_ALL (64)
115#define MCF_SCM_PPMRS_DISABLE_CFM (43)
116#define MCF_SCM_PPMRS_DISABLE_CAN (42)
117#define MCF_SCM_PPMRS_DISABLE_PWM (41)
118#define MCF_SCM_PPMRS_DISABLE_GPT (40)
119#define MCF_SCM_PPMRS_DISABLE_ADC (39)
120#define MCF_SCM_PPMRS_DISABLE_PIT1 (36)
121#define MCF_SCM_PPMRS_DISABLE_PIT0 (35)
122#define MCF_SCM_PPMRS_DISABLE_EPORT (33)
123#define MCF_SCM_PPMRS_DISABLE_PORTS (32)
124#define MCF_SCM_PPMRS_DISABLE_INTC (17)
125#define MCF_SCM_PPMRS_DISABLE_DTIM3 (16)
126#define MCF_SCM_PPMRS_DISABLE_DTIM2 (15)
127#define MCF_SCM_PPMRS_DISABLE_DTIM1 (14)
128#define MCF_SCM_PPMRS_DISABLE_DTIM0 (13)
129#define MCF_SCM_PPMRS_DISABLE_QSPI (10)
130#define MCF_SCM_PPMRS_DISABLE_I2C (9)
131#define MCF_SCM_PPMRS_DISABLE_UART2 (7)
132#define MCF_SCM_PPMRS_DISABLE_UART1 (6)
133#define MCF_SCM_PPMRS_DISABLE_UART0 (5)
134#define MCF_SCM_PPMRS_DISABLE_DMA (4)
135#define MCF_SCM_PPMRS_SET_CDG (1)
136
137/* Bit definitions and macros for MCF_SCM_PPMRC */
138#define MCF_SCM_PPMRC_ENABLE_ALL (64)
139#define MCF_SCM_PPMRC_ENABLE_CFM (43)
140#define MCF_SCM_PPMRC_ENABLE_CAN (42)
141#define MCF_SCM_PPMRC_ENABLE_PWM (41)
142#define MCF_SCM_PPMRC_ENABLE_GPT (40)
143#define MCF_SCM_PPMRC_ENABLE_ADC (39)
144#define MCF_SCM_PPMRC_ENABLE_PIT1 (36)
145#define MCF_SCM_PPMRC_ENABLE_PIT0 (35)
146#define MCF_SCM_PPMRC_ENABLE_EPORT (33)
147#define MCF_SCM_PPMRC_ENABLE_PORTS (32)
148#define MCF_SCM_PPMRC_ENABLE_INTC (17)
149#define MCF_SCM_PPMRC_ENABLE_DTIM3 (16)
150#define MCF_SCM_PPMRC_ENABLE_DTIM2 (15)
151#define MCF_SCM_PPMRC_ENABLE_DTIM1 (14)
152#define MCF_SCM_PPMRC_ENABLE_DTIM0 (13)
153#define MCF_SCM_PPMRC_ENABLE_QSPI (10)
154#define MCF_SCM_PPMRC_ENABLE_I2C (9)
155#define MCF_SCM_PPMRC_ENABLE_UART2 (7)
156#define MCF_SCM_PPMRC_ENABLE_UART1 (6)
157#define MCF_SCM_PPMRC_ENABLE_UART0 (5)
158#define MCF_SCM_PPMRC_ENABLE_DMA (4)
159#define MCF_SCM_PPMRC_CLEAR_CDG (1)
160
161
162/*********************************************************************
163*
164* Power Management Module (PMM)
165*
166*********************************************************************/
167
168/* Register read/write macros */
169#define MCF_PMM_PPMRH (*(vuint32*)(&__IPSBAR[0x00000C]))
170#define MCF_PMM_PPMRL (*(vuint32*)(&__IPSBAR[0x000018]))
171#define MCF_PMM_LPICR (*(vuint8 *)(&__IPSBAR[0x000012]))
172#define MCF_PMM_LPCR (*(vuint8 *)(&__IPSBAR[0x110007]))
173
174/* Bit definitions and macros for MCF_PMM_PPMRH */
175#define MCF_PMM_PPMRH_CDPORTS (0x00000001)
176#define MCF_PMM_PPMRH_CDEPORT (0x00000002)
177#define MCF_PMM_PPMRH_CDPIT0 (0x00000008)
178#define MCF_PMM_PPMRH_CDPIT1 (0x00000010)
179#define MCF_PMM_PPMRH_CDADC (0x00000080)
180#define MCF_PMM_PPMRH_CDGPT (0x00000100)
181#define MCF_PMM_PPMRH_CDPWM (0x00000200)
182#define MCF_PMM_PPMRH_CDFCAN (0x00000400)
183#define MCF_PMM_PPMRH_CDCFM (0x00000800)
184
185/* Bit definitions and macros for MCF_PMM_PPMRL */
186#define MCF_PMM_PPMRL_CDG (0x00000002)
187#define MCF_PMM_PPMRL_CDEIM (0x00000008)
188#define MCF_PMM_PPMRL_CDDMA (0x00000010)
189#define MCF_PMM_PPMRL_CDUART0 (0x00000020)
190#define MCF_PMM_PPMRL_CDUART1 (0x00000040)
191#define MCF_PMM_PPMRL_CDUART2 (0x00000080)
192#define MCF_PMM_PPMRL_CDI2C (0x00000200)
193#define MCF_PMM_PPMRL_CDQSPI (0x00000400)
194#define MCF_PMM_PPMRL_CDDTIM0 (0x00002000)
195#define MCF_PMM_PPMRL_CDDTIM1 (0x00004000)
196#define MCF_PMM_PPMRL_CDDTIM2 (0x00008000)
197#define MCF_PMM_PPMRL_CDDTIM3 (0x00010000)
198#define MCF_PMM_PPMRL_CDINTC0 (0x00020000)
199
200/* Bit definitions and macros for MCF_PMM_LPICR */
201#define MCF_PMM_LPICR_XIPL(x) (((x)&0x07)<<4)
202#define MCF_PMM_LPICR_ENBSTOP (0x80)
203
204/* Bit definitions and macros for MCF_PMM_LPCR */
205#define MCF_PMM_LPCR_LVDSE (0x02)
206#define MCF_PMM_LPCR_STPMD(x) (((x)&0x03)<<3)
207#define MCF_PMM_LPCR_LPMD(x) (((x)&0x03)<<6)
208#define MCF_PMM_LPCR_LPMD_STOP (0xC0)
209#define MCF_PMM_LPCR_LPMD_WAIT (0x80)
210#define MCF_PMM_LPCR_LPMD_DOZE (0x40)
211#define MCF_PMM_LPCR_LPMD_RUN (0x00)
212
213
214/*********************************************************************
215*
216* DMA Controller Module (DMA)
217*
218*********************************************************************/
219
220/* Register read/write macros */
221#define MCF_DMA_DMAREQC (*(vuint32*)(&__IPSBAR[0x000014]))
222#define MCF_DMA_SAR0 (*(vuint32*)(&__IPSBAR[0x000100]))
223#define MCF_DMA_SAR1 (*(vuint32*)(&__IPSBAR[0x000110]))
224#define MCF_DMA_SAR2 (*(vuint32*)(&__IPSBAR[0x000120]))
225#define MCF_DMA_SAR3 (*(vuint32*)(&__IPSBAR[0x000130]))
226#define MCF_DMA_SAR(x) (*(vuint32*)(&__IPSBAR[0x000100+((x)*0x010)]))
227#define MCF_DMA_DAR0 (*(vuint32*)(&__IPSBAR[0x000104]))
228#define MCF_DMA_DAR1 (*(vuint32*)(&__IPSBAR[0x000114]))
229#define MCF_DMA_DAR2 (*(vuint32*)(&__IPSBAR[0x000124]))
230#define MCF_DMA_DAR3 (*(vuint32*)(&__IPSBAR[0x000134]))
231#define MCF_DMA_DAR(x) (*(vuint32*)(&__IPSBAR[0x000104+((x)*0x010)]))
232#define MCF_DMA_DSR0 (*(vuint8 *)(&__IPSBAR[0x000108]))
233#define MCF_DMA_DSR1 (*(vuint8 *)(&__IPSBAR[0x000118]))
234#define MCF_DMA_DSR2 (*(vuint8 *)(&__IPSBAR[0x000128]))
235#define MCF_DMA_DSR3 (*(vuint8 *)(&__IPSBAR[0x000138]))
236#define MCF_DMA_DSR(x) (*(vuint8 *)(&__IPSBAR[0x000108+((x)*0x010)]))
237#define MCF_DMA_BCR0 (*(vuint32*)(&__IPSBAR[0x000108]))
238#define MCF_DMA_BCR1 (*(vuint32*)(&__IPSBAR[0x000118]))
239#define MCF_DMA_BCR2 (*(vuint32*)(&__IPSBAR[0x000128]))
240#define MCF_DMA_BCR3 (*(vuint32*)(&__IPSBAR[0x000138]))
241#define MCF_DMA_BCR(x) (*(vuint32*)(&__IPSBAR[0x000108+((x)*0x010)]))
242#define MCF_DMA_DCR0 (*(vuint32*)(&__IPSBAR[0x00010C]))
243#define MCF_DMA_DCR1 (*(vuint32*)(&__IPSBAR[0x00011C]))
244#define MCF_DMA_DCR2 (*(vuint32*)(&__IPSBAR[0x00012C]))
245#define MCF_DMA_DCR3 (*(vuint32*)(&__IPSBAR[0x00013C]))
246#define MCF_DMA_DCR(x) (*(vuint32*)(&__IPSBAR[0x00010C+((x)*0x010)]))
247
248/* Bit definitions and macros for MCF_DMA_DMAREQC */
249#define MCF_DMA_DMAREQC_DMAC0(x) (((x)&0x0000000F)<<0)
250#define MCF_DMA_DMAREQC_DMAC1(x) (((x)&0x0000000F)<<4)
251#define MCF_DMA_DMAREQC_DMAC2(x) (((x)&0x0000000F)<<8)
252#define MCF_DMA_DMAREQC_DMAC3(x) (((x)&0x0000000F)<<12)
253#define MCF_DMA_DMAREQC_DMAREQC_EXT(x) (((x)&0x0000000F)<<16)
254
255/* Bit definitions and macros for MCF_DMA_SAR */
256#define MCF_DMA_SAR_SAR(x) (((x)&0xFFFFFFFF)<<0)
257
258/* Bit definitions and macros for MCF_DMA_DAR */
259#define MCF_DMA_DAR_DAR(x) (((x)&0xFFFFFFFF)<<0)
260
261/* Bit definitions and macros for MCF_DMA_DSR */
262#define MCF_DMA_DSR_DONE (0x01)
263#define MCF_DMA_DSR_BSY (0x02)
264#define MCF_DMA_DSR_REQ (0x04)
265#define MCF_DMA_DSR_BED (0x10)
266#define MCF_DMA_DSR_BES (0x20)
267#define MCF_DMA_DSR_CE (0x40)
268
269/* Bit definitions and macros for MCF_DMA_BCR */
270#define MCF_DMA_BCR_BCR(x) (((x)&0x00FFFFFF)<<0)
271#define MCF_DMA_BCR_DSR(x) (((x)&0x000000FF)<<24)
272
273/* Bit definitions and macros for MCF_DMA_DCR */
274#define MCF_DMA_DCR_LCH2(x) (((x)&0x00000003)<<0)
275#define MCF_DMA_DCR_LCH1(x) (((x)&0x00000003)<<2)
276#define MCF_DMA_DCR_LINKCC(x) (((x)&0x00000003)<<4)
277#define MCF_DMA_DCR_D_REQ (0x00000080)
278#define MCF_DMA_DCR_DMOD(x) (((x)&0x0000000F)<<8)
279#define MCF_DMA_DCR_SMOD(x) (((x)&0x0000000F)<<12)
280#define MCF_DMA_DCR_START (0x00010000)
281#define MCF_DMA_DCR_DSIZE(x) (((x)&0x00000003)<<17)
282#define MCF_DMA_DCR_DINC (0x00080000)
283#define MCF_DMA_DCR_SSIZE(x) (((x)&0x00000003)<<20)
284#define MCF_DMA_DCR_SINC (0x00400000)
285#define MCF_DMA_DCR_BWC(x) (((x)&0x00000007)<<25)
286#define MCF_DMA_DCR_AA (0x10000000)
287#define MCF_DMA_DCR_CS (0x20000000)
288#define MCF_DMA_DCR_EEXT (0x40000000)
289#define MCF_DMA_DCR_INT (0x80000000)
290#define MCF_DMA_DCR_BWC_16K (0x1)
291#define MCF_DMA_DCR_BWC_32K (0x2)
292#define MCF_DMA_DCR_BWC_64K (0x3)
293#define MCF_DMA_DCR_BWC_128K (0x4)
294#define MCF_DMA_DCR_BWC_256K (0x5)
295#define MCF_DMA_DCR_BWC_512K (0x6)
296#define MCF_DMA_DCR_BWC_1024K (0x7)
297#define MCF_DMA_DCR_DMOD_DIS (0x0)
298#define MCF_DMA_DCR_DMOD_16 (0x1)
299#define MCF_DMA_DCR_DMOD_32 (0x2)
300#define MCF_DMA_DCR_DMOD_64 (0x3)
301#define MCF_DMA_DCR_DMOD_128 (0x4)
302#define MCF_DMA_DCR_DMOD_256 (0x5)
303#define MCF_DMA_DCR_DMOD_512 (0x6)
304#define MCF_DMA_DCR_DMOD_1K (0x7)
305#define MCF_DMA_DCR_DMOD_2K (0x8)
306#define MCF_DMA_DCR_DMOD_4K (0x9)
307#define MCF_DMA_DCR_DMOD_8K (0xA)
308#define MCF_DMA_DCR_DMOD_16K (0xB)
309#define MCF_DMA_DCR_DMOD_32K (0xC)
310#define MCF_DMA_DCR_DMOD_64K (0xD)
311#define MCF_DMA_DCR_DMOD_128K (0xE)
312#define MCF_DMA_DCR_DMOD_256K (0xF)
313#define MCF_DMA_DCR_SMOD_DIS (0x0)
314#define MCF_DMA_DCR_SMOD_16 (0x1)
315#define MCF_DMA_DCR_SMOD_32 (0x2)
316#define MCF_DMA_DCR_SMOD_64 (0x3)
317#define MCF_DMA_DCR_SMOD_128 (0x4)
318#define MCF_DMA_DCR_SMOD_256 (0x5)
319#define MCF_DMA_DCR_SMOD_512 (0x6)
320#define MCF_DMA_DCR_SMOD_1K (0x7)
321#define MCF_DMA_DCR_SMOD_2K (0x8)
322#define MCF_DMA_DCR_SMOD_4K (0x9)
323#define MCF_DMA_DCR_SMOD_8K (0xA)
324#define MCF_DMA_DCR_SMOD_16K (0xB)
325#define MCF_DMA_DCR_SMOD_32K (0xC)
326#define MCF_DMA_DCR_SMOD_64K (0xD)
327#define MCF_DMA_DCR_SMOD_128K (0xE)
328#define MCF_DMA_DCR_SMOD_256K (0xF)
329#define MCF_DMA_DCR_SSIZE_LONG (0x0)
330#define MCF_DMA_DCR_SSIZE_BYTE (0x1)
331#define MCF_DMA_DCR_SSIZE_WORD (0x2)
332#define MCF_DMA_DCR_SSIZE_LINE (0x3)
333#define MCF_DMA_DCR_DSIZE_LONG (0x0)
334#define MCF_DMA_DCR_DSIZE_BYTE (0x1)
335#define MCF_DMA_DCR_DSIZE_WORD (0x2)
336#define MCF_DMA_DCR_DSIZE_LINE (0x3)
337#define MCF_DMA_DCR_LCH1_CH0 (0x0)
338#define MCF_DMA_DCR_LCH1_CH1 (0x1)
339#define MCF_DMA_DCR_LCH1_CH2 (0x2)
340#define MCF_DMA_DCR_LCH1_CH3 (0x3)
341#define MCF_DMA_DCR_LCH2_CH0 (0x0)
342#define MCF_DMA_DCR_LCH2_CH1 (0x1)
343#define MCF_DMA_DCR_LCH2_CH2 (0x2)
344#define MCF_DMA_DCR_LCH2_CH3 (0x3)
345
346
347/*********************************************************************
348*
349* Universal Asynchronous Receiver Transmitter (UART)
350*
351*********************************************************************/
352
353/* Register read/write macros */
354#define MCF_UART0_UMR (*(vuint8 *)(&__IPSBAR[0x000200]))
355#define MCF_UART0_USR (*(vuint8 *)(&__IPSBAR[0x000204]))
356#define MCF_UART0_UCSR (*(vuint8 *)(&__IPSBAR[0x000204]))
357#define MCF_UART0_UCR (*(vuint8 *)(&__IPSBAR[0x000208]))
358#define MCF_UART0_URB (*(vuint8 *)(&__IPSBAR[0x00020C]))
359#define MCF_UART0_UTB (*(vuint8 *)(&__IPSBAR[0x00020C]))
360#define MCF_UART0_UIPCR (*(vuint8 *)(&__IPSBAR[0x000210]))
361#define MCF_UART0_UACR (*(vuint8 *)(&__IPSBAR[0x000210]))
362#define MCF_UART0_UISR (*(vuint8 *)(&__IPSBAR[0x000214]))
363#define MCF_UART0_UIMR (*(vuint8 *)(&__IPSBAR[0x000214]))
364#define MCF_UART0_UBG1 (*(vuint8 *)(&__IPSBAR[0x000218]))
365#define MCF_UART0_UBG2 (*(vuint8 *)(&__IPSBAR[0x00021C]))
366#define MCF_UART0_UIP (*(vuint8 *)(&__IPSBAR[0x000234]))
367#define MCF_UART0_UOP1 (*(vuint8 *)(&__IPSBAR[0x000238]))
368#define MCF_UART0_UOP0 (*(vuint8 *)(&__IPSBAR[0x00023C]))
369#define MCF_UART1_UMR (*(vuint8 *)(&__IPSBAR[0x000240]))
370#define MCF_UART1_USR (*(vuint8 *)(&__IPSBAR[0x000244]))
371#define MCF_UART1_UCSR (*(vuint8 *)(&__IPSBAR[0x000244]))
372#define MCF_UART1_UCR (*(vuint8 *)(&__IPSBAR[0x000248]))
373#define MCF_UART1_URB (*(vuint8 *)(&__IPSBAR[0x00024C]))
374#define MCF_UART1_UTB (*(vuint8 *)(&__IPSBAR[0x00024C]))
375#define MCF_UART1_UIPCR (*(vuint8 *)(&__IPSBAR[0x000250]))
376#define MCF_UART1_UACR (*(vuint8 *)(&__IPSBAR[0x000250]))
377#define MCF_UART1_UISR (*(vuint8 *)(&__IPSBAR[0x000254]))
378#define MCF_UART1_UIMR (*(vuint8 *)(&__IPSBAR[0x000254]))
379#define MCF_UART1_UBG1 (*(vuint8 *)(&__IPSBAR[0x000258]))
380#define MCF_UART1_UBG2 (*(vuint8 *)(&__IPSBAR[0x00025C]))
381#define MCF_UART1_UIP (*(vuint8 *)(&__IPSBAR[0x000274]))
382#define MCF_UART1_UOP1 (*(vuint8 *)(&__IPSBAR[0x000278]))
383#define MCF_UART1_UOP0 (*(vuint8 *)(&__IPSBAR[0x00027C]))
384#define MCF_UART2_UMR (*(vuint8 *)(&__IPSBAR[0x000280]))
385#define MCF_UART2_USR (*(vuint8 *)(&__IPSBAR[0x000284]))
386#define MCF_UART2_UCSR (*(vuint8 *)(&__IPSBAR[0x000284]))
387#define MCF_UART2_UCR (*(vuint8 *)(&__IPSBAR[0x000288]))
388#define MCF_UART2_URB (*(vuint8 *)(&__IPSBAR[0x00028C]))
389#define MCF_UART2_UTB (*(vuint8 *)(&__IPSBAR[0x00028C]))
390#define MCF_UART2_UIPCR (*(vuint8 *)(&__IPSBAR[0x000290]))
391#define MCF_UART2_UACR (*(vuint8 *)(&__IPSBAR[0x000290]))
392#define MCF_UART2_UISR (*(vuint8 *)(&__IPSBAR[0x000294]))
393#define MCF_UART2_UIMR (*(vuint8 *)(&__IPSBAR[0x000294]))
394#define MCF_UART2_UBG1 (*(vuint8 *)(&__IPSBAR[0x000298]))
395#define MCF_UART2_UBG2 (*(vuint8 *)(&__IPSBAR[0x00029C]))
396#define MCF_UART2_UIP (*(vuint8 *)(&__IPSBAR[0x0002B4]))
397#define MCF_UART2_UOP1 (*(vuint8 *)(&__IPSBAR[0x0002B8]))
398#define MCF_UART2_UOP0 (*(vuint8 *)(&__IPSBAR[0x0002BC]))
399#define MCF_UART_UMR(x) (*(vuint8 *)(&__IPSBAR[0x000200+((x)*0x040)]))
400#define MCF_UART_USR(x) (*(vuint8 *)(&__IPSBAR[0x000204+((x)*0x040)]))
401#define MCF_UART_UCSR(x) (*(vuint8 *)(&__IPSBAR[0x000204+((x)*0x040)]))
402#define MCF_UART_UCR(x) (*(vuint8 *)(&__IPSBAR[0x000208+((x)*0x040)]))
403#define MCF_UART_URB(x) (*(vuint8 *)(&__IPSBAR[0x00020C+((x)*0x040)]))
404#define MCF_UART_UTB(x) (*(vuint8 *)(&__IPSBAR[0x00020C+((x)*0x040)]))
405#define MCF_UART_UIPCR(x) (*(vuint8 *)(&__IPSBAR[0x000210+((x)*0x040)]))
406#define MCF_UART_UACR(x) (*(vuint8 *)(&__IPSBAR[0x000210+((x)*0x040)]))
407#define MCF_UART_UISR(x) (*(vuint8 *)(&__IPSBAR[0x000214+((x)*0x040)]))
408#define MCF_UART_UIMR(x) (*(vuint8 *)(&__IPSBAR[0x000214+((x)*0x040)]))
409#define MCF_UART_UBG1(x) (*(vuint8 *)(&__IPSBAR[0x000218+((x)*0x040)]))
410#define MCF_UART_UBG2(x) (*(vuint8 *)(&__IPSBAR[0x00021C+((x)*0x040)]))
411#define MCF_UART_UIP(x) (*(vuint8 *)(&__IPSBAR[0x000234+((x)*0x040)]))
412#define MCF_UART_UOP1(x) (*(vuint8 *)(&__IPSBAR[0x000238+((x)*0x040)]))
413#define MCF_UART_UOP0(x) (*(vuint8 *)(&__IPSBAR[0x00023C+((x)*0x040)]))
414
415/* Bit definitions and macros for MCF_UART_UMR */
416#define MCF_UART_UMR_BC(x) (((x)&0x03)<<0)
417#define MCF_UART_UMR_PT (0x04)
418#define MCF_UART_UMR_PM(x) (((x)&0x03)<<3)
419#define MCF_UART_UMR_ERR (0x20)
420#define MCF_UART_UMR_RXIRQ (0x40)
421#define MCF_UART_UMR_RXRTS (0x80)
422#define MCF_UART_UMR_SB(x) (((x)&0x0F)<<0)
423#define MCF_UART_UMR_TXCTS (0x10)
424#define MCF_UART_UMR_TXRTS (0x20)
425#define MCF_UART_UMR_CM(x) (((x)&0x03)<<6)
426#define MCF_UART_UMR_PM_MULTI_ADDR (0x1C)
427#define MCF_UART_UMR_PM_MULTI_DATA (0x18)
428#define MCF_UART_UMR_PM_NONE (0x10)
429#define MCF_UART_UMR_PM_FORCE_HI (0x0C)
430#define MCF_UART_UMR_PM_FORCE_LO (0x08)
431#define MCF_UART_UMR_PM_ODD (0x04)
432#define MCF_UART_UMR_PM_EVEN (0x00)
433#define MCF_UART_UMR_BC_5 (0x00)
434#define MCF_UART_UMR_BC_6 (0x01)
435#define MCF_UART_UMR_BC_7 (0x02)
436#define MCF_UART_UMR_BC_8 (0x03)
437#define MCF_UART_UMR_CM_NORMAL (0x00)
438#define MCF_UART_UMR_CM_ECHO (0x40)
439#define MCF_UART_UMR_CM_LOCAL_LOOP (0x80)
440#define MCF_UART_UMR_CM_REMOTE_LOOP (0xC0)
441#define MCF_UART_UMR_SB_STOP_BITS_1 (0x07)
442#define MCF_UART_UMR_SB_STOP_BITS_15 (0x08)
443#define MCF_UART_UMR_SB_STOP_BITS_2 (0x0F)
444
445/* Bit definitions and macros for MCF_UART_USR */
446#define MCF_UART_USR_RXRDY (0x01)
447#define MCF_UART_USR_FFULL (0x02)
448#define MCF_UART_USR_TXRDY (0x04)
449#define MCF_UART_USR_TXEMP (0x08)
450#define MCF_UART_USR_OE (0x10)
451#define MCF_UART_USR_PE (0x20)
452#define MCF_UART_USR_FE (0x40)
453#define MCF_UART_USR_RB (0x80)
454
455/* Bit definitions and macros for MCF_UART_UCSR */
456#define MCF_UART_UCSR_TCS(x) (((x)&0x0F)<<0)
457#define MCF_UART_UCSR_RCS(x) (((x)&0x0F)<<4)
458#define MCF_UART_UCSR_RCS_SYS_CLK (0xD0)
459#define MCF_UART_UCSR_RCS_CTM16 (0xE0)
460#define MCF_UART_UCSR_RCS_CTM (0xF0)
461#define MCF_UART_UCSR_TCS_SYS_CLK (0x0D)
462#define MCF_UART_UCSR_TCS_CTM16 (0x0E)
463#define MCF_UART_UCSR_TCS_CTM (0x0F)
464
465/* Bit definitions and macros for MCF_UART_UCR */
466#define MCF_UART_UCR_RXC(x) (((x)&0x03)<<0)
467#define MCF_UART_UCR_TXC(x) (((x)&0x03)<<2)
468#define MCF_UART_UCR_MISC(x) (((x)&0x07)<<4)
469#define MCF_UART_UCR_NONE (0x00)
470#define MCF_UART_UCR_STOP_BREAK (0x70)
471#define MCF_UART_UCR_START_BREAK (0x60)
472#define MCF_UART_UCR_BKCHGINT (0x50)
473#define MCF_UART_UCR_RESET_ERROR (0x40)
474#define MCF_UART_UCR_RESET_TX (0x30)
475#define MCF_UART_UCR_RESET_RX (0x20)
476#define MCF_UART_UCR_RESET_MR (0x10)
477#define MCF_UART_UCR_TX_DISABLED (0x08)
478#define MCF_UART_UCR_TX_ENABLED (0x04)
479#define MCF_UART_UCR_RX_DISABLED (0x02)
480#define MCF_UART_UCR_RX_ENABLED (0x01)
481
482/* Bit definitions and macros for MCF_UART_UIPCR */
483#define MCF_UART_UIPCR_CTS (0x01)
484#define MCF_UART_UIPCR_COS (0x10)
485
486/* Bit definitions and macros for MCF_UART_UACR */
487#define MCF_UART_UACR_IEC (0x01)
488
489/* Bit definitions and macros for MCF_UART_UISR */
490#define MCF_UART_UISR_TXRDY (0x01)
491#define MCF_UART_UISR_RXRDY_FU (0x02)
492#define MCF_UART_UISR_DB (0x04)
493#define MCF_UART_UISR_RXFTO (0x08)
494#define MCF_UART_UISR_TXFIFO (0x10)
495#define MCF_UART_UISR_RXFIFO (0x20)
496#define MCF_UART_UISR_COS (0x80)
497
498/* Bit definitions and macros for MCF_UART_UIMR */
499#define MCF_UART_UIMR_TXRDY (0x01)
500#define MCF_UART_UIMR_RXRDY_FU (0x02)
501#define MCF_UART_UIMR_DB (0x04)
502#define MCF_UART_UIMR_COS (0x80)
503
504/* Bit definitions and macros for MCF_UART_UIP */
505#define MCF_UART_UIP_CTS (0x01)
506
507/* Bit definitions and macros for MCF_UART_UOP1 */
508#define MCF_UART_UOP1_RTS (0x01)
509
510/* Bit definitions and macros for MCF_UART_UOP0 */
511#define MCF_UART_UOP0_RTS (0x01)
512
513/*********************************************************************
514*
515* I2C Module (I2C)
516*
517*********************************************************************/
518
519/* Register read/write macros */
520#define MCF_I2C_I2AR (*(vuint8 *)(&__IPSBAR[0x000300]))
521#define MCF_I2C_I2FDR (*(vuint8 *)(&__IPSBAR[0x000304]))
522#define MCF_I2C_I2CR (*(vuint8 *)(&__IPSBAR[0x000308]))
523#define MCF_I2C_I2SR (*(vuint8 *)(&__IPSBAR[0x00030C]))
524#define MCF_I2C_I2DR (*(vuint8 *)(&__IPSBAR[0x000310]))
525
526/* Bit definitions and macros for MCF_I2C_I2AR */
527#define MCF_I2C_I2AR_ADR(x) (((x)&0x7F)<<1)
528
529/* Bit definitions and macros for MCF_I2C_I2FDR */
530#define MCF_I2C_I2FDR_IC(x) (((x)&0x3F)<<0)
531
532/* Bit definitions and macros for MCF_I2C_I2CR */
533#define MCF_I2C_I2CR_RSTA (0x04)
534#define MCF_I2C_I2CR_TXAK (0x08)
535#define MCF_I2C_I2CR_MTX (0x10)
536#define MCF_I2C_I2CR_MSTA (0x20)
537#define MCF_I2C_I2CR_IIEN (0x40)
538#define MCF_I2C_I2CR_IEN (0x80)
539
540/* Bit definitions and macros for MCF_I2C_I2SR */
541#define MCF_I2C_I2SR_RXAK (0x01)
542#define MCF_I2C_I2SR_IIF (0x02)
543#define MCF_I2C_I2SR_SRW (0x04)
544#define MCF_I2C_I2SR_IAL (0x10)
545#define MCF_I2C_I2SR_IBB (0x20)
546#define MCF_I2C_I2SR_IAAS (0x40)
547#define MCF_I2C_I2SR_ICF (0x80)
548
549/* Bit definitions and macros for MCF_I2C_I2DR */
550#define MCF_I2C_I2DR_DATA(x) (((x)&0xFF)<<0)
551
552/* Bit definitions and macros for MCF_I2C_I2ICR */
553#define MCF_I2C_I2ICR_IE (0x01)
554#define MCF_I2C_I2ICR_RE (0x02)
555#define MCF_I2C_I2ICR_TE (0x04)
556#define MCF_I2C_I2ICR_BNBE (0x08)
557
558/*********************************************************************
559*
560* Queued Serial Peripheral Interface (QSPI)
561*
562*********************************************************************/
563
564/* Register read/write macros */
565#define MCF_QSPI_QMR (*(vuint16*)(&__IPSBAR[0x000340]))
566#define MCF_QSPI_QDLYR (*(vuint16*)(&__IPSBAR[0x000344]))
567#define MCF_QSPI_QWR (*(vuint16*)(&__IPSBAR[0x000348]))
568#define MCF_QSPI_QIR (*(vuint16*)(&__IPSBAR[0x00034C]))
569#define MCF_QSPI_QAR (*(vuint16*)(&__IPSBAR[0x000350]))
570#define MCF_QSPI_QDR (*(vuint16*)(&__IPSBAR[0x000354]))
571
572/* Bit definitions and macros for MCF_QSPI_QMR */
573#define MCF_QSPI_QMR_BAUD(x) (((x)&0x00FF)<<0)
574#define MCF_QSPI_QMR_CPHA (0x0100)
575#define MCF_QSPI_QMR_CPOL (0x0200)
576#define MCF_QSPI_QMR_BITS(x) (((x)&0x000F)<<10)
577#define MCF_QSPI_QMR_DOHIE (0x4000)
578#define MCF_QSPI_QMR_MSTR (0x8000)
579
580/* Bit definitions and macros for MCF_QSPI_QDLYR */
581#define MCF_QSPI_QDLYR_DTL(x) (((x)&0x00FF)<<0)
582#define MCF_QSPI_QDLYR_QCD(x) (((x)&0x007F)<<8)
583#define MCF_QSPI_QDLYR_SPE (0x8000)
584
585/* Bit definitions and macros for MCF_QSPI_QWR */
586#define MCF_QSPI_QWR_NEWQP(x) (((x)&0x000F)<<0)
587#define MCF_QSPI_QWR_ENDQP(x) (((x)&0x000F)<<8)
588#define MCF_QSPI_QWR_CSIV (0x1000)
589#define MCF_QSPI_QWR_WRTO (0x2000)
590#define MCF_QSPI_QWR_WREN (0x4000)
591#define MCF_QSPI_QWR_HALT (0x8000)
592
593/* Bit definitions and macros for MCF_QSPI_QIR */
594#define MCF_QSPI_QIR_SPIF (0x0001)
595#define MCF_QSPI_QIR_ABRT (0x0004)
596#define MCF_QSPI_QIR_WCEF (0x0008)
597#define MCF_QSPI_QIR_SPIFE (0x0100)
598#define MCF_QSPI_QIR_ABRTE (0x0400)
599#define MCF_QSPI_QIR_WCEFE (0x0800)
600#define MCF_QSPI_QIR_ABRTL (0x1000)
601#define MCF_QSPI_QIR_ABRTB (0x4000)
602#define MCF_QSPI_QIR_WCEFB (0x8000)
603
604/* Bit definitions and macros for MCF_QSPI_QAR */
605#define MCF_QSPI_QAR_ADDR(x) (((x)&0x003F)<<0)
606
607/* Bit definitions and macros for MCF_QSPI_QDR */
608#define MCF_QSPI_QDR_DATA(x) (((x)&0xFFFF)<<0)
609
610/*********************************************************************
611*
612* DMA Timers (DTIM)
613*
614*********************************************************************/
615
616/* Register read/write macros */
617#define MCF_DTIM0_DTMR (*(vuint16*)(&__IPSBAR[0x000400]))
618#define MCF_DTIM0_DTXMR (*(vuint8 *)(&__IPSBAR[0x000402]))
619#define MCF_DTIM0_DTER (*(vuint8 *)(&__IPSBAR[0x000403]))
620#define MCF_DTIM0_DTRR (*(vuint32*)(&__IPSBAR[0x000404]))
621#define MCF_DTIM0_DTCR (*(vuint32*)(&__IPSBAR[0x000408]))
622#define MCF_DTIM0_DTCN (*(vuint32*)(&__IPSBAR[0x00040C]))
623#define MCF_DTIM1_DTMR (*(vuint16*)(&__IPSBAR[0x000440]))
624#define MCF_DTIM1_DTXMR (*(vuint8 *)(&__IPSBAR[0x000442]))
625#define MCF_DTIM1_DTER (*(vuint8 *)(&__IPSBAR[0x000443]))
626#define MCF_DTIM1_DTRR (*(vuint32*)(&__IPSBAR[0x000444]))
627#define MCF_DTIM1_DTCR (*(vuint32*)(&__IPSBAR[0x000448]))
628#define MCF_DTIM1_DTCN (*(vuint32*)(&__IPSBAR[0x00044C]))
629#define MCF_DTIM2_DTMR (*(vuint16*)(&__IPSBAR[0x000480]))
630#define MCF_DTIM2_DTXMR (*(vuint8 *)(&__IPSBAR[0x000482]))
631#define MCF_DTIM2_DTER (*(vuint8 *)(&__IPSBAR[0x000483]))
632#define MCF_DTIM2_DTRR (*(vuint32*)(&__IPSBAR[0x000484]))
633#define MCF_DTIM2_DTCR (*(vuint32*)(&__IPSBAR[0x000488]))
634#define MCF_DTIM2_DTCN (*(vuint32*)(&__IPSBAR[0x00048C]))
635#define MCF_DTIM3_DTMR (*(vuint16*)(&__IPSBAR[0x0004C0]))
636#define MCF_DTIM3_DTXMR (*(vuint8 *)(&__IPSBAR[0x0004C2]))
637#define MCF_DTIM3_DTER (*(vuint8 *)(&__IPSBAR[0x0004C3]))
638#define MCF_DTIM3_DTRR (*(vuint32*)(&__IPSBAR[0x0004C4]))
639#define MCF_DTIM3_DTCR (*(vuint32*)(&__IPSBAR[0x0004C8]))
640#define MCF_DTIM3_DTCN (*(vuint32*)(&__IPSBAR[0x0004CC]))
641#define MCF_DTIM_DTMR(x) (*(vuint16*)(&__IPSBAR[0x000400+((x)*0x040)]))
642#define MCF_DTIM_DTXMR(x) (*(vuint8 *)(&__IPSBAR[0x000402+((x)*0x040)]))
643#define MCF_DTIM_DTER(x) (*(vuint8 *)(&__IPSBAR[0x000403+((x)*0x040)]))
644#define MCF_DTIM_DTRR(x) (*(vuint32*)(&__IPSBAR[0x000404+((x)*0x040)]))
645#define MCF_DTIM_DTCR(x) (*(vuint32*)(&__IPSBAR[0x000408+((x)*0x040)]))
646#define MCF_DTIM_DTCN(x) (*(vuint32*)(&__IPSBAR[0x00040C+((x)*0x040)]))
647
648/* Bit definitions and macros for MCF_DTIM_DTMR */
649#define MCF_DTIM_DTMR_RST (0x0001)
650#define MCF_DTIM_DTMR_CLK(x) (((x)&0x0003)<<1)
651#define MCF_DTIM_DTMR_FRR (0x0008)
652#define MCF_DTIM_DTMR_ORRI (0x0010)
653#define MCF_DTIM_DTMR_OM (0x0020)
654#define MCF_DTIM_DTMR_CE(x) (((x)&0x0003)<<6)
655#define MCF_DTIM_DTMR_PS(x) (((x)&0x00FF)<<8)
656#define MCF_DTIM_DTMR_CE_ANY (0x00C0)
657#define MCF_DTIM_DTMR_CE_FALL (0x0080)
658#define MCF_DTIM_DTMR_CE_RISE (0x0040)
659#define MCF_DTIM_DTMR_CE_NONE (0x0000)
660#define MCF_DTIM_DTMR_CLK_DTIN (0x0006)
661#define MCF_DTIM_DTMR_CLK_DIV16 (0x0004)
662#define MCF_DTIM_DTMR_CLK_DIV1 (0x0002)
663#define MCF_DTIM_DTMR_CLK_STOP (0x0000)
664
665/* Bit definitions and macros for MCF_DTIM_DTXMR */
666#define MCF_DTIM_DTXMR_MODE16 (0x01)
667#define MCF_DTIM_DTXMR_DMAEN (0x80)
668
669/* Bit definitions and macros for MCF_DTIM_DTER */
670#define MCF_DTIM_DTER_CAP (0x01)
671#define MCF_DTIM_DTER_REF (0x02)
672
673/* Bit definitions and macros for MCF_DTIM_DTRR */
674#define MCF_DTIM_DTRR_REF(x) (((x)&0xFFFFFFFF)<<0)
675
676/* Bit definitions and macros for MCF_DTIM_DTCR */
677#define MCF_DTIM_DTCR_CAP(x) (((x)&0xFFFFFFFF)<<0)
678
679/* Bit definitions and macros for MCF_DTIM_DTCN */
680#define MCF_DTIM_DTCN_CNT(x) (((x)&0xFFFFFFFF)<<0)
681
682/*********************************************************************
683*
684* Interrupt Controller (INTC)
685*
686*********************************************************************/
687
688/* Register read/write macros */
689#define MCF_INTC0_IPRH (*(vuint32*)(&__IPSBAR[0x000C00]))
690#define MCF_INTC0_IPRL (*(vuint32*)(&__IPSBAR[0x000C04]))
691#define MCF_INTC0_IMRH (*(vuint32*)(&__IPSBAR[0x000C08]))
692#define MCF_INTC0_IMRL (*(vuint32*)(&__IPSBAR[0x000C0C]))
693#define MCF_INTC0_INTFRCH (*(vuint32*)(&__IPSBAR[0x000C10]))
694#define MCF_INTC0_INTFRCL (*(vuint32*)(&__IPSBAR[0x000C14]))
695#define MCF_INTC0_IRLR (*(vuint8 *)(&__IPSBAR[0x000C18]))
696#define MCF_INTC0_IACKLPR (*(vuint8 *)(&__IPSBAR[0x000C19]))
697#define MCF_INTC0_ICR1 (*(vuint8 *)(&__IPSBAR[0x000C41]))
698#define MCF_INTC0_ICR2 (*(vuint8 *)(&__IPSBAR[0x000C42]))
699#define MCF_INTC0_ICR3 (*(vuint8 *)(&__IPSBAR[0x000C43]))
700#define MCF_INTC0_ICR4 (*(vuint8 *)(&__IPSBAR[0x000C44]))
701#define MCF_INTC0_ICR5 (*(vuint8 *)(&__IPSBAR[0x000C45]))
702#define MCF_INTC0_ICR6 (*(vuint8 *)(&__IPSBAR[0x000C46]))
703#define MCF_INTC0_ICR7 (*(vuint8 *)(&__IPSBAR[0x000C47]))
704#define MCF_INTC0_ICR8 (*(vuint8 *)(&__IPSBAR[0x000C48]))
705#define MCF_INTC0_ICR9 (*(vuint8 *)(&__IPSBAR[0x000C49]))
706#define MCF_INTC0_ICR10 (*(vuint8 *)(&__IPSBAR[0x000C4A]))
707#define MCF_INTC0_ICR11 (*(vuint8 *)(&__IPSBAR[0x000C4B]))
708#define MCF_INTC0_ICR12 (*(vuint8 *)(&__IPSBAR[0x000C4C]))
709#define MCF_INTC0_ICR13 (*(vuint8 *)(&__IPSBAR[0x000C4D]))
710#define MCF_INTC0_ICR14 (*(vuint8 *)(&__IPSBAR[0x000C4E]))
711#define MCF_INTC0_ICR15 (*(vuint8 *)(&__IPSBAR[0x000C4F]))
712#define MCF_INTC0_ICR16 (*(vuint8 *)(&__IPSBAR[0x000C50]))
713#define MCF_INTC0_ICR17 (*(vuint8 *)(&__IPSBAR[0x000C51]))
714#define MCF_INTC0_ICR18 (*(vuint8 *)(&__IPSBAR[0x000C52]))
715#define MCF_INTC0_ICR19 (*(vuint8 *)(&__IPSBAR[0x000C53]))
716#define MCF_INTC0_ICR20 (*(vuint8 *)(&__IPSBAR[0x000C54]))
717#define MCF_INTC0_ICR21 (*(vuint8 *)(&__IPSBAR[0x000C55]))
718#define MCF_INTC0_ICR22 (*(vuint8 *)(&__IPSBAR[0x000C56]))
719#define MCF_INTC0_ICR23 (*(vuint8 *)(&__IPSBAR[0x000C57]))
720#define MCF_INTC0_ICR24 (*(vuint8 *)(&__IPSBAR[0x000C58]))
721#define MCF_INTC0_ICR25 (*(vuint8 *)(&__IPSBAR[0x000C59]))
722#define MCF_INTC0_ICR26 (*(vuint8 *)(&__IPSBAR[0x000C5A]))
723#define MCF_INTC0_ICR27 (*(vuint8 *)(&__IPSBAR[0x000C5B]))
724#define MCF_INTC0_ICR28 (*(vuint8 *)(&__IPSBAR[0x000C5C]))
725#define MCF_INTC0_ICR29 (*(vuint8 *)(&__IPSBAR[0x000C5D]))
726#define MCF_INTC0_ICR30 (*(vuint8 *)(&__IPSBAR[0x000C5E]))
727#define MCF_INTC0_ICR31 (*(vuint8 *)(&__IPSBAR[0x000C5F]))
728#define MCF_INTC0_ICR32 (*(vuint8 *)(&__IPSBAR[0x000C60]))
729#define MCF_INTC0_ICR33 (*(vuint8 *)(&__IPSBAR[0x000C61]))
730#define MCF_INTC0_ICR34 (*(vuint8 *)(&__IPSBAR[0x000C62]))
731#define MCF_INTC0_ICR35 (*(vuint8 *)(&__IPSBAR[0x000C63]))
732#define MCF_INTC0_ICR36 (*(vuint8 *)(&__IPSBAR[0x000C64]))
733#define MCF_INTC0_ICR37 (*(vuint8 *)(&__IPSBAR[0x000C65]))
734#define MCF_INTC0_ICR38 (*(vuint8 *)(&__IPSBAR[0x000C66]))
735#define MCF_INTC0_ICR39 (*(vuint8 *)(&__IPSBAR[0x000C67]))
736#define MCF_INTC0_ICR40 (*(vuint8 *)(&__IPSBAR[0x000C68]))
737#define MCF_INTC0_ICR41 (*(vuint8 *)(&__IPSBAR[0x000C69]))
738#define MCF_INTC0_ICR42 (*(vuint8 *)(&__IPSBAR[0x000C6A]))
739#define MCF_INTC0_ICR43 (*(vuint8 *)(&__IPSBAR[0x000C6B]))
740#define MCF_INTC0_ICR44 (*(vuint8 *)(&__IPSBAR[0x000C6C]))
741#define MCF_INTC0_ICR45 (*(vuint8 *)(&__IPSBAR[0x000C6D]))
742#define MCF_INTC0_ICR46 (*(vuint8 *)(&__IPSBAR[0x000C6E]))
743#define MCF_INTC0_ICR47 (*(vuint8 *)(&__IPSBAR[0x000C6F]))
744#define MCF_INTC0_ICR48 (*(vuint8 *)(&__IPSBAR[0x000C70]))
745#define MCF_INTC0_ICR49 (*(vuint8 *)(&__IPSBAR[0x000C71]))
746#define MCF_INTC0_ICR50 (*(vuint8 *)(&__IPSBAR[0x000C72]))
747#define MCF_INTC0_ICR51 (*(vuint8 *)(&__IPSBAR[0x000C73]))
748#define MCF_INTC0_ICR52 (*(vuint8 *)(&__IPSBAR[0x000C74]))
749#define MCF_INTC0_ICR53 (*(vuint8 *)(&__IPSBAR[0x000C75]))
750#define MCF_INTC0_ICR54 (*(vuint8 *)(&__IPSBAR[0x000C76]))
751#define MCF_INTC0_ICR55 (*(vuint8 *)(&__IPSBAR[0x000C77]))
752#define MCF_INTC0_ICR56 (*(vuint8 *)(&__IPSBAR[0x000C78]))
753#define MCF_INTC0_ICR57 (*(vuint8 *)(&__IPSBAR[0x000C79]))
754#define MCF_INTC0_ICR58 (*(vuint8 *)(&__IPSBAR[0x000C7A]))
755#define MCF_INTC0_ICR59 (*(vuint8 *)(&__IPSBAR[0x000C7B]))
756#define MCF_INTC0_ICR60 (*(vuint8 *)(&__IPSBAR[0x000C7C]))
757#define MCF_INTC0_ICR61 (*(vuint8 *)(&__IPSBAR[0x000C7D]))
758#define MCF_INTC0_ICR62 (*(vuint8 *)(&__IPSBAR[0x000C7E]))
759#define MCF_INTC0_ICR63 (*(vuint8 *)(&__IPSBAR[0x000C7F]))
760#define MCF_INTC0_ICR(x) (*(vuint8 *)(&__IPSBAR[0x000C41+((x-1)*0x001)]))
761#define MCF_INTC0_SWIACK (*(vuint8 *)(&__IPSBAR[0x000CE0]))
762#define MCF_INTC0_L1IACK (*(vuint8 *)(&__IPSBAR[0x000CE4]))
763#define MCF_INTC0_L2IACK (*(vuint8 *)(&__IPSBAR[0x000CE8]))
764#define MCF_INTC0_L3IACK (*(vuint8 *)(&__IPSBAR[0x000CEC]))
765#define MCF_INTC0_L4IACK (*(vuint8 *)(&__IPSBAR[0x000CF0]))
766#define MCF_INTC0_L5IACK (*(vuint8 *)(&__IPSBAR[0x000CF4]))
767#define MCF_INTC0_L6IACK (*(vuint8 *)(&__IPSBAR[0x000CF8]))
768#define MCF_INTC0_L7IACK (*(vuint8 *)(&__IPSBAR[0x000CFC]))
769#define MCF_INTC0_LIACK(x) (*(vuint8 *)(&__IPSBAR[0x000CE4+((x-1)*0x004)]))
770#define MCF_INTC1_IPRH (*(vuint32*)(&__IPSBAR[0x000D00]))
771#define MCF_INTC1_IPRL (*(vuint32*)(&__IPSBAR[0x000D04]))
772#define MCF_INTC1_IMRH (*(vuint32*)(&__IPSBAR[0x000D08]))
773#define MCF_INTC1_IMRL (*(vuint32*)(&__IPSBAR[0x000D0C]))
774#define MCF_INTC1_INTFRCH (*(vuint32*)(&__IPSBAR[0x000D10]))
775#define MCF_INTC1_INTFRCL (*(vuint32*)(&__IPSBAR[0x000D14]))
776#define MCF_INTC1_IRLR (*(vuint8 *)(&__IPSBAR[0x000D18]))
777#define MCF_INTC1_IACKLPR (*(vuint8 *)(&__IPSBAR[0x000D19]))
778#define MCF_INTC1_ICR1 (*(vuint8 *)(&__IPSBAR[0x000D41]))
779#define MCF_INTC1_ICR2 (*(vuint8 *)(&__IPSBAR[0x000D42]))
780#define MCF_INTC1_ICR3 (*(vuint8 *)(&__IPSBAR[0x000D43]))
781#define MCF_INTC1_ICR4 (*(vuint8 *)(&__IPSBAR[0x000D44]))
782#define MCF_INTC1_ICR5 (*(vuint8 *)(&__IPSBAR[0x000D45]))
783#define MCF_INTC1_ICR6 (*(vuint8 *)(&__IPSBAR[0x000D46]))
784#define MCF_INTC1_ICR7 (*(vuint8 *)(&__IPSBAR[0x000D47]))
785#define MCF_INTC1_ICR8 (*(vuint8 *)(&__IPSBAR[0x000D48]))
786#define MCF_INTC1_ICR9 (*(vuint8 *)(&__IPSBAR[0x000D49]))
787#define MCF_INTC1_ICR10 (*(vuint8 *)(&__IPSBAR[0x000D4A]))
788#define MCF_INTC1_ICR11 (*(vuint8 *)(&__IPSBAR[0x000D4B]))
789#define MCF_INTC1_ICR12 (*(vuint8 *)(&__IPSBAR[0x000D4C]))
790#define MCF_INTC1_ICR13 (*(vuint8 *)(&__IPSBAR[0x000D4D]))
791#define MCF_INTC1_ICR14 (*(vuint8 *)(&__IPSBAR[0x000D4E]))
792#define MCF_INTC1_ICR15 (*(vuint8 *)(&__IPSBAR[0x000D4F]))
793#define MCF_INTC1_ICR16 (*(vuint8 *)(&__IPSBAR[0x000D50]))
794#define MCF_INTC1_ICR17 (*(vuint8 *)(&__IPSBAR[0x000D51]))
795#define MCF_INTC1_ICR18 (*(vuint8 *)(&__IPSBAR[0x000D52]))
796#define MCF_INTC1_ICR19 (*(vuint8 *)(&__IPSBAR[0x000D53]))
797#define MCF_INTC1_ICR20 (*(vuint8 *)(&__IPSBAR[0x000D54]))
798#define MCF_INTC1_ICR21 (*(vuint8 *)(&__IPSBAR[0x000D55]))
799#define MCF_INTC1_ICR22 (*(vuint8 *)(&__IPSBAR[0x000D56]))
800#define MCF_INTC1_ICR23 (*(vuint8 *)(&__IPSBAR[0x000D57]))
801#define MCF_INTC1_ICR24 (*(vuint8 *)(&__IPSBAR[0x000D58]))
802#define MCF_INTC1_ICR25 (*(vuint8 *)(&__IPSBAR[0x000D59]))
803#define MCF_INTC1_ICR26 (*(vuint8 *)(&__IPSBAR[0x000D5A]))
804#define MCF_INTC1_ICR27 (*(vuint8 *)(&__IPSBAR[0x000D5B]))
805#define MCF_INTC1_ICR28 (*(vuint8 *)(&__IPSBAR[0x000D5C]))
806#define MCF_INTC1_ICR29 (*(vuint8 *)(&__IPSBAR[0x000D5D]))
807#define MCF_INTC1_ICR30 (*(vuint8 *)(&__IPSBAR[0x000D5E]))
808#define MCF_INTC1_ICR31 (*(vuint8 *)(&__IPSBAR[0x000D5F]))
809#define MCF_INTC1_ICR32 (*(vuint8 *)(&__IPSBAR[0x000D60]))
810#define MCF_INTC1_ICR33 (*(vuint8 *)(&__IPSBAR[0x000D61]))
811#define MCF_INTC1_ICR34 (*(vuint8 *)(&__IPSBAR[0x000D62]))
812#define MCF_INTC1_ICR35 (*(vuint8 *)(&__IPSBAR[0x000D63]))
813#define MCF_INTC1_ICR36 (*(vuint8 *)(&__IPSBAR[0x000D64]))
814#define MCF_INTC1_ICR37 (*(vuint8 *)(&__IPSBAR[0x000D65]))
815#define MCF_INTC1_ICR38 (*(vuint8 *)(&__IPSBAR[0x000D66]))
816#define MCF_INTC1_ICR39 (*(vuint8 *)(&__IPSBAR[0x000D67]))
817#define MCF_INTC1_ICR40 (*(vuint8 *)(&__IPSBAR[0x000D68]))
818#define MCF_INTC1_ICR41 (*(vuint8 *)(&__IPSBAR[0x000D69]))
819#define MCF_INTC1_ICR42 (*(vuint8 *)(&__IPSBAR[0x000D6A]))
820#define MCF_INTC1_ICR43 (*(vuint8 *)(&__IPSBAR[0x000D6B]))
821#define MCF_INTC1_ICR44 (*(vuint8 *)(&__IPSBAR[0x000D6C]))
822#define MCF_INTC1_ICR45 (*(vuint8 *)(&__IPSBAR[0x000D6D]))
823#define MCF_INTC1_ICR46 (*(vuint8 *)(&__IPSBAR[0x000D6E]))
824#define MCF_INTC1_ICR47 (*(vuint8 *)(&__IPSBAR[0x000D6F]))
825#define MCF_INTC1_ICR48 (*(vuint8 *)(&__IPSBAR[0x000D70]))
826#define MCF_INTC1_ICR49 (*(vuint8 *)(&__IPSBAR[0x000D71]))
827#define MCF_INTC1_ICR50 (*(vuint8 *)(&__IPSBAR[0x000D72]))
828#define MCF_INTC1_ICR51 (*(vuint8 *)(&__IPSBAR[0x000D73]))
829#define MCF_INTC1_ICR52 (*(vuint8 *)(&__IPSBAR[0x000D74]))
830#define MCF_INTC1_ICR53 (*(vuint8 *)(&__IPSBAR[0x000D75]))
831#define MCF_INTC1_ICR54 (*(vuint8 *)(&__IPSBAR[0x000D76]))
832#define MCF_INTC1_ICR55 (*(vuint8 *)(&__IPSBAR[0x000D77]))
833#define MCF_INTC1_ICR56 (*(vuint8 *)(&__IPSBAR[0x000D78]))
834#define MCF_INTC1_ICR57 (*(vuint8 *)(&__IPSBAR[0x000D79]))
835#define MCF_INTC1_ICR58 (*(vuint8 *)(&__IPSBAR[0x000D7A]))
836#define MCF_INTC1_ICR59 (*(vuint8 *)(&__IPSBAR[0x000D7B]))
837#define MCF_INTC1_ICR60 (*(vuint8 *)(&__IPSBAR[0x000D7C]))
838#define MCF_INTC1_ICR61 (*(vuint8 *)(&__IPSBAR[0x000D7D]))
839#define MCF_INTC1_ICR62 (*(vuint8 *)(&__IPSBAR[0x000D7E]))
840#define MCF_INTC1_ICR63 (*(vuint8 *)(&__IPSBAR[0x000D7F]))
841#define MCF_INTC1_ICR(x) (*(vuint8 *)(&__IPSBAR[0x000D41+((x-1)*0x001)]))
842#define MCF_INTC1_SWIACK (*(vuint8 *)(&__IPSBAR[0x000DE0]))
843#define MCF_INTC1_L1IACK (*(vuint8 *)(&__IPSBAR[0x000DE4]))
844#define MCF_INTC1_L2IACK (*(vuint8 *)(&__IPSBAR[0x000DE8]))
845#define MCF_INTC1_L3IACK (*(vuint8 *)(&__IPSBAR[0x000DEC]))
846#define MCF_INTC1_L4IACK (*(vuint8 *)(&__IPSBAR[0x000DF0]))
847#define MCF_INTC1_L5IACK (*(vuint8 *)(&__IPSBAR[0x000DF4]))
848#define MCF_INTC1_L6IACK (*(vuint8 *)(&__IPSBAR[0x000DF8]))
849#define MCF_INTC1_L7IACK (*(vuint8 *)(&__IPSBAR[0x000DFC]))
850#define MCF_INTC1_LIACK(x) (*(vuint8 *)(&__IPSBAR[0x000DE4+((x-1)*0x004)]))
851#define MCF_INTC_IPRH(x) (*(vuint32*)(&__IPSBAR[0x000C00+((x)*0x100)]))
852#define MCF_INTC_IPRL(x) (*(vuint32*)(&__IPSBAR[0x000C04+((x)*0x100)]))
853#define MCF_INTC_IMRH(x) (*(vuint32*)(&__IPSBAR[0x000C08+((x)*0x100)]))
854#define MCF_INTC_IMRL(x) (*(vuint32*)(&__IPSBAR[0x000C0C+((x)*0x100)]))
855#define MCF_INTC_INTFRCH(x) (*(vuint32*)(&__IPSBAR[0x000C10+((x)*0x100)]))
856#define MCF_INTC_INTFRCL(x) (*(vuint32*)(&__IPSBAR[0x000C14+((x)*0x100)]))
857#define MCF_INTC_IRLR(x) (*(vuint8 *)(&__IPSBAR[0x000C18+((x)*0x100)]))
858#define MCF_INTC_IACKLPR(x) (*(vuint8 *)(&__IPSBAR[0x000C19+((x)*0x100)]))
859#define MCF_INTC_ICR1(x) (*(vuint8 *)(&__IPSBAR[0x000C41+((x)*0x100)]))
860#define MCF_INTC_ICR2(x) (*(vuint8 *)(&__IPSBAR[0x000C42+((x)*0x100)]))
861#define MCF_INTC_ICR3(x) (*(vuint8 *)(&__IPSBAR[0x000C43+((x)*0x100)]))
862#define MCF_INTC_ICR4(x) (*(vuint8 *)(&__IPSBAR[0x000C44+((x)*0x100)]))
863#define MCF_INTC_ICR5(x) (*(vuint8 *)(&__IPSBAR[0x000C45+((x)*0x100)]))
864#define MCF_INTC_ICR6(x) (*(vuint8 *)(&__IPSBAR[0x000C46+((x)*0x100)]))
865#define MCF_INTC_ICR7(x) (*(vuint8 *)(&__IPSBAR[0x000C47+((x)*0x100)]))
866#define MCF_INTC_ICR8(x) (*(vuint8 *)(&__IPSBAR[0x000C48+((x)*0x100)]))
867#define MCF_INTC_ICR9(x) (*(vuint8 *)(&__IPSBAR[0x000C49+((x)*0x100)]))
868#define MCF_INTC_ICR10(x) (*(vuint8 *)(&__IPSBAR[0x000C4A+((x)*0x100)]))
869#define MCF_INTC_ICR11(x) (*(vuint8 *)(&__IPSBAR[0x000C4B+((x)*0x100)]))
870#define MCF_INTC_ICR12(x) (*(vuint8 *)(&__IPSBAR[0x000C4C+((x)*0x100)]))
871#define MCF_INTC_ICR13(x) (*(vuint8 *)(&__IPSBAR[0x000C4D+((x)*0x100)]))
872#define MCF_INTC_ICR14(x) (*(vuint8 *)(&__IPSBAR[0x000C4E+((x)*0x100)]))
873#define MCF_INTC_ICR15(x) (*(vuint8 *)(&__IPSBAR[0x000C4F+((x)*0x100)]))
874#define MCF_INTC_ICR16(x) (*(vuint8 *)(&__IPSBAR[0x000C50+((x)*0x100)]))
875#define MCF_INTC_ICR17(x) (*(vuint8 *)(&__IPSBAR[0x000C51+((x)*0x100)]))
876#define MCF_INTC_ICR18(x) (*(vuint8 *)(&__IPSBAR[0x000C52+((x)*0x100)]))
877#define MCF_INTC_ICR19(x) (*(vuint8 *)(&__IPSBAR[0x000C53+((x)*0x100)]))
878#define MCF_INTC_ICR20(x) (*(vuint8 *)(&__IPSBAR[0x000C54+((x)*0x100)]))
879#define MCF_INTC_ICR21(x) (*(vuint8 *)(&__IPSBAR[0x000C55+((x)*0x100)]))
880#define MCF_INTC_ICR22(x) (*(vuint8 *)(&__IPSBAR[0x000C56+((x)*0x100)]))
881#define MCF_INTC_ICR23(x) (*(vuint8 *)(&__IPSBAR[0x000C57+((x)*0x100)]))
882#define MCF_INTC_ICR24(x) (*(vuint8 *)(&__IPSBAR[0x000C58+((x)*0x100)]))
883#define MCF_INTC_ICR25(x) (*(vuint8 *)(&__IPSBAR[0x000C59+((x)*0x100)]))
884#define MCF_INTC_ICR26(x) (*(vuint8 *)(&__IPSBAR[0x000C5A+((x)*0x100)]))
885#define MCF_INTC_ICR27(x) (*(vuint8 *)(&__IPSBAR[0x000C5B+((x)*0x100)]))
886#define MCF_INTC_ICR28(x) (*(vuint8 *)(&__IPSBAR[0x000C5C+((x)*0x100)]))
887#define MCF_INTC_ICR29(x) (*(vuint8 *)(&__IPSBAR[0x000C5D+((x)*0x100)]))
888#define MCF_INTC_ICR30(x) (*(vuint8 *)(&__IPSBAR[0x000C5E+((x)*0x100)]))
889#define MCF_INTC_ICR31(x) (*(vuint8 *)(&__IPSBAR[0x000C5F+((x)*0x100)]))
890#define MCF_INTC_ICR32(x) (*(vuint8 *)(&__IPSBAR[0x000C60+((x)*0x100)]))
891#define MCF_INTC_ICR33(x) (*(vuint8 *)(&__IPSBAR[0x000C61+((x)*0x100)]))
892#define MCF_INTC_ICR34(x) (*(vuint8 *)(&__IPSBAR[0x000C62+((x)*0x100)]))
893#define MCF_INTC_ICR35(x) (*(vuint8 *)(&__IPSBAR[0x000C63+((x)*0x100)]))
894#define MCF_INTC_ICR36(x) (*(vuint8 *)(&__IPSBAR[0x000C64+((x)*0x100)]))
895#define MCF_INTC_ICR37(x) (*(vuint8 *)(&__IPSBAR[0x000C65+((x)*0x100)]))
896#define MCF_INTC_ICR38(x) (*(vuint8 *)(&__IPSBAR[0x000C66+((x)*0x100)]))
897#define MCF_INTC_ICR39(x) (*(vuint8 *)(&__IPSBAR[0x000C67+((x)*0x100)]))
898#define MCF_INTC_ICR40(x) (*(vuint8 *)(&__IPSBAR[0x000C68+((x)*0x100)]))
899#define MCF_INTC_ICR41(x) (*(vuint8 *)(&__IPSBAR[0x000C69+((x)*0x100)]))
900#define MCF_INTC_ICR42(x) (*(vuint8 *)(&__IPSBAR[0x000C6A+((x)*0x100)]))
901#define MCF_INTC_ICR43(x) (*(vuint8 *)(&__IPSBAR[0x000C6B+((x)*0x100)]))
902#define MCF_INTC_ICR44(x) (*(vuint8 *)(&__IPSBAR[0x000C6C+((x)*0x100)]))
903#define MCF_INTC_ICR45(x) (*(vuint8 *)(&__IPSBAR[0x000C6D+((x)*0x100)]))
904#define MCF_INTC_ICR46(x) (*(vuint8 *)(&__IPSBAR[0x000C6E+((x)*0x100)]))
905#define MCF_INTC_ICR47(x) (*(vuint8 *)(&__IPSBAR[0x000C6F+((x)*0x100)]))
906#define MCF_INTC_ICR48(x) (*(vuint8 *)(&__IPSBAR[0x000C70+((x)*0x100)]))
907#define MCF_INTC_ICR49(x) (*(vuint8 *)(&__IPSBAR[0x000C71+((x)*0x100)]))
908#define MCF_INTC_ICR50(x) (*(vuint8 *)(&__IPSBAR[0x000C72+((x)*0x100)]))
909#define MCF_INTC_ICR51(x) (*(vuint8 *)(&__IPSBAR[0x000C73+((x)*0x100)]))
910#define MCF_INTC_ICR52(x) (*(vuint8 *)(&__IPSBAR[0x000C74+((x)*0x100)]))
911#define MCF_INTC_ICR53(x) (*(vuint8 *)(&__IPSBAR[0x000C75+((x)*0x100)]))
912#define MCF_INTC_ICR54(x) (*(vuint8 *)(&__IPSBAR[0x000C76+((x)*0x100)]))
913#define MCF_INTC_ICR55(x) (*(vuint8 *)(&__IPSBAR[0x000C77+((x)*0x100)]))
914#define MCF_INTC_ICR56(x) (*(vuint8 *)(&__IPSBAR[0x000C78+((x)*0x100)]))
915#define MCF_INTC_ICR57(x) (*(vuint8 *)(&__IPSBAR[0x000C79+((x)*0x100)]))
916#define MCF_INTC_ICR58(x) (*(vuint8 *)(&__IPSBAR[0x000C7A+((x)*0x100)]))
917#define MCF_INTC_ICR59(x) (*(vuint8 *)(&__IPSBAR[0x000C7B+((x)*0x100)]))
918#define MCF_INTC_ICR60(x) (*(vuint8 *)(&__IPSBAR[0x000C7C+((x)*0x100)]))
919#define MCF_INTC_ICR61(x) (*(vuint8 *)(&__IPSBAR[0x000C7D+((x)*0x100)]))
920#define MCF_INTC_ICR62(x) (*(vuint8 *)(&__IPSBAR[0x000C7E+((x)*0x100)]))
921#define MCF_INTC_ICR63(x) (*(vuint8 *)(&__IPSBAR[0x000C7F+((x)*0x100)]))
922#define MCF_INTC_SWIACK(x) (*(vuint8 *)(&__IPSBAR[0x000CE0+((x)*0x100)]))
923#define MCF_INTC_L1IACK(x) (*(vuint8 *)(&__IPSBAR[0x000CE4+((x)*0x100)]))
924#define MCF_INTC_L2IACK(x) (*(vuint8 *)(&__IPSBAR[0x000CE8+((x)*0x100)]))
925#define MCF_INTC_L3IACK(x) (*(vuint8 *)(&__IPSBAR[0x000CEC+((x)*0x100)]))
926#define MCF_INTC_L4IACK(x) (*(vuint8 *)(&__IPSBAR[0x000CF0+((x)*0x100)]))
927#define MCF_INTC_L5IACK(x) (*(vuint8 *)(&__IPSBAR[0x000CF4+((x)*0x100)]))
928#define MCF_INTC_L6IACK(x) (*(vuint8 *)(&__IPSBAR[0x000CF8+((x)*0x100)]))
929#define MCF_INTC_L7IACK(x) (*(vuint8 *)(&__IPSBAR[0x000CFC+((x)*0x100)]))
930
931/* Bit definitions and macros for MCF_INTC_IPRH */
932#define MCF_INTC_IPRH_INT32 (0x00000001)
933#define MCF_INTC_IPRH_INT33 (0x00000002)
934#define MCF_INTC_IPRH_INT34 (0x00000004)
935#define MCF_INTC_IPRH_INT35 (0x00000008)
936#define MCF_INTC_IPRH_INT36 (0x00000010)
937#define MCF_INTC_IPRH_INT37 (0x00000020)
938#define MCF_INTC_IPRH_INT38 (0x00000040)
939#define MCF_INTC_IPRH_INT39 (0x00000080)
940#define MCF_INTC_IPRH_INT40 (0x00000100)
941#define MCF_INTC_IPRH_INT41 (0x00000200)
942#define MCF_INTC_IPRH_INT42 (0x00000400)
943#define MCF_INTC_IPRH_INT43 (0x00000800)
944#define MCF_INTC_IPRH_INT44 (0x00001000)
945#define MCF_INTC_IPRH_INT45 (0x00002000)
946#define MCF_INTC_IPRH_INT46 (0x00004000)
947#define MCF_INTC_IPRH_INT47 (0x00008000)
948#define MCF_INTC_IPRH_INT48 (0x00010000)
949#define MCF_INTC_IPRH_INT49 (0x00020000)
950#define MCF_INTC_IPRH_INT50 (0x00040000)
951#define MCF_INTC_IPRH_INT51 (0x00080000)
952#define MCF_INTC_IPRH_INT52 (0x00100000)
953#define MCF_INTC_IPRH_INT53 (0x00200000)
954#define MCF_INTC_IPRH_INT54 (0x00400000)
955#define MCF_INTC_IPRH_INT55 (0x00800000)
956#define MCF_INTC_IPRH_INT56 (0x01000000)
957#define MCF_INTC_IPRH_INT57 (0x02000000)
958#define MCF_INTC_IPRH_INT58 (0x04000000)
959#define MCF_INTC_IPRH_INT59 (0x08000000)
960#define MCF_INTC_IPRH_INT60 (0x10000000)
961#define MCF_INTC_IPRH_INT61 (0x20000000)
962#define MCF_INTC_IPRH_INT62 (0x40000000)
963#define MCF_INTC_IPRH_INT63 (0x80000000)
964
965/* Bit definitions and macros for MCF_INTC_IPRL */
966#define MCF_INTC_IPRL_INT1 (0x00000002)
967#define MCF_INTC_IPRL_INT2 (0x00000004)
968#define MCF_INTC_IPRL_INT3 (0x00000008)
969#define MCF_INTC_IPRL_INT4 (0x00000010)
970#define MCF_INTC_IPRL_INT5 (0x00000020)
971#define MCF_INTC_IPRL_INT6 (0x00000040)
972#define MCF_INTC_IPRL_INT7 (0x00000080)
973#define MCF_INTC_IPRL_INT8 (0x00000100)
974#define MCF_INTC_IPRL_INT9 (0x00000200)
975#define MCF_INTC_IPRL_INT10 (0x00000400)
976#define MCF_INTC_IPRL_INT11 (0x00000800)
977#define MCF_INTC_IPRL_INT12 (0x00001000)
978#define MCF_INTC_IPRL_INT13 (0x00002000)
979#define MCF_INTC_IPRL_INT14 (0x00004000)
980#define MCF_INTC_IPRL_INT15 (0x00008000)
981#define MCF_INTC_IPRL_INT16 (0x00010000)
982#define MCF_INTC_IPRL_INT17 (0x00020000)
983#define MCF_INTC_IPRL_INT18 (0x00040000)
984#define MCF_INTC_IPRL_INT19 (0x00080000)
985#define MCF_INTC_IPRL_INT20 (0x00100000)
986#define MCF_INTC_IPRL_INT21 (0x00200000)
987#define MCF_INTC_IPRL_INT22 (0x00400000)
988#define MCF_INTC_IPRL_INT23 (0x00800000)
989#define MCF_INTC_IPRL_INT24 (0x01000000)
990#define MCF_INTC_IPRL_INT25 (0x02000000)
991#define MCF_INTC_IPRL_INT26 (0x04000000)
992#define MCF_INTC_IPRL_INT27 (0x08000000)
993#define MCF_INTC_IPRL_INT28 (0x10000000)
994#define MCF_INTC_IPRL_INT29 (0x20000000)
995#define MCF_INTC_IPRL_INT30 (0x40000000)
996#define MCF_INTC_IPRL_INT31 (0x80000000)
997
998/* Bit definitions and macros for MCF_INTC_IMRH */
999#define MCF_INTC_IMRH_MASK32 (0x00000001)
1000#define MCF_INTC_IMRH_MASK33 (0x00000002)
1001#define MCF_INTC_IMRH_MASK34 (0x00000004)
1002#define MCF_INTC_IMRH_MASK35 (0x00000008)
1003#define MCF_INTC_IMRH_MASK36 (0x00000010)
1004#define MCF_INTC_IMRH_MASK37 (0x00000020)
1005#define MCF_INTC_IMRH_MASK38 (0x00000040)
1006#define MCF_INTC_IMRH_MASK39 (0x00000080)
1007#define MCF_INTC_IMRH_MASK40 (0x00000100)
1008#define MCF_INTC_IMRH_MASK41 (0x00000200)
1009#define MCF_INTC_IMRH_MASK42 (0x00000400)
1010#define MCF_INTC_IMRH_MASK43 (0x00000800)
1011#define MCF_INTC_IMRH_MASK44 (0x00001000)
1012#define MCF_INTC_IMRH_MASK45 (0x00002000)
1013#define MCF_INTC_IMRH_MASK46 (0x00004000)
1014#define MCF_INTC_IMRH_MASK47 (0x00008000)
1015#define MCF_INTC_IMRH_MASK48 (0x00010000)
1016#define MCF_INTC_IMRH_MASK49 (0x00020000)
1017#define MCF_INTC_IMRH_MASK50 (0x00040000)
1018#define MCF_INTC_IMRH_MASK51 (0x00080000)
1019#define MCF_INTC_IMRH_MASK52 (0x00100000)
1020#define MCF_INTC_IMRH_MASK53 (0x00200000)
1021#define MCF_INTC_IMRH_MASK54 (0x00400000)
1022#define MCF_INTC_IMRH_MASK55 (0x00800000)
1023#define MCF_INTC_IMRH_MASK56 (0x01000000)
1024#define MCF_INTC_IMRH_MASK57 (0x02000000)
1025#define MCF_INTC_IMRH_MASK58 (0x04000000)
1026#define MCF_INTC_IMRH_MASK59 (0x08000000)
1027#define MCF_INTC_IMRH_MASK60 (0x10000000)
1028#define MCF_INTC_IMRH_MASK61 (0x20000000)
1029#define MCF_INTC_IMRH_MASK62 (0x40000000)
1030#define MCF_INTC_IMRH_MASK63 (0x80000000)
1031
1032/* Bit definitions and macros for MCF_INTC_IMRL */
1033#define MCF_INTC_IMRL_MASKALL (0x00000001)
1034#define MCF_INTC_IMRL_MASK1 (0x00000002)
1035#define MCF_INTC_IMRL_MASK2 (0x00000004)
1036#define MCF_INTC_IMRL_MASK3 (0x00000008)
1037#define MCF_INTC_IMRL_MASK4 (0x00000010)
1038#define MCF_INTC_IMRL_MASK5 (0x00000020)
1039#define MCF_INTC_IMRL_MASK6 (0x00000040)
1040#define MCF_INTC_IMRL_MASK7 (0x00000080)
1041#define MCF_INTC_IMRL_MASK8 (0x00000100)
1042#define MCF_INTC_IMRL_MASK9 (0x00000200)
1043#define MCF_INTC_IMRL_MASK10 (0x00000400)
1044#define MCF_INTC_IMRL_MASK11 (0x00000800)
1045#define MCF_INTC_IMRL_MASK12 (0x00001000)
1046#define MCF_INTC_IMRL_MASK13 (0x00002000)
1047#define MCF_INTC_IMRL_MASK14 (0x00004000)
1048#define MCF_INTC_IMRL_MASK15 (0x00008000)
1049#define MCF_INTC_IMRL_MASK16 (0x00010000)
1050#define MCF_INTC_IMRL_MASK17 (0x00020000)
1051#define MCF_INTC_IMRL_MASK18 (0x00040000)
1052#define MCF_INTC_IMRL_MASK19 (0x00080000)
1053#define MCF_INTC_IMRL_MASK20 (0x00100000)
1054#define MCF_INTC_IMRL_MASK21 (0x00200000)
1055#define MCF_INTC_IMRL_MASK22 (0x00400000)
1056#define MCF_INTC_IMRL_MASK23 (0x00800000)
1057#define MCF_INTC_IMRL_MASK24 (0x01000000)
1058#define MCF_INTC_IMRL_MASK25 (0x02000000)
1059#define MCF_INTC_IMRL_MASK26 (0x04000000)
1060#define MCF_INTC_IMRL_MASK27 (0x08000000)
1061#define MCF_INTC_IMRL_MASK28 (0x10000000)
1062#define MCF_INTC_IMRL_MASK29 (0x20000000)
1063#define MCF_INTC_IMRL_MASK30 (0x40000000)
1064#define MCF_INTC_IMRL_MASK31 (0x80000000)
1065
1066/* Bit definitions and macros for MCF_INTC_INTFRCH */
1067#define MCF_INTC_INTFRCH_INTFRC32 (0x00000001)
1068#define MCF_INTC_INTFRCH_INTFRC33 (0x00000002)
1069#define MCF_INTC_INTFRCH_INTFRC34 (0x00000004)
1070#define MCF_INTC_INTFRCH_INTFRC35 (0x00000008)
1071#define MCF_INTC_INTFRCH_INTFRC36 (0x00000010)
1072#define MCF_INTC_INTFRCH_INTFRC37 (0x00000020)
1073#define MCF_INTC_INTFRCH_INTFRC38 (0x00000040)
1074#define MCF_INTC_INTFRCH_INTFRC39 (0x00000080)
1075#define MCF_INTC_INTFRCH_INTFRC40 (0x00000100)
1076#define MCF_INTC_INTFRCH_INTFRC41 (0x00000200)
1077#define MCF_INTC_INTFRCH_INTFRC42 (0x00000400)
1078#define MCF_INTC_INTFRCH_INTFRC43 (0x00000800)
1079#define MCF_INTC_INTFRCH_INTFRC44 (0x00001000)
1080#define MCF_INTC_INTFRCH_INTFRC45 (0x00002000)
1081#define MCF_INTC_INTFRCH_INTFRC46 (0x00004000)
1082#define MCF_INTC_INTFRCH_INTFRC47 (0x00008000)
1083#define MCF_INTC_INTFRCH_INTFRC48 (0x00010000)
1084#define MCF_INTC_INTFRCH_INTFRC49 (0x00020000)
1085#define MCF_INTC_INTFRCH_INTFRC50 (0x00040000)
1086#define MCF_INTC_INTFRCH_INTFRC51 (0x00080000)
1087#define MCF_INTC_INTFRCH_INTFRC52 (0x00100000)
1088#define MCF_INTC_INTFRCH_INTFRC53 (0x00200000)
1089#define MCF_INTC_INTFRCH_INTFRC54 (0x00400000)
1090#define MCF_INTC_INTFRCH_INTFRC55 (0x00800000)
1091#define MCF_INTC_INTFRCH_INTFRC56 (0x01000000)
1092#define MCF_INTC_INTFRCH_INTFRC57 (0x02000000)
1093#define MCF_INTC_INTFRCH_INTFRC58 (0x04000000)
1094#define MCF_INTC_INTFRCH_INTFRC59 (0x08000000)
1095#define MCF_INTC_INTFRCH_INTFRC60 (0x10000000)
1096#define MCF_INTC_INTFRCH_INTFRC61 (0x20000000)
1097#define MCF_INTC_INTFRCH_INTFRC62 (0x40000000)
1098#define MCF_INTC_INTFRCH_INTFRC63 (0x80000000)
1099
1100/* Bit definitions and macros for MCF_INTC_INTFRCL */
1101#define MCF_INTC_INTFRCL_INTFRC1 (0x00000002)
1102#define MCF_INTC_INTFRCL_INTFRC2 (0x00000004)
1103#define MCF_INTC_INTFRCL_INTFRC3 (0x00000008)
1104#define MCF_INTC_INTFRCL_INTFRC4 (0x00000010)
1105#define MCF_INTC_INTFRCL_INTFRC5 (0x00000020)
1106#define MCF_INTC_INTFRCL_INTFRC6 (0x00000040)
1107#define MCF_INTC_INTFRCL_INTFRC7 (0x00000080)
1108#define MCF_INTC_INTFRCL_INTFRC8 (0x00000100)
1109#define MCF_INTC_INTFRCL_INTFRC9 (0x00000200)
1110#define MCF_INTC_INTFRCL_INTFRC10 (0x00000400)
1111#define MCF_INTC_INTFRCL_INTFRC11 (0x00000800)
1112#define MCF_INTC_INTFRCL_INTFRC12 (0x00001000)
1113#define MCF_INTC_INTFRCL_INTFRC13 (0x00002000)
1114#define MCF_INTC_INTFRCL_INTFRC14 (0x00004000)
1115#define MCF_INTC_INTFRCL_INTFRC15 (0x00008000)
1116#define MCF_INTC_INTFRCL_INTFRC16 (0x00010000)
1117#define MCF_INTC_INTFRCL_INTFRC17 (0x00020000)
1118#define MCF_INTC_INTFRCL_INTFRC18 (0x00040000)
1119#define MCF_INTC_INTFRCL_INTFRC19 (0x00080000)
1120#define MCF_INTC_INTFRCL_INTFRC20 (0x00100000)
1121#define MCF_INTC_INTFRCL_INTFRC21 (0x00200000)
1122#define MCF_INTC_INTFRCL_INTFRC22 (0x00400000)
1123#define MCF_INTC_INTFRCL_INTFRC23 (0x00800000)
1124#define MCF_INTC_INTFRCL_INTFRC24 (0x01000000)
1125#define MCF_INTC_INTFRCL_INTFRC25 (0x02000000)
1126#define MCF_INTC_INTFRCL_INTFRC26 (0x04000000)
1127#define MCF_INTC_INTFRCL_INTFRC27 (0x08000000)
1128#define MCF_INTC_INTFRCL_INTFRC28 (0x10000000)
1129#define MCF_INTC_INTFRCL_INTFRC29 (0x20000000)
1130#define MCF_INTC_INTFRCL_INTFRC30 (0x40000000)
1131#define MCF_INTC_INTFRCL_INTFRC31 (0x80000000)
1132
1133/* Bit definitions and macros for MCF_INTC_IRLR */
1134#define MCF_INTC_IRLR_IRQ(x) (((x)&0x7F)<<1)
1135
1136/* Bit definitions and macros for MCF_INTC_IACKLPR */
1137#define MCF_INTC_IACKLPR_PRI(x) (((x)&0x0F)<<0)
1138#define MCF_INTC_IACKLPR_LEVEL(x) (((x)&0x07)<<4)
1139
1140/* Bit definitions and macros for MCF_INTC_ICR */
1141#define MCF_INTC_ICR_IP(x) (((x)&0x07)<<0)
1142#define MCF_INTC_ICR_IL(x) (((x)&0x07)<<3)
1143
1144/* Bit definitions and macros for MCF_INTC_SWIACK */
1145#define MCF_INTC_SWIACK_VECTOR(x) (((x)&0xFF)<<0)
1146
1147/* Bit definitions and macros for MCF_INTC_LIACK */
1148#define MCF_INTC_LIACK_VECTOR(x) (((x)&0xFF)<<0)
1149
1150/*********************************************************************
1151*
1152* General Purpose I/O (GPIO)
1153*
1154*********************************************************************/
1155
1156/* Register read/write macros */
1157#define MCF_GPIO_PORTNQ (*(vuint8 *)(&__IPSBAR[0x100008]))
1158#define MCF_GPIO_PORTAN (*(vuint8 *)(&__IPSBAR[0x10000A]))
1159#define MCF_GPIO_PORTAS (*(vuint8 *)(&__IPSBAR[0x10000B]))
1160#define MCF_GPIO_PORTQS (*(vuint8 *)(&__IPSBAR[0x10000C]))
1161#define MCF_GPIO_PORTTA (*(vuint8 *)(&__IPSBAR[0x10000E]))
1162#define MCF_GPIO_PORTTC (*(vuint8 *)(&__IPSBAR[0x10000F]))
1163#define MCF_GPIO_PORTTD (*(vuint8 *)(&__IPSBAR[0x100010]))
1164#define MCF_GPIO_PORTTE (*(vuint8 *)(&__IPSBAR[0x100000]))
1165#define MCF_GPIO_PORTTF (*(vuint8 *)(&__IPSBAR[0x100001]))
1166#define MCF_GPIO_PORTTG (*(vuint8 *)(&__IPSBAR[0x100002]))
1167#define MCF_GPIO_PORTTH (*(vuint8 *)(&__IPSBAR[0x100003]))
1168#define MCF_GPIO_PORTTI (*(vuint8 *)(&__IPSBAR[0x100004]))
1169#define MCF_GPIO_PORTTJ (*(vuint8 *)(&__IPSBAR[0x100006]))
1170#define MCF_GPIO_PORTUA (*(vuint8 *)(&__IPSBAR[0x100011]))
1171#define MCF_GPIO_PORTUB (*(vuint8 *)(&__IPSBAR[0x100012]))
1172#define MCF_GPIO_PORTUC (*(vuint8 *)(&__IPSBAR[0x100013]))
1173#define MCF_GPIO_PORTDD (*(vuint8 *)(&__IPSBAR[0x100014]))
1174#define MCF_GPIO_PORTLD (*(vuint8 *)(&__IPSBAR[0x100015]))
1175#define MCF_GPIO_PORTGP (*(vuint8 *)(&__IPSBAR[0x100016]))
1176#define MCF_GPIO_DDRNQ (*(vuint8 *)(&__IPSBAR[0x100020]))
1177#define MCF_GPIO_DDRAN (*(vuint8 *)(&__IPSBAR[0x100022]))
1178#define MCF_GPIO_DDRAS (*(vuint8 *)(&__IPSBAR[0x100023]))
1179#define MCF_GPIO_DDRQS (*(vuint8 *)(&__IPSBAR[0x100024]))
1180#define MCF_GPIO_DDRTA (*(vuint8 *)(&__IPSBAR[0x100026]))
1181#define MCF_GPIO_DDRTC (*(vuint8 *)(&__IPSBAR[0x100027]))
1182#define MCF_GPIO_DDRTD (*(vuint8 *)(&__IPSBAR[0x100028]))
1183#define MCF_GPIO_DDRTE (*(vuint8 *)(&__IPSBAR[0x100018]))
1184#define MCF_GPIO_DDRTF (*(vuint8 *)(&__IPSBAR[0x100019]))
1185#define MCF_GPIO_DDRTG (*(vuint8 *)(&__IPSBAR[0x10001A]))
1186#define MCF_GPIO_DDRTH (*(vuint8 *)(&__IPSBAR[0x10001B]))
1187#define MCF_GPIO_DDRTI (*(vuint8 *)(&__IPSBAR[0x10001C]))
1188#define MCF_GPIO_DDRTJ (*(vuint8 *)(&__IPSBAR[0x10001E]))
1189#define MCF_GPIO_DDRUA (*(vuint8 *)(&__IPSBAR[0x100029]))
1190#define MCF_GPIO_DDRUB (*(vuint8 *)(&__IPSBAR[0x10002A]))
1191#define MCF_GPIO_DDRUC (*(vuint8 *)(&__IPSBAR[0x10002B]))
1192#define MCF_GPIO_DDRDD (*(vuint8 *)(&__IPSBAR[0x10002C]))
1193#define MCF_GPIO_DDRLD (*(vuint8 *)(&__IPSBAR[0x10002D]))
1194#define MCF_GPIO_DDRGP (*(vuint8 *)(&__IPSBAR[0x10002E]))
1195#define MCF_GPIO_SETNQ (*(vuint8 *)(&__IPSBAR[0x100038]))
1196#define MCF_GPIO_SETAN (*(vuint8 *)(&__IPSBAR[0x10003A]))
1197#define MCF_GPIO_SETAS (*(vuint8 *)(&__IPSBAR[0x10003B]))
1198#define MCF_GPIO_SETQS (*(vuint8 *)(&__IPSBAR[0x10003C]))
1199#define MCF_GPIO_SETTA (*(vuint8 *)(&__IPSBAR[0x10003E]))
1200#define MCF_GPIO_SETTC (*(vuint8 *)(&__IPSBAR[0x10003F]))
1201#define MCF_GPIO_SETTD (*(vuint8 *)(&__IPSBAR[0x100040]))
1202#define MCF_GPIO_SETUA (*(vuint8 *)(&__IPSBAR[0x100041]))
1203#define MCF_GPIO_SETUB (*(vuint8 *)(&__IPSBAR[0x100042]))
1204#define MCF_GPIO_SETUC (*(vuint8 *)(&__IPSBAR[0x100043]))
1205#define MCF_GPIO_SETDD (*(vuint8 *)(&__IPSBAR[0x100044]))
1206#define MCF_GPIO_SETLD (*(vuint8 *)(&__IPSBAR[0x100045]))
1207#define MCF_GPIO_SETGP (*(vuint8 *)(&__IPSBAR[0x100046]))
1208#define MCF_GPIO_CLRNQ (*(vuint8 *)(&__IPSBAR[0x100050]))
1209#define MCF_GPIO_CLRAN (*(vuint8 *)(&__IPSBAR[0x100052]))
1210#define MCF_GPIO_CLRAS (*(vuint8 *)(&__IPSBAR[0x100053]))
1211#define MCF_GPIO_CLRQS (*(vuint8 *)(&__IPSBAR[0x100054]))
1212#define MCF_GPIO_CLRTA (*(vuint8 *)(&__IPSBAR[0x100056]))
1213#define MCF_GPIO_CLRTC (*(vuint8 *)(&__IPSBAR[0x100057]))
1214#define MCF_GPIO_CLRTD (*(vuint8 *)(&__IPSBAR[0x100058]))
1215#define MCF_GPIO_CLRUA (*(vuint8 *)(&__IPSBAR[0x100059]))
1216#define MCF_GPIO_CLRUB (*(vuint8 *)(&__IPSBAR[0x10005A]))
1217#define MCF_GPIO_CLRUC (*(vuint8 *)(&__IPSBAR[0x10005B]))
1218#define MCF_GPIO_CLRDD (*(vuint8 *)(&__IPSBAR[0x10005C]))
1219#define MCF_GPIO_CLRLD (*(vuint8 *)(&__IPSBAR[0x10005D]))
1220#define MCF_GPIO_CLRGP (*(vuint8 *)(&__IPSBAR[0x10005E]))
1221#define MCF_GPIO_PNQPAR (*(vuint16*)(&__IPSBAR[0x100068]))
1222#define MCF_GPIO_PANPAR (*(vuint8 *)(&__IPSBAR[0x10006A]))
1223#define MCF_GPIO_PASPAR (*(vuint8 *)(&__IPSBAR[0x10006B]))
1224#define MCF_GPIO_PQSPAR (*(vuint16*)(&__IPSBAR[0x10006C]))
1225#define MCF_GPIO_PTAPAR (*(vuint8 *)(&__IPSBAR[0x10006E]))
1226#define MCF_GPIO_PTCPAR (*(vuint8 *)(&__IPSBAR[0x10006F]))
1227#define MCF_GPIO_PTDPAR (*(vuint8 *)(&__IPSBAR[0x100070]))
1228#define MCF_GPIO_PTEPAR (*(vuint8 *)(&__IPSBAR[0x100060]))
1229#define MCF_GPIO_PTFPAR (*(vuint8 *)(&__IPSBAR[0x100061]))
1230#define MCF_GPIO_PTGPAR (*(vuint8 *)(&__IPSBAR[0x100062]))
1231#define MCF_GPIO_PTHPAR (*(vuint8 *)(&__IPSBAR[0x100090]))
1232#define MCF_GPIO_PTIPAR (*(vuint8*)(&__IPSBAR[0x100064]))
1233#define MCF_GPIO_PTJPAR (*(vuint8*)(&__IPSBAR[0x100066]))
1234#define MCF_GPIO_PUAPAR (*(vuint8 *)(&__IPSBAR[0x100071]))
1235#define MCF_GPIO_PUBPAR (*(vuint8 *)(&__IPSBAR[0x100072]))
1236#define MCF_GPIO_PUCPAR (*(vuint8 *)(&__IPSBAR[0x100073]))
1237#define MCF_GPIO_PDDPAR (*(vuint8 *)(&__IPSBAR[0x100074]))
1238#define MCF_GPIO_PLDPAR (*(vuint8 *)(&__IPSBAR[0x100075]))
1239#define MCF_GPIO_PGPPAR (*(vuint8 *)(&__IPSBAR[0x100076]))
1240#define MCF_GPIO_PWOR (*(vuint16*)(&__IPSBAR[0x100078]))
1241#define MCF_GPIO_PDSRH (*(vuint16*)(&__IPSBAR[0x10007A]))
1242#define MCF_GPIO_PDSRL (*(vuint32*)(&__IPSBAR[0x10007C]))
1243
1244/* Bit definitions and macros for MCF_GPIO_PORTNQ */
1245#define MCF_GPIO_PORTNQ_PORTNQ0 (0x01)
1246#define MCF_GPIO_PORTNQ_PORTNQ1 (0x02)
1247#define MCF_GPIO_PORTNQ_PORTNQ2 (0x04)
1248#define MCF_GPIO_PORTNQ_PORTNQ3 (0x08)
1249#define MCF_GPIO_PORTNQ_PORTNQ4 (0x10)
1250#define MCF_GPIO_PORTNQ_PORTNQ5 (0x20)
1251#define MCF_GPIO_PORTNQ_PORTNQ6 (0x40)
1252#define MCF_GPIO_PORTNQ_PORTNQ7 (0x80)
1253
1254/* Bit definitions and macros for MCF_GPIO_PORTAN */
1255#define MCF_GPIO_PORTAN_PORTAN0 (0x01)
1256#define MCF_GPIO_PORTAN_PORTAN1 (0x02)
1257#define MCF_GPIO_PORTAN_PORTAN2 (0x04)
1258#define MCF_GPIO_PORTAN_PORTAN3 (0x08)
1259#define MCF_GPIO_PORTAN_PORTAN4 (0x10)
1260#define MCF_GPIO_PORTAN_PORTAN5 (0x20)
1261#define MCF_GPIO_PORTAN_PORTAN6 (0x40)
1262#define MCF_GPIO_PORTAN_PORTAN7 (0x80)
1263
1264/* Bit definitions and macros for MCF_GPIO_PORTAS */
1265#define MCF_GPIO_PORTAS_PORTAS0 (0x01)
1266#define MCF_GPIO_PORTAS_PORTAS1 (0x02)
1267#define MCF_GPIO_PORTAS_PORTAS2 (0x04)
1268#define MCF_GPIO_PORTAS_PORTAS3 (0x08)
1269#define MCF_GPIO_PORTAS_PORTAS4 (0x10)
1270#define MCF_GPIO_PORTAS_PORTAS5 (0x20)
1271#define MCF_GPIO_PORTAS_PORTAS6 (0x40)
1272#define MCF_GPIO_PORTAS_PORTAS7 (0x80)
1273
1274/* Bit definitions and macros for MCF_GPIO_PORTQS */
1275#define MCF_GPIO_PORTQS_PORTQS0 (0x01)
1276#define MCF_GPIO_PORTQS_PORTQS1 (0x02)
1277#define MCF_GPIO_PORTQS_PORTQS2 (0x04)
1278#define MCF_GPIO_PORTQS_PORTQS3 (0x08)
1279#define MCF_GPIO_PORTQS_PORTQS4 (0x10)
1280#define MCF_GPIO_PORTQS_PORTQS5 (0x20)
1281#define MCF_GPIO_PORTQS_PORTQS6 (0x40)
1282#define MCF_GPIO_PORTQS_PORTQS7 (0x80)
1283
1284/* Bit definitions and macros for MCF_GPIO_PORTTA */
1285#define MCF_GPIO_PORTTA_PORTTA0 (0x01)
1286#define MCF_GPIO_PORTTA_PORTTA1 (0x02)
1287#define MCF_GPIO_PORTTA_PORTTA2 (0x04)
1288#define MCF_GPIO_PORTTA_PORTTA3 (0x08)
1289#define MCF_GPIO_PORTTA_PORTTA4 (0x10)
1290#define MCF_GPIO_PORTTA_PORTTA5 (0x20)
1291#define MCF_GPIO_PORTTA_PORTTA6 (0x40)
1292#define MCF_GPIO_PORTTA_PORTTA7 (0x80)
1293
1294/* Bit definitions and macros for MCF_GPIO_PORTTC */
1295#define MCF_GPIO_PORTTC_PORTTC0 (0x01)
1296#define MCF_GPIO_PORTTC_PORTTC1 (0x02)
1297#define MCF_GPIO_PORTTC_PORTTC2 (0x04)
1298#define MCF_GPIO_PORTTC_PORTTC3 (0x08)
1299#define MCF_GPIO_PORTTC_PORTTC4 (0x10)
1300#define MCF_GPIO_PORTTC_PORTTC5 (0x20)
1301#define MCF_GPIO_PORTTC_PORTTC6 (0x40)
1302#define MCF_GPIO_PORTTC_PORTTC7 (0x80)
1303
1304/* Bit definitions and macros for MCF_GPIO_PORTTD */
1305#define MCF_GPIO_PORTTD_PORTTD0 (0x01)
1306#define MCF_GPIO_PORTTD_PORTTD1 (0x02)
1307#define MCF_GPIO_PORTTD_PORTTD2 (0x04)
1308#define MCF_GPIO_PORTTD_PORTTD3 (0x08)
1309#define MCF_GPIO_PORTTD_PORTTD4 (0x10)
1310#define MCF_GPIO_PORTTD_PORTTD5 (0x20)
1311#define MCF_GPIO_PORTTD_PORTTD6 (0x40)
1312#define MCF_GPIO_PORTTD_PORTTD7 (0x80)
1313
1314/* Bit definitions and macros for MCF_GPIO_PORTTE */
1315#define MCF_GPIO_PORTTE_PORTTE0 (0x01)
1316#define MCF_GPIO_PORTTE_PORTTE1 (0x02)
1317#define MCF_GPIO_PORTTE_PORTTE2 (0x04)
1318#define MCF_GPIO_PORTTE_PORTTE3 (0x08)
1319#define MCF_GPIO_PORTTE_PORTTE4 (0x10)
1320#define MCF_GPIO_PORTTE_PORTTE5 (0x20)
1321#define MCF_GPIO_PORTTE_PORTTE6 (0x40)
1322#define MCF_GPIO_PORTTE_PORTTE7 (0x80)
1323
1324/* Bit definitions and macros for MCF_GPIO_PORTTF */
1325#define MCF_GPIO_PORTTF_PORTTF0 (0x01)
1326#define MCF_GPIO_PORTTF_PORTTF1 (0x02)
1327#define MCF_GPIO_PORTTF_PORTTF2 (0x04)
1328#define MCF_GPIO_PORTTF_PORTTF3 (0x08)
1329#define MCF_GPIO_PORTTF_PORTTF4 (0x10)
1330#define MCF_GPIO_PORTTF_PORTTF5 (0x20)
1331#define MCF_GPIO_PORTTF_PORTTF6 (0x40)
1332#define MCF_GPIO_PORTTF_PORTTF7 (0x80)
1333
1334/* Bit definitions and macros for MCF_GPIO_PORTTG */
1335#define MCF_GPIO_PORTTG_PORTTG0 (0x01)
1336#define MCF_GPIO_PORTTG_PORTTG1 (0x02)
1337#define MCF_GPIO_PORTTG_PORTTG2 (0x04)
1338#define MCF_GPIO_PORTTG_PORTTG3 (0x08)
1339#define MCF_GPIO_PORTTG_PORTTG4 (0x10)
1340#define MCF_GPIO_PORTTG_PORTTG5 (0x20)
1341#define MCF_GPIO_PORTTG_PORTTG6 (0x40)
1342#define MCF_GPIO_PORTTG_PORTTG7 (0x80)
1343
1344/* Bit definitions and macros for MCF_GPIO_PORTTH */
1345#define MCF_GPIO_PORTTH_PORTTH0 (0x01)
1346#define MCF_GPIO_PORTTH_PORTTH1 (0x02)
1347#define MCF_GPIO_PORTTH_PORTTH2 (0x04)
1348#define MCF_GPIO_PORTTH_PORTTH3 (0x08)
1349#define MCF_GPIO_PORTTH_PORTTH4 (0x10)
1350#define MCF_GPIO_PORTTH_PORTTH5 (0x20)
1351#define MCF_GPIO_PORTTH_PORTTH6 (0x40)
1352#define MCF_GPIO_PORTTH_PORTTH7 (0x80)
1353
1354/* Bit definitions and macros for MCF_GPIO_PORTTI */
1355#define MCF_GPIO_PORTTI_PORTTI0 (0x01)
1356#define MCF_GPIO_PORTTI_PORTTI1 (0x02)
1357#define MCF_GPIO_PORTTI_PORTTI2 (0x04)
1358#define MCF_GPIO_PORTTI_PORTTI3 (0x08)
1359#define MCF_GPIO_PORTTI_PORTTI4 (0x10)
1360#define MCF_GPIO_PORTTI_PORTTI5 (0x20)
1361#define MCF_GPIO_PORTTI_PORTTI6 (0x40)
1362#define MCF_GPIO_PORTTI_PORTTI7 (0x80)
1363
1364/* Bit definitions and macros for MCF_GPIO_PORTUA */
1365#define MCF_GPIO_PORTUA_PORTUA0 (0x01)
1366#define MCF_GPIO_PORTUA_PORTUA1 (0x02)
1367#define MCF_GPIO_PORTUA_PORTUA2 (0x04)
1368#define MCF_GPIO_PORTUA_PORTUA3 (0x08)
1369#define MCF_GPIO_PORTUA_PORTUA4 (0x10)
1370#define MCF_GPIO_PORTUA_PORTUA5 (0x20)
1371#define MCF_GPIO_PORTUA_PORTUA6 (0x40)
1372#define MCF_GPIO_PORTUA_PORTUA7 (0x80)
1373
1374/* Bit definitions and macros for MCF_GPIO_PORTUB */
1375#define MCF_GPIO_PORTUB_PORTUB0 (0x01)
1376#define MCF_GPIO_PORTUB_PORTUB1 (0x02)
1377#define MCF_GPIO_PORTUB_PORTUB2 (0x04)
1378#define MCF_GPIO_PORTUB_PORTUB3 (0x08)
1379#define MCF_GPIO_PORTUB_PORTUB4 (0x10)
1380#define MCF_GPIO_PORTUB_PORTUB5 (0x20)
1381#define MCF_GPIO_PORTUB_PORTUB6 (0x40)
1382#define MCF_GPIO_PORTUB_PORTUB7 (0x80)
1383
1384/* Bit definitions and macros for MCF_GPIO_PORTUC */
1385#define MCF_GPIO_PORTUC_PORTUC0 (0x01)
1386#define MCF_GPIO_PORTUC_PORTUC1 (0x02)
1387#define MCF_GPIO_PORTUC_PORTUC2 (0x04)
1388#define MCF_GPIO_PORTUC_PORTUC3 (0x08)
1389#define MCF_GPIO_PORTUC_PORTUC4 (0x10)
1390#define MCF_GPIO_PORTUC_PORTUC5 (0x20)
1391#define MCF_GPIO_PORTUC_PORTUC6 (0x40)
1392#define MCF_GPIO_PORTUC_PORTUC7 (0x80)
1393
1394/* Bit definitions and macros for MCF_GPIO_PORTDD */
1395#define MCF_GPIO_PORTDD_PORTDD0 (0x01)
1396#define MCF_GPIO_PORTDD_PORTDD1 (0x02)
1397#define MCF_GPIO_PORTDD_PORTDD2 (0x04)
1398#define MCF_GPIO_PORTDD_PORTDD3 (0x08)
1399#define MCF_GPIO_PORTDD_PORTDD4 (0x10)
1400#define MCF_GPIO_PORTDD_PORTDD5 (0x20)
1401#define MCF_GPIO_PORTDD_PORTDD6 (0x40)
1402#define MCF_GPIO_PORTDD_PORTDD7 (0x80)
1403
1404/* Bit definitions and macros for MCF_GPIO_PORTLD */
1405#define MCF_GPIO_PORTLD_PORTLD0 (0x01)
1406#define MCF_GPIO_PORTLD_PORTLD1 (0x02)
1407#define MCF_GPIO_PORTLD_PORTLD2 (0x04)
1408#define MCF_GPIO_PORTLD_PORTLD3 (0x08)
1409#define MCF_GPIO_PORTLD_PORTLD4 (0x10)
1410#define MCF_GPIO_PORTLD_PORTLD5 (0x20)
1411#define MCF_GPIO_PORTLD_PORTLD6 (0x40)
1412#define MCF_GPIO_PORTLD_PORTLD7 (0x80)
1413
1414/* Bit definitions and macros for MCF_GPIO_PORTGP */
1415#define MCF_GPIO_PORTGP_PORTGP0 (0x01)
1416#define MCF_GPIO_PORTGP_PORTGP1 (0x02)
1417#define MCF_GPIO_PORTGP_PORTGP2 (0x04)
1418#define MCF_GPIO_PORTGP_PORTGP3 (0x08)
1419#define MCF_GPIO_PORTGP_PORTGP4 (0x10)
1420#define MCF_GPIO_PORTGP_PORTGP5 (0x20)
1421#define MCF_GPIO_PORTGP_PORTGP6 (0x40)
1422#define MCF_GPIO_PORTGP_PORTGP7 (0x80)
1423
1424/* Bit definitions and macros for MCF_GPIO_DDRNQ */
1425#define MCF_GPIO_DDRNQ_DDRNQ0 (0x01)
1426#define MCF_GPIO_DDRNQ_DDRNQ1 (0x02)
1427#define MCF_GPIO_DDRNQ_DDRNQ2 (0x04)
1428#define MCF_GPIO_DDRNQ_DDRNQ3 (0x08)
1429#define MCF_GPIO_DDRNQ_DDRNQ4 (0x10)
1430#define MCF_GPIO_DDRNQ_DDRNQ5 (0x20)
1431#define MCF_GPIO_DDRNQ_DDRNQ6 (0x40)
1432#define MCF_GPIO_DDRNQ_DDRNQ7 (0x80)
1433
1434/* Bit definitions and macros for MCF_GPIO_DDRAN */
1435#define MCF_GPIO_DDRAN_DDRAN0 (0x01)
1436#define MCF_GPIO_DDRAN_DDRAN1 (0x02)
1437#define MCF_GPIO_DDRAN_DDRAN2 (0x04)
1438#define MCF_GPIO_DDRAN_DDRAN3 (0x08)
1439#define MCF_GPIO_DDRAN_DDRAN4 (0x10)
1440#define MCF_GPIO_DDRAN_DDRAN5 (0x20)
1441#define MCF_GPIO_DDRAN_DDRAN6 (0x40)
1442#define MCF_GPIO_DDRAN_DDRAN7 (0x80)
1443
1444/* Bit definitions and macros for MCF_GPIO_DDRAS */
1445#define MCF_GPIO_DDRAS_DDRAS0 (0x01)
1446#define MCF_GPIO_DDRAS_DDRAS1 (0x02)
1447#define MCF_GPIO_DDRAS_DDRAS2 (0x04)
1448#define MCF_GPIO_DDRAS_DDRAS3 (0x08)
1449#define MCF_GPIO_DDRAS_DDRAS4 (0x10)
1450#define MCF_GPIO_DDRAS_DDRAS5 (0x20)
1451#define MCF_GPIO_DDRAS_DDRAS6 (0x40)
1452#define MCF_GPIO_DDRAS_DDRAS7 (0x80)
1453
1454/* Bit definitions and macros for MCF_GPIO_DDRQS */
1455#define MCF_GPIO_DDRQS_DDRQS0 (0x01)
1456#define MCF_GPIO_DDRQS_DDRQS1 (0x02)
1457#define MCF_GPIO_DDRQS_DDRQS2 (0x04)
1458#define MCF_GPIO_DDRQS_DDRQS3 (0x08)
1459#define MCF_GPIO_DDRQS_DDRQS4 (0x10)
1460#define MCF_GPIO_DDRQS_DDRQS5 (0x20)
1461#define MCF_GPIO_DDRQS_DDRQS6 (0x40)
1462#define MCF_GPIO_DDRQS_DDRQS7 (0x80)
1463
1464/* Bit definitions and macros for MCF_GPIO_DDRTA */
1465#define MCF_GPIO_DDRTA_DDRTA0 (0x01)
1466#define MCF_GPIO_DDRTA_DDRTA1 (0x02)
1467#define MCF_GPIO_DDRTA_DDRTA2 (0x04)
1468#define MCF_GPIO_DDRTA_DDRTA3 (0x08)
1469#define MCF_GPIO_DDRTA_DDRTA4 (0x10)
1470#define MCF_GPIO_DDRTA_DDRTA5 (0x20)
1471#define MCF_GPIO_DDRTA_DDRTA6 (0x40)
1472#define MCF_GPIO_DDRTA_DDRTA7 (0x80)
1473
1474/* Bit definitions and macros for MCF_GPIO_DDRTC */
1475#define MCF_GPIO_DDRTC_DDRTC0 (0x01)
1476#define MCF_GPIO_DDRTC_DDRTC1 (0x02)
1477#define MCF_GPIO_DDRTC_DDRTC2 (0x04)
1478#define MCF_GPIO_DDRTC_DDRTC3 (0x08)
1479
1480/* Bit definitions and macros for MCF_GPIO_DDRTD */
1481#define MCF_GPIO_DDRTD_DDRTD0 (0x01)
1482#define MCF_GPIO_DDRTD_DDRTD1 (0x02)
1483#define MCF_GPIO_DDRTD_DDRTD2 (0x04)
1484#define MCF_GPIO_DDRTD_DDRTD3 (0x08)
1485#define MCF_GPIO_DDRTD_DDRTD4 (0x10)
1486#define MCF_GPIO_DDRTD_DDRTD5 (0x20)
1487#define MCF_GPIO_DDRTD_DDRTD6 (0x40)
1488#define MCF_GPIO_DDRTD_DDRTD7 (0x80)
1489
1490/* Bit definitions and macros for MCF_GPIO_DDRTE */
1491#define MCF_GPIO_DDRTE_DDRTE0 (0x01)
1492#define MCF_GPIO_DDRTE_DDRTE1 (0x02)
1493#define MCF_GPIO_DDRTE_DDRTE2 (0x04)
1494#define MCF_GPIO_DDRTE_DDRTE3 (0x08)
1495#define MCF_GPIO_DDRTE_DDRTE4 (0x10)
1496#define MCF_GPIO_DDRTE_DDRTE5 (0x20)
1497#define MCF_GPIO_DDRTE_DDRTE6 (0x40)
1498#define MCF_GPIO_DDRTE_DDRTE7 (0x80)
1499
1500/* Bit definitions and macros for MCF_GPIO_DDRTF */
1501#define MCF_GPIO_DDRTF_DDRTF0 (0x01)
1502#define MCF_GPIO_DDRTF_DDRTF1 (0x02)
1503#define MCF_GPIO_DDRTF_DDRTF2 (0x04)
1504#define MCF_GPIO_DDRTF_DDRTF3 (0x08)
1505#define MCF_GPIO_DDRTF_DDRTF4 (0x10)
1506#define MCF_GPIO_DDRTF_DDRTF5 (0x20)
1507#define MCF_GPIO_DDRTF_DDRTF6 (0x40)
1508#define MCF_GPIO_DDRTF_DDRTF7 (0x80)
1509
1510/* Bit definitions and macros for MCF_GPIO_DDRTG */
1511#define MCF_GPIO_DDRTG_DDRTG0 (0x01)
1512#define MCF_GPIO_DDRTG_DDRTG1 (0x02)
1513#define MCF_GPIO_DDRTG_DDRTG2 (0x04)
1514#define MCF_GPIO_DDRTG_DDRTG3 (0x08)
1515#define MCF_GPIO_DDRTG_DDRTG4 (0x10)
1516#define MCF_GPIO_DDRTG_DDRTG5 (0x20)
1517#define MCF_GPIO_DDRTG_DDRTG6 (0x40)
1518#define MCF_GPIO_DDRTG_DDRTG7 (0x80)
1519
1520/* Bit definitions and macros for MCF_GPIO_DDRTH */
1521#define MCF_GPIO_DDRTH_DDRTH0 (0x01)
1522#define MCF_GPIO_DDRTH_DDRTH1 (0x02)
1523#define MCF_GPIO_DDRTH_DDRTH2 (0x04)
1524#define MCF_GPIO_DDRTH_DDRTH3 (0x08)
1525#define MCF_GPIO_DDRTH_DDRTH4 (0x10)
1526#define MCF_GPIO_DDRTH_DDRTH5 (0x20)
1527#define MCF_GPIO_DDRTH_DDRTH6 (0x40)
1528#define MCF_GPIO_DDRTH_DDRTH7 (0x80)
1529
1530/* Bit definitions and macros for MCF_GPIO_DDRTI */
1531#define MCF_GPIO_DDRTI_DDRTI0 (0x01)
1532#define MCF_GPIO_DDRTI_DDRTI1 (0x02)
1533#define MCF_GPIO_DDRTI_DDRTI2 (0x04)
1534#define MCF_GPIO_DDRTI_DDRTI3 (0x08)
1535#define MCF_GPIO_DDRTI_DDRTI4 (0x10)
1536#define MCF_GPIO_DDRTI_DDRTI5 (0x20)
1537#define MCF_GPIO_DDRTI_DDRTI6 (0x40)
1538#define MCF_GPIO_DDRTI_DDRTI7 (0x80)
1539
1540/* Bit definiTJons and macros for MCF_GPIO_DDRTJ */
1541#define MCF_GPIO_DDRTJ_DDRTJ0 (0x01)
1542#define MCF_GPIO_DDRTJ_DDRTJ1 (0x02)
1543#define MCF_GPIO_DDRTJ_DDRTJ2 (0x04)
1544#define MCF_GPIO_DDRTJ_DDRTJ3 (0x08)
1545#define MCF_GPIO_DDRTJ_DDRTJ4 (0x10)
1546#define MCF_GPIO_DDRTJ_DDRTJ5 (0x20)
1547#define MCF_GPIO_DDRTJ_DDRTJ6 (0x40)
1548#define MCF_GPIO_DDRTJ_DDRTJ7 (0x80)
1549
1550/* Bit definitions and macros for MCF_GPIO_DDRUA */
1551#define MCF_GPIO_DDRUA_DDRUA0 (0x01)
1552#define MCF_GPIO_DDRUA_DDRUA1 (0x02)
1553#define MCF_GPIO_DDRUA_DDRUA2 (0x04)
1554#define MCF_GPIO_DDRUA_DDRUA3 (0x08)
1555#define MCF_GPIO_DDRUA_DDRUA4 (0x10)
1556#define MCF_GPIO_DDRUA_DDRUA5 (0x20)
1557#define MCF_GPIO_DDRUA_DDRUA6 (0x40)
1558#define MCF_GPIO_DDRUA_DDRUA7 (0x80)
1559
1560/* Bit definitions and macros for MCF_GPIO_DDRUB */
1561#define MCF_GPIO_DDRUB_DDRUB0 (0x01)
1562#define MCF_GPIO_DDRUB_DDRUB1 (0x02)
1563#define MCF_GPIO_DDRUB_DDRUB2 (0x04)
1564#define MCF_GPIO_DDRUB_DDRUB3 (0x08)
1565#define MCF_GPIO_DDRUB_DDRUB4 (0x10)
1566#define MCF_GPIO_DDRUB_DDRUB5 (0x20)
1567#define MCF_GPIO_DDRUB_DDRUB6 (0x40)
1568#define MCF_GPIO_DDRUB_DDRUB7 (0x80)
1569
1570/* Bit definitions and macros for MCF_GPIO_DDRUC */
1571#define MCF_GPIO_DDRUC_DDRUC0 (0x01)
1572#define MCF_GPIO_DDRUC_DDRUC1 (0x02)
1573#define MCF_GPIO_DDRUC_DDRUC2 (0x04)
1574#define MCF_GPIO_DDRUC_DDRUC3 (0x08)
1575#define MCF_GPIO_DDRUC_DDRUC4 (0x10)
1576#define MCF_GPIO_DDRUC_DDRUC5 (0x20)
1577#define MCF_GPIO_DDRUC_DDRUC6 (0x40)
1578#define MCF_GPIO_DDRUC_DDRUC7 (0x80)
1579
1580/* Bit definitions and macros for MCF_GPIO_DDRDD */
1581#define MCF_GPIO_DDRDD_DDRDD0 (0x01)
1582#define MCF_GPIO_DDRDD_DDRDD1 (0x02)
1583#define MCF_GPIO_DDRDD_DDRDD2 (0x04)
1584#define MCF_GPIO_DDRDD_DDRDD3 (0x08)
1585#define MCF_GPIO_DDRDD_DDRDD4 (0x10)
1586#define MCF_GPIO_DDRDD_DDRDD5 (0x20)
1587#define MCF_GPIO_DDRDD_DDRDD6 (0x40)
1588#define MCF_GPIO_DDRDD_DDRDD7 (0x80)
1589
1590/* Bit definitions and macros for MCF_GPIO_DDRLD */
1591#define MCF_GPIO_DDRLD_DDRLD0 (0x01)
1592#define MCF_GPIO_DDRLD_DDRLD1 (0x02)
1593#define MCF_GPIO_DDRLD_DDRLD2 (0x04)
1594#define MCF_GPIO_DDRLD_DDRLD3 (0x08)
1595#define MCF_GPIO_DDRLD_DDRLD4 (0x10)
1596#define MCF_GPIO_DDRLD_DDRLD5 (0x20)
1597#define MCF_GPIO_DDRLD_DDRLD6 (0x40)
1598#define MCF_GPIO_DDRLD_DDRLD7 (0x80)
1599
1600/* Bit definitions and macros for MCF_GPIO_DDRGP */
1601#define MCF_GPIO_DDRGP_DDRGP0 (0x01)
1602#define MCF_GPIO_DDRGP_DDRGP1 (0x02)
1603#define MCF_GPIO_DDRGP_DDRGP2 (0x04)
1604#define MCF_GPIO_DDRGP_DDRGP3 (0x08)
1605#define MCF_GPIO_DDRGP_DDRGP4 (0x10)
1606#define MCF_GPIO_DDRGP_DDRGP5 (0x20)
1607#define MCF_GPIO_DDRGP_DDRGP6 (0x40)
1608#define MCF_GPIO_DDRGP_DDRGP7 (0x80)
1609
1610/* Bit definitions and macros for MCF_GPIO_SETNQ */
1611#define MCF_GPIO_SETNQ_SETNQ0 (0x01)
1612#define MCF_GPIO_SETNQ_SETNQ1 (0x02)
1613#define MCF_GPIO_SETNQ_SETNQ2 (0x04)
1614#define MCF_GPIO_SETNQ_SETNQ3 (0x08)
1615#define MCF_GPIO_SETNQ_SETNQ4 (0x10)
1616#define MCF_GPIO_SETNQ_SETNQ5 (0x20)
1617#define MCF_GPIO_SETNQ_SETNQ6 (0x40)
1618#define MCF_GPIO_SETNQ_SETNQ7 (0x80)
1619
1620/* Bit definitions and macros for MCF_GPIO_SETAN */
1621#define MCF_GPIO_SETAN_SETAN0 (0x01)
1622#define MCF_GPIO_SETAN_SETAN1 (0x02)
1623#define MCF_GPIO_SETAN_SETAN2 (0x04)
1624#define MCF_GPIO_SETAN_SETAN3 (0x08)
1625#define MCF_GPIO_SETAN_SETAN4 (0x10)
1626#define MCF_GPIO_SETAN_SETAN5 (0x20)
1627#define MCF_GPIO_SETAN_SETAN6 (0x40)
1628#define MCF_GPIO_SETAN_SETAN7 (0x80)
1629
1630/* Bit definitions and macros for MCF_GPIO_SETAS */
1631#define MCF_GPIO_SETAS_SETAS0 (0x01)
1632#define MCF_GPIO_SETAS_SETAS1 (0x02)
1633#define MCF_GPIO_SETAS_SETAS2 (0x04)
1634#define MCF_GPIO_SETAS_SETAS3 (0x08)
1635#define MCF_GPIO_SETAS_SETAS4 (0x10)
1636#define MCF_GPIO_SETAS_SETAS5 (0x20)
1637#define MCF_GPIO_SETAS_SETAS6 (0x40)
1638#define MCF_GPIO_SETAS_SETAS7 (0x80)
1639
1640/* Bit definitions and macros for MCF_GPIO_SETQS */
1641#define MCF_GPIO_SETQS_SETQS0 (0x01)
1642#define MCF_GPIO_SETQS_SETQS1 (0x02)
1643#define MCF_GPIO_SETQS_SETQS2 (0x04)
1644#define MCF_GPIO_SETQS_SETQS3 (0x08)
1645#define MCF_GPIO_SETQS_SETQS4 (0x10)
1646#define MCF_GPIO_SETQS_SETQS5 (0x20)
1647#define MCF_GPIO_SETQS_SETQS6 (0x40)
1648#define MCF_GPIO_SETQS_SETQS7 (0x80)
1649
1650/* Bit definitions and macros for MCF_GPIO_SETTA */
1651#define MCF_GPIO_SETTA_SETTA0 (0x01)
1652#define MCF_GPIO_SETTA_SETTA1 (0x02)
1653#define MCF_GPIO_SETTA_SETTA2 (0x04)
1654#define MCF_GPIO_SETTA_SETTA3 (0x08)
1655#define MCF_GPIO_SETTA_SETTA4 (0x10)
1656#define MCF_GPIO_SETTA_SETTA5 (0x20)
1657#define MCF_GPIO_SETTA_SETTA6 (0x40)
1658#define MCF_GPIO_SETTA_SETTA7 (0x80)
1659
1660/* Bit definitions and macros for MCF_GPIO_SETTC */
1661#define MCF_GPIO_SETTC_SETTC0 (0x01)
1662#define MCF_GPIO_SETTC_SETTC1 (0x02)
1663#define MCF_GPIO_SETTC_SETTC2 (0x04)
1664#define MCF_GPIO_SETTC_SETTC3 (0x08)
1665#define MCF_GPIO_SETTC_SETTC4 (0x10)
1666#define MCF_GPIO_SETTC_SETTC5 (0x20)
1667#define MCF_GPIO_SETTC_SETTC6 (0x40)
1668#define MCF_GPIO_SETTC_SETTC7 (0x80)
1669
1670/* Bit definitions and macros for MCF_GPIO_SETTD */
1671#define MCF_GPIO_SETTD_SETTD0 (0x01)
1672#define MCF_GPIO_SETTD_SETTD1 (0x02)
1673#define MCF_GPIO_SETTD_SETTD2 (0x04)
1674#define MCF_GPIO_SETTD_SETTD3 (0x08)
1675#define MCF_GPIO_SETTD_SETTD4 (0x10)
1676#define MCF_GPIO_SETTD_SETTD5 (0x20)
1677#define MCF_GPIO_SETTD_SETTD6 (0x40)
1678#define MCF_GPIO_SETTD_SETTD7 (0x80)
1679
1680/* Bit definitions and macros for MCF_GPIO_SETUA */
1681#define MCF_GPIO_SETUA_SETUA0 (0x01)
1682#define MCF_GPIO_SETUA_SETUA1 (0x02)
1683#define MCF_GPIO_SETUA_SETUA2 (0x04)
1684#define MCF_GPIO_SETUA_SETUA3 (0x08)
1685#define MCF_GPIO_SETUA_SETUA4 (0x10)
1686#define MCF_GPIO_SETUA_SETUA5 (0x20)
1687#define MCF_GPIO_SETUA_SETUA6 (0x40)
1688#define MCF_GPIO_SETUA_SETUA7 (0x80)
1689
1690/* Bit definitions and macros for MCF_GPIO_SETUB */
1691#define MCF_GPIO_SETUB_SETUB0 (0x01)
1692#define MCF_GPIO_SETUB_SETUB1 (0x02)
1693#define MCF_GPIO_SETUB_SETUB2 (0x04)
1694#define MCF_GPIO_SETUB_SETUB3 (0x08)
1695#define MCF_GPIO_SETUB_SETUB4 (0x10)
1696#define MCF_GPIO_SETUB_SETUB5 (0x20)
1697#define MCF_GPIO_SETUB_SETUB6 (0x40)
1698#define MCF_GPIO_SETUB_SETUB7 (0x80)
1699
1700/* Bit definitions and macros for MCF_GPIO_SETUC */
1701#define MCF_GPIO_SETUC_SETUC0 (0x01)
1702#define MCF_GPIO_SETUC_SETUC1 (0x02)
1703#define MCF_GPIO_SETUC_SETUC2 (0x04)
1704#define MCF_GPIO_SETUC_SETUC3 (0x08)
1705#define MCF_GPIO_SETUC_SETUC4 (0x10)
1706#define MCF_GPIO_SETUC_SETUC5 (0x20)
1707#define MCF_GPIO_SETUC_SETUC6 (0x40)
1708#define MCF_GPIO_SETUC_SETUC7 (0x80)
1709
1710/* Bit definitions and macros for MCF_GPIO_SETDD */
1711#define MCF_GPIO_SETDD_SETDD0 (0x01)
1712#define MCF_GPIO_SETDD_SETDD1 (0x02)
1713#define MCF_GPIO_SETDD_SETDD2 (0x04)
1714#define MCF_GPIO_SETDD_SETDD3 (0x08)
1715#define MCF_GPIO_SETDD_SETDD4 (0x10)
1716#define MCF_GPIO_SETDD_SETDD5 (0x20)
1717#define MCF_GPIO_SETDD_SETDD6 (0x40)
1718#define MCF_GPIO_SETDD_SETDD7 (0x80)
1719
1720/* Bit definitions and macros for MCF_GPIO_SETLD */
1721#define MCF_GPIO_SETLD_SETLD0 (0x01)
1722#define MCF_GPIO_SETLD_SETLD1 (0x02)
1723#define MCF_GPIO_SETLD_SETLD2 (0x04)
1724#define MCF_GPIO_SETLD_SETLD3 (0x08)
1725#define MCF_GPIO_SETLD_SETLD4 (0x10)
1726#define MCF_GPIO_SETLD_SETLD5 (0x20)
1727#define MCF_GPIO_SETLD_SETLD6 (0x40)
1728#define MCF_GPIO_SETLD_SETLD7 (0x80)
1729
1730/* Bit definitions and macros for MCF_GPIO_SETGP */
1731#define MCF_GPIO_SETGP_SETGP0 (0x01)
1732#define MCF_GPIO_SETGP_SETGP1 (0x02)
1733#define MCF_GPIO_SETGP_SETGP2 (0x04)
1734#define MCF_GPIO_SETGP_SETGP3 (0x08)
1735#define MCF_GPIO_SETGP_SETGP4 (0x10)
1736#define MCF_GPIO_SETGP_SETGP5 (0x20)
1737#define MCF_GPIO_SETGP_SETGP6 (0x40)
1738#define MCF_GPIO_SETGP_SETGP7 (0x80)
1739
1740/* Bit definitions and macros for MCF_GPIO_CLRNQ */
1741#define MCF_GPIO_CLRNQ_CLRNQ0 (0x01)
1742#define MCF_GPIO_CLRNQ_CLRNQ1 (0x02)
1743#define MCF_GPIO_CLRNQ_CLRNQ2 (0x04)
1744#define MCF_GPIO_CLRNQ_CLRNQ3 (0x08)
1745#define MCF_GPIO_CLRNQ_CLRNQ4 (0x10)
1746#define MCF_GPIO_CLRNQ_CLRNQ5 (0x20)
1747#define MCF_GPIO_CLRNQ_CLRNQ6 (0x40)
1748#define MCF_GPIO_CLRNQ_CLRNQ7 (0x80)
1749
1750/* Bit definitions and macros for MCF_GPIO_CLRAN */
1751#define MCF_GPIO_CLRAN_CLRAN0 (0x01)
1752#define MCF_GPIO_CLRAN_CLRAN1 (0x02)
1753#define MCF_GPIO_CLRAN_CLRAN2 (0x04)
1754#define MCF_GPIO_CLRAN_CLRAN3 (0x08)
1755#define MCF_GPIO_CLRAN_CLRAN4 (0x10)
1756#define MCF_GPIO_CLRAN_CLRAN5 (0x20)
1757#define MCF_GPIO_CLRAN_CLRAN6 (0x40)
1758#define MCF_GPIO_CLRAN_CLRAN7 (0x80)
1759
1760/* Bit definitions and macros for MCF_GPIO_CLRAS */
1761#define MCF_GPIO_CLRAS_CLRAS0 (0x01)
1762#define MCF_GPIO_CLRAS_CLRAS1 (0x02)
1763#define MCF_GPIO_CLRAS_CLRAS2 (0x04)
1764#define MCF_GPIO_CLRAS_CLRAS3 (0x08)
1765#define MCF_GPIO_CLRAS_CLRAS4 (0x10)
1766#define MCF_GPIO_CLRAS_CLRAS5 (0x20)
1767#define MCF_GPIO_CLRAS_CLRAS6 (0x40)
1768#define MCF_GPIO_CLRAS_CLRAS7 (0x80)
1769
1770/* Bit definitions and macros for MCF_GPIO_CLRQS */
1771#define MCF_GPIO_CLRQS_CLRQS0 (0x01)
1772#define MCF_GPIO_CLRQS_CLRQS1 (0x02)
1773#define MCF_GPIO_CLRQS_CLRQS2 (0x04)
1774#define MCF_GPIO_CLRQS_CLRQS3 (0x08)
1775#define MCF_GPIO_CLRQS_CLRQS4 (0x10)
1776#define MCF_GPIO_CLRQS_CLRQS5 (0x20)
1777#define MCF_GPIO_CLRQS_CLRQS6 (0x40)
1778#define MCF_GPIO_CLRQS_CLRQS7 (0x80)
1779
1780/* Bit definitions and macros for MCF_GPIO_CLRTA */
1781#define MCF_GPIO_CLRTA_CLRTA0 (0x01)
1782#define MCF_GPIO_CLRTA_CLRTA1 (0x02)
1783#define MCF_GPIO_CLRTA_CLRTA2 (0x04)
1784#define MCF_GPIO_CLRTA_CLRTA3 (0x08)
1785#define MCF_GPIO_CLRTA_CLRTA4 (0x10)
1786#define MCF_GPIO_CLRTA_CLRTA5 (0x20)
1787#define MCF_GPIO_CLRTA_CLRTA6 (0x40)
1788#define MCF_GPIO_CLRTA_CLRTA7 (0x80)
1789
1790/* Bit definitions and macros for MCF_GPIO_CLRTC */
1791#define MCF_GPIO_CLRTC_CLRTC0 (0x01)
1792#define MCF_GPIO_CLRTC_CLRTC1 (0x02)
1793#define MCF_GPIO_CLRTC_CLRTC2 (0x04)
1794#define MCF_GPIO_CLRTC_CLRTC3 (0x08)
1795#define MCF_GPIO_CLRTC_CLRTC4 (0x10)
1796#define MCF_GPIO_CLRTC_CLRTC5 (0x20)
1797#define MCF_GPIO_CLRTC_CLRTC6 (0x40)
1798#define MCF_GPIO_CLRTC_CLRTC7 (0x80)
1799
1800/* Bit definitions and macros for MCF_GPIO_CLRTD */
1801#define MCF_GPIO_CLRTD_CLRTD0 (0x01)
1802#define MCF_GPIO_CLRTD_CLRTD1 (0x02)
1803#define MCF_GPIO_CLRTD_CLRTD2 (0x04)
1804#define MCF_GPIO_CLRTD_CLRTD3 (0x08)
1805#define MCF_GPIO_CLRTD_CLRTD4 (0x10)
1806#define MCF_GPIO_CLRTD_CLRTD5 (0x20)
1807#define MCF_GPIO_CLRTD_CLRTD6 (0x40)
1808#define MCF_GPIO_CLRTD_CLRTD7 (0x80)
1809
1810/* Bit definitions and macros for MCF_GPIO_CLRUA */
1811#define MCF_GPIO_CLRUA_CLRUA0 (0x01)
1812#define MCF_GPIO_CLRUA_CLRUA1 (0x02)
1813#define MCF_GPIO_CLRUA_CLRUA2 (0x04)
1814#define MCF_GPIO_CLRUA_CLRUA3 (0x08)
1815#define MCF_GPIO_CLRUA_CLRUA4 (0x10)
1816#define MCF_GPIO_CLRUA_CLRUA5 (0x20)
1817#define MCF_GPIO_CLRUA_CLRUA6 (0x40)
1818#define MCF_GPIO_CLRUA_CLRUA7 (0x80)
1819
1820/* Bit definitions and macros for MCF_GPIO_CLRUB */
1821#define MCF_GPIO_CLRUB_CLRUB0 (0x01)
1822#define MCF_GPIO_CLRUB_CLRUB1 (0x02)
1823#define MCF_GPIO_CLRUB_CLRUB2 (0x04)
1824#define MCF_GPIO_CLRUB_CLRUB3 (0x08)
1825#define MCF_GPIO_CLRUB_CLRUB4 (0x10)
1826#define MCF_GPIO_CLRUB_CLRUB5 (0x20)
1827#define MCF_GPIO_CLRUB_CLRUB6 (0x40)
1828#define MCF_GPIO_CLRUB_CLRUB7 (0x80)
1829
1830/* Bit definitions and macros for MCF_GPIO_CLRUC */
1831#define MCF_GPIO_CLRUC_CLRUC0 (0x01)
1832#define MCF_GPIO_CLRUC_CLRUC1 (0x02)
1833#define MCF_GPIO_CLRUC_CLRUC2 (0x04)
1834#define MCF_GPIO_CLRUC_CLRUC3 (0x08)
1835#define MCF_GPIO_CLRUC_CLRUC4 (0x10)
1836#define MCF_GPIO_CLRUC_CLRUC5 (0x20)
1837#define MCF_GPIO_CLRUC_CLRUC6 (0x40)
1838#define MCF_GPIO_CLRUC_CLRUC7 (0x80)
1839
1840/* Bit definitions and macros for MCF_GPIO_CLRDD */
1841#define MCF_GPIO_CLRDD_CLRDD0 (0x01)
1842#define MCF_GPIO_CLRDD_CLRDD1 (0x02)
1843#define MCF_GPIO_CLRDD_CLRDD2 (0x04)
1844#define MCF_GPIO_CLRDD_CLRDD3 (0x08)
1845#define MCF_GPIO_CLRDD_CLRDD4 (0x10)
1846#define MCF_GPIO_CLRDD_CLRDD5 (0x20)
1847#define MCF_GPIO_CLRDD_CLRDD6 (0x40)
1848#define MCF_GPIO_CLRDD_CLRDD7 (0x80)
1849
1850/* Bit definitions and macros for MCF_GPIO_CLRLD */
1851#define MCF_GPIO_CLRLD_CLRLD0 (0x01)
1852#define MCF_GPIO_CLRLD_CLRLD1 (0x02)
1853#define MCF_GPIO_CLRLD_CLRLD2 (0x04)
1854#define MCF_GPIO_CLRLD_CLRLD3 (0x08)
1855#define MCF_GPIO_CLRLD_CLRLD4 (0x10)
1856#define MCF_GPIO_CLRLD_CLRLD5 (0x20)
1857#define MCF_GPIO_CLRLD_CLRLD6 (0x40)
1858#define MCF_GPIO_CLRLD_CLRLD7 (0x80)
1859
1860/* Bit definitions and macros for MCF_GPIO_CLRGP */
1861#define MCF_GPIO_CLRGP_CLRGP0 (0x01)
1862#define MCF_GPIO_CLRGP_CLRGP1 (0x02)
1863#define MCF_GPIO_CLRGP_CLRGP2 (0x04)
1864#define MCF_GPIO_CLRGP_CLRGP3 (0x08)
1865#define MCF_GPIO_CLRGP_CLRGP4 (0x10)
1866#define MCF_GPIO_CLRGP_CLRGP5 (0x20)
1867#define MCF_GPIO_CLRGP_CLRGP6 (0x40)
1868#define MCF_GPIO_CLRGP_CLRGP7 (0x80)
1869
1870/* Bit definitions and macros for MCF_GPIO_PTIPAR */
1871#define MCF_GPIO_PTIPAR_PTIPAR0 (0x01)
1872#define MCF_GPIO_PTIPAR_PTIPAR1 (0x02)
1873#define MCF_GPIO_PTIPAR_PTIPAR2 (0x04)
1874#define MCF_GPIO_PTIPAR_PTIPAR3 (0x08)
1875#define MCF_GPIO_PTIPAR_PTIPAR4 (0x10)
1876#define MCF_GPIO_PTIPAR_PTIPAR5 (0x20)
1877#define MCF_GPIO_PTIPAR_PTIPAR6 (0x40)
1878#define MCF_GPIO_PTIPAR_PTIPAR7 (0x80)
1879
1880/* Bit definitions and macros for MCF_GPIO_PTJPAR */
1881#define MCF_GPIO_PTJPAR_PTJPAR0 (0x01)
1882#define MCF_GPIO_PTJPAR_PTJPAR1 (0x02)
1883#define MCF_GPIO_PTJPAR_PTJPAR2 (0x04)
1884#define MCF_GPIO_PTJPAR_PTJPAR3 (0x08)
1885#define MCF_GPIO_PTJPAR_PTJPAR4 (0x10)
1886#define MCF_GPIO_PTJPAR_PTJPAR5 (0x20)
1887#define MCF_GPIO_PTJPAR_PTJPAR6 (0x40)
1888#define MCF_GPIO_PTJPAR_PTJPAR7 (0x80)
1889
1890/* Bit definitions and macros for MCF_GPIO_PNQPAR */
1891#define MCF_GPIO_PNQPAR_PNQPAR1(x) (((x)&0x0003)<<2)
1892#define MCF_GPIO_PNQPAR_PNQPAR3(x) (((x)&0x0003)<<6)
1893#define MCF_GPIO_PNQPAR_PNQPAR5(x) (((x)&0x0003)<<10)
1894#define MCF_GPIO_PNQPAR_PNQPAR7(x) (((x)&0x0003)<<14)
1895#define MCF_GPIO_PNQPAR_IRQ1_GPIO (0x0000)
1896#define MCF_GPIO_PNQPAR_IRQ2_GPIO (0x0000)
1897#define MCF_GPIO_PNQPAR_IRQ3_GPIO (0x0000)
1898#define MCF_GPIO_PNQPAR_IRQ4_GPIO (0x0000)
1899#define MCF_GPIO_PNQPAR_IRQ5_GPIO (0x0000)
1900#define MCF_GPIO_PNQPAR_IRQ6_GPIO (0x0000)
1901#define MCF_GPIO_PNQPAR_IRQ7_GPIO (0x0000)
1902#define MCF_GPIO_PNQPAR_IRQ1_IRQ1 (0x0004)
1903#define MCF_GPIO_PNQPAR_IRQ2_IRQ2 (0x0010)
1904#define MCF_GPIO_PNQPAR_IRQ3_IRQ3 (0x0040)
1905#define MCF_GPIO_PNQPAR_IRQ4_IRQ4 (0x0100)
1906#define MCF_GPIO_PNQPAR_IRQ5_IRQ5 (0x0400)
1907#define MCF_GPIO_PNQPAR_IRQ6_IRQ6 (0x1000)
1908#define MCF_GPIO_PNQPAR_IRQ7_IRQ7 (0x4000)
1909#define MCF_GPIO_PNQPAR_IRQ1_SYNCA (0x0008)
1910#define MCF_GPIO_PNQPAR_IRQ1_PWM1 (0x000C)
1911
1912/* Bit definitions and macros for MCF_GPIO_PANPAR */
1913#define MCF_GPIO_PANPAR_PANPAR0 (0x01)
1914#define MCF_GPIO_PANPAR_PANPAR1 (0x02)
1915#define MCF_GPIO_PANPAR_PANPAR2 (0x04)
1916#define MCF_GPIO_PANPAR_PANPAR3 (0x08)
1917#define MCF_GPIO_PANPAR_PANPAR4 (0x10)
1918#define MCF_GPIO_PANPAR_PANPAR5 (0x20)
1919#define MCF_GPIO_PANPAR_PANPAR6 (0x40)
1920#define MCF_GPIO_PANPAR_PANPAR7 (0x80)
1921#define MCF_GPIO_PANPAR_AN0_GPIO (0x00)
1922#define MCF_GPIO_PANPAR_AN1_GPIO (0x00)
1923#define MCF_GPIO_PANPAR_AN2_GPIO (0x00)
1924#define MCF_GPIO_PANPAR_AN3_GPIO (0x00)
1925#define MCF_GPIO_PANPAR_AN4_GPIO (0x00)
1926#define MCF_GPIO_PANPAR_AN5_GPIO (0x00)
1927#define MCF_GPIO_PANPAR_AN6_GPIO (0x00)
1928#define MCF_GPIO_PANPAR_AN7_GPIO (0x00)
1929#define MCF_GPIO_PANPAR_AN0_AN0 (0x01)
1930#define MCF_GPIO_PANPAR_AN1_AN1 (0x02)
1931#define MCF_GPIO_PANPAR_AN2_AN2 (0x04)
1932#define MCF_GPIO_PANPAR_AN3_AN3 (0x08)
1933#define MCF_GPIO_PANPAR_AN4_AN4 (0x10)
1934#define MCF_GPIO_PANPAR_AN5_AN5 (0x20)
1935#define MCF_GPIO_PANPAR_AN6_AN6 (0x40)
1936#define MCF_GPIO_PANPAR_AN7_AN7 (0x80)
1937
1938/* Bit definitions and macros for MCF_GPIO_PASPAR */
1939#define MCF_GPIO_PASPAR_PASPAR0(x) (((x)&0x03)<<0)
1940#define MCF_GPIO_PASPAR_PASPAR1(x) (((x)&0x03)<<2)
1941#define MCF_GPIO_PASPAR_PASPAR2(x) (((x)&0x03)<<4)
1942#define MCF_GPIO_PASPAR_SCL_GPIO (0x00)
1943#define MCF_GPIO_PASPAR_SDA_GPIO (0x00)
1944#define MCF_GPIO_PASPAR_SYNCA_GPIO (0x00)
1945#define MCF_GPIO_PASPAR_SYNCB_GPIO (0x00)
1946#define MCF_GPIO_PASPAR_SCL_SCL (0x01)
1947#define MCF_GPIO_PASPAR_SDA_SDA (0x04)
1948#define MCF_GPIO_PASPAR_SYNCA_SYNCA (0x10)
1949#define MCF_GPIO_PASPAR_SYNCB_SYNCB (0x40)
1950#define MCF_GPIO_PASPAR_SCL_CANTX (0x02)
1951#define MCF_GPIO_PASPAR_SDA_CANRX (0x08)
1952#define MCF_GPIO_PASPAR_SYNCA_CANRX (0x20)
1953#define MCF_GPIO_PASPAR_SYNCB_CANTX (0x80)
1954#define MCF_GPIO_PASPAR_SCL_TXD2 (0x30)
1955#define MCF_GPIO_PASPAR_SDA_RXD2 (0xC0)
1956
1957/* Bit definitions and macros for MCF_GPIO_PQSPAR */
1958#define MCF_GPIO_PQSPAR_PQSPAR0(x) (((x)&0x0003)<<0)
1959#define MCF_GPIO_PQSPAR_PQSPAR1(x) (((x)&0x0003)<<2)
1960#define MCF_GPIO_PQSPAR_PQSPAR2(x) (((x)&0x0003)<<4)
1961#define MCF_GPIO_PQSPAR_PQSPAR3(x) (((x)&0x0003)<<6)
1962#define MCF_GPIO_PQSPAR_PQSPAR4(x) (((x)&0x0003)<<8)
1963#define MCF_GPIO_PQSPAR_PQSPAR5(x) (((x)&0x0003)<<10)
1964#define MCF_GPIO_PQSPAR_PQSPAR6(x) (((x)&0x0003)<<12)
1965#define MCF_GPIO_PQSPAR_DOUT_GPIO (0x0000)
1966#define MCF_GPIO_PQSPAR_DIN_GPIO (0x0000)
1967#define MCF_GPIO_PQSPAR_SCK_GPIO (0x0000)
1968#define MCF_GPIO_PQSPAR_CS0_GPIO (0x0000)
1969#define MCF_GPIO_PQSPAR_CS1_GPIO (0x0000)
1970#define MCF_GPIO_PQSPAR_CS2_GPIO (0x0000)
1971#define MCF_GPIO_PQSPAR_CS3_GPIO (0x0000)
1972#define MCF_GPIO_PQSPAR_DOUT_DOUT (0x0001)
1973#define MCF_GPIO_PQSPAR_DIN_DIN (0x0004)
1974#define MCF_GPIO_PQSPAR_SCK_SCK (0x0010)
1975#define MCF_GPIO_PQSPAR_CS0_CS0 (0x0040)
1976#define MCF_GPIO_PQSPAR_CS1_CS1 (0x0100)
1977#define MCF_GPIO_PQSPAR_CS2_CS2 (0x0400)
1978#define MCF_GPIO_PQSPAR_CS3_CS3 (0x1000)
1979#define MCF_GPIO_PQSPAR_DOUT_CANTX (0x0002)
1980#define MCF_GPIO_PQSPAR_DIN_CANRX (0x0008)
1981#define MCF_GPIO_PQSPAR_SCK_SCL (0x0020)
1982#define MCF_GPIO_PQSPAR_CS0_SDA (0x0080)
1983#define MCF_GPIO_PQSPAR_CS3_SYNCA (0x2000)
1984#define MCF_GPIO_PQSPAR_DOUT_TXD1 (0x0003)
1985#define MCF_GPIO_PQSPAR_DIN_RXD1 (0x000C)
1986#define MCF_GPIO_PQSPAR_SCK_RTS1 (0x0030)
1987#define MCF_GPIO_PQSPAR_CS0_CTS1 (0x00C0)
1988#define MCF_GPIO_PQSPAR_CS3_SYNCB (0x3000)
1989
1990/* Bit definitions and macros for MCF_GPIO_PTAPAR */
1991#define MCF_GPIO_PTAPAR_PTAPAR0(x) (((x)&0x03)<<0)
1992#define MCF_GPIO_PTAPAR_PTAPAR1(x) (((x)&0x03)<<2)
1993#define MCF_GPIO_PTAPAR_PTAPAR2(x) (((x)&0x03)<<4)
1994#define MCF_GPIO_PTAPAR_PTAPAR3(x) (((x)&0x03)<<6)
1995#define MCF_GPIO_PTAPAR_ICOC0_GPIO (0x00)
1996#define MCF_GPIO_PTAPAR_ICOC1_GPIO (0x00)
1997#define MCF_GPIO_PTAPAR_ICOC2_GPIO (0x00)
1998#define MCF_GPIO_PTAPAR_ICOC3_GPIO (0x00)
1999#define MCF_GPIO_PTAPAR_ICOC0_ICOC0 (0x01)
2000#define MCF_GPIO_PTAPAR_ICOC1_ICOC1 (0x04)
2001#define MCF_GPIO_PTAPAR_ICOC2_ICOC2 (0x10)
2002#define MCF_GPIO_PTAPAR_ICOC3_ICOC3 (0x40)
2003#define MCF_GPIO_PTAPAR_ICOC0_PWM1 (0x02)
2004#define MCF_GPIO_PTAPAR_ICOC1_PWM3 (0x08)
2005#define MCF_GPIO_PTAPAR_ICOC2_PWM5 (0x20)
2006#define MCF_GPIO_PTAPAR_ICOC3_PWM7 (0x80)
2007
2008/* Bit definitions and macros for MCF_GPIO_PTCPAR */
2009#define MCF_GPIO_PTCPAR_PTCPAR0(x) (((x)&0x03)<<0)
2010#define MCF_GPIO_PTCPAR_PTCPAR1(x) (((x)&0x03)<<2)
2011#define MCF_GPIO_PTCPAR_PTCPAR2(x) (((x)&0x03)<<4)
2012#define MCF_GPIO_PTCPAR_PTCPAR3(x) (((x)&0x03)<<6)
2013#define MCF_GPIO_PTCPAR_TIN0_GPIO (0x00)
2014#define MCF_GPIO_PTCPAR_TIN1_GPIO (0x00)
2015#define MCF_GPIO_PTCPAR_TIN2_GPIO (0x00)
2016#define MCF_GPIO_PTCPAR_TIN3_GPIO (0x00)
2017#define MCF_GPIO_PTCPAR_TIN0_TIN0 (0x01)
2018#define MCF_GPIO_PTCPAR_TIN1_TIN1 (0x04)
2019#define MCF_GPIO_PTCPAR_TIN2_TIN2 (0x10)
2020#define MCF_GPIO_PTCPAR_TIN3_TIN3 (0x40)
2021#define MCF_GPIO_PTCPAR_TIN0_TOUT0 (0x02)
2022#define MCF_GPIO_PTCPAR_TIN1_TOUT1 (0x08)
2023#define MCF_GPIO_PTCPAR_TIN2_TOUT2 (0x20)
2024#define MCF_GPIO_PTCPAR_TIN3_TOUT3 (0x80)
2025#define MCF_GPIO_PTCPAR_TIN0_PWM0 (0x03)
2026#define MCF_GPIO_PTCPAR_TIN1_PWM2 (0x0C)
2027#define MCF_GPIO_PTCPAR_TIN2_PWM4 (0x30)
2028#define MCF_GPIO_PTCPAR_TIN3_PWM6 (0xC0)
2029
2030/* Bit definitions and macros for MCF_GPIO_PTDPAR */
2031#define MCF_GPIO_PTDPAR_PTDPAR0 (0x01)
2032#define MCF_GPIO_PTDPAR_PTDPAR1 (0x02)
2033#define MCF_GPIO_PTDPAR_PTDPAR2 (0x04)
2034#define MCF_GPIO_PTDPAR_PTDPAR3 (0x08)
2035#define MCF_GPIO_PTDPAR_PWM1_GPIO (0x00)
2036#define MCF_GPIO_PTDPAR_PWM3_GPIO (0x00)
2037#define MCF_GPIO_PTDPAR_PWM5_GPIO (0x00)
2038#define MCF_GPIO_PTDPAR_PWM7_GPIO (0x00)
2039#define MCF_GPIO_PTDPAR_PWM1_PWM1 (0x01)
2040#define MCF_GPIO_PTDPAR_PWM3_PWM3 (0x02)
2041#define MCF_GPIO_PTDPAR_PWM5_PWM5 (0x04)
2042#define MCF_GPIO_PTDPAR_PWM7_PWM7 (0x08)
2043
2044/* Bit definitions and macros for MCF_GPIO_PTEPAR */
2045#define MCF_GPIO_PTEPAR_PTEPAR0 (0x01)
2046#define MCF_GPIO_PTEPAR_PTEPAR1 (0x02)
2047#define MCF_GPIO_PTEPAR_PTEPAR2 (0x04)
2048#define MCF_GPIO_PTEPAR_PTEPAR3 (0x08)
2049#define MCF_GPIO_PTEPAR_PTEPAR4 (0x10)
2050#define MCF_GPIO_PTEPAR_PTEPAR5 (0x20)
2051#define MCF_GPIO_PTEPAR_PTEPAR6 (0x40)
2052#define MCF_GPIO_PTEPAR_PTEPAR7 (0x80)
2053
2054/* Bit definitions and macros for MCF_GPIO_PTFPAR */
2055#define MCF_GPIO_PTFPAR_PTFPAR0 (0x01)
2056#define MCF_GPIO_PTFPAR_PTFPAR1 (0x02)
2057#define MCF_GPIO_PTFPAR_PTFPAR2 (0x04)
2058#define MCF_GPIO_PTFPAR_PTFPAR3 (0x08)
2059#define MCF_GPIO_PTFPAR_PTFPAR4 (0x10)
2060#define MCF_GPIO_PTFPAR_PTFPAR5 (0x20)
2061#define MCF_GPIO_PTFPAR_PTFPAR6 (0x40)
2062#define MCF_GPIO_PTFPAR_PTFPAR7 (0x80)
2063
2064/* Bit definitions and macros for MCF_GPIO_PTGPAR */
2065#define MCF_GPIO_PTGPAR_PTGPAR0 (0x01)
2066#define MCF_GPIO_PTGPAR_PTGPAR1 (0x02)
2067#define MCF_GPIO_PTGPAR_PTGPAR2 (0x04)
2068#define MCF_GPIO_PTGPAR_PTGPAR3 (0x08)
2069#define MCF_GPIO_PTGPAR_PTGPAR4 (0x10)
2070#define MCF_GPIO_PTGPAR_PTGPAR5 (0x20)
2071#define MCF_GPIO_PTGPAR_PTGPAR6 (0x40)
2072#define MCF_GPIO_PTGPAR_PTGPAR7 (0x80)
2073
2074/* Bit definitions and macros for MCF_GPIO_PTHPAR */
2075#define MCF_GPIO_PTHPAR_PTHPAR0(x) (((x)&0x0003)<<0)
2076#define MCF_GPIO_PTHPAR_PTHPAR1(x) (((x)&0x0003)<<2)
2077#define MCF_GPIO_PTHPAR_PTHPAR2(x) (((x)&0x0003)<<4)
2078#define MCF_GPIO_PTHPAR_PTHPAR3(x) (((x)&0x0003)<<6)
2079#define MCF_GPIO_PTHPAR_PTHPAR4(x) (((x)&0x0003)<<8)
2080#define MCF_GPIO_PTHPAR_PTHPAR5(x) (((x)&0x0003)<<10)
2081#define MCF_GPIO_PTHPAR_PTHPAR6(x) (((x)&0x0003)<<12)
2082
2083
2084/* Bit definitions and macros for MCF_GPIO_PUAPAR */
2085#define MCF_GPIO_PUAPAR_PUAPAR0(x) (((x)&0x03)<<0)
2086#define MCF_GPIO_PUAPAR_PUAPAR1(x) (((x)&0x03)<<2)
2087#define MCF_GPIO_PUAPAR_PUAPAR2(x) (((x)&0x03)<<4)
2088#define MCF_GPIO_PUAPAR_PUAPAR3(x) (((x)&0x03)<<6)
2089#define MCF_GPIO_PUAPAR_TXD0_GPIO (0x00)
2090#define MCF_GPIO_PUAPAR_RXD0_GPIO (0x00)
2091#define MCF_GPIO_PUAPAR_RTS0_GPIO (0x00)
2092#define MCF_GPIO_PUAPAR_CTS0_GPIO (0x00)
2093#define MCF_GPIO_PUAPAR_TXD0_TXD0 (0x01)
2094#define MCF_GPIO_PUAPAR_RXD0_RXD0 (0x04)
2095#define MCF_GPIO_PUAPAR_RTS0_RTS0 (0x10)
2096#define MCF_GPIO_PUAPAR_CTS0_CTS0 (0x40)
2097#define MCF_GPIO_PUAPAR_RTS0_CANTX (0x20)
2098#define MCF_GPIO_PUAPAR_CTS0_CANRX (0x80)
2099
2100/* Bit definitions and macros for MCF_GPIO_PUBPAR */
2101#define MCF_GPIO_PUBPAR_PUBPAR0(x) (((x)&0x03)<<0)
2102#define MCF_GPIO_PUBPAR_PUBPAR1(x) (((x)&0x03)<<2)
2103#define MCF_GPIO_PUBPAR_PUBPAR2(x) (((x)&0x03)<<4)
2104#define MCF_GPIO_PUBPAR_PUBPAR3(x) (((x)&0x03)<<6)
2105#define MCF_GPIO_PUBPAR_TXD1_GPIO (0x00)
2106#define MCF_GPIO_PUBPAR_RXD1_GPIO (0x00)
2107#define MCF_GPIO_PUBPAR_RTS1_GPIO (0x00)
2108#define MCF_GPIO_PUBPAR_CTS1_GPIO (0x00)
2109#define MCF_GPIO_PUBPAR_TXD1_TXD1 (0x01)
2110#define MCF_GPIO_PUBPAR_RXD1_RXD1 (0x04)
2111#define MCF_GPIO_PUBPAR_RTS1_RTS1 (0x10)
2112#define MCF_GPIO_PUBPAR_CTS1_CTS1 (0x40)
2113#define MCF_GPIO_PUBPAR_RTS1_SYNCB (0x20)
2114#define MCF_GPIO_PUBPAR_CTS1_SYNCA (0x80)
2115#define MCF_GPIO_PUBPAR_RTS1_TXD2 (0x30)
2116#define MCF_GPIO_PUBPAR_CTS1_RXD2 (0xC0)
2117
2118/* Bit definitions and macros for MCF_GPIO_PUCPAR */
2119#define MCF_GPIO_PUCPAR_PUCPAR0(x) (((x)&0x03)<<0)
2120#define MCF_GPIO_PUCPAR_PUCPAR1(x) (((x)&0x03)<<2)
2121#define MCF_GPIO_PUCPAR_PUCPAR2(x) (((x)&0x03)<<4)
2122#define MCF_GPIO_PUCPAR_PUCPAR3(x) (((x)&0x03)<<6)
2123#define MCF_GPIO_PUCPAR_TXD2_GPIO (0x00)
2124#define MCF_GPIO_PUCPAR_RXD2_GPIO (0x00)
2125#define MCF_GPIO_PUCPAR_RTS2_GPIO (0x00)
2126#define MCF_GPIO_PUCPAR_CTS2_GPIO (0x00)
2127#define MCF_GPIO_PUCPAR_TXD2_TXD2 (0x01)
2128#define MCF_GPIO_PUCPAR_RXD2_RXD2 (0x02)
2129#define MCF_GPIO_PUCPAR_RTS2_RTS2 (0x04)
2130#define MCF_GPIO_PUCPAR_CTS2_CTS2 (0x08)
2131
2132/* Bit definitions and macros for MCF_GPIO_PDDPAR */
2133#define MCF_GPIO_PDDPAR_PDDPAR0 (0x01)
2134#define MCF_GPIO_PDDPAR_PDDPAR1 (0x02)
2135#define MCF_GPIO_PDDPAR_PDDPAR2 (0x04)
2136#define MCF_GPIO_PDDPAR_PDDPAR3 (0x08)
2137#define MCF_GPIO_PDDPAR_PDDPAR4 (0x10)
2138#define MCF_GPIO_PDDPAR_PDDPAR5 (0x20)
2139#define MCF_GPIO_PDDPAR_PDDPAR6 (0x40)
2140#define MCF_GPIO_PDDPAR_PDDPAR7 (0x80)
2141#define MCF_GPIO_PDDPAR_PDD0_GPIO (0x00)
2142#define MCF_GPIO_PDDPAR_PDD1_GPIO (0x00)
2143#define MCF_GPIO_PDDPAR_PDD2_GPIO (0x00)
2144#define MCF_GPIO_PDDPAR_PDD3_GPIO (0x00)
2145#define MCF_GPIO_PDDPAR_PDD4_GPIO (0x00)
2146#define MCF_GPIO_PDDPAR_PDD5_GPIO (0x00)
2147#define MCF_GPIO_PDDPAR_PDD6_GPIO (0x00)
2148#define MCF_GPIO_PDDPAR_PDD7_GPIO (0x00)
2149#define MCF_GPIO_PDDPAR_PDD0_PST0 (0x01)
2150#define MCF_GPIO_PDDPAR_PDD1_PST1 (0x02)
2151#define MCF_GPIO_PDDPAR_PDD2_PST2 (0x04)
2152#define MCF_GPIO_PDDPAR_PDD3_PST3 (0x08)
2153#define MCF_GPIO_PDDPAR_PDD4_DDATA0 (0x10)
2154#define MCF_GPIO_PDDPAR_PDD5_DDATA1 (0x20)
2155#define MCF_GPIO_PDDPAR_PDD6_DDATA2 (0x40)
2156#define MCF_GPIO_PDDPAR_PDD7_DDATA3 (0x80)
2157
2158/* Bit definitions and macros for MCF_GPIO_PLDPAR */
2159#define MCF_GPIO_PLDPAR_PLDPAR0 (0x01)
2160#define MCF_GPIO_PLDPAR_PLDPAR1 (0x02)
2161#define MCF_GPIO_PLDPAR_PLDPAR2 (0x04)
2162#define MCF_GPIO_PLDPAR_PLDPAR3 (0x08)
2163#define MCF_GPIO_PLDPAR_PLDPAR4 (0x10)
2164#define MCF_GPIO_PLDPAR_PLDPAR5 (0x20)
2165#define MCF_GPIO_PLDPAR_PLDPAR6 (0x40)
2166#define MCF_GPIO_PLDPAR_ACTLED_GPIO (0x00)
2167#define MCF_GPIO_PLDPAR_LNKLED_GPIO (0x00)
2168#define MCF_GPIO_PLDPAR_SPDLED_GPIO (0x00)
2169#define MCF_GPIO_PLDPAR_DUPLED_GPIO (0x00)
2170#define MCF_GPIO_PLDPAR_COLLED_GPIO (0x00)
2171#define MCF_GPIO_PLDPAR_RXLED_GPIO (0x00)
2172#define MCF_GPIO_PLDPAR_TXLED_GPIO (0x00)
2173#define MCF_GPIO_PLDPAR_ACTLED_ACTLED (0x01)
2174#define MCF_GPIO_PLDPAR_LNKLED_LNKLED (0x02)
2175#define MCF_GPIO_PLDPAR_SPDLED_SPDLED (0x04)
2176#define MCF_GPIO_PLDPAR_DUPLED_DUPLED (0x08)
2177#define MCF_GPIO_PLDPAR_COLLED_COLLED (0x10)
2178#define MCF_GPIO_PLDPAR_RXLED_RXLED (0x20)
2179#define MCF_GPIO_PLDPAR_TXLED_TXLED (0x40)
2180
2181/* Bit definitions and macros for MCF_GPIO_PGPPAR */
2182#define MCF_GPIO_PGPPAR_PGPPAR0 (0x01)
2183#define MCF_GPIO_PGPPAR_PGPPAR1 (0x02)
2184#define MCF_GPIO_PGPPAR_PGPPAR2 (0x04)
2185#define MCF_GPIO_PGPPAR_PGPPAR3 (0x08)
2186#define MCF_GPIO_PGPPAR_PGPPAR4 (0x10)
2187#define MCF_GPIO_PGPPAR_PGPPAR5 (0x20)
2188#define MCF_GPIO_PGPPAR_PGPPAR6 (0x40)
2189#define MCF_GPIO_PGPPAR_PGPPAR7 (0x80)
2190#define MCF_GPIO_PGPPAR_IRQ8_GPIO (0x00)
2191#define MCF_GPIO_PGPPAR_IRQ9_GPIO (0x00)
2192#define MCF_GPIO_PGPPAR_IRQ10_GPIO (0x00)
2193#define MCF_GPIO_PGPPAR_IRQ11_GPIO (0x00)
2194#define MCF_GPIO_PGPPAR_IRQ12_GPIO (0x00)
2195#define MCF_GPIO_PGPPAR_IRQ13_GPIO (0x00)
2196#define MCF_GPIO_PGPPAR_IRQ14_GPIO (0x00)
2197#define MCF_GPIO_PGPPAR_IRQ15_GPIO (0x00)
2198#define MCF_GPIO_PGPPAR_IRQ8_IRQ8 (0x01)
2199#define MCF_GPIO_PGPPAR_IRQ9_IRQ9 (0x02)
2200#define MCF_GPIO_PGPPAR_IRQ10_IRQ10 (0x04)
2201#define MCF_GPIO_PGPPAR_IRQ11_IRQ11 (0x08)
2202#define MCF_GPIO_PGPPAR_IRQ12_IRQ12 (0x10)
2203#define MCF_GPIO_PGPPAR_IRQ13_IRQ13 (0x30)
2204#define MCF_GPIO_PGPPAR_IRQ14_IRQ14 (0x40)
2205#define MCF_GPIO_PGPPAR_IRQ15_IRQ15 (0x80)
2206
2207/* Bit definitions and macros for MCF_GPIO_PWOR */
2208#define MCF_GPIO_PWOR_PWOR0 (0x0001)
2209#define MCF_GPIO_PWOR_PWOR1 (0x0002)
2210#define MCF_GPIO_PWOR_PWOR2 (0x0004)
2211#define MCF_GPIO_PWOR_PWOR3 (0x0008)
2212#define MCF_GPIO_PWOR_PWOR4 (0x0010)
2213#define MCF_GPIO_PWOR_PWOR5 (0x0020)
2214#define MCF_GPIO_PWOR_PWOR6 (0x0040)
2215#define MCF_GPIO_PWOR_PWOR7 (0x0080)
2216#define MCF_GPIO_PWOR_PWOR8 (0x0100)
2217#define MCF_GPIO_PWOR_PWOR9 (0x0200)
2218#define MCF_GPIO_PWOR_PWOR10 (0x0400)
2219#define MCF_GPIO_PWOR_PWOR11 (0x0800)
2220#define MCF_GPIO_PWOR_PWOR12 (0x1000)
2221#define MCF_GPIO_PWOR_PWOR13 (0x2000)
2222#define MCF_GPIO_PWOR_PWOR14 (0x4000)
2223#define MCF_GPIO_PWOR_PWOR15 (0x8000)
2224
2225/* Bit definitions and macros for MCF_GPIO_PDSRH */
2226#define MCF_GPIO_PDSRH_PDSR32 (0x0001)
2227#define MCF_GPIO_PDSRH_PDSR33 (0x0002)
2228#define MCF_GPIO_PDSRH_PDSR34 (0x0004)
2229#define MCF_GPIO_PDSRH_PDSR35 (0x0008)
2230#define MCF_GPIO_PDSRH_PDSR36 (0x0010)
2231#define MCF_GPIO_PDSRH_PDSR37 (0x0020)
2232#define MCF_GPIO_PDSRH_PDSR38 (0x0040)
2233#define MCF_GPIO_PDSRH_PDSR39 (0x0080)
2234#define MCF_GPIO_PDSRH_PDSR40 (0x0100)
2235#define MCF_GPIO_PDSRH_PDSR41 (0x0200)
2236#define MCF_GPIO_PDSRH_PDSR42 (0x0400)
2237#define MCF_GPIO_PDSRH_PDSR43 (0x0800)
2238#define MCF_GPIO_PDSRH_PDSR44 (0x1000)
2239#define MCF_GPIO_PDSRH_PDSR45 (0x2000)
2240#define MCF_GPIO_PDSRH_PDSR46 (0x4000)
2241#define MCF_GPIO_PDSRH_PDSR47 (0x8000)
2242
2243/* Bit definitions and macros for MCF_GPIO_PDSRL */
2244#define MCF_GPIO_PDSRL_PDSR0 (0x00000001)
2245#define MCF_GPIO_PDSRL_PDSR1 (0x00000002)
2246#define MCF_GPIO_PDSRL_PDSR2 (0x00000004)
2247#define MCF_GPIO_PDSRL_PDSR3 (0x00000008)
2248#define MCF_GPIO_PDSRL_PDSR4 (0x00000010)
2249#define MCF_GPIO_PDSRL_PDSR5 (0x00000020)
2250#define MCF_GPIO_PDSRL_PDSR6 (0x00000040)
2251#define MCF_GPIO_PDSRL_PDSR7 (0x00000080)
2252#define MCF_GPIO_PDSRL_PDSR8 (0x00000100)
2253#define MCF_GPIO_PDSRL_PDSR9 (0x00000200)
2254#define MCF_GPIO_PDSRL_PDSR10 (0x00000400)
2255#define MCF_GPIO_PDSRL_PDSR11 (0x00000800)
2256#define MCF_GPIO_PDSRL_PDSR12 (0x00001000)
2257#define MCF_GPIO_PDSRL_PDSR13 (0x00002000)
2258#define MCF_GPIO_PDSRL_PDSR14 (0x00004000)
2259#define MCF_GPIO_PDSRL_PDSR15 (0x00008000)
2260#define MCF_GPIO_PDSRL_PDSR16 (0x00010000)
2261#define MCF_GPIO_PDSRL_PDSR17 (0x00020000)
2262#define MCF_GPIO_PDSRL_PDSR18 (0x00040000)
2263#define MCF_GPIO_PDSRL_PDSR19 (0x00080000)
2264#define MCF_GPIO_PDSRL_PDSR20 (0x00100000)
2265#define MCF_GPIO_PDSRL_PDSR21 (0x00200000)
2266#define MCF_GPIO_PDSRL_PDSR22 (0x00400000)
2267#define MCF_GPIO_PDSRL_PDSR23 (0x00800000)
2268#define MCF_GPIO_PDSRL_PDSR24 (0x01000000)
2269#define MCF_GPIO_PDSRL_PDSR25 (0x02000000)
2270#define MCF_GPIO_PDSRL_PDSR26 (0x04000000)
2271#define MCF_GPIO_PDSRL_PDSR27 (0x08000000)
2272#define MCF_GPIO_PDSRL_PDSR28 (0x10000000)
2273#define MCF_GPIO_PDSRL_PDSR29 (0x20000000)
2274#define MCF_GPIO_PDSRL_PDSR30 (0x40000000)
2275#define MCF_GPIO_PDSRL_PDSR31 (0x80000000)
2276
2277/*********************************************************************
2278*
2279* ColdFire Integration Module (CIM)
2280*
2281*********************************************************************/
2282
2283/* Register read/write macros */
2284#define MCF_CIM_RCR (*(vuint8 *)(&__IPSBAR[0x110000]))
2285#define MCF_CIM_RSR (*(vuint8 *)(&__IPSBAR[0x110001]))
2286#define MCF_CIM_CCR (*(vuint16*)(&__IPSBAR[0x110004]))
2287#define MCF_CIM_LPCR (*(vuint8 *)(&__IPSBAR[0x110007]))
2288#define MCF_CIM_RCON (*(vuint16*)(&__IPSBAR[0x110008]))
2289#define MCF_CIM_CIR (*(vuint16*)(&__IPSBAR[0x11000A]))
2290
2291/* Bit definitions and macros for MCF_CIM_RCR */
2292#define MCF_CIM_RCR_LVDE (0x01)
2293#define MCF_CIM_RCR_LVDRE (0x04)
2294#define MCF_CIM_RCR_LVDIE (0x08)
2295#define MCF_CIM_RCR_LVDF (0x10)
2296#define MCF_CIM_RCR_FRCRSTOUT (0x40)
2297#define MCF_CIM_RCR_SOFTRST (0x80)
2298
2299/* Bit definitions and macros for MCF_CIM_RSR */
2300#define MCF_CIM_RSR_LOL (0x01)
2301#define MCF_CIM_RSR_LOC (0x02)
2302#define MCF_CIM_RSR_EXT (0x04)
2303#define MCF_CIM_RSR_POR (0x08)
2304#define MCF_CIM_RSR_WDR (0x10)
2305#define MCF_CIM_RSR_SOFT (0x20)
2306#define MCF_CIM_RSR_LVD (0x40)
2307
2308/* Bit definitions and macros for MCF_CIM_CCR */
2309#define MCF_CIM_CCR_LOAD (0x8000)
2310#define MCF_CIM_CCR_EZPORT (0x05)
2311#define MCF_CIM_CCR_SCHIP (0x06)
2312#define MCF_CIM_CCR_MODE(x) (((x)&0x7)<<8)
2313
2314/* Bit definitions and macros for MCF_CIM_LPCR */
2315#define MCF_CIM_LPCR_LVDSE (0x02)
2316#define MCF_CIM_LPCR_STPMD(x) (((x)&0x03)<<3)
2317#define MCF_CIM_LPCR_LPMD(x) (((x)&0x03)<<6)
2318#define MCF_CIM_LPCR_LPMD_STOP (0xC0)
2319#define MCF_CIM_LPCR_LPMD_WAIT (0x80)
2320#define MCF_CIM_LPCR_LPMD_DOZE (0x40)
2321#define MCF_CIM_LPCR_LPMD_RUN (0x00)
2322
2323/* Bit definitions and macros for MCF_CIM_RCON */
2324#define MCF_CIM_RCON_RLOAD (0x0020)
2325
2326/*********************************************************************
2327*
2328* Clock Module (CLOCK)
2329*
2330*********************************************************************/
2331
2332/* Register read/write macros */
2333#define MCF_CLOCK_SYNCR (*(vuint16*)(&__IPSBAR[0x120000]))
2334#define MCF_CLOCK_SYNSR (*(vuint8 *)(&__IPSBAR[0x120002]))
2335#define MCF_CLOCK_LPCR (*(vuint8 *)(&__IPSBAR[0x120007]))
2336#define MCF_CLOCK_CCHR (*(vuint8 *)(&__IPSBAR[0x120008]))
2337#define MCF_CLOCK_CCLR (*(vuint8 *)(&__IPSBAR[0x120009]))
2338#define MCF_CLOCK_RTCDR (*(vuint32*)(&__IPSBAR[0x12000C]))
2339#define MCF_CLOCK_RTCCR (*(vuint8*)(&__IPSBAR[0x120012]))
2340
2341/* Bit definitions and macros for MCF_CLOCK_SYNCR */
2342#define MCF_CLOCK_SYNCR_PLLEN (0x0001)
2343#define MCF_CLOCK_SYNCR_PLLMODE (0x0002)
2344#define MCF_CLOCK_SYNCR_CLKSRC (0x0004)
2345#define MCF_CLOCK_SYNCR_FWKUP (0x0020)
2346#define MCF_CLOCK_SYNCR_DISCLK (0x0040)
2347#define MCF_CLOCK_SYNCR_LOCEN (0x0080)
2348#define MCF_CLOCK_SYNCR_RFD(x) (((x)&0x0007)<<8)
2349#define MCF_CLOCK_SYNCR_LOCRE (0x0800)
2350#define MCF_CLOCK_SYNCR_MFD(x) (((x)&0x0007)<<12)
2351#define MCF_CLOCK_SYNCR_LOLRE (0x8000)
2352
2353/* Bit definitions and macros for MCF_CLOCK_SYNSR */
2354#define MCF_CLOCK_SYNSR_LOCS (0x04)
2355#define MCF_CLOCK_SYNSR_LOCK (0x08)
2356#define MCF_CLOCK_SYNSR_LOCKS (0x10)
2357#define MCF_CLOCK_SYNSR_CRYOSC (0x20)
2358#define MCF_CLOCK_SYNSR_OCOSC (0x40)
2359#define MCF_CLOCK_SYNSR_EXTOSC (0x80)
2360
2361/* Bit definitions and macros for MCF_CLOCK_LPCR */
2362#define MCF_CLOCK_LPCR_LPD(x) (((x)&0x0F)<<0)
2363
2364/* Bit definitions and macros for MCF_CLOCK_CCHR */
2365#define MCF_CLOCK_CCHR_PFD(x) (((x)&0x07)<<0)
2366
2367/* Bit definitions and macros for MCF_CLOCK_CCHR */
2368#define MCF_CLOCK_CCLR_PRIM_OSC (0x00)
2369#define MCF_CLOCK_CCLR_REL_OSC (0x01)
2370#define MCF_CLOCK_CCLR_SEC_OSC (0x02)
2371#define MCF_CLOCK_CCLR_SEC1_OSC (0x03)
2372
2373/* Bit definitions and macros for MCF_CLOCK_RTCDR */
2374#define MCF_CLOCK_RTCDR_RTCDF(x) (((x)&0xFFFFFFFF)<<0)
2375
2376/* Bit definitions and macros for MCF_CLOCK_RTCCR */
2377#define MCF_CLOCK_RTCCR_RTCSEL 0x01U
2378#define MCF_CLOCK_RTCCR_LPEN 0x02U
2379#define MCF_CLOCK_RTCCR_REFS 0x04U
2380#define MCF_CLOCK_RTCCR_KHZEN 0x08U
2381#define MCF_CLOCK_RTCCR_OSCEN 0x10U
2382#define MCF_CLOCK_RTCCR_EXTALEN 0x40U
2383
2384/*********************************************************************
2385*
2386* Edge Port Module (EPORT)
2387*
2388*********************************************************************/
2389
2390/* Register read/write macros */
2391#define MCF_EPORT_EPPAR0 (*(vuint16*)(&__IPSBAR[0x130000]))
2392#define MCF_EPORT_EPDDR0 (*(vuint8 *)(&__IPSBAR[0x130002]))
2393#define MCF_EPORT_EPIER0 (*(vuint8 *)(&__IPSBAR[0x130003]))
2394#define MCF_EPORT_EPDR0 (*(vuint8 *)(&__IPSBAR[0x130004]))
2395#define MCF_EPORT_EPPDR0 (*(vuint8 *)(&__IPSBAR[0x130005]))
2396#define MCF_EPORT_EPFR0 (*(vuint8 *)(&__IPSBAR[0x130006]))
2397
2398/* Bit definitions and macros for MCF_EPORT_EPPAR */
2399#define MCF_EPORT_EPPAR_EPPA1(x) (((x)&0x0003)<<2)
2400#define MCF_EPORT_EPPAR_EPPA2(x) (((x)&0x0003)<<4)
2401#define MCF_EPORT_EPPAR_EPPA3(x) (((x)&0x0003)<<6)
2402#define MCF_EPORT_EPPAR_EPPA4(x) (((x)&0x0003)<<8)
2403#define MCF_EPORT_EPPAR_EPPA5(x) (((x)&0x0003)<<10)
2404#define MCF_EPORT_EPPAR_EPPA6(x) (((x)&0x0003)<<12)
2405#define MCF_EPORT_EPPAR_EPPA7(x) (((x)&0x0003)<<14)
2406#define MCF_EPORT_EPPAR_EPPA8(x) (((x)&0x0003)<<0)
2407#define MCF_EPORT_EPPAR_EPPA9(x) (((x)&0x0003)<<2)
2408#define MCF_EPORT_EPPAR_EPPA10(x) (((x)&0x0003)<<4)
2409#define MCF_EPORT_EPPAR_EPPA11(x) (((x)&0x0003)<<6)
2410#define MCF_EPORT_EPPAR_EPPA12(x) (((x)&0x0003)<<8)
2411#define MCF_EPORT_EPPAR_EPPA13(x) (((x)&0x0003)<<10)
2412#define MCF_EPORT_EPPAR_EPPA14(x) (((x)&0x0003)<<12)
2413#define MCF_EPORT_EPPAR_EPPA15(x) (((x)&0x0003)<<14)
2414#define MCF_EPORT_EPPAR_LEVEL (0)
2415#define MCF_EPORT_EPPAR_RISING (1)
2416#define MCF_EPORT_EPPAR_FALLING (2)
2417#define MCF_EPORT_EPPAR_BOTH (3)
2418#define MCF_EPORT_EPPAR_EPPA15_LEVEL (0x0000)
2419#define MCF_EPORT_EPPAR_EPPA15_RISING (0x4000)
2420#define MCF_EPORT_EPPAR_EPPA15_FALLING (0x8000)
2421#define MCF_EPORT_EPPAR_EPPA15_BOTH (0xC000)
2422#define MCF_EPORT_EPPAR_EPPA14_LEVEL (0x0000)
2423#define MCF_EPORT_EPPAR_EPPA14_RISING (0x1000)
2424#define MCF_EPORT_EPPAR_EPPA14_FALLING (0x2000)
2425#define MCF_EPORT_EPPAR_EPPA14_BOTH (0x3000)
2426#define MCF_EPORT_EPPAR_EPPA13_LEVEL (0x0000)
2427#define MCF_EPORT_EPPAR_EPPA13_RISING (0x0400)
2428#define MCF_EPORT_EPPAR_EPPA13_FALLING (0x0800)
2429#define MCF_EPORT_EPPAR_EPPA13_BOTH (0x0C00)
2430#define MCF_EPORT_EPPAR_EPPA12_LEVEL (0x0000)
2431#define MCF_EPORT_EPPAR_EPPA12_RISING (0x0100)
2432#define MCF_EPORT_EPPAR_EPPA12_FALLING (0x0200)
2433#define MCF_EPORT_EPPAR_EPPA12_BOTH (0x0300)
2434#define MCF_EPORT_EPPAR_EPPA11_LEVEL (0x0000)
2435#define MCF_EPORT_EPPAR_EPPA11_RISING (0x0040)
2436#define MCF_EPORT_EPPAR_EPPA11_FALLING (0x0080)
2437#define MCF_EPORT_EPPAR_EPPA11_BOTH (0x00C0)
2438#define MCF_EPORT_EPPAR_EPPA10_LEVEL (0x0000)
2439#define MCF_EPORT_EPPAR_EPPA10_RISING (0x0010)
2440#define MCF_EPORT_EPPAR_EPPA10_FALLING (0x0020)
2441#define MCF_EPORT_EPPAR_EPPA10_BOTH (0x0030)
2442#define MCF_EPORT_EPPAR_EPPA9_LEVEL (0x0000)
2443#define MCF_EPORT_EPPAR_EPPA9_RISING (0x0004)
2444#define MCF_EPORT_EPPAR_EPPA9_FALLING (0x0008)
2445#define MCF_EPORT_EPPAR_EPPA9_BOTH (0x000C)
2446#define MCF_EPORT_EPPAR_EPPA8_LEVEL (0x0000)
2447#define MCF_EPORT_EPPAR_EPPA8_RISING (0x0001)
2448#define MCF_EPORT_EPPAR_EPPA8_FALLING (0x0002)
2449#define MCF_EPORT_EPPAR_EPPA8_BOTH (0x0003)
2450#define MCF_EPORT_EPPAR_EPPA7_LEVEL (0x0000)
2451#define MCF_EPORT_EPPAR_EPPA7_RISING (0x4000)
2452#define MCF_EPORT_EPPAR_EPPA7_FALLING (0x8000)
2453#define MCF_EPORT_EPPAR_EPPA7_BOTH (0xC000)
2454#define MCF_EPORT_EPPAR_EPPA6_LEVEL (0x0000)
2455#define MCF_EPORT_EPPAR_EPPA6_RISING (0x1000)
2456#define MCF_EPORT_EPPAR_EPPA6_FALLING (0x2000)
2457#define MCF_EPORT_EPPAR_EPPA6_BOTH (0x3000)
2458#define MCF_EPORT_EPPAR_EPPA5_LEVEL (0x0000)
2459#define MCF_EPORT_EPPAR_EPPA5_RISING (0x0400)
2460#define MCF_EPORT_EPPAR_EPPA5_FALLING (0x0800)
2461#define MCF_EPORT_EPPAR_EPPA5_BOTH (0x0C00)
2462#define MCF_EPORT_EPPAR_EPPA4_LEVEL (0x0000)
2463#define MCF_EPORT_EPPAR_EPPA4_RISING (0x0100)
2464#define MCF_EPORT_EPPAR_EPPA4_FALLING (0x0200)
2465#define MCF_EPORT_EPPAR_EPPA4_BOTH (0x0300)
2466#define MCF_EPORT_EPPAR_EPPA3_LEVEL (0x0000)
2467#define MCF_EPORT_EPPAR_EPPA3_RISING (0x0040)
2468#define MCF_EPORT_EPPAR_EPPA3_FALLING (0x0080)
2469#define MCF_EPORT_EPPAR_EPPA3_BOTH (0x00C0)
2470#define MCF_EPORT_EPPAR_EPPA2_LEVEL (0x0000)
2471#define MCF_EPORT_EPPAR_EPPA2_RISING (0x0010)
2472#define MCF_EPORT_EPPAR_EPPA2_FALLING (0x0020)
2473#define MCF_EPORT_EPPAR_EPPA2_BOTH (0x0030)
2474#define MCF_EPORT_EPPAR_EPPA1_LEVEL (0x0000)
2475#define MCF_EPORT_EPPAR_EPPA1_RISING (0x0004)
2476#define MCF_EPORT_EPPAR_EPPA1_FALLING (0x0008)
2477#define MCF_EPORT_EPPAR_EPPA1_BOTH (0x000C)
2478
2479/* Bit definitions and macros for MCF_EPORT_EPDDR */
2480#define MCF_EPORT_EPDDR_EPDD1 (0x02)
2481#define MCF_EPORT_EPDDR_EPDD2 (0x04)
2482#define MCF_EPORT_EPDDR_EPDD3 (0x08)
2483#define MCF_EPORT_EPDDR_EPDD4 (0x10)
2484#define MCF_EPORT_EPDDR_EPDD5 (0x20)
2485#define MCF_EPORT_EPDDR_EPDD6 (0x40)
2486#define MCF_EPORT_EPDDR_EPDD7 (0x80)
2487#define MCF_EPORT_EPDDR_EPDD8 (0x01)
2488#define MCF_EPORT_EPDDR_EPDD9 (0x02)
2489#define MCF_EPORT_EPDDR_EPDD10 (0x04)
2490#define MCF_EPORT_EPDDR_EPDD11 (0x08)
2491#define MCF_EPORT_EPDDR_EPDD12 (0x10)
2492#define MCF_EPORT_EPDDR_EPDD13 (0x20)
2493#define MCF_EPORT_EPDDR_EPDD14 (0x40)
2494#define MCF_EPORT_EPDDR_EPDD15 (0x80)
2495
2496/* Bit definitions and macros for MCF_EPORT_EPIER */
2497#define MCF_EPORT_EPIER_EPIE1 (0x02)
2498#define MCF_EPORT_EPIER_EPIE2 (0x04)
2499#define MCF_EPORT_EPIER_EPIE3 (0x08)
2500#define MCF_EPORT_EPIER_EPIE4 (0x10)
2501#define MCF_EPORT_EPIER_EPIE5 (0x20)
2502#define MCF_EPORT_EPIER_EPIE6 (0x40)
2503#define MCF_EPORT_EPIER_EPIE7 (0x80)
2504#define MCF_EPORT_EPIER_EPIE8 (0x01)
2505#define MCF_EPORT_EPIER_EPIE9 (0x02)
2506#define MCF_EPORT_EPIER_EPIE10 (0x04)
2507#define MCF_EPORT_EPIER_EPIE11 (0x08)
2508#define MCF_EPORT_EPIER_EPIE12 (0x10)
2509#define MCF_EPORT_EPIER_EPIE13 (0x20)
2510#define MCF_EPORT_EPIER_EPIE14 (0x40)
2511#define MCF_EPORT_EPIER_EPIE15 (0x80)
2512
2513/* Bit definitions and macros for MCF_EPORT_EPDR */
2514#define MCF_EPORT_EPDR_EPD1 (0x02)
2515#define MCF_EPORT_EPDR_EPD2 (0x04)
2516#define MCF_EPORT_EPDR_EPD3 (0x08)
2517#define MCF_EPORT_EPDR_EPD4 (0x10)
2518#define MCF_EPORT_EPDR_EPD5 (0x20)
2519#define MCF_EPORT_EPDR_EPD6 (0x40)
2520#define MCF_EPORT_EPDR_EPD7 (0x80)
2521#define MCF_EPORT_EPDR_EPD8 (0x01)
2522#define MCF_EPORT_EPDR_EPD9 (0x02)
2523#define MCF_EPORT_EPDR_EPD10 (0x04)
2524#define MCF_EPORT_EPDR_EPD11 (0x08)
2525#define MCF_EPORT_EPDR_EPD12 (0x10)
2526#define MCF_EPORT_EPDR_EPD13 (0x20)
2527#define MCF_EPORT_EPDR_EPD14 (0x40)
2528#define MCF_EPORT_EPDR_EPD15 (0x80)
2529
2530/* Bit definitions and macros for MCF_EPORT_EPPDR */
2531#define MCF_EPORT_EPPDR_EPPD1 (0x02)
2532#define MCF_EPORT_EPPDR_EPPD2 (0x04)
2533#define MCF_EPORT_EPPDR_EPPD3 (0x08)
2534#define MCF_EPORT_EPPDR_EPPD4 (0x10)
2535#define MCF_EPORT_EPPDR_EPPD5 (0x20)
2536#define MCF_EPORT_EPPDR_EPPD6 (0x40)
2537#define MCF_EPORT_EPPDR_EPPD7 (0x80)
2538#define MCF_EPORT_EPPDR_EPPD8 (0x01)
2539#define MCF_EPORT_EPPDR_EPPD9 (0x02)
2540#define MCF_EPORT_EPPDR_EPPD10 (0x04)
2541#define MCF_EPORT_EPPDR_EPPD11 (0x08)
2542#define MCF_EPORT_EPPDR_EPPD12 (0x10)
2543#define MCF_EPORT_EPPDR_EPPD13 (0x20)
2544#define MCF_EPORT_EPPDR_EPPD14 (0x40)
2545#define MCF_EPORT_EPPDR_EPPD15 (0x80)
2546
2547/* Bit definitions and macros for MCF_EPORT_EPFR */
2548#define MCF_EPORT_EPFR_EPF1 (0x02)
2549#define MCF_EPORT_EPFR_EPF2 (0x04)
2550#define MCF_EPORT_EPFR_EPF3 (0x08)
2551#define MCF_EPORT_EPFR_EPF4 (0x10)
2552#define MCF_EPORT_EPFR_EPF5 (0x20)
2553#define MCF_EPORT_EPFR_EPF6 (0x40)
2554#define MCF_EPORT_EPFR_EPF7 (0x80)
2555#define MCF_EPORT_EPFR_EPF8 (0x01)
2556#define MCF_EPORT_EPFR_EPF9 (0x02)
2557#define MCF_EPORT_EPFR_EPF10 (0x04)
2558#define MCF_EPORT_EPFR_EPF11 (0x08)
2559#define MCF_EPORT_EPFR_EPF12 (0x10)
2560#define MCF_EPORT_EPFR_EPF13 (0x20)
2561#define MCF_EPORT_EPFR_EPF14 (0x40)
2562#define MCF_EPORT_EPFR_EPF15 (0x80)
2563
2564
2565/*********************************************************************
2566*
2567* Backup Watchdog Timer Module (BWT)
2568*
2569*********************************************************************/
2570
2571#define MCF_BWT_WCR (*(vuint16*)(&__IPSBAR[0x140000]))
2572#define MCF_BWT_WMR (*(vuint16*)(&__IPSBAR[0x140002]))
2573#define MCF_BWT_WCNTR (*(vuint16*)(&__IPSBAR[0x140004]))
2574#define MCF_BWT_WSR (*(vuint16*)(&__IPSBAR[0x140006]))
2575
2576/* Bit definitions and macros for MCF_BWT_WCR */
2577#define MCF_BWT_WCR_EN 0x01
2578#define MCF_BWT_WCR_DOZE 0x04
2579#define MCF_BWT_WCR_WAIT 0x08
2580#define MCF_BWT_WCR_STOP 0x10
2581
2582#define MCF_BWT_WSR_SEQ1 0x5555
2583#define MCF_BWT_WSR_SEQ2 0xAAAA
2584
2585//MPR: TODO this Modules is new in mcf52258 vs. mcf52235 and some macros must be written first
2586
2587/*********************************************************************
2588*
2589* Programmable Interrupt Timer Modules (PIT)
2590*
2591*********************************************************************/
2592
2593/* Register read/write macros */
2594#define MCF_PIT0_PCSR (*(vuint16*)(&__IPSBAR[0x150000]))
2595#define MCF_PIT0_PMR (*(vuint16*)(&__IPSBAR[0x150002]))
2596#define MCF_PIT0_PCNTR (*(vuint16*)(&__IPSBAR[0x150004]))
2597#define MCF_PIT1_PCSR (*(vuint16*)(&__IPSBAR[0x160000]))
2598#define MCF_PIT1_PMR (*(vuint16*)(&__IPSBAR[0x160002]))
2599#define MCF_PIT1_PCNTR (*(vuint16*)(&__IPSBAR[0x160004]))
2600#define MCF_PIT_PCSR(x) (*(vuint16*)(&__IPSBAR[0x150000+((x)*0x10000)]))
2601#define MCF_PIT_PMR(x) (*(vuint16*)(&__IPSBAR[0x150002+((x)*0x10000)]))
2602#define MCF_PIT_PCNTR(x) (*(vuint16*)(&__IPSBAR[0x150004+((x)*0x10000)]))
2603
2604/* Bit definitions and macros for MCF_PIT_PCSR */
2605#define MCF_PIT_PCSR_EN (0x0001)
2606#define MCF_PIT_PCSR_RLD (0x0002)
2607#define MCF_PIT_PCSR_PIF (0x0004)
2608#define MCF_PIT_PCSR_PIE (0x0008)
2609#define MCF_PIT_PCSR_OVW (0x0010)
2610#define MCF_PIT_PCSR_HALTED (0x0020)
2611#define MCF_PIT_PCSR_DOZE (0x0040)
2612#define MCF_PIT_PCSR_PRE(x) (((x)&0x000F)<<8)
2613
2614/* Bit definitions and macros for MCF_PIT_PMR */
2615#define MCF_PIT_PMR_PM(x) (((x)&0xFFFF)<<0)
2616
2617/* Bit definitions and macros for MCF_PIT_PCNTR */
2618#define MCF_PIT_PCNTR_PC(x) (((x)&0xFFFF)<<0)
2619
2620/*********************************************************************
2621*
2622* Analog-to-Digital Converter (ADC)
2623*
2624*********************************************************************/
2625
2626/* Register read/write macros */
2627#define MCF_ADC_CTRL1 (*(vuint16*)(&__IPSBAR[0x190000]))
2628#define MCF_ADC_CTRL2 (*(vuint16*)(&__IPSBAR[0x190002]))
2629#define MCF_ADC_ADZCC (*(vuint16*)(&__IPSBAR[0x190004]))
2630#define MCF_ADC_ADLST1 (*(vuint16*)(&__IPSBAR[0x190006]))
2631#define MCF_ADC_ADLST2 (*(vuint16*)(&__IPSBAR[0x190008]))
2632#define MCF_ADC_ADSDIS (*(vuint16*)(&__IPSBAR[0x19000A]))
2633#define MCF_ADC_ADSTAT (*(vuint16*)(&__IPSBAR[0x19000C]))
2634#define MCF_ADC_ADLSTAT (*(vuint16*)(&__IPSBAR[0x19000E]))
2635#define MCF_ADC_ADZCSTAT (*(vuint16*)(&__IPSBAR[0x190010]))
2636#define MCF_ADC_ADRSLT0 (*(vuint16*)(&__IPSBAR[0x190012]))
2637#define MCF_ADC_ADRSLT1 (*(vuint16*)(&__IPSBAR[0x190014]))
2638#define MCF_ADC_ADRSLT2 (*(vuint16*)(&__IPSBAR[0x190016]))
2639#define MCF_ADC_ADRSLT3 (*(vuint16*)(&__IPSBAR[0x190018]))
2640#define MCF_ADC_ADRSLT4 (*(vuint16*)(&__IPSBAR[0x19001A]))
2641#define MCF_ADC_ADRSLT5 (*(vuint16*)(&__IPSBAR[0x19001C]))
2642#define MCF_ADC_ADRSLT6 (*(vuint16*)(&__IPSBAR[0x19001E]))
2643#define MCF_ADC_ADRSLT7 (*(vuint16*)(&__IPSBAR[0x190020]))
2644#define MCF_ADC_ADRSLT(x) (*(vuint16*)(&__IPSBAR[0x190012+((x)*0x002)]))
2645#define MCF_ADC_ADLLMT0 (*(vuint16*)(&__IPSBAR[0x190022]))
2646#define MCF_ADC_ADLLMT1 (*(vuint16*)(&__IPSBAR[0x190024]))
2647#define MCF_ADC_ADLLMT2 (*(vuint16*)(&__IPSBAR[0x190026]))
2648#define MCF_ADC_ADLLMT3 (*(vuint16*)(&__IPSBAR[0x190028]))
2649#define MCF_ADC_ADLLMT4 (*(vuint16*)(&__IPSBAR[0x19002A]))
2650#define MCF_ADC_ADLLMT5 (*(vuint16*)(&__IPSBAR[0x19002C]))
2651#define MCF_ADC_ADLLMT6 (*(vuint16*)(&__IPSBAR[0x19002E]))
2652#define MCF_ADC_ADLLMT7 (*(vuint16*)(&__IPSBAR[0x190030]))
2653#define MCF_ADC_ADLLMT(x) (*(vuint16*)(&__IPSBAR[0x190022+((x)*0x002)]))
2654#define MCF_ADC_ADHLMT0 (*(vuint16*)(&__IPSBAR[0x190032]))
2655#define MCF_ADC_ADHLMT1 (*(vuint16*)(&__IPSBAR[0x190034]))
2656#define MCF_ADC_ADHLMT2 (*(vuint16*)(&__IPSBAR[0x190036]))
2657#define MCF_ADC_ADHLMT3 (*(vuint16*)(&__IPSBAR[0x190038]))
2658#define MCF_ADC_ADHLMT4 (*(vuint16*)(&__IPSBAR[0x19003A]))
2659#define MCF_ADC_ADHLMT5 (*(vuint16*)(&__IPSBAR[0x19003C]))
2660#define MCF_ADC_ADHLMT6 (*(vuint16*)(&__IPSBAR[0x19003E]))
2661#define MCF_ADC_ADHLMT7 (*(vuint16*)(&__IPSBAR[0x190040]))
2662#define MCF_ADC_ADHLMT(x) (*(vuint16*)(&__IPSBAR[0x190032+((x)*0x002)]))
2663#define MCF_ADC_ADOFS0 (*(vuint16*)(&__IPSBAR[0x190042]))
2664#define MCF_ADC_ADOFS1 (*(vuint16*)(&__IPSBAR[0x190044]))
2665#define MCF_ADC_ADOFS2 (*(vuint16*)(&__IPSBAR[0x190046]))
2666#define MCF_ADC_ADOFS3 (*(vuint16*)(&__IPSBAR[0x190048]))
2667#define MCF_ADC_ADOFS4 (*(vuint16*)(&__IPSBAR[0x19004A]))
2668#define MCF_ADC_ADOFS5 (*(vuint16*)(&__IPSBAR[0x19004C]))
2669#define MCF_ADC_ADOFS6 (*(vuint16*)(&__IPSBAR[0x19004E]))
2670#define MCF_ADC_ADOFS7 (*(vuint16*)(&__IPSBAR[0x190050]))
2671#define MCF_ADC_ADOFS(x) (*(vuint16*)(&__IPSBAR[0x190042+((x)*0x002)]))
2672#define MCF_ADC_POWER (*(vuint16*)(&__IPSBAR[0x190052]))
2673#define MCF_ADC_CAL (*(vuint16*)(&__IPSBAR[0x190054]))
2674
2675/* Bit definitions and macros for MCF_ADC_CTRL1 */
2676#define MCF_ADC_CTRL1_SMODE(x) (((x)&0x0007)<<0)
2677#define MCF_ADC_CTRL1_CHNCFG(x) (((x)&0x000F)<<4)
2678#define MCF_ADC_CTRL1_HLMTIE (0x0100)
2679#define MCF_ADC_CTRL1_LLMTIE (0x0200)
2680#define MCF_ADC_CTRL1_ZCIE (0x0400)
2681#define MCF_ADC_CTRL1_EOSIE0 (0x0800)
2682#define MCF_ADC_CTRL1_SYNC0 (0x1000)
2683#define MCF_ADC_CTRL1_START0 (0x2000)
2684#define MCF_ADC_CTRL1_STOP0 (0x4000)
2685
2686/* Bit definitions and macros for MCF_ADC_CTRL2 */
2687#define MCF_ADC_CTRL2_DIV(x) (((x)&0x001F)<<0)
2688#define MCF_ADC_CTRL2_SIMULT (0x0020)
2689#define MCF_ADC_CTRL2_EOSIE1 (0x0800)
2690#define MCF_ADC_CTRL2_SYNC1 (0x1000)
2691#define MCF_ADC_CTRL2_START1 (0x2000)
2692#define MCF_ADC_CTRL2_STOP1 (0x4000)
2693
2694/* Bit definitions and macros for MCF_ADC_ADZCC */
2695#define MCF_ADC_ADZCC_ZCE0(x) (((x)&0x0003)<<0)
2696#define MCF_ADC_ADZCC_ZCE1(x) (((x)&0x0003)<<2)
2697#define MCF_ADC_ADZCC_ZCE2(x) (((x)&0x0003)<<4)
2698#define MCF_ADC_ADZCC_ZCE3(x) (((x)&0x0003)<<6)
2699#define MCF_ADC_ADZCC_ZCE4(x) (((x)&0x0003)<<8)
2700#define MCF_ADC_ADZCC_ZCE5(x) (((x)&0x0003)<<10)
2701#define MCF_ADC_ADZCC_ZCE6(x) (((x)&0x0003)<<12)
2702#define MCF_ADC_ADZCC_ZCE7(x) (((x)&0x0003)<<14)
2703
2704/* Bit definitions and macros for MCF_ADC_ADLST1 */
2705#define MCF_ADC_ADLST1_SAMPLE0(x) (((x)&0x0007)<<0)
2706#define MCF_ADC_ADLST1_SAMPLE1(x) (((x)&0x0007)<<4)
2707#define MCF_ADC_ADLST1_SAMPLE2(x) (((x)&0x0007)<<8)
2708#define MCF_ADC_ADLST1_SAMPLE3(x) (((x)&0x0007)<<12)
2709
2710/* Bit definitions and macros for MCF_ADC_ADLST2 */
2711#define MCF_ADC_ADLST2_SAMPLE4(x) (((x)&0x0007)<<0)
2712#define MCF_ADC_ADLST2_SAMPLE5(x) (((x)&0x0007)<<4)
2713#define MCF_ADC_ADLST2_SAMPLE6(x) (((x)&0x0007)<<8)
2714#define MCF_ADC_ADLST2_SAMPLE7(x) (((x)&0x0007)<<12)
2715
2716/* Bit definitions and macros for MCF_ADC_ADSDIS */
2717#define MCF_ADC_ADSDIS_DS0 (0x0001)
2718#define MCF_ADC_ADSDIS_DS1 (0x0002)
2719#define MCF_ADC_ADSDIS_DS2 (0x0004)
2720#define MCF_ADC_ADSDIS_DS3 (0x0008)
2721#define MCF_ADC_ADSDIS_DS4 (0x0010)
2722#define MCF_ADC_ADSDIS_DS5 (0x0020)
2723#define MCF_ADC_ADSDIS_DS6 (0x0040)
2724#define MCF_ADC_ADSDIS_DS7 (0x0080)
2725
2726/* Bit definitions and macros for MCF_ADC_ADSTAT */
2727#define MCF_ADC_ADSTAT_RDY0 (0x0001)
2728#define MCF_ADC_ADSTAT_RDY1 (0x0002)
2729#define MCF_ADC_ADSTAT_RDY2 (0x0004)
2730#define MCF_ADC_ADSTAT_RDY3 (0x0008)
2731#define MCF_ADC_ADSTAT_RDY4 (0x0010)
2732#define MCF_ADC_ADSTAT_RDY5 (0x0020)
2733#define MCF_ADC_ADSTAT_RDY6 (0x0040)
2734#define MCF_ADC_ADSTAT_RDY7 (0x0080)
2735#define MCF_ADC_ADSTAT_HLMT (0x0100)
2736#define MCF_ADC_ADSTAT_LLMTI (0x0200)
2737#define MCF_ADC_ADSTAT_ZCI (0x0400)
2738#define MCF_ADC_ADSTAT_EOSI (0x0800)
2739#define MCF_ADC_ADSTAT_CIP (0x8000)
2740
2741/* Bit definitions and macros for MCF_ADC_ADLSTAT */
2742#define MCF_ADC_ADLSTAT_LLS0 (0x0001)
2743#define MCF_ADC_ADLSTAT_LLS1 (0x0002)
2744#define MCF_ADC_ADLSTAT_LLS2 (0x0004)
2745#define MCF_ADC_ADLSTAT_LLS3 (0x0008)
2746#define MCF_ADC_ADLSTAT_LLS4 (0x0010)
2747#define MCF_ADC_ADLSTAT_LLS5 (0x0020)
2748#define MCF_ADC_ADLSTAT_LLS6 (0x0040)
2749#define MCF_ADC_ADLSTAT_LLS7 (0x0080)
2750#define MCF_ADC_ADLSTAT_HLS0 (0x0100)
2751#define MCF_ADC_ADLSTAT_HLS1 (0x0200)
2752#define MCF_ADC_ADLSTAT_HLS2 (0x0400)
2753#define MCF_ADC_ADLSTAT_HLS3 (0x0800)
2754#define MCF_ADC_ADLSTAT_HLS4 (0x1000)
2755#define MCF_ADC_ADLSTAT_HLS5 (0x2000)
2756#define MCF_ADC_ADLSTAT_HLS6 (0x4000)
2757#define MCF_ADC_ADLSTAT_HLS7 (0x8000)
2758
2759/* Bit definitions and macros for MCF_ADC_ADZCSTAT */
2760#define MCF_ADC_ADZCSTAT_ZCS0 (0x0001)
2761#define MCF_ADC_ADZCSTAT_ZCS1 (0x0002)
2762#define MCF_ADC_ADZCSTAT_ZCS2 (0x0004)
2763#define MCF_ADC_ADZCSTAT_ZCS3 (0x0008)
2764#define MCF_ADC_ADZCSTAT_ZCS4 (0x0010)
2765#define MCF_ADC_ADZCSTAT_ZCS5 (0x0020)
2766#define MCF_ADC_ADZCSTAT_ZCS6 (0x0040)
2767#define MCF_ADC_ADZCSTAT_ZCS7 (0x0080)
2768
2769/* Bit definitions and macros for MCF_ADC_ADRSLT */
2770#define MCF_ADC_ADRSLT_RSLT(x) (((x)&0x0FFF)<<3)
2771#define MCF_ADC_ADRSLT_SEXT (0x8000)
2772
2773/* Bit definitions and macros for MCF_ADC_ADLLMT */
2774#define MCF_ADC_ADLLMT_LLMT(x) (((x)&0x0FFF)<<3)
2775
2776/* Bit definitions and macros for MCF_ADC_ADHLMT */
2777#define MCF_ADC_ADHLMT_HLMT(x) (((x)&0x0FFF)<<3)
2778
2779/* Bit definitions and macros for MCF_ADC_ADOFS */
2780#define MCF_ADC_ADOFS_OFFSET(x) (((x)&0x0FFF)<<3)
2781
2782/* Bit definitions and macros for MCF_ADC_POWER */
2783#define MCF_ADC_POWER_PD0 (0x0001)
2784#define MCF_ADC_POWER_PD1 (0x0002)
2785#define MCF_ADC_POWER_PD2 (0x0004)
2786#define MCF_ADC_POWER_APD (0x0008)
2787#define MCF_ADC_POWER_PUDELAY(x) (((x)&0x003F)<<4)
2788#define MCF_ADC_POWER_PSTS0 (0x0400)
2789#define MCF_ADC_POWER_PSTS1 (0x0800)
2790#define MCF_ADC_POWER_PSTS2 (0x1000)
2791#define MCF_ADC_POWER_ASTBY (0x8000)
2792
2793/* Bit definitions and macros for MCF_ADC_CAL */
2794#define MCF_ADC_CAL_CAL0 (0x0001)
2795#define MCF_ADC_CAL_CRS0 (0x0002)
2796#define MCF_ADC_CAL_CAL1 (0x0004)
2797#define MCF_ADC_CAL_CRS1 (0x0008)
2798
2799/*********************************************************************
2800*
2801* General Purpose Timer (GPT)
2802*
2803*********************************************************************/
2804
2805/* Register read/write macros */
2806#define MCF_GPT_GPTIOS (*(vuint8 *)(&__IPSBAR[0x1A0000]))
2807#define MCF_GPT_GPTCFORC (*(vuint8 *)(&__IPSBAR[0x1A0001]))
2808#define MCF_GPT_GPTOC3M (*(vuint8 *)(&__IPSBAR[0x1A0002]))
2809#define MCF_GPT_GPTOC3D (*(vuint8 *)(&__IPSBAR[0x1A0003]))
2810#define MCF_GPT_GPTCNT (*(vuint16*)(&__IPSBAR[0x1A0004]))
2811#define MCF_GPT_GPTSCR1 (*(vuint8 *)(&__IPSBAR[0x1A0006]))
2812#define MCF_GPT_GPTTOV (*(vuint8 *)(&__IPSBAR[0x1A0008]))
2813#define MCF_GPT_GPTCTL1 (*(vuint8 *)(&__IPSBAR[0x1A0009]))
2814#define MCF_GPT_GPTCTL2 (*(vuint8 *)(&__IPSBAR[0x1A000B]))
2815#define MCF_GPT_GPTIE (*(vuint8 *)(&__IPSBAR[0x1A000C]))
2816#define MCF_GPT_GPTSCR2 (*(vuint8 *)(&__IPSBAR[0x1A000D]))
2817#define MCF_GPT_GPTFLG1 (*(vuint8 *)(&__IPSBAR[0x1A000E]))
2818#define MCF_GPT_GPTFLG2 (*(vuint8 *)(&__IPSBAR[0x1A000F]))
2819#define MCF_GPT_GPTC0 (*(vuint16*)(&__IPSBAR[0x1A0010]))
2820#define MCF_GPT_GPTC1 (*(vuint16*)(&__IPSBAR[0x1A0012]))
2821#define MCF_GPT_GPTC2 (*(vuint16*)(&__IPSBAR[0x1A0014]))
2822#define MCF_GPT_GPTC3 (*(vuint16*)(&__IPSBAR[0x1A0016]))
2823#define MCF_GPT_GPTC(x) (*(vuint16*)(&__IPSBAR[0x1A0010+((x)*0x002)]))
2824#define MCF_GPT_GPTPACTL (*(vuint8 *)(&__IPSBAR[0x1A0018]))
2825#define MCF_GPT_GPTPAFLG (*(vuint8 *)(&__IPSBAR[0x1A0019]))
2826#define MCF_GPT_GPTPACNT (*(vuint16*)(&__IPSBAR[0x1A001A]))
2827#define MCF_GPT_GPTPORT (*(vuint8 *)(&__IPSBAR[0x1A001D]))
2828#define MCF_GPT_GPTDDR (*(vuint8 *)(&__IPSBAR[0x1A001E]))
2829
2830/* Bit definitions and macros for MCF_GPT_GPTIOS */
2831#define MCF_GPT_GPTIOS_IOS0 (0x01)
2832#define MCF_GPT_GPTIOS_IOS1 (0x02)
2833#define MCF_GPT_GPTIOS_IOS2 (0x04)
2834#define MCF_GPT_GPTIOS_IOS3 (0x08)
2835
2836/* Bit definitions and macros for MCF_GPT_GPTCFORC */
2837#define MCF_GPT_GPTCFORC_FOC0 (0x01)
2838#define MCF_GPT_GPTCFORC_FOC1 (0x02)
2839#define MCF_GPT_GPTCFORC_FOC2 (0x04)
2840#define MCF_GPT_GPTCFORC_FOC3 (0x08)
2841
2842/* Bit definitions and macros for MCF_GPT_GPTOC3D */
2843#define MCF_GPT_GPTOC3D_OC3D0 (0x01)
2844#define MCF_GPT_GPTOC3D_OC3D1 (0x02)
2845#define MCF_GPT_GPTOC3D_OC3D2 (0x04)
2846#define MCF_GPT_GPTOC3D_OC3D3 (0x08)
2847
2848/* Bit definitions and macros for MCF_GPT_GPTSCR1 */
2849#define MCF_GPT_GPTSCR1_TFFCA (0x10)
2850#define MCF_GPT_GPTSCR1_GPTEN (0x80)
2851
2852/* Bit definitions and macros for MCF_GPT_GPTTOV */
2853#define MCF_GPT_GPTTOV_TOV0 (0x01)
2854#define MCF_GPT_GPTTOV_TOV1 (0x02)
2855#define MCF_GPT_GPTTOV_TOV2 (0x04)
2856#define MCF_GPT_GPTTOV_TOV3 (0x08)
2857
2858/* Bit definitions and macros for MCF_GPT_GPTCTL1 */
2859#define MCF_GPT_GPTCTL1_OL0 (0x01)
2860#define MCF_GPT_GPTCTL1_OM0 (0x02)
2861#define MCF_GPT_GPTCTL1_OL1 (0x04)
2862#define MCF_GPT_GPTCTL1_OM1 (0x08)
2863#define MCF_GPT_GPTCTL1_OL2 (0x10)
2864#define MCF_GPT_GPTCTL1_OM2 (0x20)
2865#define MCF_GPT_GPTCTL1_OL3 (0x40)
2866#define MCF_GPT_GPTCTL1_OM3 (0x80)
2867#define MCF_GPT_GPTCTL1_OUTPUT3_NOTHING ((0x00))
2868#define MCF_GPT_GPTCTL1_OUTPUT3_TOGGLE ((0x40))
2869#define MCF_GPT_GPTCTL1_OUTPUT3_CLEAR ((0x80))
2870#define MCF_GPT_GPTCTL1_OUTPUT3_SET ((0xC0))
2871#define MCF_GPT_GPTCTL1_OUTPUT2_NOTHING ((0x00))
2872#define MCF_GPT_GPTCTL1_OUTPUT2_TOGGLE ((0x10))
2873#define MCF_GPT_GPTCTL1_OUTPUT2_CLEAR ((0x20))
2874#define MCF_GPT_GPTCTL1_OUTPUT2_SET ((0x30))
2875#define MCF_GPT_GPTCTL1_OUTPUT1_NOTHING ((0x00))
2876#define MCF_GPT_GPTCTL1_OUTPUT1_TOGGLE ((0x04))
2877#define MCF_GPT_GPTCTL1_OUTPUT1_CLEAR ((0x08))
2878#define MCF_GPT_GPTCTL1_OUTPUT1_SET ((0x0C))
2879#define MCF_GPT_GPTCTL1_OUTPUT0_NOTHING ((0x00))
2880#define MCF_GPT_GPTCTL1_OUTPUT0_TOGGLE ((0x01))
2881#define MCF_GPT_GPTCTL1_OUTPUT0_CLEAR ((0x02))
2882#define MCF_GPT_GPTCTL1_OUTPUT0_SET ((0x03))
2883
2884/* Bit definitions and macros for MCF_GPT_GPTCTL2 */
2885#define MCF_GPT_GPTCTL2_EDG0A (0x01)
2886#define MCF_GPT_GPTCTL2_EDG0B (0x02)
2887#define MCF_GPT_GPTCTL2_EDG1A (0x04)
2888#define MCF_GPT_GPTCTL2_EDG1B (0x08)
2889#define MCF_GPT_GPTCTL2_EDG2A (0x10)
2890#define MCF_GPT_GPTCTL2_EDG2B (0x20)
2891#define MCF_GPT_GPTCTL2_EDG3A (0x40)
2892#define MCF_GPT_GPTCTL2_EDG3B (0x80)
2893#define MCF_GPT_GPTCTL2_INPUT3_DISABLED ((0x00))
2894#define MCF_GPT_GPTCTL2_INPUT3_RISING ((0x40))
2895#define MCF_GPT_GPTCTL2_INPUT3_FALLING ((0x80))
2896#define MCF_GPT_GPTCTL2_INPUT3_ANY ((0xC0))
2897#define MCF_GPT_GPTCTL2_INPUT2_DISABLED ((0x00))
2898#define MCF_GPT_GPTCTL2_INPUT2_RISING ((0x10))
2899#define MCF_GPT_GPTCTL2_INPUT2_FALLING ((0x20))
2900#define MCF_GPT_GPTCTL2_INPUT2_ANY ((0x30))
2901#define MCF_GPT_GPTCTL2_INPUT1_DISABLED ((0x00))
2902#define MCF_GPT_GPTCTL2_INPUT1_RISING ((0x04))
2903#define MCF_GPT_GPTCTL2_INPUT1_FALLING ((0x08))
2904#define MCF_GPT_GPTCTL2_INPUT1_ANY ((0x0C))
2905#define MCF_GPT_GPTCTL2_INPUT0_DISABLED ((0x00))
2906#define MCF_GPT_GPTCTL2_INPUT0_RISING ((0x01))
2907#define MCF_GPT_GPTCTL2_INPUT0_FALLING ((0x02))
2908#define MCF_GPT_GPTCTL2_INPUT0_ANY ((0x03))
2909
2910/* Bit definitions and macros for MCF_GPT_GPTIE */
2911#define MCF_GPT_GPTIE_CI0 (0x01)
2912#define MCF_GPT_GPTIE_CI1 (0x02)
2913#define MCF_GPT_GPTIE_CI2 (0x04)
2914#define MCF_GPT_GPTIE_CI3 (0x08)
2915
2916/* Bit definitions and macros for MCF_GPT_GPTSCR2 */
2917#define MCF_GPT_GPTSCR2_PR(x) (((x)&0x07)<<0)
2918#define MCF_GPT_GPTSCR2_TCRE (0x08)
2919#define MCF_GPT_GPTSCR2_RDPT (0x10)
2920#define MCF_GPT_GPTSCR2_PUPT (0x20)
2921#define MCF_GPT_GPTSCR2_TOI (0x80)
2922#define MCF_GPT_GPTSCR2_PR_1 ((0x00))
2923#define MCF_GPT_GPTSCR2_PR_2 ((0x01))
2924#define MCF_GPT_GPTSCR2_PR_4 ((0x02))
2925#define MCF_GPT_GPTSCR2_PR_8 ((0x03))
2926#define MCF_GPT_GPTSCR2_PR_16 ((0x04))
2927#define MCF_GPT_GPTSCR2_PR_32 ((0x05))
2928#define MCF_GPT_GPTSCR2_PR_64 ((0x06))
2929#define MCF_GPT_GPTSCR2_PR_128 ((0x07))
2930
2931/* Bit definitions and macros for MCF_GPT_GPTFLG1 */
2932#define MCF_GPT_GPTFLG1_CF0 (0x01)
2933#define MCF_GPT_GPTFLG1_CF1 (0x02)
2934#define MCF_GPT_GPTFLG1_CF2 (0x04)
2935#define MCF_GPT_GPTFLG1_CF3 (0x08)
2936
2937/* Bit definitions and macros for MCF_GPT_GPTFLG2 */
2938#define MCF_GPT_GPTFLG2_CF0 (0x01)
2939#define MCF_GPT_GPTFLG2_CF1 (0x02)
2940#define MCF_GPT_GPTFLG2_CF2 (0x04)
2941#define MCF_GPT_GPTFLG2_CF3 (0x08)
2942#define MCF_GPT_GPTFLG2_TOF (0x80)
2943
2944/* Bit definitions and macros for MCF_GPT_GPTC */
2945#define MCF_GPT_GPTC_CCNT(x) (((x)&0xFFFF)<<0)
2946
2947/* Bit definitions and macros for MCF_GPT_GPTPACTL */
2948#define MCF_GPT_GPTPACTL_PAI (0x01)
2949#define MCF_GPT_GPTPACTL_PAOVI (0x02)
2950#define MCF_GPT_GPTPACTL_CLK(x) (((x)&0x03)<<2)
2951#define MCF_GPT_GPTPACTL_PEDGE (0x10)
2952#define MCF_GPT_GPTPACTL_PAMOD (0x20)
2953#define MCF_GPT_GPTPACTL_PAE (0x40)
2954#define MCF_GPT_GPTPACTL_CLK_GPTPR ((0x00))
2955#define MCF_GPT_GPTPACTL_CLK_PACLK ((0x01))
2956#define MCF_GPT_GPTPACTL_CLK_PACLK_256 ((0x02))
2957#define MCF_GPT_GPTPACTL_CLK_PACLK_65536 ((0x03))
2958
2959/* Bit definitions and macros for MCF_GPT_GPTPAFLG */
2960#define MCF_GPT_GPTPAFLG_PAIF (0x01)
2961#define MCF_GPT_GPTPAFLG_PAOVF (0x02)
2962
2963/* Bit definitions and macros for MCF_GPT_GPTPACNT */
2964#define MCF_GPT_GPTPACNT_PACNT(x) (((x)&0xFFFF)<<0)
2965
2966/* Bit definitions and macros for MCF_GPT_GPTPORT */
2967#define MCF_GPT_GPTPORT_PORTT(x) (((x)&0x0F)<<0)
2968
2969/* Bit definitions and macros for MCF_GPT_GPTDDR */
2970#define MCF_GPT_GPTDDR_DDRT0 (0x01)
2971#define MCF_GPT_GPTDDR_DDRT1 (0x02)
2972#define MCF_GPT_GPTDDR_DDRT2 (0x04)
2973#define MCF_GPT_GPTDDR_DDRT3 (0x08)
2974
2975/*********************************************************************
2976*
2977* Pulse Width Modulation (PWM)
2978*
2979*********************************************************************/
2980
2981/* Register read/write macros */
2982#define MCF_PWM_PWME (*(vuint8 *)(&__IPSBAR[0x1B0000]))
2983#define MCF_PWM_PWMPOL (*(vuint8 *)(&__IPSBAR[0x1B0001]))
2984#define MCF_PWM_PWMCLK (*(vuint8 *)(&__IPSBAR[0x1B0002]))
2985#define MCF_PWM_PWMPRCLK (*(vuint8 *)(&__IPSBAR[0x1B0003]))
2986#define MCF_PWM_PWMCAE (*(vuint8 *)(&__IPSBAR[0x1B0004]))
2987#define MCF_PWM_PWMCTL (*(vuint8 *)(&__IPSBAR[0x1B0005]))
2988#define MCF_PWM_PWMSCLA (*(vuint8 *)(&__IPSBAR[0x1B0008]))
2989#define MCF_PWM_PWMSCLB (*(vuint8 *)(&__IPSBAR[0x1B0009]))
2990#define MCF_PWM_PWMCNT0 (*(vuint8 *)(&__IPSBAR[0x1B000C]))
2991#define MCF_PWM_PWMCNT1 (*(vuint8 *)(&__IPSBAR[0x1B000D]))
2992#define MCF_PWM_PWMCNT2 (*(vuint8 *)(&__IPSBAR[0x1B000E]))
2993#define MCF_PWM_PWMCNT3 (*(vuint8 *)(&__IPSBAR[0x1B000F]))
2994#define MCF_PWM_PWMCNT4 (*(vuint8 *)(&__IPSBAR[0x1B0010]))
2995#define MCF_PWM_PWMCNT5 (*(vuint8 *)(&__IPSBAR[0x1B0011]))
2996#define MCF_PWM_PWMCNT6 (*(vuint8 *)(&__IPSBAR[0x1B0012]))
2997#define MCF_PWM_PWMCNT7 (*(vuint8 *)(&__IPSBAR[0x1B0013]))
2998#define MCF_PWM_PWMCNT(x) (*(vuint8 *)(&__IPSBAR[0x1B000C+((x)*0x001)]))
2999#define MCF_PWM_PWMPER0 (*(vuint8 *)(&__IPSBAR[0x1B0014]))
3000#define MCF_PWM_PWMPER1 (*(vuint8 *)(&__IPSBAR[0x1B0015]))
3001#define MCF_PWM_PWMPER2 (*(vuint8 *)(&__IPSBAR[0x1B0016]))
3002#define MCF_PWM_PWMPER3 (*(vuint8 *)(&__IPSBAR[0x1B0017]))
3003#define MCF_PWM_PWMPER4 (*(vuint8 *)(&__IPSBAR[0x1B0018]))
3004#define MCF_PWM_PWMPER5 (*(vuint8 *)(&__IPSBAR[0x1B0019]))
3005#define MCF_PWM_PWMPER6 (*(vuint8 *)(&__IPSBAR[0x1B001A]))
3006#define MCF_PWM_PWMPER7 (*(vuint8 *)(&__IPSBAR[0x1B001B]))
3007#define MCF_PWM_PWMPER(x) (*(vuint8 *)(&__IPSBAR[0x1B0014+((x)*0x001)]))
3008#define MCF_PWM_PWMDTY0 (*(vuint8 *)(&__IPSBAR[0x1B001C]))
3009#define MCF_PWM_PWMDTY1 (*(vuint8 *)(&__IPSBAR[0x1B001D]))
3010#define MCF_PWM_PWMDTY2 (*(vuint8 *)(&__IPSBAR[0x1B001E]))
3011#define MCF_PWM_PWMDTY3 (*(vuint8 *)(&__IPSBAR[0x1B001F]))
3012#define MCF_PWM_PWMDTY4 (*(vuint8 *)(&__IPSBAR[0x1B0020]))
3013#define MCF_PWM_PWMDTY5 (*(vuint8 *)(&__IPSBAR[0x1B0021]))
3014#define MCF_PWM_PWMDTY6 (*(vuint8 *)(&__IPSBAR[0x1B0022]))
3015#define MCF_PWM_PWMDTY7 (*(vuint8 *)(&__IPSBAR[0x1B0023]))
3016#define MCF_PWM_PWMDTY(x) (*(vuint8 *)(&__IPSBAR[0x1B001C+((x)*0x001)]))
3017#define MCF_PWM_PWMSDN (*(vuint8 *)(&__IPSBAR[0x1B0024]))
3018
3019/* Bit definitions and macros for MCF_PWM_PWME */
3020#define MCF_PWM_PWME_PWME0 (0x01)
3021#define MCF_PWM_PWME_PWME1 (0x02)
3022#define MCF_PWM_PWME_PWME2 (0x04)
3023#define MCF_PWM_PWME_PWME3 (0x08)
3024
3025/* Bit definitions and macros for MCF_PWM_PWMPOL */
3026#define MCF_PWM_PWMPOL_PPOL0 (0x01)
3027#define MCF_PWM_PWMPOL_PPOL1 (0x02)
3028#define MCF_PWM_PWMPOL_PPOL2 (0x04)
3029#define MCF_PWM_PWMPOL_PPOL3 (0x08)
3030
3031/* Bit definitions and macros for MCF_PWM_PWMCLK */
3032#define MCF_PWM_PWMCLK_PCLK0 (0x01)
3033#define MCF_PWM_PWMCLK_PCLK1 (0x02)
3034#define MCF_PWM_PWMCLK_PCLK2 (0x04)
3035#define MCF_PWM_PWMCLK_PCLK3 (0x08)
3036
3037/* Bit definitions and macros for MCF_PWM_PWMPRCLK */
3038#define MCF_PWM_PWMPRCLK_PCKA(x) (((x)&0x07)<<0)
3039#define MCF_PWM_PWMPRCLK_PCKB(x) (((x)&0x07)<<4)
3040
3041/* Bit definitions and macros for MCF_PWM_PWMCAE */
3042#define MCF_PWM_PWMCAE_CAE0 (0x01)
3043#define MCF_PWM_PWMCAE_CAE1 (0x02)
3044#define MCF_PWM_PWMCAE_CAE2 (0x04)
3045#define MCF_PWM_PWMCAE_CAE3 (0x08)
3046
3047/* Bit definitions and macros for MCF_PWM_PWMCTL */
3048#define MCF_PWM_PWMCTL_PFRZ (0x04)
3049#define MCF_PWM_PWMCTL_PSWAI (0x08)
3050#define MCF_PWM_PWMCTL_CON01 (0x10)
3051#define MCF_PWM_PWMCTL_CON23 (0x20)
3052
3053/* Bit definitions and macros for MCF_PWM_PWMSCLA */
3054#define MCF_PWM_PWMSCLA_SCALEA(x) (((x)&0xFF)<<0)
3055
3056/* Bit definitions and macros for MCF_PWM_PWMSCLB */
3057#define MCF_PWM_PWMSCLB_SCALEB(x) (((x)&0xFF)<<0)
3058
3059/* Bit definitions and macros for MCF_PWM_PWMCNT */
3060#define MCF_PWM_PWMCNT_COUNT(x) (((x)&0xFF)<<0)
3061
3062/* Bit definitions and macros for MCF_PWM_PWMPER */
3063#define MCF_PWM_PWMPER_PERIOD(x) (((x)&0xFF)<<0)
3064
3065/* Bit definitions and macros for MCF_PWM_PWMDTY */
3066#define MCF_PWM_PWMDTY_DUTY(x) (((x)&0xFF)<<0)
3067
3068/* Bit definitions and macros for MCF_PWM_PWMSDN */
3069#define MCF_PWM_PWMSDN_SDNEN (0x01)
3070#define MCF_PWM_PWMSDN_PWM7IL (0x02)
3071#define MCF_PWM_PWMSDN_PWM7IN (0x04)
3072#define MCF_PWM_PWMSDN_LVL (0x10)
3073#define MCF_PWM_PWMSDN_RESTART (0x20)
3074#define MCF_PWM_PWMSDN_IE (0x40)
3075#define MCF_PWM_PWMSDN_IF (0x80)
3076
3077/*********************************************************************
3078*
3079* FlexCAN Module (CAN)
3080*
3081*********************************************************************/
3082
3083/* Register read/write macros */
3084#define MCF_CAN_CANMCR (*(vuint32*)(&__IPSBAR[0x1C0000]))
3085#define MCF_CAN_CANCTRL (*(vuint32*)(&__IPSBAR[0x1C0004]))
3086#define MCF_CAN_TIMER (*(vuint32*)(&__IPSBAR[0x1C0008]))
3087#define MCF_CAN_RXGMASK (*(vuint32*)(&__IPSBAR[0x1C0010]))
3088#define MCF_CAN_RX14MASK (*(vuint32*)(&__IPSBAR[0x1C0014]))
3089#define MCF_CAN_RX15MASK (*(vuint32*)(&__IPSBAR[0x1C0018]))
3090#define MCF_CAN_ERRCNT (*(vuint32*)(&__IPSBAR[0x1C001C]))
3091#define MCF_CAN_ERRSTAT (*(vuint32*)(&__IPSBAR[0x1C0020]))
3092#define MCF_CAN_IMASK (*(vuint32*)(&__IPSBAR[0x1C0028]))
3093#define MCF_CAN_IFLAG (*(vuint32*)(&__IPSBAR[0x1C0030]))
3094
3095/* Bit definitions and macros for MCF_CAN_CANMCR */
3096#define MCF_CAN_CANMCR_MAXMB(x) (((x)&0x0000000F)<<0)
3097#define MCF_CAN_CANMCR_SUPV (0x00800000)
3098#define MCF_CAN_CANMCR_FRZACK (0x01000000)
3099#define MCF_CAN_CANMCR_SOFTRST (0x02000000)
3100#define MCF_CAN_CANMCR_HALT (0x10000000)
3101#define MCF_CAN_CANMCR_FRZ (0x40000000)
3102#define MCF_CAN_CANMCR_MDIS (0x80000000)
3103
3104/* Bit definitions and macros for MCF_CAN_CANCTRL */
3105#define MCF_CAN_CANCTRL_PROPSEG(x) (((x)&0x00000007)<<0)
3106#define MCF_CAN_CANCTRL_LOM (0x00000008)
3107#define MCF_CAN_CANCTRL_LBUF (0x00000010)
3108#define MCF_CAN_CANCTRL_TSYNC (0x00000020)
3109#define MCF_CAN_CANCTRL_BOFFREC (0x00000040)
3110#define MCF_CAN_CANCTRL_SAMP (0x00000080)
3111#define MCF_CAN_CANCTRL_LPB (0x00001000)
3112#define MCF_CAN_CANCTRL_CLKSRC (0x00002000)
3113#define MCF_CAN_CANCTRL_ERRMSK (0x00004000)
3114#define MCF_CAN_CANCTRL_BOFFMSK (0x00008000)
3115#define MCF_CAN_CANCTRL_PSEG2(x) (((x)&0x00000007)<<16)
3116#define MCF_CAN_CANCTRL_PSEG1(x) (((x)&0x00000007)<<19)
3117#define MCF_CAN_CANCTRL_RJW(x) (((x)&0x00000003)<<22)
3118#define MCF_CAN_CANCTRL_PRESDIV(x) (((x)&0x000000FF)<<24)
3119
3120/* Bit definitions and macros for MCF_CAN_TIMER */
3121#define MCF_CAN_TIMER_TIMER(x) (((x)&0x0000FFFF)<<0)
3122
3123/* Bit definitions and macros for MCF_CAN_RXGMASK */
3124#define MCF_CAN_RXGMASK_MI(x) (((x)&0x1FFFFFFF)<<0)
3125
3126/* Bit definitions and macros for MCF_CAN_RX14MASK */
3127#define MCF_CAN_RX14MASK_MI(x) (((x)&0x1FFFFFFF)<<0)
3128
3129/* Bit definitions and macros for MCF_CAN_RX15MASK */
3130#define MCF_CAN_RX15MASK_MI(x) (((x)&0x1FFFFFFF)<<0)
3131
3132/* Bit definitions and macros for MCF_CAN_ERRCNT */
3133#define MCF_CAN_ERRCNT_TXECTR(x) (((x)&0x000000FF)<<0)
3134#define MCF_CAN_ERRCNT_RXECTR(x) (((x)&0x000000FF)<<8)
3135
3136/* Bit definitions and macros for MCF_CAN_ERRSTAT */
3137#define MCF_CAN_ERRSTAT_WAKINT (0x00000001)
3138#define MCF_CAN_ERRSTAT_ERRINT (0x00000002)
3139#define MCF_CAN_ERRSTAT_BOFFINT (0x00000004)
3140#define MCF_CAN_ERRSTAT_FLTCONF(x) (((x)&0x00000003)<<4)
3141#define MCF_CAN_ERRSTAT_TXRX (0x00000040)
3142#define MCF_CAN_ERRSTAT_IDLE (0x00000080)
3143#define MCF_CAN_ERRSTAT_RXWRN (0x00000100)
3144#define MCF_CAN_ERRSTAT_TXWRN (0x00000200)
3145#define MCF_CAN_ERRSTAT_STFERR (0x00000400)
3146#define MCF_CAN_ERRSTAT_FRMERR (0x00000800)
3147#define MCF_CAN_ERRSTAT_CRCERR (0x00001000)
3148#define MCF_CAN_ERRSTAT_ACKERR (0x00002000)
3149#define MCF_CAN_ERRSTAT_BITERR(x) (((x)&0x00000003)<<14)
3150#define MCF_CAN_ERRSTAT_FLTCONF_ACTIVE (0x00000000)
3151#define MCF_CAN_ERRSTAT_FLTCONF_PASSIVE (0x00000010)
3152#define MCF_CAN_ERRSTAT_FLTCONF_BUSOFF (0x00000020)
3153
3154/* Bit definitions and macros for MCF_CAN_IMASK */
3155#define MCF_CAN_IMASK_BUF(x) (1<<x)
3156
3157/* Bit definitions and macros for MCF_CAN_IFLAG */
3158#define MCF_CAN_IFLAG_BUF(x) (1<<x)
3159
3160/*********************************************************************
3161*
3162* ColdFire Flash Module (CFM)
3163*
3164*********************************************************************/
3165
3166/* Register read/write macros */
3167#define MCF_CFM_CFMMCR (*(vuint16*)(&__IPSBAR[0x1D0000]))
3168#define MCF_CFM_CFMCLKD (*(vuint8 *)(&__IPSBAR[0x1D0002]))
3169#define MCF_CFM_CFMSEC (*(vuint32*)(&__IPSBAR[0x1D0008]))
3170#define MCF_CFM_CFMPROT (*(vuint32*)(&__IPSBAR[0x1D0010]))
3171#define MCF_CFM_CFMSACC (*(vuint32*)(&__IPSBAR[0x1D0014]))
3172#define MCF_CFM_CFMDACC (*(vuint32*)(&__IPSBAR[0x1D0018]))
3173#define MCF_CFM_CFMUSTAT (*(vuint8 *)(&__IPSBAR[0x1D0020]))
3174#define MCF_CFM_CFMCMD (*(vuint8 *)(&__IPSBAR[0x1D0024]))
3175
3176/* Bit definitions and macros for MCF_CFM_CFMMCR */
3177#define MCF_CFM_CFMMCR_KEYACC (0x0020)
3178#define MCF_CFM_CFMMCR_CCIE (0x0040)
3179#define MCF_CFM_CFMMCR_CBEIE (0x0080)
3180#define MCF_CFM_CFMMCR_AEIE (0x0100)
3181#define MCF_CFM_CFMMCR_PVIE (0x0200)
3182#define MCF_CFM_CFMMCR_LOCK (0x0400)
3183
3184/* Bit definitions and macros for MCF_CFM_CFMCLKD */
3185#define MCF_CFM_CFMCLKD_DIV(x) (((x)&0x3F)<<0)
3186#define MCF_CFM_CFMCLKD_PRDIV8 (0x40)
3187#define MCF_CFM_CFMCLKD_DIVLD (0x80)
3188
3189/* Bit definitions and macros for MCF_CFM_CFMSEC */
3190#define MCF_CFM_CFMSEC_SEC(x) (((x)&0x0000FFFF)<<0)
3191#define MCF_CFM_CFMSEC_SECSTAT (0x40000000)
3192#define MCF_CFM_CFMSEC_KEYEN (0x80000000)
3193
3194/* Bit definitions and macros for MCF_CFM_CFMUSTAT */
3195#define MCF_CFM_CFMUSTAT_BLANK (0x04)
3196#define MCF_CFM_CFMUSTAT_ACCERR (0x10)
3197#define MCF_CFM_CFMUSTAT_PVIOL (0x20)
3198#define MCF_CFM_CFMUSTAT_CCIF (0x40)
3199#define MCF_CFM_CFMUSTAT_CBEIF (0x80)
3200
3201/* Bit definitions and macros for MCF_CFM_CFMCMD */
3202#define MCF_CFM_CFMCMD_CMD(x) (((x)&0x7F)<<0)
3203#define MCF_CFM_CFMCMD_RDARY1 (0x05)
3204#define MCF_CFM_CFMCMD_PGM (0x20)
3205#define MCF_CFM_CFMCMD_PGERS (0x40)
3206#define MCF_CFM_CFMCMD_MASERS (0x41)
3207#define MCF_CFM_CFMCMD_PGERSVER (0x06)
3208
3209/*********************************************************************
3210*
3211* Interrupt Controller (INTC_IACK)
3212*
3213*********************************************************************/
3214
3215/* Register read/write macros */
3216#define MCF_INTC_IACK_GSWIACK (*(vuint8 *)(&__IPSBAR[0x000FE0]))
3217#define MCF_INTC_IACK_GL1IACK (*(vuint8 *)(&__IPSBAR[0x000FE4]))
3218#define MCF_INTC_IACK_GL2IACK (*(vuint8 *)(&__IPSBAR[0x000FE8]))
3219#define MCF_INTC_IACK_GL3IACK (*(vuint8 *)(&__IPSBAR[0x000FEC]))
3220#define MCF_INTC_IACK_GL4IACK (*(vuint8 *)(&__IPSBAR[0x000FF0]))
3221#define MCF_INTC_IACK_GL5IACK (*(vuint8 *)(&__IPSBAR[0x000FF4]))
3222#define MCF_INTC_IACK_GL6IACK (*(vuint8 *)(&__IPSBAR[0x000FF8]))
3223#define MCF_INTC_IACK_GL7IACK (*(vuint8 *)(&__IPSBAR[0x000FFC]))
3224#define MCF_INTC_IACK_GLIACK(x) (*(vuint8 *)(&__IPSBAR[0x000FE4+((x-1)*0x004)]))
3225
3226/* Bit definitions and macros for MCF_INTC_IACK_GSWIACK */
3227#define MCF_INTC_IACK_GSWIACK_VECTOR(x) (((x)&0xFF)<<0)
3228
3229/* Bit definitions and macros for MCF_INTC_IACK_GLIACK */
3230#define MCF_INTC_IACK_GLIACK_VECTOR(x) (((x)&0xFF)<<0)
3231
3232/*********************************************************************
3233*
3234* Fast Ethernet Controller (FEC)
3235*
3236*********************************************************************/
3237
3238/* Register read/write macros */
3239#define MCF_FEC_EIR (*(vuint32*)(&__IPSBAR[0x001004]))
3240#define MCF_FEC_EIMR (*(vuint32*)(&__IPSBAR[0x001008]))
3241#define MCF_FEC_RDAR (*(vuint32*)(&__IPSBAR[0x001010]))
3242#define MCF_FEC_TDAR (*(vuint32*)(&__IPSBAR[0x001014]))
3243#define MCF_FEC_ECR (*(vuint32*)(&__IPSBAR[0x001024]))
3244#define MCF_FEC_MMFR (*(vuint32*)(&__IPSBAR[0x001040]))
3245#define MCF_FEC_MSCR (*(vuint32*)(&__IPSBAR[0x001044]))
3246#define MCF_FEC_MIBC (*(vuint32*)(&__IPSBAR[0x001064]))
3247#define MCF_FEC_RCR (*(vuint32*)(&__IPSBAR[0x001084]))
3248#define MCF_FEC_TCR (*(vuint32*)(&__IPSBAR[0x0010C4]))
3249#define MCF_FEC_PALR (*(vuint32*)(&__IPSBAR[0x0010E4]))
3250#define MCF_FEC_PAUR (*(vuint32*)(&__IPSBAR[0x0010E8]))
3251#define MCF_FEC_OPD (*(vuint32*)(&__IPSBAR[0x0010EC]))
3252#define MCF_FEC_IAUR (*(vuint32*)(&__IPSBAR[0x001118]))
3253#define MCF_FEC_IALR (*(vuint32*)(&__IPSBAR[0x00111C]))
3254#define MCF_FEC_GAUR (*(vuint32*)(&__IPSBAR[0x001120]))
3255#define MCF_FEC_GALR (*(vuint32*)(&__IPSBAR[0x001124]))
3256#define MCF_FEC_TFWR (*(vuint32*)(&__IPSBAR[0x001144]))
3257#define MCF_FEC_FRBR (*(vuint32*)(&__IPSBAR[0x00114C]))
3258#define MCF_FEC_FRSR (*(vuint32*)(&__IPSBAR[0x001150]))
3259#define MCF_FEC_ERDSR (*(vuint32*)(&__IPSBAR[0x001180]))
3260#define MCF_FEC_ETDSR (*(vuint32*)(&__IPSBAR[0x001184]))
3261#define MCF_FEC_EMRBR (*(vuint32*)(&__IPSBAR[0x001188]))
3262#define MCF_FEC_RMON_T_DROP (*(vuint32*)(&__IPSBAR[0x001200]))
3263#define MCF_FEC_RMON_T_PACKETS (*(vuint32*)(&__IPSBAR[0x001204]))
3264#define MCF_FEC_RMON_T_BC_PKT (*(vuint32*)(&__IPSBAR[0x001208]))
3265#define MCF_FEC_RMON_T_MC_PKT (*(vuint32*)(&__IPSBAR[0x00120C]))
3266#define MCF_FEC_RMON_T_CRC_ALIGN (*(vuint32*)(&__IPSBAR[0x001210]))
3267#define MCF_FEC_RMON_T_UNDERSIZE (*(vuint32*)(&__IPSBAR[0x001214]))
3268#define MCF_FEC_RMON_T_OVERSIZE (*(vuint32*)(&__IPSBAR[0x001218]))
3269#define MCF_FEC_RMON_T_FRAG (*(vuint32*)(&__IPSBAR[0x00121C]))
3270#define MCF_FEC_RMON_T_JAB (*(vuint32*)(&__IPSBAR[0x001220]))
3271#define MCF_FEC_RMON_T_COL (*(vuint32*)(&__IPSBAR[0x001224]))
3272#define MCF_FEC_RMON_T_P64 (*(vuint32*)(&__IPSBAR[0x001228]))
3273#define MCF_FEC_RMON_T_P65TO127 (*(vuint32*)(&__IPSBAR[0x00122C]))
3274#define MCF_FEC_RMON_T_P128TO255 (*(vuint32*)(&__IPSBAR[0x001230]))
3275#define MCF_FEC_RMON_T_P256TO511 (*(vuint32*)(&__IPSBAR[0x001234]))
3276#define MCF_FEC_RMON_T_P512TO1023 (*(vuint32*)(&__IPSBAR[0x001238]))
3277#define MCF_FEC_RMON_T_P1024TO2047 (*(vuint32*)(&__IPSBAR[0x00123C]))
3278#define MCF_FEC_RMON_T_P_GTE2048 (*(vuint32*)(&__IPSBAR[0x001240]))
3279#define MCF_FEC_RMON_T_OCTETS (*(vuint32*)(&__IPSBAR[0x001244]))
3280#define MCF_FEC_IEEE_T_DROP (*(vuint32*)(&__IPSBAR[0x001248]))
3281#define MCF_FEC_IEEE_T_FRAME_OK (*(vuint32*)(&__IPSBAR[0x00124C]))
3282#define MCF_FEC_IEEE_T_1COL (*(vuint32*)(&__IPSBAR[0x001250]))
3283#define MCF_FEC_IEEE_T_MCOL (*(vuint32*)(&__IPSBAR[0x001254]))
3284#define MCF_FEC_IEEE_T_DEF (*(vuint32*)(&__IPSBAR[0x001258]))
3285#define MCF_FEC_IEEE_T_LCOL (*(vuint32*)(&__IPSBAR[0x00125C]))
3286#define MCF_FEC_IEEE_T_EXCOL (*(vuint32*)(&__IPSBAR[0x001260]))
3287#define MCF_FEC_IEEE_T_MACERR (*(vuint32*)(&__IPSBAR[0x001264]))
3288#define MCF_FEC_IEEE_T_CSERR (*(vuint32*)(&__IPSBAR[0x001268]))
3289#define MCF_FEC_IEEE_T_SQE (*(vuint32*)(&__IPSBAR[0x00126C]))
3290#define MCF_FEC_IEEE_T_FDXFC (*(vuint32*)(&__IPSBAR[0x001270]))
3291#define MCF_FEC_IEEE_T_OCTETS_OK (*(vuint32*)(&__IPSBAR[0x001274]))
3292#define MCF_FEC_RMON_R_PACKETS (*(vuint32*)(&__IPSBAR[0x001284]))
3293#define MCF_FEC_RMON_R_BC_PKT (*(vuint32*)(&__IPSBAR[0x001288]))
3294#define MCF_FEC_RMON_R_MC_PKT (*(vuint32*)(&__IPSBAR[0x00128C]))
3295#define MCF_FEC_RMON_R_CRC_ALIGN (*(vuint32*)(&__IPSBAR[0x001290]))
3296#define MCF_FEC_RMON_R_UNDERSIZE (*(vuint32*)(&__IPSBAR[0x001294]))
3297#define MCF_FEC_RMON_R_OVERSIZE (*(vuint32*)(&__IPSBAR[0x001298]))
3298#define MCF_FEC_RMON_R_FRAG (*(vuint32*)(&__IPSBAR[0x00129C]))
3299#define MCF_FEC_RMON_R_JAB (*(vuint32*)(&__IPSBAR[0x0012A0]))
3300#define MCF_FEC_RMON_R_RESVD_0 (*(vuint32*)(&__IPSBAR[0x0012A4]))
3301#define MCF_FEC_RMON_R_P64 (*(vuint32*)(&__IPSBAR[0x0012A8]))
3302#define MCF_FEC_RMON_R_P65TO127 (*(vuint32*)(&__IPSBAR[0x0012AC]))
3303#define MCF_FEC_RMON_R_P128TO255 (*(vuint32*)(&__IPSBAR[0x0012B0]))
3304#define MCF_FEC_RMON_R_P256TO511 (*(vuint32*)(&__IPSBAR[0x0012B4]))
3305#define MCF_FEC_RMON_R_512TO1023 (*(vuint32*)(&__IPSBAR[0x0012B8]))
3306#define MCF_FEC_RMON_R_P_GTE2048 (*(vuint32*)(&__IPSBAR[0x0012C0]))
3307#define MCF_FEC_RMON_R_1024TO2047 (*(vuint32*)(&__IPSBAR[0x0012BC]))
3308#define MCF_FEC_RMON_R_OCTETS (*(vuint32*)(&__IPSBAR[0x0012C4]))
3309#define MCF_FEC_IEEE_R_DROP (*(vuint32*)(&__IPSBAR[0x0012C8]))
3310#define MCF_FEC_IEEE_R_FRAME_OK (*(vuint32*)(&__IPSBAR[0x0012CC]))
3311#define MCF_FEC_IEEE_R_CRC (*(vuint32*)(&__IPSBAR[0x0012D0]))
3312#define MCF_FEC_IEEE_R_ALIGN (*(vuint32*)(&__IPSBAR[0x0012D4]))
3313#define MCF_FEC_IEEE_R_MACERR (*(vuint32*)(&__IPSBAR[0x0012D8]))
3314#define MCF_FEC_IEEE_R_FDXFC (*(vuint32*)(&__IPSBAR[0x0012DC]))
3315#define MCF_FEC_IEEE_R_OCTETS_OK (*(vuint32*)(&__IPSBAR[0x0012E0]))
3316
3317/* Bit definitions and macros for MCF_FEC_EIR */
3318#define MCF_FEC_EIR_UN (0x00080000)
3319#define MCF_FEC_EIR_RL (0x00100000)
3320#define MCF_FEC_EIR_LC (0x00200000)
3321#define MCF_FEC_EIR_EBERR (0x00400000)
3322#define MCF_FEC_EIR_MII (0x00800000)
3323#define MCF_FEC_EIR_RXB (0x01000000)
3324#define MCF_FEC_EIR_RXF (0x02000000)
3325#define MCF_FEC_EIR_TXB (0x04000000)
3326#define MCF_FEC_EIR_TXF (0x08000000)
3327#define MCF_FEC_EIR_GRA (0x10000000)
3328#define MCF_FEC_EIR_BABT (0x20000000)
3329#define MCF_FEC_EIR_BABR (0x40000000)
3330#define MCF_FEC_EIR_HBERR (0x80000000)
3331#define MCF_FEC_EIR_CLEAR_ALL (0xFFFFFFFF)
3332
3333/* Bit definitions and macros for MCF_FEC_EIMR */
3334#define MCF_FEC_EIMR_UN (0x00080000)
3335#define MCF_FEC_EIMR_RL (0x00100000)
3336#define MCF_FEC_EIMR_LC (0x00200000)
3337#define MCF_FEC_EIMR_EBERR (0x00400000)
3338#define MCF_FEC_EIMR_MII (0x00800000)
3339#define MCF_FEC_EIMR_RXB (0x01000000)
3340#define MCF_FEC_EIMR_RXF (0x02000000)
3341#define MCF_FEC_EIMR_TXB (0x04000000)
3342#define MCF_FEC_EIMR_TXF (0x08000000)
3343#define MCF_FEC_EIMR_GRA (0x10000000)
3344#define MCF_FEC_EIMR_BABT (0x20000000)
3345#define MCF_FEC_EIMR_BABR (0x40000000)
3346#define MCF_FEC_EIMR_HBERR (0x80000000)
3347#define MCF_FEC_EIMR_MASK_ALL (0x00000000)
3348#define MCF_FEC_EIMR_UNMASK_ALL (0xFFFFFFFF)
3349
3350/* Bit definitions and macros for MCF_FEC_RDAR */
3351#define MCF_FEC_RDAR_R_DES_ACTIVE (0x01000000)
3352
3353/* Bit definitions and macros for MCF_FEC_TDAR */
3354#define MCF_FEC_TDAR_X_DES_ACTIVE (0x01000000)
3355
3356/* Bit definitions and macros for MCF_FEC_ECR */
3357#define MCF_FEC_ECR_RESET (0x00000001)
3358#define MCF_FEC_ECR_ETHER_EN (0x00000002)
3359
3360/* Bit definitions and macros for MCF_FEC_MMFR */
3361#define MCF_FEC_MMFR_DATA(x) (((x)&0x0000FFFF)<<0)
3362#define MCF_FEC_MMFR_TA(x) (((x)&0x00000003)<<16)
3363#define MCF_FEC_MMFR_RA(x) (((x)&0x0000001F)<<18)
3364#define MCF_FEC_MMFR_PA(x) (((x)&0x0000001F)<<23)
3365#define MCF_FEC_MMFR_OP(x) (((x)&0x00000003)<<28)
3366#define MCF_FEC_MMFR_ST(x) (((x)&0x00000003)<<30)
3367#define MCF_FEC_MMFR_ST_01 (0x40000000)
3368#define MCF_FEC_MMFR_OP_READ (0x20000000)
3369#define MCF_FEC_MMFR_OP_WRITE (0x10000000)
3370#define MCF_FEC_MMFR_TA_10 (0x00020000)
3371
3372/* Bit definitions and macros for MCF_FEC_MSCR */
3373#define MCF_FEC_MSCR_MII_SPEED(x) (((x)&0x0000003F)<<1)
3374#define MCF_FEC_MSCR_DIS_PREAMBLE (0x00000080)
3375
3376/* Bit definitions and macros for MCF_FEC_MIBC */
3377#define MCF_FEC_MIBC_MIB_IDLE (0x40000000)
3378#define MCF_FEC_MIBC_MIB_DISABLE (0x80000000)
3379
3380/* Bit definitions and macros for MCF_FEC_RCR */
3381#define MCF_FEC_RCR_LOOP (0x00000001)
3382#define MCF_FEC_RCR_DRT (0x00000002)
3383#define MCF_FEC_RCR_MII_MODE (0x00000004)
3384#define MCF_FEC_RCR_PROM (0x00000008)
3385#define MCF_FEC_RCR_BC_REJ (0x00000010)
3386#define MCF_FEC_RCR_FCE (0x00000020)
3387#define MCF_FEC_RCR_MAX_FL(x) (((x)&0x000007FF)<<16)
3388
3389/* Bit definitions and macros for MCF_FEC_TCR */
3390#define MCF_FEC_TCR_GTS (0x00000001)
3391#define MCF_FEC_TCR_HBC (0x00000002)
3392#define MCF_FEC_TCR_FDEN (0x00000004)
3393#define MCF_FEC_TCR_TFC_PAUSE (0x00000008)
3394#define MCF_FEC_TCR_RFC_PAUSE (0x00000010)
3395
3396/* Bit definitions and macros for MCF_FEC_PALR */
3397#define MCF_FEC_PALR_PADDR1(x) (((x)&0xFFFFFFFF)<<0)
3398
3399/* Bit definitions and macros for MCF_FEC_PAUR */
3400#define MCF_FEC_PAUR_TYPE(x) (((x)&0x0000FFFF)<<0)
3401#define MCF_FEC_PAUR_PADDR2(x) (((x)&0x0000FFFF)<<16)
3402
3403/* Bit definitions and macros for MCF_FEC_OPD */
3404#define MCF_FEC_OPD_PAUSE_DUR(x) (((x)&0x0000FFFF)<<0)
3405#define MCF_FEC_OPD_OPCODE(x) (((x)&0x0000FFFF)<<16)
3406
3407/* Bit definitions and macros for MCF_FEC_IAUR */
3408#define MCF_FEC_IAUR_IADDR1(x) (((x)&0xFFFFFFFF)<<0)
3409
3410/* Bit definitions and macros for MCF_FEC_IALR */
3411#define MCF_FEC_IALR_IADDR2(x) (((x)&0xFFFFFFFF)<<0)
3412
3413/* Bit definitions and macros for MCF_FEC_GAUR */
3414#define MCF_FEC_GAUR_GADDR1(x) (((x)&0xFFFFFFFF)<<0)
3415
3416/* Bit definitions and macros for MCF_FEC_GALR */
3417#define MCF_FEC_GALR_GADDR2(x) (((x)&0xFFFFFFFF)<<0)
3418
3419/* Bit definitions and macros for MCF_FEC_TFWR */
3420#define MCF_FEC_TFWR_X_WMRK(x) (((x)&0x00000003)<<0)
3421
3422/* Bit definitions and macros for MCF_FEC_FRBR */
3423#define MCF_FEC_FRBR_R_BOUND(x) (((x)&0x000000FF)<<2)
3424
3425/* Bit definitions and macros for MCF_FEC_FRSR */
3426#define MCF_FEC_FRSR_R_FSTART(x) (((x)&0x000000FF)<<2)
3427
3428/* Bit definitions and macros for MCF_FEC_ERDSR */
3429#define MCF_FEC_ERDSR_R_DES_START(x) (((x)&0x3FFFFFFF)<<2)
3430
3431/* Bit definitions and macros for MCF_FEC_ETDSR */
3432#define MCF_FEC_ETDSR_X_DES_START(x) (((x)&0x3FFFFFFF)<<2)
3433
3434/* Bit definitions and macros for MCF_FEC_EMRBR */
3435#define MCF_FEC_EMRBR_R_BUF_SIZE(x) (((x)&0x0000007F)<<4)
3436
3437/* buffer descriptor fields */
3438/* Tx BD fields */
3439#define MCF_FEC_TXBD_R (1 << 15)
3440#define MCF_FEC_TXBD_W (1 << 13)
3441#define MCF_FEC_TXBD_L (1 << 11)
3442#define MCF_FEC_TXBD_TC (1 << 10)
3443
3444/* Rx BD fields */
3445#define MCF_FEC_RXBD_E (1 << 15)
3446#define MCF_FEC_RXBD_RO1 (1 << 14)
3447#define MCF_FEC_RXBD_W (1 << 13)
3448#define MCF_FEC_RXBD_L (1 << 11)
3449#define MCF_FEC_RXBD_LG (1 << 5)
3450#define MCF_FEC_RXBD_NO (1 << 4)
3451#define MCF_FEC_RXBD_CR (1 << 2)
3452#define MCF_FEC_RXBD_OV (1 << 1)
3453#define MCF_FEC_RXBD_TR (1 << 0)
3454
3455/*********************************************************************
3456*
3457* Random Number Generator (RNG)
3458*
3459*********************************************************************/
3460
3461/* Register read/write macros */
3462#define MCF_RNG_RNGCR (*(vuint32*)(&__IPSBAR[0x1F0000]))
3463#define MCF_RNG_RNGSR (*(vuint32*)(&__IPSBAR[0x1F0004]))
3464#define MCF_RNG_RNGER (*(vuint32*)(&__IPSBAR[0x1F0008]))
3465#define MCF_RNG_RNGOUT (*(vuint32*)(&__IPSBAR[0x1F000C]))
3466
3467/* Bit definitions and macros for MCF_RNG_RNGCR */
3468#define MCF_RNG_RNGCR_GO (0x00000001)
3469#define MCF_RNG_RNGCR_HA (0x00000002)
3470#define MCF_RNG_RNGCR_IM (0x00000004)
3471#define MCF_RNG_RNGCR_CI (0x00000008)
3472
3473/* Bit definitions and macros for MCF_RNG_RNGSR */
3474#define MCF_RNG_RNGSR_SV (0x00000001)
3475#define MCF_RNG_RNGSR_LRS (0x00000002)
3476#define MCF_RNG_RNGSR_FUF (0x00000004)
3477#define MCF_RNG_RNGSR_EI (0x00000008)
3478#define MCF_RNG_RNGSR_OFL(x) (((x)&0x000000FF)<<8)
3479#define MCF_RNG_RNGSR_OFS(x) (((x)&0x000000FF)<<16)
3480
3481/* Bit definitions and macros for MCF_RNG_RNGER */
3482#define MCF_RNG_RNGER_ENTROPY(x) (((x)&0xFFFFFFFF)<<0)
3483
3484/* Bit definitions and macros for MCF_RNG_RNGOUT */
3485#define MCF_RNG_RNGOUT_OUTPUT(x) (((x)&0xFFFFFFFF)<<0)
3486
3487/*********************************************************************
3488*
3489* Real-time Clock (RTC)
3490*
3491*********************************************************************/
3492/* Register read/write macros */
3493#define MCF_RTC_HOURMIN (*(vuint32*)(&__IPSBAR[0x180000]))
3494#define MCF_RTC_SECONDS (*(vuint32*)(&__IPSBAR[0x180004]))
3495#define MCF_RTC_ALRM_HM (*(vuint32*)(&__IPSBAR[0x180008]))
3496#define MCF_RTC_ALRM_SEC (*(vuint32*)(&__IPSBAR[0x18000C]))
3497#define MCF_RTC_CR (*(vuint32*)(&__IPSBAR[0x180010]))
3498#define MCF_RTC_ISR (*(vuint32*)(&__IPSBAR[0x180014]))
3499#define MCF_RTC_IER (*(vuint32*)(&__IPSBAR[0x180018]))
3500#define MCF_RTC_STPWCH (*(vuint32*)(&__IPSBAR[0x18001C]))
3501#define MCF_RTC_DAYS (*(vuint32*)(&__IPSBAR[0x180020]))
3502#define MCF_RTC_ALRM_DAY (*(vuint32*)(&__IPSBAR[0x180024]))
3503#define MCF_RTC_OSC_CNT_U (*(vuint32*)(&__IPSBAR[0x180034]))
3504#define MCF_RTC_OSC_CNT_L (*(vuint32*)(&__IPSBAR[0x180038]))
3505
3506/* Bit definitions and macros for MCF_RTC_HOURMIN */
3507#define MCF_RTC_HOURMIN_MINUTES(x) (((x)&0x0000003F)<<0)
3508#define MCF_RTC_HOURMIN_HOURS(x) (((x)&0x0000001F)<<8)
3509
3510/* Bit definitions and macros for MCF_RTC_SECONDS */
3511#define MCF_RTC_SECONDS_SECONDS(x) (((x)&0x0000003F)<<0)
3512
3513/* Bit definitions and macros for MCF_RTC_ALRM_HM */
3514#define MCF_RTC_ALRM_HM_MINUTES(x) (((x)&0x0000003F)<<0)
3515#define MCF_RTC_ALRM_HM_HOURS(x) (((x)&0x0000001F)<<8)
3516
3517/* Bit definitions and macros for MCF_RTC_ALRM_SEC */
3518#define MCF_RTC_ALRM_SEC_SECONDS(x) (((x)&0x0000003F)<<0)
3519
3520/* Bit definitions and macros for MCF_RTC_CR */
3521#define MCF_RTC_CR_SWR (0x00000001)
3522#define MCF_RTC_CR_EN (0x00000080)
3523
3524/* Bit definitions and macros for MCF_RTC_ISR */
3525#define MCF_RTC_ISR_SW (0x00000001)
3526#define MCF_RTC_ISR_MIN (0x00000002)
3527#define MCF_RTC_ISR_ALM (0x00000004)
3528#define MCF_RTC_ISR_DAY (0x00000008)
3529#define MCF_RTC_ISR_1HZ (0x00000010)
3530#define MCF_RTC_ISR_HR (0x00000020)
3531
3532/* Bit definitions and macros for MCF_RTC_IER */
3533#define MCF_RTC_IER_SW (0x00000001)
3534#define MCF_RTC_IER_MIN (0x00000002)
3535#define MCF_RTC_IER_ALM (0x00000004)
3536#define MCF_RTC_IER_DAY (0x00000008)
3537#define MCF_RTC_IER_1HZ (0x00000010)
3538#define MCF_RTC_IER_HR (0x00000020)
3539
3540/* Bit definitions and macros for MCF_RTC_STPWCH */
3541#define MCF_RTC_STPWCH_CNT(x) (((x)&0x0000003F)<<0)
3542
3543/* Bit definitions and macros for MCF_RTC_DAYS */
3544#define MCF_RTC_DAYS_DAYS(x) (((x)&0x0000FFFF)<<0)
3545
3546/* Bit definitions and macros for MCF_RTC_ALRM_DAY */
3547#define MCF_RTC_ALRM_DAY_DAYS(x) (((x)&0x0000FFFF)<<0)
3548
3549#define MCF_RTC_RTCGOCNT(x) (((x)&0x0000FFFF)<<0)
3550/********************************************************************/
3551
3552#endif /* __MCF5225x_H__ */