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_pit.h
\r
9 * Purpose: Register and bit definitions for the MCF523X
\r
15 #ifndef __MCF523X_PIT_H__
\r
16 #define __MCF523X_PIT_H__
\r
18 /*********************************************************************
\r
20 * Programmable Interrupt Timer Modules (PIT)
\r
22 *********************************************************************/
\r
24 /* Register read/write macros */
\r
25 #define MCF_PIT_PCSR0 (*(vuint16*)(void*)(&__IPSBAR[0x150000]))
\r
26 #define MCF_PIT_PMR0 (*(vuint16*)(void*)(&__IPSBAR[0x150002]))
\r
27 #define MCF_PIT_PCNTR0 (*(vuint16*)(void*)(&__IPSBAR[0x150004]))
\r
28 #define MCF_PIT_PCSR1 (*(vuint16*)(void*)(&__IPSBAR[0x160000]))
\r
29 #define MCF_PIT_PMR1 (*(vuint16*)(void*)(&__IPSBAR[0x160002]))
\r
30 #define MCF_PIT_PCNTR1 (*(vuint16*)(void*)(&__IPSBAR[0x160004]))
\r
31 #define MCF_PIT_PCSR2 (*(vuint16*)(void*)(&__IPSBAR[0x170000]))
\r
32 #define MCF_PIT_PMR2 (*(vuint16*)(void*)(&__IPSBAR[0x170002]))
\r
33 #define MCF_PIT_PCNTR2 (*(vuint16*)(void*)(&__IPSBAR[0x170004]))
\r
34 #define MCF_PIT_PCSR3 (*(vuint16*)(void*)(&__IPSBAR[0x180000]))
\r
35 #define MCF_PIT_PMR3 (*(vuint16*)(void*)(&__IPSBAR[0x180002]))
\r
36 #define MCF_PIT_PCNTR3 (*(vuint16*)(void*)(&__IPSBAR[0x180004]))
\r
37 #define MCF_PIT_PCSR(x) (*(vuint16*)(void*)(&__IPSBAR[0x150000+((x)*0x10000)]))
\r
38 #define MCF_PIT_PMR(x) (*(vuint16*)(void*)(&__IPSBAR[0x150002+((x)*0x10000)]))
\r
39 #define MCF_PIT_PCNTR(x) (*(vuint16*)(void*)(&__IPSBAR[0x150004+((x)*0x10000)]))
\r
41 /* Bit definitions and macros for MCF_PIT_PCSR */
\r
42 #define MCF_PIT_PCSR_EN (0x0001)
\r
43 #define MCF_PIT_PCSR_RLD (0x0002)
\r
44 #define MCF_PIT_PCSR_PIF (0x0004)
\r
45 #define MCF_PIT_PCSR_PIE (0x0008)
\r
46 #define MCF_PIT_PCSR_OVW (0x0010)
\r
47 #define MCF_PIT_PCSR_HALTED (0x0020)
\r
48 #define MCF_PIT_PCSR_DOZE (0x0040)
\r
49 #define MCF_PIT_PCSR_PRE(x) (((x)&0x000F)<<8)
\r
51 /* Bit definitions and macros for MCF_PIT_PMR */
\r
52 #define MCF_PIT_PMR_PM0 (0x0001)
\r
53 #define MCF_PIT_PMR_PM1 (0x0002)
\r
54 #define MCF_PIT_PMR_PM2 (0x0004)
\r
55 #define MCF_PIT_PMR_PM3 (0x0008)
\r
56 #define MCF_PIT_PMR_PM4 (0x0010)
\r
57 #define MCF_PIT_PMR_PM5 (0x0020)
\r
58 #define MCF_PIT_PMR_PM6 (0x0040)
\r
59 #define MCF_PIT_PMR_PM7 (0x0080)
\r
60 #define MCF_PIT_PMR_PM8 (0x0100)
\r
61 #define MCF_PIT_PMR_PM9 (0x0200)
\r
62 #define MCF_PIT_PMR_PM10 (0x0400)
\r
63 #define MCF_PIT_PMR_PM11 (0x0800)
\r
64 #define MCF_PIT_PMR_PM12 (0x1000)
\r
65 #define MCF_PIT_PMR_PM13 (0x2000)
\r
66 #define MCF_PIT_PMR_PM14 (0x4000)
\r
67 #define MCF_PIT_PMR_PM15 (0x8000)
\r
69 /* Bit definitions and macros for MCF_PIT_PCNTR */
\r
70 #define MCF_PIT_PCNTR_PC0 (0x0001)
\r
71 #define MCF_PIT_PCNTR_PC1 (0x0002)
\r
72 #define MCF_PIT_PCNTR_PC2 (0x0004)
\r
73 #define MCF_PIT_PCNTR_PC3 (0x0008)
\r
74 #define MCF_PIT_PCNTR_PC4 (0x0010)
\r
75 #define MCF_PIT_PCNTR_PC5 (0x0020)
\r
76 #define MCF_PIT_PCNTR_PC6 (0x0040)
\r
77 #define MCF_PIT_PCNTR_PC7 (0x0080)
\r
78 #define MCF_PIT_PCNTR_PC8 (0x0100)
\r
79 #define MCF_PIT_PCNTR_PC9 (0x0200)
\r
80 #define MCF_PIT_PCNTR_PC10 (0x0400)
\r
81 #define MCF_PIT_PCNTR_PC11 (0x0800)
\r
82 #define MCF_PIT_PCNTR_PC12 (0x1000)
\r
83 #define MCF_PIT_PCNTR_PC13 (0x2000)
\r
84 #define MCF_PIT_PCNTR_PC14 (0x4000)
\r
85 #define MCF_PIT_PCNTR_PC15 (0x8000)
\r
87 /********************************************************************/
\r
89 #endif /* __MCF523X_PIT_H__ */
\r