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)
|
|
|