]> git.sur5r.net Git - freertos/blob - Demo/ColdFire_MCF5282_Eclipse/RTOSDemo/MCF5282/MCF5282_FlexCAN.h
Stubs ready for ColdFire V2 demo.
[freertos] / Demo / ColdFire_MCF5282_Eclipse / RTOSDemo / MCF5282 / MCF5282_FlexCAN.h
1 /* Coldfire C Header File\r
2  * Copyright Freescale Semiconductor Inc\r
3  * All rights reserved.\r
4  *\r
5  * 2007/03/19 Revision: 0.9\r
6  */\r
7 \r
8 #ifndef __MCF5282_FlexCAN_H__\r
9 #define __MCF5282_FlexCAN_H__\r
10 \r
11 \r
12 /*********************************************************************\r
13 *\r
14 * Flex Controller Area Network (FlexCAN)\r
15 *\r
16 *********************************************************************/\r
17 \r
18 /* Register read/write macros */\r
19 #define MCF_FlexCAN_CANMCR                   (*(vuint16*)(&__IPSBAR[0x1C0000]))\r
20 #define MCF_FlexCAN_CANCTRL0                 (*(vuint8 *)(&__IPSBAR[0x1C0006]))\r
21 #define MCF_FlexCAN_CANCTRL1                 (*(vuint8 *)(&__IPSBAR[0x1C0007]))\r
22 #define MCF_FlexCAN_PRESDIV                  (*(vuint8 *)(&__IPSBAR[0x1C0008]))\r
23 #define MCF_FlexCAN_CANCTRL2                 (*(vuint8 *)(&__IPSBAR[0x1C0009]))\r
24 #define MCF_FlexCAN_TIMER                    (*(vuint16*)(&__IPSBAR[0x1C000A]))\r
25 #define MCF_FlexCAN_RXGMASK                  (*(vuint32*)(&__IPSBAR[0x1C0010]))\r
26 #define MCF_FlexCAN_RX14MASK                 (*(vuint32*)(&__IPSBAR[0x1C0014]))\r
27 #define MCF_FlexCAN_RX15MASK                 (*(vuint32*)(&__IPSBAR[0x1C0018]))\r
28 #define MCF_FlexCAN_ESTAT                    (*(vuint16*)(&__IPSBAR[0x1C0020]))\r
29 #define MCF_FlexCAN_IMASK                    (*(vuint16*)(&__IPSBAR[0x1C0022]))\r
30 #define MCF_FlexCAN_IFLAG                    (*(vuint16*)(&__IPSBAR[0x1C0024]))\r
31 #define MCF_FlexCAN_RXECTR                   (*(vuint8 *)(&__IPSBAR[0x1C0026]))\r
32 #define MCF_FlexCAN_TXECTR                   (*(vuint8 *)(&__IPSBAR[0x1C0028]))\r
33 \r
34 \r
35 \r
36 /* Bit definitions and macros for MCF_FlexCAN_CANMCR */\r
37 #define MCF_FlexCAN_CANMCR_STOPACK           (0x10)\r
38 #define MCF_FlexCAN_CANMCR_APS               (0x20)\r
39 #define MCF_FlexCAN_CANMCR_SELFWAKE          (0x40)\r
40 #define MCF_FlexCAN_CANMCR_SUPV              (0x80)\r
41 #define MCF_FlexCAN_CANMCR_FRZACK            (0x100)\r
42 #define MCF_FlexCAN_CANMCR_SOFTRST           (0x200)\r
43 #define MCF_FlexCAN_CANMCR_WAKEMSK           (0x400)\r
44 #define MCF_FlexCAN_CANMCR_NOTRDY            (0x800)\r
45 #define MCF_FlexCAN_CANMCR_HALT              (0x1000)\r
46 #define MCF_FlexCAN_CANMCR_FRZ               (0x4000)\r
47 #define MCF_FlexCAN_CANMCR_STOP              (0x8000)\r
48 \r
49 /* Bit definitions and macros for MCF_FlexCAN_CANCTRL0 */\r
50 #define MCF_FlexCAN_CANCTRL0_TXMODE(x)       (((x)&0x3)<<0)\r
51 #define MCF_FlexCAN_CANCTRL0_RXMODE          (0x4)\r
52 #define MCF_FlexCAN_CANCTRL0_ERRMSK          (0x40)\r
53 #define MCF_FlexCAN_CANCTRL0_BOFFMSK         (0x80)\r
54 \r
55 /* Bit definitions and macros for MCF_FlexCAN_CANCTRL1 */\r
56 #define MCF_FlexCAN_CANCTRL1_PROPSEG(x)      (((x)&0x7)<<0)\r
57 #define MCF_FlexCAN_CANCTRL1_LOM             (0x8)\r
58 #define MCF_FlexCAN_CANCTRL1_LBUF            (0x10)\r
59 #define MCF_FlexCAN_CANCTRL1_TSYNC           (0x20)\r
60 #define MCF_FlexCAN_CANCTRL1_SAMP            (0x80)\r
61 \r
62 /* Bit definitions and macros for MCF_FlexCAN_PRESDIV */\r
63 #define MCF_FlexCAN_PRESDIV_PRES_DIV(x)      (((x)&0xFF)<<0)\r
64 \r
65 /* Bit definitions and macros for MCF_FlexCAN_CANCTRL2 */\r
66 #define MCF_FlexCAN_CANCTRL2_PSEG2(x)        (((x)&0x7)<<0)\r
67 #define MCF_FlexCAN_CANCTRL2_PSEG1(x)        (((x)&0x7)<<0x3)\r
68 #define MCF_FlexCAN_CANCTRL2_RJW(x)          (((x)&0x3)<<0x6)\r
69 \r
70 /* Bit definitions and macros for MCF_FlexCAN_TIMER */\r
71 #define MCF_FlexCAN_TIMER_TIMER(x)           (((x)&0xFFFF)<<0)\r
72 \r
73 /* Bit definitions and macros for MCF_FlexCAN_RXGMASK */\r
74 #define MCF_FlexCAN_RXGMASK_MID(x)           (((x)&0x7FFFFFFF)<<0x1)\r
75 \r
76 /* Bit definitions and macros for MCF_FlexCAN_RX14MASK */\r
77 #define MCF_FlexCAN_RX14MASK_MID(x)          (((x)&0x7FFFFFFF)<<0x1)\r
78 \r
79 /* Bit definitions and macros for MCF_FlexCAN_RX15MASK */\r
80 #define MCF_FlexCAN_RX15MASK_MID(x)          (((x)&0x7FFFFFFF)<<0x1)\r
81 \r
82 /* Bit definitions and macros for MCF_FlexCAN_ESTAT */\r
83 #define MCF_FlexCAN_ESTAT_WAKEINT            (0x1)\r
84 #define MCF_FlexCAN_ESTAT_BOFFINT            (0x2)\r
85 #define MCF_FlexCAN_ESTAT_ERRINT             (0x4)\r
86 #define MCF_FlexCAN_ESTAT_FCS(x)             (((x)&0x3)<<0x4)\r
87 #define MCF_FlexCAN_ESTAT_FCS_ACTIVE         (0)\r
88 #define MCF_FlexCAN_ESTAT_FCS_PASSIVE        (0x10)\r
89 #define MCF_FlexCAN_ESTAT_TXRX               (0x40)\r
90 #define MCF_FlexCAN_ESTAT_IDLE               (0x80)\r
91 #define MCF_FlexCAN_ESTAT_RXWARN             (0x100)\r
92 #define MCF_FlexCAN_ESTAT_TXWARN             (0x200)\r
93 #define MCF_FlexCAN_ESTAT_STUFFERR           (0x400)\r
94 #define MCF_FlexCAN_ESTAT_FORMERR            (0x800)\r
95 #define MCF_FlexCAN_ESTAT_CRCERR             (0x1000)\r
96 #define MCF_FlexCAN_ESTAT_ACKERR             (0x2000)\r
97 #define MCF_FlexCAN_ESTAT_BITERR(x)          (((x)&0x3)<<0xE)\r
98 \r
99 /* Bit definitions and macros for MCF_FlexCAN_IMASK */\r
100 #define MCF_FlexCAN_IMASK_BUF0M              (0x1)\r
101 #define MCF_FlexCAN_IMASK_BUF1M              (0x2)\r
102 #define MCF_FlexCAN_IMASK_BUF2M              (0x4)\r
103 #define MCF_FlexCAN_IMASK_BUF3M              (0x8)\r
104 #define MCF_FlexCAN_IMASK_BUF4M              (0x10)\r
105 #define MCF_FlexCAN_IMASK_BUF5M              (0x20)\r
106 #define MCF_FlexCAN_IMASK_BUF6M              (0x40)\r
107 #define MCF_FlexCAN_IMASK_BUF7M              (0x80)\r
108 #define MCF_FlexCAN_IMASK_BUF8M              (0x100)\r
109 #define MCF_FlexCAN_IMASK_BUF9M              (0x200)\r
110 #define MCF_FlexCAN_IMASK_BUF10M             (0x400)\r
111 #define MCF_FlexCAN_IMASK_BUF11M             (0x800)\r
112 #define MCF_FlexCAN_IMASK_BUF12M             (0x1000)\r
113 #define MCF_FlexCAN_IMASK_BUF13M             (0x2000)\r
114 #define MCF_FlexCAN_IMASK_BUF14M             (0x4000)\r
115 #define MCF_FlexCAN_IMASK_BUF15M             (0x8000)\r
116 #define MCF_FlexCAN_IMASK_BUF(x)             (0x1<<(x))\r
117 \r
118 /* Bit definitions and macros for MCF_FlexCAN_IFLAG */\r
119 #define MCF_FlexCAN_IFLAG_BUF0I              (0x1)\r
120 #define MCF_FlexCAN_IFLAG_BUF1I              (0x2)\r
121 #define MCF_FlexCAN_IFLAG_BUF2I              (0x4)\r
122 #define MCF_FlexCAN_IFLAG_BUF3I              (0x8)\r
123 #define MCF_FlexCAN_IFLAG_BUF4I              (0x10)\r
124 #define MCF_FlexCAN_IFLAG_BUF5I              (0x20)\r
125 #define MCF_FlexCAN_IFLAG_BUF6I              (0x40)\r
126 #define MCF_FlexCAN_IFLAG_BUF7I              (0x80)\r
127 #define MCF_FlexCAN_IFLAG_BUF8I              (0x100)\r
128 #define MCF_FlexCAN_IFLAG_BUF9I              (0x200)\r
129 #define MCF_FlexCAN_IFLAG_BUF10I             (0x400)\r
130 #define MCF_FlexCAN_IFLAG_BUF11I             (0x800)\r
131 #define MCF_FlexCAN_IFLAG_BUF12I             (0x1000)\r
132 #define MCF_FlexCAN_IFLAG_BUF13I             (0x2000)\r
133 #define MCF_FlexCAN_IFLAG_BUF14I             (0x4000)\r
134 #define MCF_FlexCAN_IFLAG_BUF15I             (0x8000)\r
135 #define MCF_FlexCAN_IFLAG_BUF(x)             (0x1<<(x))\r
136 \r
137 /* Bit definitions and macros for MCF_FlexCAN_RXECTR */\r
138 #define MCF_FlexCAN_RXECTR_RXECTR(x)         (((x)&0xFF)<<0)\r
139 \r
140 /* Bit definitions and macros for MCF_FlexCAN_TXECTR */\r
141 #define MCF_FlexCAN_TXECTR_TXECTR(x)         (((x)&0xFF)<<0)\r
142 \r
143 \r
144 #endif /* __MCF5282_FlexCAN_H__ */\r