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