60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #define UART0_BASEADDR 			0x44001000
 | |
| #define UART1_BASEADDR 			0x44005000
 | |
| #define UART2_BASEADDR 			0x44006000
 | |
| 
 | |
| /* CR bits */
 | |
| #define CTSEN  (1<<15)
 | |
| #define RTSEN  (1<<14)
 | |
| #define OUT2   (1<<13)
 | |
| #define OUT1   (1<<12)
 | |
| #define RTS    (1<<11)
 | |
| #define DTR    (1<<10)
 | |
| #define RXE    (1<<9) /* Receive enable */
 | |
| #define TXE    (1<<8) /* Transmit enable */
 | |
| #define LPE    (1<<7)
 | |
| #define IIRLP  (1<<2)
 | |
| #define SIREN  (1<<1)
 | |
| #define UARTEN (1<<0) /* UART enable */
 | |
| 
 | |
| /* FR bits */
 | |
| #define TXFE   (1<<7) /* TX FIFO empty */
 | |
| #define RXFF   (1<<6)
 | |
| #define TXFF   (1<<5)
 | |
| #define RXFE   (1<<4) /* RX FIFO empty */
 | |
| #define BUSY   (1<<3)
 | |
| #define TMSK    TXFF|BUSY
 | |
| 
 | |
| /* LCR_H bits */
 | |
| #define SPS    (1<<7) /* Stick parity select */
 | |
| #define WLEN_8 (3<<5)
 | |
| #define WLEN_7 (2<<5)
 | |
| #define WLEN_6 (1<<5)
 | |
| #define WLEN_5 (0<<5)
 | |
| #define FEN    (1<<4) /* FIFO enable */
 | |
| #define STP2   (1<<3) /* Two stop bits select */
 | |
| #define EPS    (1<<2) /* Even parity select */
 | |
| #define PEN    (1<<1) /* Parity enable */
 | |
| #define BRK    (1<<0) /* Send break */
 | |
| 
 | |
| /* Interrupt bits (IMSC, MIS, ICR) */
 | |
| #define OEI   (1<<10) /* Overrun Error interrupt mask */
 | |
| #define BEI   (1<<9)  /* Break Error interrupt mask */
 | |
| #define PEI   (1<<8)  /* Parity Error interrupt mask */
 | |
| #define FEI   (1<<7)  /* Framing Error interrupt mask */
 | |
| #define RTI   (1<<6)  /* Receive Timeout interrupt mask */
 | |
| #define TXI   (1<<5)  /* Transmit interrupt mask */
 | |
| #define RXI   (1<<4)  /* Receive interrupt mask */
 | |
| #define DSRMI (1<<3)  /* nUARTDSR Modem interrupt mask */
 | |
| #define DCDMI (1<<2)  /* nUARTDCD Modem interrupt mask */
 | |
| #define CTSMI (1<<1)  /* nUARTCTS Modem interrupt mask */
 | |
| #define RIMI  (1<<0)  /* nUARTRI Modem interrupt mask */
 | |
| #define ALLI  OEI|BEI|PEI|FEI|RTI|TXI|RXI|DSRMI|DCDMI|CTSMI|RIMI
 | |
| 
 | |
| /* These parity settings can be ORed directly into the LCR. */
 | |
| #define PARITY_NONE  (0)
 | |
| #define PARITY_ODD   (PEN)
 | |
| #define PARITY_EVEN  (PEN|EPS)
 | |
| #define PARITY_MARK  (PEN|SPS)
 | |
| #define PARITY_SPACE (PEN|EPS|SPS)
 | |
| 
 |