imxuartreg.h revision 1.4 1 1.4 bsh /* $NetBSD: imxuartreg.h,v 1.4 2010/11/13 06:12:17 bsh Exp $ */
2 1.2 matt /*
3 1.2 matt * register definitions for Freescale i.MX31 and i.MX31L UARTs
4 1.2 matt *
5 1.2 matt * UART specification obtained from:
6 1.2 matt * MCIMX31 and MCIMX31L Application Processors
7 1.2 matt * Reference Manual
8 1.2 matt * MCIMC31RM
9 1.2 matt * Rev. 2.3
10 1.2 matt * 1/2007
11 1.4 bsh *
12 1.4 bsh * MCIMC51 Multimedia Application Processor
13 1.4 bsh * Reference Manual
14 1.4 bsh * MCMIMX51RM
15 1.4 bsh * Rev.1
16 1.4 bsh * 2/2010
17 1.4 bsh */
18 1.4 bsh #ifndef _IMXUARTREG_H
19 1.4 bsh #define _IMXUARTREG_H
20 1.4 bsh
21 1.4 bsh #ifdef __ASSEMBLER__
22 1.4 bsh #define __BIT(n) (1<<(n))
23 1.4 bsh #define __BITS(hi,lo) ((~((~0)<<((hi)+1)))&((~0)<<(lo)))
24 1.4 bsh #else
25 1.4 bsh #include <sys/cdefs.h>
26 1.4 bsh #endif
27 1.2 matt
28 1.2 matt /*
29 1.2 matt * Registers are 32 bits wide; the 16 MSBs are unused --
30 1.2 matt * they read as zeros and are ignored on write.
31 1.2 matt */
32 1.2 matt
33 1.2 matt
34 1.2 matt /*
35 1.2 matt * register offsets
36 1.2 matt */
37 1.4 bsh #define IMX_URXD 0x00 /* r */ /* UART Receiver Reg */
38 1.4 bsh #define IMX_UTXD 0x40 /* w */ /* UART Transmitter Reg */
39 1.4 bsh #define IMX_UCR1 0x80 /* rw */ /* UART Control Reg 1 */
40 1.4 bsh #define IMX_UCR2 0x84 /* rw */ /* UART Control Reg 2 */
41 1.4 bsh #define IMX_UCR3 0x88 /* rw */ /* UART Control Reg 3 */
42 1.4 bsh #define IMX_UCR4 0x8c /* rw */ /* UART Control Reg 4 */
43 1.4 bsh #define IMX_UCRn(n) (IMX_UCR1 + ((n) << 2))
44 1.4 bsh #define IMX_UFCR 0x90 /* rw */ /* UART FIFO Control Reg */
45 1.4 bsh #define IMX_USR1 0x94 /* rw */ /* UART Status Reg 1 */
46 1.4 bsh #define IMX_USR2 0x98 /* rw */ /* UART Status Reg 2 */
47 1.4 bsh #define IMX_USRn(n) (IMX_USR1 + ((n) << 2))
48 1.4 bsh #define IMX_UESC 0x9c /* rw */ /* UART Escape Character Reg */
49 1.4 bsh #define IMX_UTIM 0xa0 /* rw */ /* UART Escape Timer Reg */
50 1.4 bsh #define IMX_UBIR 0xa4 /* rw */ /* UART BRM Incremental Reg */
51 1.4 bsh #define IMX_UBMR 0xa8 /* rw */ /* UART BRM Modulator Reg */
52 1.4 bsh #define IMX_UBRC 0xac /* r */ /* UART Baud Rate Count Reg */
53 1.4 bsh #define IMX_ONEMS 0xb0 /* rw */ /* UART One Millisecond Reg */
54 1.4 bsh #define IMX_UTS 0xb4 /* rw */ /* UART Test Reg */
55 1.4 bsh
56 1.4 bsh #define IMX_UART_SIZE 0xb8
57 1.2 matt
58 1.2 matt /*
59 1.2 matt * bit attributes:
60 1.2 matt * ro read-only
61 1.2 matt * wo write-only
62 1.2 matt * rw read/write
63 1.2 matt * w1c write 1 to clear
64 1.2 matt *
65 1.2 matt * attrs defined but apparently unused for the UART:
66 1.2 matt * rwm rw bit that can be modified by HW (other than reset)
67 1.2 matt * scb self-clear: write 1 has some effect, always reads as 0
68 1.2 matt */
69 1.2 matt
70 1.2 matt /*
71 1.2 matt * IMX_URXD bits
72 1.2 matt */
73 1.4 bsh #define IMX_URXD_RX_DATA __BITS(7,0) /* ro */
74 1.4 bsh #define IMX_URXD_RESV __BITS(9,8) /* ro */
75 1.4 bsh #define IMX_URXD_PRERR __BIT(10) /* ro */
76 1.4 bsh #define IMX_URXD_BRK __BIT(11) /* ro */
77 1.4 bsh #define IMX_URXD_FRMERR __BIT(12) /* ro */
78 1.4 bsh #define IMX_URXD_OVRRUN __BIT(13) /* ro */
79 1.4 bsh #define IMX_URXD_ERR __BIT(14) /* ro */
80 1.4 bsh #define IMX_URXD_CHARDY __BIT(15) /* ro */
81 1.2 matt
82 1.2 matt /*
83 1.2 matt * IMX_UTXD bits
84 1.2 matt */
85 1.4 bsh #define IMX_UTXD_TX_DATA __BITS(7,0) /* wo */
86 1.4 bsh #define IMX_UTXD_RESV __BITS(15,8)
87 1.2 matt
88 1.2 matt /*
89 1.2 matt * IMX_UCR1 bits
90 1.2 matt */
91 1.4 bsh #define IMX_UCR1_UARTEN __BIT(0) /* rw */
92 1.4 bsh #define IMX_UCR1_DOZE __BIT(1) /* rw */
93 1.4 bsh #define IMX_UCR1_ATDMAEN __BIT(2) /* rw */
94 1.4 bsh #define IMX_UCR1_TXDMAEN __BIT(3) /* rw */
95 1.4 bsh #define IMX_UCR1_SNDBRK __BIT(4) /* rw */
96 1.4 bsh #define IMX_UCR1_RTSDEN __BIT(5) /* rw */
97 1.4 bsh #define IMX_UCR1_TXMPTYEN __BIT(6) /* rw */
98 1.4 bsh #define IMX_UCR1_IREN __BIT(7) /* rw */
99 1.4 bsh #define IMX_UCR1_RXDMAEN __BIT(8) /* rw */
100 1.4 bsh #define IMX_UCR1_RRDYEN __BIT(9) /* rw */
101 1.4 bsh #define IMX_UCR1_ICD __BITS(11,10) /* rw */
102 1.4 bsh #define IMX_UCR1_IDEN __BIT(12) /* rw */
103 1.4 bsh #define IMX_UCR1_TRDYEN __BIT(13) /* rw */
104 1.4 bsh #define IMX_UCR1_ADBR __BIT(14) /* rw */
105 1.4 bsh #define IMX_UCR1_ADEN __BIT(15) /* rw */
106 1.2 matt
107 1.2 matt /*
108 1.2 matt * IMX_UCR2 bits
109 1.2 matt */
110 1.4 bsh #define IMX_UCR2_SRST __BIT(0) /* rw */
111 1.4 bsh #define IMX_UCR2_RXEN __BIT(1) /* rw */
112 1.4 bsh #define IMX_UCR2_TXEN __BIT(2) /* rw */
113 1.4 bsh #define IMX_UCR2_ATEN __BIT(3) /* rw */
114 1.4 bsh #define IMX_UCR2_RTSEN __BIT(4) /* rw */
115 1.4 bsh #define IMX_UCR2_WS __BIT(5) /* rw */
116 1.4 bsh #define IMX_UCR2_STPB __BIT(6) /* rw */
117 1.4 bsh #define IMX_UCR2_PROE __BIT(7) /* rw */
118 1.4 bsh #define IMX_UCR2_PREN __BIT(8) /* rw */
119 1.4 bsh #define IMX_UCR2_RTEC __BITS(10,9) /* rw */
120 1.4 bsh #define IMX_UCR2_ESCEN __BIT(11) /* rw */
121 1.4 bsh #define IMX_UCR2_CTS __BIT(12) /* rw */
122 1.4 bsh #define IMX_UCR2_CTSC __BIT(13) /* rw */
123 1.4 bsh #define IMX_UCR2_IRTS __BIT(14) /* rw */
124 1.4 bsh #define IMX_UCR2_ESCI __BIT(15) /* rw */
125 1.2 matt
126 1.2 matt /*
127 1.2 matt * IMX_UCR3 bits
128 1.2 matt */
129 1.4 bsh #define IMX_UCR3_ACIEN __BIT(0) /* rw */
130 1.4 bsh #define IMX_UCR3_INVT __BIT(1) /* rw */
131 1.4 bsh #define IMX_UCR3_RXDMUXSEL __BIT(2) /* rw */
132 1.4 bsh #define IMX_UCR3_DTRDEN __BIT(3) /* rw */
133 1.4 bsh #define IMX_UCR3_AWAKEN __BIT(4) /* rw */
134 1.4 bsh #define IMX_UCR3_AIRINTEN __BIT(5) /* rw */
135 1.4 bsh #define IMX_UCR3_RXDSEN __BIT(6) /* rw */
136 1.4 bsh #define IMX_UCR3_ADNIMP __BIT(7) /* rw */
137 1.4 bsh #define IMX_UCR3_RI __BIT(8) /* rw */
138 1.4 bsh #define IMX_UCR3_DCD __BIT(9) /* rw */
139 1.4 bsh #define IMX_UCR3_DSR __BIT(10) /* rw */
140 1.4 bsh #define IMX_UCR3_FRAERREN __BIT(11) /* rw */
141 1.4 bsh #define IMX_UCR3_PARERREN __BIT(12) /* rw */
142 1.4 bsh #define IMX_UCR3_DTREN __BIT(13) /* rw */
143 1.4 bsh #define IMX_UCR3_DPEC __BITS(15,14) /* rw */
144 1.2 matt
145 1.2 matt /*
146 1.2 matt * IMX_UCR4 bits
147 1.2 matt */
148 1.4 bsh #define IMX_UCR4_DREN __BIT(0) /* rw */
149 1.4 bsh #define IMX_UCR4_OREN __BIT(1) /* rw */
150 1.4 bsh #define IMX_UCR4_BKEN __BIT(2) /* rw */
151 1.4 bsh #define IMX_UCR4_TCEN __BIT(3) /* rw */
152 1.4 bsh #define IMX_UCR4_LPBYP __BIT(4) /* rw */
153 1.4 bsh #define IMX_UCR4_IRSC __BIT(5) /* rw */
154 1.4 bsh #define IMX_UCR4_IDDMAEN __BIT(6) /* rw */
155 1.4 bsh #define IMX_UCR4_WKEN __BIT(7) /* rw */
156 1.4 bsh #define IMX_UCR4_ENIRI __BIT(8) /* rw */
157 1.4 bsh #define IMX_UCR4_INVR __BIT(9) /* rw */
158 1.4 bsh #define IMX_UCR4_CTSTL __BITS(15,10) /* rw */
159 1.2 matt
160 1.2 matt /*
161 1.2 matt * IMX_UFCR bits
162 1.2 matt */
163 1.4 bsh #define IMX_UFCR_RXTL_SHIFT 0
164 1.4 bsh #define IMX_UFCR_RXTL __BITS(5,IMX_UFCR_RXTL_SHIFT) /* rw */
165 1.4 bsh #define IMX_UFCR_DCEDTE __BIT(6) /* rw */
166 1.4 bsh #define IMX_UFCR_RFDIV_SHIFT 7
167 1.4 bsh #define IMX_UFCR_RFDIV __BITS(9,IMX_UFCR_RFDIV_SHIFT) /* rw */
168 1.4 bsh #define IMX_UFCR_TXTL_SHIFT 10
169 1.4 bsh #define IMX_UFCR_TXTL __BITS(15,IMX_UFCR_TXTL_SHIFT) /* rw */
170 1.4 bsh
171 1.4 bsh #define IMX_UFCR_DIVIDER_TO_RFDIV(div) \
172 1.4 bsh (((6 - div) % 7) & 0x7)
173 1.2 matt
174 1.2 matt /*
175 1.2 matt * IMX_USR1 bits
176 1.2 matt */
177 1.4 bsh #define IMX_USR1_RESV __BITS(3,0)
178 1.4 bsh #define IMX_USR1_AWAKE __BIT(4) /* w1c */
179 1.4 bsh #define IMX_USR1_AIRINT __BIT(5) /* w1c */
180 1.4 bsh #define IMX_USR1_RXDS __BIT(6) /* ro */
181 1.4 bsh #define IMX_USR1_DTRD __BIT(7) /* w1c */
182 1.4 bsh #define IMX_USR1_AGTIM __BIT(8) /* w1c */
183 1.4 bsh #define IMX_USR1_RRDY __BIT(9) /* ro */
184 1.4 bsh #define IMX_USR1_FRAMERR __BIT(10) /* w1c */
185 1.4 bsh #define IMX_USR1_ESCF __BIT(11) /* w1c */
186 1.4 bsh #define IMX_USR1_RTSD __BIT(12) /* w1c */
187 1.4 bsh #define IMX_USR1_TRDY __BIT(13) /* ro */
188 1.4 bsh #define IMX_USR1_RTSS __BIT(14) /* ro */
189 1.4 bsh #define IMX_USR1_PARITYERR __BIT(15) /* w1c */
190 1.2 matt
191 1.2 matt /*
192 1.2 matt * IMX_USR2 bits
193 1.2 matt */
194 1.4 bsh #define IMX_USR2_RDR __BIT(0)
195 1.4 bsh #define IMX_USR2_ORE __BIT(1) /* w1c */
196 1.4 bsh #define IMX_USR2_BRCD __BIT(2) /* w1c */
197 1.4 bsh #define IMX_USR2_TXDC __BIT(3) /* ro */
198 1.4 bsh #define IMX_USR2_RTSF __BIT(4) /* w1c */
199 1.4 bsh #define IMX_USR2_DCDIN __BIT(5) /* ro */
200 1.4 bsh #define IMX_USR2_DCDDELT __BIT(6) /* rw */
201 1.4 bsh #define IMX_USR2_WAKE __BIT(7) /* w1c */
202 1.4 bsh #define IMX_USR2_IRINT __BIT(8) /* rw */
203 1.4 bsh #define IMX_USR2_RIIN __BIT(9) /* ro */
204 1.4 bsh #define IMX_USR2_RIDELT __BIT(10) /* w1c */
205 1.4 bsh #define IMX_USR2_ACST __BIT(11) /* rw */
206 1.4 bsh #define IMX_USR2_IDLE __BIT(12) /* w1c */
207 1.4 bsh #define IMX_USR2_DTRF __BIT(13) /* rw */
208 1.4 bsh #define IMX_USR2_TXFE __BIT(14) /* ro */
209 1.4 bsh #define IMX_USR2_ADET __BIT(15) /* w1c */
210 1.2 matt
211 1.2 matt /*
212 1.2 matt * IMX_UESC bits
213 1.2 matt */
214 1.4 bsh #define IMX_UESC_ESC_CHAR __BITS(7,0) /* rw */
215 1.4 bsh #define IMX_UESC_RESV __BITS(15,8)
216 1.2 matt
217 1.2 matt /*
218 1.2 matt * IMX_UTIM bits
219 1.2 matt */
220 1.4 bsh #define IMX_UTIM_TIM __BITS(11,0) /* rw */
221 1.4 bsh #define IMX_UTIM_RESV __BITS(15,12)
222 1.2 matt
223 1.2 matt /*
224 1.2 matt * IMX_UBIR bits
225 1.2 matt */
226 1.4 bsh #define IMX_UBIR_INC __BITS(15,0) /* rw */
227 1.2 matt
228 1.2 matt /*
229 1.2 matt * IMX_UBMR bits
230 1.2 matt */
231 1.4 bsh #define IMX_UBMR_MOD __BITS(15,0) /* rw */
232 1.2 matt
233 1.2 matt /*
234 1.2 matt * IMX_UBRC bits
235 1.2 matt */
236 1.4 bsh #define IMX_UBRC_BCNT __BITS(15,0) /* ro */
237 1.2 matt
238 1.2 matt /*
239 1.2 matt * IMX_ONEMS bits
240 1.2 matt */
241 1.4 bsh #define IMX_ONEMS_ONEMS __BITS(15,0) /* rw */
242 1.2 matt
243 1.2 matt /*
244 1.2 matt * IMX_UTS bits
245 1.2 matt */
246 1.4 bsh #define IMX_UTS_SOFTRST __BIT(0) /* rw */
247 1.4 bsh #define IMX_UTS_RESVa __BITS(2,1)
248 1.4 bsh #define IMX_UTS_RXFULL __BIT(3) /* rw */
249 1.4 bsh #define IMX_UTS_TXFUL __BIT(4) /* rw */
250 1.4 bsh #define IMX_UTS_RXEMPTY __BIT(5) /* rw */
251 1.4 bsh #define IMX_UTS_TXEMPTY __BIT(5) /* rw */
252 1.4 bsh #define IMX_UTS_RESVb __BITS(8,7)
253 1.4 bsh #define IMX_UTS_RXDBG __BIT(9) /* rw */
254 1.4 bsh #define IMX_UTS_LOOPIR __BIT(10) /* rw */
255 1.4 bsh #define IMX_UTS_DBGEN __BIT(11) /* rw */
256 1.4 bsh #define IMX_UTS_LOOP __BIT(12) /* rw */
257 1.4 bsh #define IMX_UTS_FRCPERR __BIT(13) /* rw */
258 1.4 bsh #define IMX_UTS_RESVc __BITS(15,14)
259 1.4 bsh #define IMX_UTS_RESV (IMX_UTS_RESVa|IMX_UTS_RESVb|IMX_UTS_RESVc)
260 1.2 matt
261 1.4 bsh #ifndef __ASSEMBLER__
262 1.2 matt /*
263 1.2 matt * interrupt specs
264 1.2 matt * see Table 31-25. "Interrupts an DMA"
265 1.2 matt */
266 1.2 matt
267 1.2 matt /*
268 1.2 matt * abstract interrupts spec indexing
269 1.2 matt */
270 1.2 matt typedef enum {
271 1.2 matt RX_RRDY=0,
272 1.2 matt RX_ID,
273 1.2 matt RX_DR,
274 1.2 matt RX_RXDS,
275 1.2 matt RX_AT,
276 1.2 matt TX_TXMPTY,
277 1.2 matt TX_TRDY,
278 1.2 matt TX_TC,
279 1.2 matt MINT_OR,
280 1.2 matt MINT_BR,
281 1.2 matt MINT_WK,
282 1.2 matt MINT_AD,
283 1.2 matt MINT_ACI,
284 1.2 matt MINT_ESCI,
285 1.2 matt MINT_IRI,
286 1.2 matt MINT_AIRINT,
287 1.2 matt MINT_AWAK,
288 1.2 matt MINT_FRAERR,
289 1.2 matt MINT_PARERR,
290 1.2 matt MINT_RTSD,
291 1.2 matt MINT_RTS,
292 1.2 matt MINT_DCE_DTR,
293 1.2 matt MINT_DTE_RI,
294 1.2 matt MINT_DTE_DCE,
295 1.2 matt MINT_DTRD,
296 1.2 matt RX_DMAREQ_RXDMA,
297 1.2 matt RX_DMAREQ_ATDMA,
298 1.2 matt RX_DMAREQ_IDDMA,
299 1.2 matt RX_DMAREQ_TXDMA,
300 1.2 matt } imxuart_intrix_t;
301 1.2 matt
302 1.2 matt /*
303 1.2 matt * abstract interrupts spec
304 1.2 matt */
305 1.2 matt typedef struct {
306 1.2 matt const uint32_t enb_bit;
307 1.4 bsh const uint enb_reg;
308 1.2 matt const uint32_t flg_bit;
309 1.4 bsh const uint flg_reg;
310 1.4 bsh const char * name; /* for debug */
311 1.2 matt } imxuart_intrspec_t;
312 1.2 matt
313 1.4 bsh #define IMXUART_INTRSPEC(cv, cr, sv, sr) \
314 1.2 matt { IMX_UCR##cr##_##cv, ((cr) - 1), IMX_USR##sr##_##sv, ((sr) - 1), #sv }
315 1.2 matt
316 1.2 matt static const imxuart_intrspec_t imxuart_intrspec_tab[] = {
317 1.2 matt /* ipi_uart_rx */
318 1.2 matt IMXUART_INTRSPEC(RRDYEN, 1, RRDY, 1),
319 1.2 matt IMXUART_INTRSPEC(IDEN, 1, IDLE, 2),
320 1.2 matt IMXUART_INTRSPEC(DREN, 4, RDR, 2),
321 1.2 matt IMXUART_INTRSPEC(RXDSEN, 3, RXDS, 1),
322 1.2 matt IMXUART_INTRSPEC(ATEN, 2, AGTIM, 1),
323 1.2 matt /* ipi_uart_tx */
324 1.2 matt IMXUART_INTRSPEC(TXMPTYEN, 1, TXFE, 2),
325 1.2 matt IMXUART_INTRSPEC(TRDYEN, 1, TRDY, 1),
326 1.2 matt IMXUART_INTRSPEC(TCEN, 4, TXDC, 2),
327 1.2 matt /* ipi_uart_mint */
328 1.2 matt IMXUART_INTRSPEC(OREN, 4, ORE, 2),
329 1.2 matt IMXUART_INTRSPEC(BKEN, 4, BRCD, 2),
330 1.2 matt IMXUART_INTRSPEC(WKEN, 4, WAKE, 2),
331 1.2 matt IMXUART_INTRSPEC(ADEN, 1, ADET, 2),
332 1.2 matt IMXUART_INTRSPEC(ACIEN, 3, ACST, 2),
333 1.2 matt IMXUART_INTRSPEC(ESCI, 2, ESCF, 1),
334 1.2 matt IMXUART_INTRSPEC(ENIRI, 4, IRINT, 2),
335 1.2 matt IMXUART_INTRSPEC(AIRINTEN, 3, AIRINT, 1),
336 1.2 matt IMXUART_INTRSPEC(AWAKEN, 3, AWAKE, 1),
337 1.2 matt IMXUART_INTRSPEC(FRAERREN, 3, FRAMERR, 1),
338 1.2 matt IMXUART_INTRSPEC(PARERREN, 3, PARITYERR, 1),
339 1.2 matt IMXUART_INTRSPEC(RTSDEN, 1, RTSD, 1),
340 1.2 matt IMXUART_INTRSPEC(RTSEN, 2, RTSF, 2),
341 1.2 matt IMXUART_INTRSPEC(DTREN, 3, DTRF, 2),
342 1.2 matt IMXUART_INTRSPEC(RI, 3, DTRF, 2),
343 1.2 matt IMXUART_INTRSPEC(DCD, 3, DCDDELT, 2),
344 1.2 matt IMXUART_INTRSPEC(DTRDEN, 3, DTRD, 1),
345 1.2 matt /* ipd_uart_rx_dmareq */
346 1.2 matt IMXUART_INTRSPEC(RXDMAEN, 1, RRDY, 1),
347 1.2 matt IMXUART_INTRSPEC(ATDMAEN, 1, AGTIM, 1),
348 1.2 matt IMXUART_INTRSPEC(IDDMAEN, 4, IDLE, 2),
349 1.2 matt /* ipd_uart_tx_dmareq */
350 1.2 matt IMXUART_INTRSPEC(TXDMAEN, 1, TRDY, 1),
351 1.2 matt };
352 1.4 bsh #define IMXUART_INTRSPEC_TAB_SZ \
353 1.2 matt (sizeof(imxuart_intrspec_tab) / sizeof(imxuart_intrspec_tab[0]))
354 1.2 matt
355 1.4 bsh #endif /* __ASSEMBLER__ */
356 1.4 bsh
357 1.2 matt /*
358 1.2 matt * functional groupings of intr status flags by reg
359 1.2 matt */
360 1.4 bsh #define IMXUART_RXINTR_USR1 (IMX_USR1_RRDY|IMX_USR1_RXDS|IMX_USR1_AGTIM)
361 1.4 bsh #define IMXUART_RXINTR_USR2 (IMX_USR2_IDLE|IMX_USR2_RDR)
362 1.4 bsh #define IMXUART_TXINTR_USR1 (IMX_USR1_TRDY)
363 1.4 bsh #define IMXUART_TXINTR_USR2 (IMX_USR2_TXFE|IMX_USR2_TXDC)
364 1.4 bsh #define IMXUART_MINT_USR1 (IMX_USR1_ESCF|IMX_USR1_AIRINT||IMX_USR1_AWAKE \
365 1.2 matt |IMX_USR1_FRAMERR|IMX_USR1_PARITYERR \
366 1.2 matt |IMX_USR1_RTSD|IMX_USR1_DTRD)
367 1.4 bsh #define IMXUART_MINT_USR2 (IMX_USR2_ORE|IMX_USR2_BRCD|IMX_USR2_WAKE \
368 1.2 matt |IMX_USR2_ADET|IMX_USR2_ACST|IMX_USR2_IRINT \
369 1.2 matt |IMX_USR2_RTSF|IMX_USR2_DTRF|IMX_USR2_DTRF \
370 1.2 matt |IMX_USR2_DCDDELT)
371 1.4 bsh #define IMXUART_RXDMA_USR1 (IMX_USR1_RRDY|IMX_USR1_AGTIM)
372 1.4 bsh #define IMXUART_RXDMA_USR2 (IMX_USR2_IDLE)
373 1.4 bsh #define IMXUART_TXDMA_USR1 (IMX_USR1_TRDY)
374 1.4 bsh #define IMXUART_TXDMA_USR2 (0)
375 1.2 matt
376 1.2 matt /*
377 1.2 matt * all intr status flags by reg
378 1.2 matt */
379 1.4 bsh #define IMXUART_INTRS_USR1 (IMXUART_RXINTR_USR1|IMXUART_TXINTR_USR1 \
380 1.2 matt |IMXUART_MINT_USR1|IMXUART_RXDMA_USR1 \
381 1.2 matt |IMXUART_TXDMA_USR1)
382 1.4 bsh #define IMXUART_INTRS_USR2 (IMXUART_RXINTR_USR2|IMXUART_TXINTR_USR2 \
383 1.2 matt |IMXUART_MINT_USR2|IMXUART_RXDMA_USR2 \
384 1.2 matt |IMXUART_TXDMA_USR2)
385 1.2 matt
386 1.2 matt /*
387 1.2 matt * all intr controls by reg
388 1.2 matt */
389 1.4 bsh #define IMXUART_INTRS_UCR1 (IMX_UCR1_RRDYEN|IMX_UCR1_IDEN \
390 1.2 matt |IMX_UCR1_TXMPTYEN|IMX_UCR1_TRDYEN \
391 1.2 matt |IMX_UCR1_ADEN|IMX_UCR1_RTSDEN \
392 1.2 matt |IMX_UCR1_RXDMAEN|IMX_UCR1_RXDMAEN \
393 1.2 matt |IMX_UCR1_ATDMAEN|IMX_UCR1_TXDMAEN)
394 1.4 bsh #define IMXUART_INTRS_UCR2 (IMX_UCR2_ATEN|IMX_UCR2_ESCI|IMX_UCR2_RTSEN)
395 1.4 bsh #define IMXUART_INTRS_UCR3 (IMX_UCR3_RXDSEN|IMX_UCR3_ACIEN \
396 1.2 matt |IMX_UCR3_AIRINTEN|IMX_UCR3_AWAKEN \
397 1.2 matt |IMX_UCR3_FRAERREN|IMX_UCR3_PARERREN \
398 1.2 matt |IMX_UCR3_DTREN|IMX_UCR3_RI \
399 1.2 matt |IMX_UCR3_DCD|IMX_UCR3_DTRDEN)
400 1.4 bsh #define IMXUART_INTRS_UCR4 (IMX_UCR4_DREN|IMX_UCR4_TCEN|IMX_UCR4_OREN \
401 1.2 matt |IMX_UCR4_BKEN|IMX_UCR4_WKEN \
402 1.2 matt |IMX_UCR4_ENIRI|IMX_UCR4_IDDMAEN)
403 1.2 matt
404 1.2 matt
405 1.4 bsh #endif /* _IMXUARTREG_H */
406