1 /* Coldfire C Header File
\r
2 * Copyright Freescale Semiconductor Inc
\r
3 * All rights reserved.
\r
5 * 2007/03/19 Revision: 0.9
\r
8 #ifndef __MCF5282_UART_H__
\r
9 #define __MCF5282_UART_H__
\r
12 /*********************************************************************
\r
14 * Universal Asynchronous Receiver Transmitter (UART)
\r
16 *********************************************************************/
\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
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
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
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
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
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
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
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
153 /* Bit definitions and macros for MCF_UART_URB */
\r
154 #define MCF_UART_URB_RB(x) (((x)&0xFF)<<0)
\r
156 /* Bit definitions and macros for MCF_UART_UTB */
\r
157 #define MCF_UART_UTB_TB(x) (((x)&0xFF)<<0)
\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
163 /* Bit definitions and macros for MCF_UART_UACR */
\r
164 #define MCF_UART_UACR_IEC (0x1)
\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
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
178 /* Bit definitions and macros for MCF_UART_UBG1 */
\r
179 #define MCF_UART_UBG1_Divider_MSB(x) (((x)&0xFF)<<0)
\r
181 /* Bit definitions and macros for MCF_UART_UBG2 */
\r
182 #define MCF_UART_UBG2_Divider_LSB(x) (((x)&0xFF)<<0)
\r
184 /* Bit definitions and macros for MCF_UART_UIP */
\r
185 #define MCF_UART_UIP_CTS (0x1)
\r
187 /* Bit definitions and macros for MCF_UART_UOP1 */
\r
188 #define MCF_UART_UOP1_RTS (0x1)
\r
190 /* Bit definitions and macros for MCF_UART_UOP0 */
\r
191 #define MCF_UART_UOP0_RTS (0x1)
\r
194 #endif /* __MCF5282_UART_H__ */
\r