]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/ColdFire_MCF52233_Eclipse/RTOSDemo/MCF5223x/MCF52235_FlexCAN.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / ColdFire_MCF52233_Eclipse / RTOSDemo / MCF5223x / MCF52235_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.91\r
6  */\r
7 \r
8 #ifndef __MCF52235_FlexCAN_H__\r
9 #define __MCF52235_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                   (*(vuint32*)(&__IPSBAR[0x1C0000]))\r
20 #define MCF_FlexCAN_CANCTRL                  (*(vuint32*)(&__IPSBAR[0x1C0004]))\r
21 #define MCF_FlexCAN_TIMER                    (*(vuint32*)(&__IPSBAR[0x1C0008]))\r
22 #define MCF_FlexCAN_RXGMASK                  (*(vuint32*)(&__IPSBAR[0x1C0010]))\r
23 #define MCF_FlexCAN_RX14MASK                 (*(vuint32*)(&__IPSBAR[0x1C0014]))\r
24 #define MCF_FlexCAN_RX15MASK                 (*(vuint32*)(&__IPSBAR[0x1C0018]))\r
25 #define MCF_FlexCAN_ERRCNT                   (*(vuint32*)(&__IPSBAR[0x1C001C]))\r
26 #define MCF_FlexCAN_ERRSTAT                  (*(vuint32*)(&__IPSBAR[0x1C0020]))\r
27 #define MCF_FlexCAN_IMASK                    (*(vuint32*)(&__IPSBAR[0x1C0028]))\r
28 #define MCF_FlexCAN_IFLAG                    (*(vuint32*)(&__IPSBAR[0x1C0030]))\r
29 \r
30 \r
31 \r
32 /* Bit definitions and macros for MCF_FlexCAN_CANMCR */\r
33 #define MCF_FlexCAN_CANMCR_MAXMB(x)          (((x)&0xF)<<0)\r
34 #define MCF_FlexCAN_CANMCR_LPMACK            (0x100000)\r
35 #define MCF_FlexCAN_CANMCR_SUPV              (0x800000)\r
36 #define MCF_FlexCAN_CANMCR_FRZACK            (0x1000000)\r
37 #define MCF_FlexCAN_CANMCR_SOFTRST           (0x2000000)\r
38 #define MCF_FlexCAN_CANMCR_NOTRDY            (0x8000000)\r
39 #define MCF_FlexCAN_CANMCR_HALT              (0x10000000)\r
40 #define MCF_FlexCAN_CANMCR_FRZ               (0x40000000)\r
41 #define MCF_FlexCAN_CANMCR_MDIS              (0x80000000)\r
42 \r
43 /* Bit definitions and macros for MCF_FlexCAN_CANCTRL */\r
44 #define MCF_FlexCAN_CANCTRL_PROPSEG(x)       (((x)&0x7)<<0)\r
45 #define MCF_FlexCAN_CANCTRL_LOM              (0x8)\r
46 #define MCF_FlexCAN_CANCTRL_LBUF             (0x10)\r
47 #define MCF_FlexCAN_CANCTRL_TSYNC            (0x20)\r
48 #define MCF_FlexCAN_CANCTRL_BOFFREC          (0x40)\r
49 #define MCF_FlexCAN_CANCTRL_SAMP             (0x80)\r
50 #define MCF_FlexCAN_CANCTRL_LPB              (0x1000)\r
51 #define MCF_FlexCAN_CANCTRL_CLK_SRC          (0x2000)\r
52 #define MCF_FlexCAN_CANCTRL_ERRMSK           (0x4000)\r
53 #define MCF_FlexCAN_CANCTRL_BOFFMSK          (0x8000)\r
54 #define MCF_FlexCAN_CANCTRL_PSEG2(x)         (((x)&0x7)<<0x10)\r
55 #define MCF_FlexCAN_CANCTRL_PSEG1(x)         (((x)&0x7)<<0x13)\r
56 #define MCF_FlexCAN_CANCTRL_RJW(x)           (((x)&0x3)<<0x16)\r
57 #define MCF_FlexCAN_CANCTRL_PRESDIV(x)       (((x)&0xFF)<<0x18)\r
58 \r
59 /* Bit definitions and macros for MCF_FlexCAN_TIMER */\r
60 #define MCF_FlexCAN_TIMER_TIMER(x)           (((x)&0xFFFF)<<0)\r
61 \r
62 /* Bit definitions and macros for MCF_FlexCAN_RXGMASK */\r
63 #define MCF_FlexCAN_RXGMASK_MI(x)            (((x)&0x1FFFFFFF)<<0)\r
64 \r
65 /* Bit definitions and macros for MCF_FlexCAN_RX14MASK */\r
66 #define MCF_FlexCAN_RX14MASK_MI(x)           (((x)&0x1FFFFFFF)<<0)\r
67 \r
68 /* Bit definitions and macros for MCF_FlexCAN_RX15MASK */\r
69 #define MCF_FlexCAN_RX15MASK_MI(x)           (((x)&0x1FFFFFFF)<<0)\r
70 \r
71 /* Bit definitions and macros for MCF_FlexCAN_ERRCNT */\r
72 #define MCF_FlexCAN_ERRCNT_TXECTR(x)         (((x)&0xFF)<<0)\r
73 #define MCF_FlexCAN_ERRCNT_RXECTR(x)         (((x)&0xFF)<<0x8)\r
74 \r
75 /* Bit definitions and macros for MCF_FlexCAN_ERRSTAT */\r
76 #define MCF_FlexCAN_ERRSTAT_ERRINT           (0x2)\r
77 #define MCF_FlexCAN_ERRSTAT_BOFFINT          (0x4)\r
78 #define MCF_FlexCAN_ERRSTAT_FLTCONF(x)       (((x)&0x3)<<0x4)\r
79 #define MCF_FlexCAN_ERRSTAT_FLTCONF_ACTIVE   (0)\r
80 #define MCF_FlexCAN_ERRSTAT_FLTCONF_PASSIVE  (0x10)\r
81 #define MCF_FlexCAN_ERRSTAT_FLTCONF_BUSOFF   (0x20)\r
82 #define MCF_FlexCAN_ERRSTAT_TXRX             (0x40)\r
83 #define MCF_FlexCAN_ERRSTAT_IDLE             (0x80)\r
84 #define MCF_FlexCAN_ERRSTAT_RXWRN            (0x100)\r
85 #define MCF_FlexCAN_ERRSTAT_TXWRN            (0x200)\r
86 #define MCF_FlexCAN_ERRSTAT_STFERR           (0x400)\r
87 #define MCF_FlexCAN_ERRSTAT_FRMERR           (0x800)\r
88 #define MCF_FlexCAN_ERRSTAT_CRCERR           (0x1000)\r
89 #define MCF_FlexCAN_ERRSTAT_ACKERR           (0x2000)\r
90 #define MCF_FlexCAN_ERRSTAT_BIT0ERR          (0x4000)\r
91 #define MCF_FlexCAN_ERRSTAT_BIT1ERR          (0x8000)\r
92 \r
93 /* Bit definitions and macros for MCF_FlexCAN_IMASK */\r
94 #define MCF_FlexCAN_IMASK_BUF0M              (0x1)\r
95 #define MCF_FlexCAN_IMASK_BUF1M              (0x2)\r
96 #define MCF_FlexCAN_IMASK_BUF2M              (0x4)\r
97 #define MCF_FlexCAN_IMASK_BUF3M              (0x8)\r
98 #define MCF_FlexCAN_IMASK_BUF4M              (0x10)\r
99 #define MCF_FlexCAN_IMASK_BUF5M              (0x20)\r
100 #define MCF_FlexCAN_IMASK_BUF6M              (0x40)\r
101 #define MCF_FlexCAN_IMASK_BUF7M              (0x80)\r
102 #define MCF_FlexCAN_IMASK_BUF8M              (0x100)\r
103 #define MCF_FlexCAN_IMASK_BUF9M              (0x200)\r
104 #define MCF_FlexCAN_IMASK_BUF10M             (0x400)\r
105 #define MCF_FlexCAN_IMASK_BUF11M             (0x800)\r
106 #define MCF_FlexCAN_IMASK_BUF12M             (0x1000)\r
107 #define MCF_FlexCAN_IMASK_BUF13M             (0x2000)\r
108 #define MCF_FlexCAN_IMASK_BUF14M             (0x4000)\r
109 #define MCF_FlexCAN_IMASK_BUF15M             (0x8000)\r
110 #define MCF_FlexCAN_IMASK_BUF(x)             (0x1<<(x))\r
111 \r
112 /* Bit definitions and macros for MCF_FlexCAN_IFLAG */\r
113 #define MCF_FlexCAN_IFLAG_BUF0I              (0x1)\r
114 #define MCF_FlexCAN_IFLAG_BUF1I              (0x2)\r
115 #define MCF_FlexCAN_IFLAG_BUF2I              (0x4)\r
116 #define MCF_FlexCAN_IFLAG_BUF3I              (0x8)\r
117 #define MCF_FlexCAN_IFLAG_BUF4I              (0x10)\r
118 #define MCF_FlexCAN_IFLAG_BUF5I              (0x20)\r
119 #define MCF_FlexCAN_IFLAG_BUF6I              (0x40)\r
120 #define MCF_FlexCAN_IFLAG_BUF7I              (0x80)\r
121 #define MCF_FlexCAN_IFLAG_BUF8I              (0x100)\r
122 #define MCF_FlexCAN_IFLAG_BUF9I              (0x200)\r
123 #define MCF_FlexCAN_IFLAG_BUF10I             (0x400)\r
124 #define MCF_FlexCAN_IFLAG_BUF11I             (0x800)\r
125 #define MCF_FlexCAN_IFLAG_BUF12I             (0x1000)\r
126 #define MCF_FlexCAN_IFLAG_BUF13I             (0x2000)\r
127 #define MCF_FlexCAN_IFLAG_BUF14I             (0x4000)\r
128 #define MCF_FlexCAN_IFLAG_BUF15I             (0x8000)\r
129 #define MCF_FlexCAN_IFLAG_BUF(x)             (0x1<<(x))\r
130 \r
131 \r
132 #endif /* __MCF52235_FlexCAN_H__ */\r