1 /* Coldfire C Header File
2 * Copyright Freescale Semiconductor Inc
5 * 2008/05/23 Revision: 0.95
7 * (c) Copyright UNIS, a.s. 1997-2008
12 * http : www.processorexpert.com
13 * mail : info@processorexpert.com
16 #ifndef __MCF52221_UART_H__
17 #define __MCF52221_UART_H__
20 /*********************************************************************
22 * Universal Asynchronous Receiver Transmitter (UART)
24 *********************************************************************/
26 /* Register read/write macros */
27 #define MCF_UART0_UMR1 (*(vuint8 *)(0x40000200))
28 #define MCF_UART0_UMR2 (*(vuint8 *)(0x40000200))
29 #define MCF_UART0_USR (*(vuint8 *)(0x40000204))
30 #define MCF_UART0_UCSR (*(vuint8 *)(0x40000204))
31 #define MCF_UART0_UCR (*(vuint8 *)(0x40000208))
32 #define MCF_UART0_URB (*(vuint8 *)(0x4000020C))
33 #define MCF_UART0_UTB (*(vuint8 *)(0x4000020C))
34 #define MCF_UART0_UIPCR (*(vuint8 *)(0x40000210))
35 #define MCF_UART0_UACR (*(vuint8 *)(0x40000210))
36 #define MCF_UART0_UIMR (*(vuint8 *)(0x40000214))
37 #define MCF_UART0_UISR (*(vuint8 *)(0x40000214))
38 #define MCF_UART0_UBG1 (*(vuint8 *)(0x40000218))
39 #define MCF_UART0_UBG2 (*(vuint8 *)(0x4000021C))
40 #define MCF_UART0_UIP (*(vuint8 *)(0x40000234))
41 #define MCF_UART0_UOP1 (*(vuint8 *)(0x40000238))
42 #define MCF_UART0_UOP0 (*(vuint8 *)(0x4000023C))
44 #define MCF_UART1_UMR1 (*(vuint8 *)(0x40000240))
45 #define MCF_UART1_UMR2 (*(vuint8 *)(0x40000240))
46 #define MCF_UART1_USR (*(vuint8 *)(0x40000244))
47 #define MCF_UART1_UCSR (*(vuint8 *)(0x40000244))
48 #define MCF_UART1_UCR (*(vuint8 *)(0x40000248))
49 #define MCF_UART1_URB (*(vuint8 *)(0x4000024C))
50 #define MCF_UART1_UTB (*(vuint8 *)(0x4000024C))
51 #define MCF_UART1_UIPCR (*(vuint8 *)(0x40000250))
52 #define MCF_UART1_UACR (*(vuint8 *)(0x40000250))
53 #define MCF_UART1_UIMR (*(vuint8 *)(0x40000254))
54 #define MCF_UART1_UISR (*(vuint8 *)(0x40000254))
55 #define MCF_UART1_UBG1 (*(vuint8 *)(0x40000258))
56 #define MCF_UART1_UBG2 (*(vuint8 *)(0x4000025C))
57 #define MCF_UART1_UIP (*(vuint8 *)(0x40000274))
58 #define MCF_UART1_UOP1 (*(vuint8 *)(0x40000278))
59 #define MCF_UART1_UOP0 (*(vuint8 *)(0x4000027C))
61 #define MCF_UART2_UMR1 (*(vuint8 *)(0x40000280))
62 #define MCF_UART2_UMR2 (*(vuint8 *)(0x40000280))
63 #define MCF_UART2_USR (*(vuint8 *)(0x40000284))
64 #define MCF_UART2_UCSR (*(vuint8 *)(0x40000284))
65 #define MCF_UART2_UCR (*(vuint8 *)(0x40000288))
66 #define MCF_UART2_URB (*(vuint8 *)(0x4000028C))
67 #define MCF_UART2_UTB (*(vuint8 *)(0x4000028C))
68 #define MCF_UART2_UIPCR (*(vuint8 *)(0x40000290))
69 #define MCF_UART2_UACR (*(vuint8 *)(0x40000290))
70 #define MCF_UART2_UIMR (*(vuint8 *)(0x40000294))
71 #define MCF_UART2_UISR (*(vuint8 *)(0x40000294))
72 #define MCF_UART2_UBG1 (*(vuint8 *)(0x40000298))
73 #define MCF_UART2_UBG2 (*(vuint8 *)(0x4000029C))
74 #define MCF_UART2_UIP (*(vuint8 *)(0x400002B4))
75 #define MCF_UART2_UOP1 (*(vuint8 *)(0x400002B8))
76 #define MCF_UART2_UOP0 (*(vuint8 *)(0x400002BC))
78 #define MCF_UART_UMR(x) (*(vuint8 *)(0x40000200 + ((x)*0x40)))
79 #define MCF_UART_USR(x) (*(vuint8 *)(0x40000204 + ((x)*0x40)))
80 #define MCF_UART_UCSR(x) (*(vuint8 *)(0x40000204 + ((x)*0x40)))
81 #define MCF_UART_UCR(x) (*(vuint8 *)(0x40000208 + ((x)*0x40)))
82 #define MCF_UART_URB(x) (*(vuint8 *)(0x4000020C + ((x)*0x40)))
83 #define MCF_UART_UTB(x) (*(vuint8 *)(0x4000020C + ((x)*0x40)))
84 #define MCF_UART_UIPCR(x) (*(vuint8 *)(0x40000210 + ((x)*0x40)))
85 #define MCF_UART_UACR(x) (*(vuint8 *)(0x40000210 + ((x)*0x40)))
86 #define MCF_UART_UIMR(x) (*(vuint8 *)(0x40000214 + ((x)*0x40)))
87 #define MCF_UART_UISR(x) (*(vuint8 *)(0x40000214 + ((x)*0x40)))
88 #define MCF_UART_UBG1(x) (*(vuint8 *)(0x40000218 + ((x)*0x40)))
89 #define MCF_UART_UBG2(x) (*(vuint8 *)(0x4000021C + ((x)*0x40)))
90 #define MCF_UART_UIP(x) (*(vuint8 *)(0x40000234 + ((x)*0x40)))
91 #define MCF_UART_UOP1(x) (*(vuint8 *)(0x40000238 + ((x)*0x40)))
92 #define MCF_UART_UOP0(x) (*(vuint8 *)(0x4000023C + ((x)*0x40)))
94 /* Bit definitions and macros for MCF_UART_UMR */
95 #define MCF_UART_UMR_BC(x) (((x)&0x3)<<0)
96 #define MCF_UART_UMR_BC_5 (0)
97 #define MCF_UART_UMR_BC_6 (0x1)
98 #define MCF_UART_UMR_BC_7 (0x2)
99 #define MCF_UART_UMR_BC_8 (0x3)
100 #define MCF_UART_UMR_PT (0x4)
101 #define MCF_UART_UMR_PM(x) (((x)&0x3)<<0x3)
102 #define MCF_UART_UMR_ERR (0x20)
103 #define MCF_UART_UMR_RXIRQ (0x40)
104 #define MCF_UART_UMR_RXRTS (0x80)
105 #define MCF_UART_UMR_PM_MULTI_ADDR (0x1C)
106 #define MCF_UART_UMR_PM_MULTI_DATA (0x18)
107 #define MCF_UART_UMR_PM_NONE (0x10)
108 #define MCF_UART_UMR_PM_FORCE_HI (0xC)
109 #define MCF_UART_UMR_PM_FORCE_LO (0x8)
110 #define MCF_UART_UMR_PM_ODD (0x4)
111 #define MCF_UART_UMR_PM_EVEN (0)
112 #define MCF_UART_UMR_SB(x) (((x)&0xF)<<0)
113 #define MCF_UART_UMR_SB_STOP_BITS_1 (0x7)
114 #define MCF_UART_UMR_SB_STOP_BITS_15 (0x8)
115 #define MCF_UART_UMR_SB_STOP_BITS_2 (0xF)
116 #define MCF_UART_UMR_TXCTS (0x10)
117 #define MCF_UART_UMR_TXRTS (0x20)
118 #define MCF_UART_UMR_CM(x) (((x)&0x3)<<0x6)
119 #define MCF_UART_UMR_CM_NORMAL (0)
120 #define MCF_UART_UMR_CM_ECHO (0x40)
121 #define MCF_UART_UMR_CM_LOCAL_LOOP (0x80)
122 #define MCF_UART_UMR_CM_REMOTE_LOOP (0xC0)
124 /* Bit definitions and macros for MCF_UART_USR */
125 #define MCF_UART_USR_RXRDY (0x1)
126 #define MCF_UART_USR_FFULL (0x2)
127 #define MCF_UART_USR_TXRDY (0x4)
128 #define MCF_UART_USR_TXEMP (0x8)
129 #define MCF_UART_USR_OE (0x10)
130 #define MCF_UART_USR_PE (0x20)
131 #define MCF_UART_USR_FE (0x40)
132 #define MCF_UART_USR_RB (0x80)
134 /* Bit definitions and macros for MCF_UART_UCSR */
135 #define MCF_UART_UCSR_TCS(x) (((x)&0xF)<<0)
136 #define MCF_UART_UCSR_TCS_SYS_CLK (0xD)
137 #define MCF_UART_UCSR_TCS_CTM16 (0xE)
138 #define MCF_UART_UCSR_TCS_CTM (0xF)
139 #define MCF_UART_UCSR_RCS(x) (((x)&0xF)<<0x4)
140 #define MCF_UART_UCSR_RCS_SYS_CLK (0xD0)
141 #define MCF_UART_UCSR_RCS_CTM16 (0xE0)
142 #define MCF_UART_UCSR_RCS_CTM (0xF0)
144 /* Bit definitions and macros for MCF_UART_UCR */
145 #define MCF_UART_UCR_RC(x) (((x)&0x3)<<0)
146 #define MCF_UART_UCR_RX_ENABLED (0x1)
147 #define MCF_UART_UCR_RX_DISABLED (0x2)
148 #define MCF_UART_UCR_TC(x) (((x)&0x3)<<0x2)
149 #define MCF_UART_UCR_TX_ENABLED (0x4)
150 #define MCF_UART_UCR_TX_DISABLED (0x8)
151 #define MCF_UART_UCR_MISC(x) (((x)&0x7)<<0x4)
152 #define MCF_UART_UCR_NONE (0)
153 #define MCF_UART_UCR_RESET_MR (0x10)
154 #define MCF_UART_UCR_RESET_RX (0x20)
155 #define MCF_UART_UCR_RESET_TX (0x30)
156 #define MCF_UART_UCR_RESET_ERROR (0x40)
157 #define MCF_UART_UCR_RESET_BKCHGINT (0x50)
158 #define MCF_UART_UCR_START_BREAK (0x60)
159 #define MCF_UART_UCR_STOP_BREAK (0x70)
161 /* Bit definitions and macros for MCF_UART_URB */
162 #define MCF_UART_URB_RB(x) (((x)&0xFF)<<0)
164 /* Bit definitions and macros for MCF_UART_UTB */
165 #define MCF_UART_UTB_TB(x) (((x)&0xFF)<<0)
167 /* Bit definitions and macros for MCF_UART_UIPCR */
168 #define MCF_UART_UIPCR_CTS (0x1)
169 #define MCF_UART_UIPCR_COS (0x10)
171 /* Bit definitions and macros for MCF_UART_UACR */
172 #define MCF_UART_UACR_IEC (0x1)
174 /* Bit definitions and macros for MCF_UART_UIMR */
175 #define MCF_UART_UIMR_TXRDY (0x1)
176 #define MCF_UART_UIMR_FFULL_RXRDY (0x2)
177 #define MCF_UART_UIMR_DB (0x4)
178 #define MCF_UART_UIMR_COS (0x80)
180 /* Bit definitions and macros for MCF_UART_UISR */
181 #define MCF_UART_UISR_TXRDY (0x1)
182 #define MCF_UART_UISR_FFULL_RXRDY (0x2)
183 #define MCF_UART_UISR_DB (0x4)
184 #define MCF_UART_UISR_COS (0x80)
186 /* Bit definitions and macros for MCF_UART_UBG1 */
187 #define MCF_UART_UBG1_Divider_MSB(x) (((x)&0xFF)<<0)
189 /* Bit definitions and macros for MCF_UART_UBG2 */
190 #define MCF_UART_UBG2_Divider_LSB(x) (((x)&0xFF)<<0)
192 /* Bit definitions and macros for MCF_UART_UIP */
193 #define MCF_UART_UIP_CTS (0x1)
195 /* Bit definitions and macros for MCF_UART_UOP1 */
196 #define MCF_UART_UOP1_RTS (0x1)
198 /* Bit definitions and macros for MCF_UART_UOP0 */
199 #define MCF_UART_UOP0_RTS (0x1)
202 #endif /* __MCF52221_UART_H__ */