2 * These files are taken from the MCF523X source code example package
\r
3 * which is available on the Freescale website. Freescale explicitly
\r
4 * grants the redistribution and modification of these source files.
\r
5 * The complete licensing information is available in the file
\r
6 * LICENSE_FREESCALE.TXT.
\r
8 * File: mcf523x_timer.h
\r
9 * Purpose: Register and bit definitions for the MCF523X
\r
15 #ifndef __MCF523X_TIMER_H__
\r
16 #define __MCF523X_TIMER_H__
\r
18 /*********************************************************************
\r
20 * DMA Timers (TIMER)
\r
22 *********************************************************************/
\r
24 /* Register read/write macros */
\r
25 #define MCF_TIMER_DTMR0 (*(vuint16*)(void*)(&__IPSBAR[0x000400]))
\r
26 #define MCF_TIMER_DTXMR0 (*(vuint8 *)(void*)(&__IPSBAR[0x000402]))
\r
27 #define MCF_TIMER_DTER0 (*(vuint8 *)(void*)(&__IPSBAR[0x000403]))
\r
28 #define MCF_TIMER_DTRR0 (*(vuint32*)(void*)(&__IPSBAR[0x000404]))
\r
29 #define MCF_TIMER_DTCR0 (*(vuint32*)(void*)(&__IPSBAR[0x000408]))
\r
30 #define MCF_TIMER_DTCN0 (*(vuint32*)(void*)(&__IPSBAR[0x00040C]))
\r
31 #define MCF_TIMER_DTMR1 (*(vuint16*)(void*)(&__IPSBAR[0x000440]))
\r
32 #define MCF_TIMER_DTXMR1 (*(vuint8 *)(void*)(&__IPSBAR[0x000442]))
\r
33 #define MCF_TIMER_DTER1 (*(vuint8 *)(void*)(&__IPSBAR[0x000443]))
\r
34 #define MCF_TIMER_DTRR1 (*(vuint32*)(void*)(&__IPSBAR[0x000444]))
\r
35 #define MCF_TIMER_DTCR1 (*(vuint32*)(void*)(&__IPSBAR[0x000448]))
\r
36 #define MCF_TIMER_DTCN1 (*(vuint32*)(void*)(&__IPSBAR[0x00044C]))
\r
37 #define MCF_TIMER_DTMR2 (*(vuint16*)(void*)(&__IPSBAR[0x000480]))
\r
38 #define MCF_TIMER_DTXMR2 (*(vuint8 *)(void*)(&__IPSBAR[0x000482]))
\r
39 #define MCF_TIMER_DTER2 (*(vuint8 *)(void*)(&__IPSBAR[0x000483]))
\r
40 #define MCF_TIMER_DTRR2 (*(vuint32*)(void*)(&__IPSBAR[0x000484]))
\r
41 #define MCF_TIMER_DTCR2 (*(vuint32*)(void*)(&__IPSBAR[0x000488]))
\r
42 #define MCF_TIMER_DTCN2 (*(vuint32*)(void*)(&__IPSBAR[0x00048C]))
\r
43 #define MCF_TIMER_DTMR3 (*(vuint16*)(void*)(&__IPSBAR[0x0004C0]))
\r
44 #define MCF_TIMER_DTXMR3 (*(vuint8 *)(void*)(&__IPSBAR[0x0004C2]))
\r
45 #define MCF_TIMER_DTER3 (*(vuint8 *)(void*)(&__IPSBAR[0x0004C3]))
\r
46 #define MCF_TIMER_DTRR3 (*(vuint32*)(void*)(&__IPSBAR[0x0004C4]))
\r
47 #define MCF_TIMER_DTCR3 (*(vuint32*)(void*)(&__IPSBAR[0x0004C8]))
\r
48 #define MCF_TIMER_DTCN3 (*(vuint32*)(void*)(&__IPSBAR[0x0004CC]))
\r
49 #define MCF_TIMER_DTMR(x) (*(vuint16*)(void*)(&__IPSBAR[0x000400+((x)*0x040)]))
\r
50 #define MCF_TIMER_DTXMR(x) (*(vuint8 *)(void*)(&__IPSBAR[0x000402+((x)*0x040)]))
\r
51 #define MCF_TIMER_DTER(x) (*(vuint8 *)(void*)(&__IPSBAR[0x000403+((x)*0x040)]))
\r
52 #define MCF_TIMER_DTRR(x) (*(vuint32*)(void*)(&__IPSBAR[0x000404+((x)*0x040)]))
\r
53 #define MCF_TIMER_DTCR(x) (*(vuint32*)(void*)(&__IPSBAR[0x000408+((x)*0x040)]))
\r
54 #define MCF_TIMER_DTCN(x) (*(vuint32*)(void*)(&__IPSBAR[0x00040C+((x)*0x040)]))
\r
56 /* Bit definitions and macros for MCF_TIMER_DTMR */
\r
57 #define MCF_TIMER_DTMR_RST (0x0001)
\r
58 #define MCF_TIMER_DTMR_CLK(x) (((x)&0x0003)<<1)
\r
59 #define MCF_TIMER_DTMR_FRR (0x0008)
\r
60 #define MCF_TIMER_DTMR_ORRI (0x0010)
\r
61 #define MCF_TIMER_DTMR_OM (0x0020)
\r
62 #define MCF_TIMER_DTMR_CE(x) (((x)&0x0003)<<6)
\r
63 #define MCF_TIMER_DTMR_PS(x) (((x)&0x00FF)<<8)
\r
64 #define MCF_TIMER_DTMR_CE_ANY (0x00C0)
\r
65 #define MCF_TIMER_DTMR_CE_FALL (0x0080)
\r
66 #define MCF_TIMER_DTMR_CE_RISE (0x0040)
\r
67 #define MCF_TIMER_DTMR_CE_NONE (0x0000)
\r
68 #define MCF_TIMER_DTMR_CLK_DTIN (0x0006)
\r
69 #define MCF_TIMER_DTMR_CLK_DIV16 (0x0004)
\r
70 #define MCF_TIMER_DTMR_CLK_DIV1 (0x0002)
\r
71 #define MCF_TIMER_DTMR_CLK_STOP (0x0000)
\r
73 /* Bit definitions and macros for MCF_TIMER_DTXMR */
\r
74 #define MCF_TIMER_DTXMR_MODE16 (0x01)
\r
75 #define MCF_TIMER_DTXMR_DMAEN (0x80)
\r
77 /* Bit definitions and macros for MCF_TIMER_DTER */
\r
78 #define MCF_TIMER_DTER_CAP (0x01)
\r
79 #define MCF_TIMER_DTER_REF (0x02)
\r
81 /********************************************************************/
\r
83 #endif /* __MCF523X_TIMER_H__ */
\r