]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/ColdFire_MCF5282_Eclipse/RTOSDemo/MCF5282/MCF5282_UART.h
4de3d01755c3867ea27df3ff0602abf33080fcb6
[freertos] / FreeRTOS / Demo / ColdFire_MCF5282_Eclipse / RTOSDemo / MCF5282 / MCF5282_UART.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_UART_H__\r
9 #define __MCF5282_UART_H__\r
10 \r
11 \r
12 /*********************************************************************\r
13 *\r
14 * Universal Asynchronous Receiver Transmitter (UART)\r
15 *\r
16 *********************************************************************/\r
17 \r
18 /* Register read/write macros */\r
19 #define MCF_UART0_UMR1                       (*(vuint8 *)(&__IPSBAR[0x200]))\r
20 #define MCF_UART0_UMR2                       (*(vuint8 *)(&__IPSBAR[0x200]))\r
21 #define MCF_UART0_USR                        (*(vuint8 *)(&__IPSBAR[0x204]))\r
22 #define MCF_UART0_UCSR                       (*(vuint8 *)(&__IPSBAR[0x204]))\r
23 #define MCF_UART0_UCR                        (*(vuint8 *)(&__IPSBAR[0x208]))\r
24 #define MCF_UART0_URB                        (*(vuint8 *)(&__IPSBAR[0x20C]))\r
25 #define MCF_UART0_UTB                        (*(vuint8 *)(&__IPSBAR[0x20C]))\r
26 #define MCF_UART0_UIPCR                      (*(vuint8 *)(&__IPSBAR[0x210]))\r
27 #define MCF_UART0_UACR                       (*(vuint8 *)(&__IPSBAR[0x210]))\r
28 #define MCF_UART0_UIMR                       (*(vuint8 *)(&__IPSBAR[0x214]))\r
29 #define MCF_UART0_UISR                       (*(vuint8 *)(&__IPSBAR[0x214]))\r
30 #define MCF_UART0_UBG1                       (*(vuint8 *)(&__IPSBAR[0x218]))\r
31 #define MCF_UART0_UBG2                       (*(vuint8 *)(&__IPSBAR[0x21C]))\r
32 #define MCF_UART0_UIP                        (*(vuint8 *)(&__IPSBAR[0x234]))\r
33 #define MCF_UART0_UOP1                       (*(vuint8 *)(&__IPSBAR[0x238]))\r
34 #define MCF_UART0_UOP0                       (*(vuint8 *)(&__IPSBAR[0x23C]))\r
35 \r
36 #define MCF_UART1_UMR1                       (*(vuint8 *)(&__IPSBAR[0x240]))\r
37 #define MCF_UART1_UMR2                       (*(vuint8 *)(&__IPSBAR[0x240]))\r
38 #define MCF_UART1_USR                        (*(vuint8 *)(&__IPSBAR[0x244]))\r
39 #define MCF_UART1_UCSR                       (*(vuint8 *)(&__IPSBAR[0x244]))\r
40 #define MCF_UART1_UCR                        (*(vuint8 *)(&__IPSBAR[0x248]))\r
41 #define MCF_UART1_URB                        (*(vuint8 *)(&__IPSBAR[0x24C]))\r
42 #define MCF_UART1_UTB                        (*(vuint8 *)(&__IPSBAR[0x24C]))\r
43 #define MCF_UART1_UIPCR                      (*(vuint8 *)(&__IPSBAR[0x250]))\r
44 #define MCF_UART1_UACR                       (*(vuint8 *)(&__IPSBAR[0x250]))\r
45 #define MCF_UART1_UIMR                       (*(vuint8 *)(&__IPSBAR[0x254]))\r
46 #define MCF_UART1_UISR                       (*(vuint8 *)(&__IPSBAR[0x254]))\r
47 #define MCF_UART1_UBG1                       (*(vuint8 *)(&__IPSBAR[0x258]))\r
48 #define MCF_UART1_UBG2                       (*(vuint8 *)(&__IPSBAR[0x25C]))\r
49 #define MCF_UART1_UIP                        (*(vuint8 *)(&__IPSBAR[0x274]))\r
50 #define MCF_UART1_UOP1                       (*(vuint8 *)(&__IPSBAR[0x278]))\r
51 #define MCF_UART1_UOP0                       (*(vuint8 *)(&__IPSBAR[0x27C]))\r
52 \r
53 #define MCF_UART2_UMR1                       (*(vuint8 *)(&__IPSBAR[0x280]))\r
54 #define MCF_UART2_UMR2                       (*(vuint8 *)(&__IPSBAR[0x280]))\r
55 #define MCF_UART2_USR                        (*(vuint8 *)(&__IPSBAR[0x284]))\r
56 #define MCF_UART2_UCSR                       (*(vuint8 *)(&__IPSBAR[0x284]))\r
57 #define MCF_UART2_UCR                        (*(vuint8 *)(&__IPSBAR[0x288]))\r
58 #define MCF_UART2_URB                        (*(vuint8 *)(&__IPSBAR[0x28C]))\r
59 #define MCF_UART2_UTB                        (*(vuint8 *)(&__IPSBAR[0x28C]))\r
60 #define MCF_UART2_UIPCR                      (*(vuint8 *)(&__IPSBAR[0x290]))\r
61 #define MCF_UART2_UACR                       (*(vuint8 *)(&__IPSBAR[0x290]))\r
62 #define MCF_UART2_UIMR                       (*(vuint8 *)(&__IPSBAR[0x294]))\r
63 #define MCF_UART2_UISR                       (*(vuint8 *)(&__IPSBAR[0x294]))\r
64 #define MCF_UART2_UBG1                       (*(vuint8 *)(&__IPSBAR[0x298]))\r
65 #define MCF_UART2_UBG2                       (*(vuint8 *)(&__IPSBAR[0x29C]))\r
66 #define MCF_UART2_UIP                        (*(vuint8 *)(&__IPSBAR[0x2B4]))\r
67 #define MCF_UART2_UOP1                       (*(vuint8 *)(&__IPSBAR[0x2B8]))\r
68 #define MCF_UART2_UOP0                       (*(vuint8 *)(&__IPSBAR[0x2BC]))\r
69 \r
70 #define MCF_UART_UMR(x)                      (*(vuint8 *)(&__IPSBAR[0x200 + ((x)*0x40)]))\r
71 #define MCF_UART_USR(x)                      (*(vuint8 *)(&__IPSBAR[0x204 + ((x)*0x40)]))\r
72 #define MCF_UART_UCSR(x)                     (*(vuint8 *)(&__IPSBAR[0x204 + ((x)*0x40)]))\r
73 #define MCF_UART_UCR(x)                      (*(vuint8 *)(&__IPSBAR[0x208 + ((x)*0x40)]))\r
74 #define MCF_UART_URB(x)                      (*(vuint8 *)(&__IPSBAR[0x20C + ((x)*0x40)]))\r
75 #define MCF_UART_UTB(x)                      (*(vuint8 *)(&__IPSBAR[0x20C + ((x)*0x40)]))\r
76 #define MCF_UART_UIPCR(x)                    (*(vuint8 *)(&__IPSBAR[0x210 + ((x)*0x40)]))\r
77 #define MCF_UART_UACR(x)                     (*(vuint8 *)(&__IPSBAR[0x210 + ((x)*0x40)]))\r
78 #define MCF_UART_UIMR(x)                     (*(vuint8 *)(&__IPSBAR[0x214 + ((x)*0x40)]))\r
79 #define MCF_UART_UISR(x)                     (*(vuint8 *)(&__IPSBAR[0x214 + ((x)*0x40)]))\r
80 #define MCF_UART_UBG1(x)                     (*(vuint8 *)(&__IPSBAR[0x218 + ((x)*0x40)]))\r
81 #define MCF_UART_UBG2(x)                     (*(vuint8 *)(&__IPSBAR[0x21C + ((x)*0x40)]))\r
82 #define MCF_UART_UIP(x)                      (*(vuint8 *)(&__IPSBAR[0x234 + ((x)*0x40)]))\r
83 #define MCF_UART_UOP1(x)                     (*(vuint8 *)(&__IPSBAR[0x238 + ((x)*0x40)]))\r
84 #define MCF_UART_UOP0(x)                     (*(vuint8 *)(&__IPSBAR[0x23C + ((x)*0x40)]))\r
85 \r
86 /* Bit definitions and macros for MCF_UART_UMR */\r
87 #define MCF_UART_UMR_BC(x)                   (((x)&0x3)<<0)\r
88 #define MCF_UART_UMR_BC_5                    (0)\r
89 #define MCF_UART_UMR_BC_6                    (0x1)\r
90 #define MCF_UART_UMR_BC_7                    (0x2)\r
91 #define MCF_UART_UMR_BC_8                    (0x3)\r
92 #define MCF_UART_UMR_PT                      (0x4)\r
93 #define MCF_UART_UMR_PM(x)                   (((x)&0x3)<<0x3)\r
94 #define MCF_UART_UMR_ERR                     (0x20)\r
95 #define MCF_UART_UMR_RXIRQ                   (0x40)\r
96 #define MCF_UART_UMR_RXRTS                   (0x80)\r
97 #define MCF_UART_UMR_PM_MULTI_ADDR           (0x1C)\r
98 #define MCF_UART_UMR_PM_MULTI_DATA           (0x18)\r
99 #define MCF_UART_UMR_PM_NONE                 (0x10)\r
100 #define MCF_UART_UMR_PM_FORCE_HI             (0xC)\r
101 #define MCF_UART_UMR_PM_FORCE_LO             (0x8)\r
102 #define MCF_UART_UMR_PM_ODD                  (0x4)\r
103 #define MCF_UART_UMR_PM_EVEN                 (0)\r
104 #define MCF_UART_UMR_SB(x)                   (((x)&0xF)<<0)\r
105 #define MCF_UART_UMR_SB_STOP_BITS_1          (0x7)\r
106 #define MCF_UART_UMR_SB_STOP_BITS_15         (0x8)\r
107 #define MCF_UART_UMR_SB_STOP_BITS_2          (0xF)\r
108 #define MCF_UART_UMR_TXCTS                   (0x10)\r
109 #define MCF_UART_UMR_TXRTS                   (0x20)\r
110 #define MCF_UART_UMR_CM(x)                   (((x)&0x3)<<0x6)\r
111 #define MCF_UART_UMR_CM_NORMAL               (0)\r
112 #define MCF_UART_UMR_CM_ECHO                 (0x40)\r
113 #define MCF_UART_UMR_CM_LOCAL_LOOP           (0x80)\r
114 #define MCF_UART_UMR_CM_REMOTE_LOOP          (0xC0)\r
115 \r
116 /* Bit definitions and macros for MCF_UART_USR */\r
117 #define MCF_UART_USR_RXRDY                   (0x1)\r
118 #define MCF_UART_USR_FFULL                   (0x2)\r
119 #define MCF_UART_USR_TXRDY                   (0x4)\r
120 #define MCF_UART_USR_TXEMP                   (0x8)\r
121 #define MCF_UART_USR_OE                      (0x10)\r
122 #define MCF_UART_USR_PE                      (0x20)\r
123 #define MCF_UART_USR_FE                      (0x40)\r
124 #define MCF_UART_USR_RB                      (0x80)\r
125 \r
126 /* Bit definitions and macros for MCF_UART_UCSR */\r
127 #define MCF_UART_UCSR_TCS(x)                 (((x)&0xF)<<0)\r
128 #define MCF_UART_UCSR_TCS_SYS_CLK            (0xD)\r
129 #define MCF_UART_UCSR_TCS_CTM16              (0xE)\r
130 #define MCF_UART_UCSR_TCS_CTM                (0xF)\r
131 #define MCF_UART_UCSR_RCS(x)                 (((x)&0xF)<<0x4)\r
132 #define MCF_UART_UCSR_RCS_SYS_CLK            (0xD0)\r
133 #define MCF_UART_UCSR_RCS_CTM16              (0xE0)\r
134 #define MCF_UART_UCSR_RCS_CTM                (0xF0)\r
135 \r
136 /* Bit definitions and macros for MCF_UART_UCR */\r
137 #define MCF_UART_UCR_RC(x)                   (((x)&0x3)<<0)\r
138 #define MCF_UART_UCR_RX_ENABLED              (0x1)\r
139 #define MCF_UART_UCR_RX_DISABLED             (0x2)\r
140 #define MCF_UART_UCR_TC(x)                   (((x)&0x3)<<0x2)\r
141 #define MCF_UART_UCR_TX_ENABLED              (0x4)\r
142 #define MCF_UART_UCR_TX_DISABLED             (0x8)\r
143 #define MCF_UART_UCR_MISC(x)                 (((x)&0x7)<<0x4)\r
144 #define MCF_UART_UCR_NONE                    (0)\r
145 #define MCF_UART_UCR_RESET_MR                (0x10)\r
146 #define MCF_UART_UCR_RESET_RX                (0x20)\r
147 #define MCF_UART_UCR_RESET_TX                (0x30)\r
148 #define MCF_UART_UCR_RESET_ERROR             (0x40)\r
149 #define MCF_UART_UCR_RESET_BKCHGINT          (0x50)\r
150 #define MCF_UART_UCR_START_BREAK             (0x60)\r
151 #define MCF_UART_UCR_STOP_BREAK              (0x70)\r
152 \r
153 /* Bit definitions and macros for MCF_UART_URB */\r
154 #define MCF_UART_URB_RB(x)                   (((x)&0xFF)<<0)\r
155 \r
156 /* Bit definitions and macros for MCF_UART_UTB */\r
157 #define MCF_UART_UTB_TB(x)                   (((x)&0xFF)<<0)\r
158 \r
159 /* Bit definitions and macros for MCF_UART_UIPCR */\r
160 #define MCF_UART_UIPCR_CTS                   (0x1)\r
161 #define MCF_UART_UIPCR_COS                   (0x10)\r
162 \r
163 /* Bit definitions and macros for MCF_UART_UACR */\r
164 #define MCF_UART_UACR_IEC                    (0x1)\r
165 \r
166 /* Bit definitions and macros for MCF_UART_UIMR */\r
167 #define MCF_UART_UIMR_TXRDY                  (0x1)\r
168 #define MCF_UART_UIMR_FFULL_RXRDY            (0x2)\r
169 #define MCF_UART_UIMR_DB                     (0x4)\r
170 #define MCF_UART_UIMR_COS                    (0x80)\r
171 \r
172 /* Bit definitions and macros for MCF_UART_UISR */\r
173 #define MCF_UART_UISR_TXRDY                  (0x1)\r
174 #define MCF_UART_UISR_FFULL_RXRDY            (0x2)\r
175 #define MCF_UART_UISR_DB                     (0x4)\r
176 #define MCF_UART_UISR_COS                    (0x80)\r
177 \r
178 /* Bit definitions and macros for MCF_UART_UBG1 */\r
179 #define MCF_UART_UBG1_Divider_MSB(x)         (((x)&0xFF)<<0)\r
180 \r
181 /* Bit definitions and macros for MCF_UART_UBG2 */\r
182 #define MCF_UART_UBG2_Divider_LSB(x)         (((x)&0xFF)<<0)\r
183 \r
184 /* Bit definitions and macros for MCF_UART_UIP */\r
185 #define MCF_UART_UIP_CTS                     (0x1)\r
186 \r
187 /* Bit definitions and macros for MCF_UART_UOP1 */\r
188 #define MCF_UART_UOP1_RTS                    (0x1)\r
189 \r
190 /* Bit definitions and macros for MCF_UART_UOP0 */\r
191 #define MCF_UART_UOP0_RTS                    (0x1)\r
192 \r
193 \r
194 #endif /* __MCF5282_UART_H__ */\r