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