|
@@ -790,3 +790,81 @@
|
|
|
#define USTCNT_TXHALFEN USTCNT_TXHE
|
|
|
#define USTCNT_TXEMPTYEN USTCNT_TXEE
|
|
|
#define USTCNT_RXREADYEN USTCNT_RXRE
|
|
|
+#define USTCNT_RXHALFEN USTCNT_RXHE
|
|
|
+#define USTCNT_RXFULLEN USTCNT_RXFE
|
|
|
+#define USTCNT_CTSDELTAEN USTCNT_CTSD
|
|
|
+#define USTCNT_ODD_EVEN USTCNT_ODD
|
|
|
+#define USTCNT_PARITYEN USTCNT_PEN
|
|
|
+#define USTCNT_CLKMODE USTCNT_CLKM
|
|
|
+#define USTCNT_UARTEN USTCNT_UEN
|
|
|
+
|
|
|
+/*
|
|
|
+ * UART Baud Control Register
|
|
|
+ */
|
|
|
+#define UBAUD_ADDR 0xfffff902
|
|
|
+#define UBAUD WORD_REF(UBAUD_ADDR)
|
|
|
+
|
|
|
+#define UBAUD_PRESCALER_MASK 0x003f /* Actual divisor is 65 - PRESCALER */
|
|
|
+#define UBAUD_PRESCALER_SHIFT 0
|
|
|
+#define UBAUD_DIVIDE_MASK 0x0700 /* Baud Rate freq. divizor */
|
|
|
+#define UBAUD_DIVIDE_SHIFT 8
|
|
|
+#define UBAUD_BAUD_SRC 0x0800 /* Baud Rate Source */
|
|
|
+#define UBAUD_UCLKDIR 0x2000 /* UCLK Direction */
|
|
|
+
|
|
|
+/*
|
|
|
+ * UART Receiver Register
|
|
|
+ */
|
|
|
+#define URX_ADDR 0xfffff904
|
|
|
+#define URX WORD_REF(URX_ADDR)
|
|
|
+
|
|
|
+#define URX_RXDATA_ADDR 0xfffff905
|
|
|
+#define URX_RXDATA BYTE_REF(URX_RXDATA_ADDR)
|
|
|
+
|
|
|
+#define URX_RXDATA_MASK 0x00ff /* Received data */
|
|
|
+#define URX_RXDATA_SHIFT 0
|
|
|
+#define URX_PARITY_ERROR 0x0100 /* Parity Error */
|
|
|
+#define URX_BREAK 0x0200 /* Break Detected */
|
|
|
+#define URX_FRAME_ERROR 0x0400 /* Framing Error */
|
|
|
+#define URX_OVRUN 0x0800 /* Serial Overrun */
|
|
|
+#define URX_OLD_DATA 0x1000 /* Old data in FIFO */
|
|
|
+#define URX_DATA_READY 0x2000 /* Data Ready (FIFO not empty) */
|
|
|
+#define URX_FIFO_HALF 0x4000 /* FIFO is Half-Full */
|
|
|
+#define URX_FIFO_FULL 0x8000 /* FIFO is Full */
|
|
|
+
|
|
|
+/*
|
|
|
+ * UART Transmitter Register
|
|
|
+ */
|
|
|
+#define UTX_ADDR 0xfffff906
|
|
|
+#define UTX WORD_REF(UTX_ADDR)
|
|
|
+
|
|
|
+#define UTX_TXDATA_ADDR 0xfffff907
|
|
|
+#define UTX_TXDATA BYTE_REF(UTX_TXDATA_ADDR)
|
|
|
+
|
|
|
+#define UTX_TXDATA_MASK 0x00ff /* Data to be transmitted */
|
|
|
+#define UTX_TXDATA_SHIFT 0
|
|
|
+#define UTX_CTS_DELTA 0x0100 /* CTS changed */
|
|
|
+#define UTX_CTS_STAT 0x0200 /* CTS State */
|
|
|
+#define UTX_BUSY 0x0400 /* FIFO is busy, sending a character */
|
|
|
+#define UTX_NOCTS 0x0800 /* Ignore CTS */
|
|
|
+#define UTX_SEND_BREAK 0x1000 /* Send a BREAK */
|
|
|
+#define UTX_TX_AVAIL 0x2000 /* Transmit FIFO has a slot available */
|
|
|
+#define UTX_FIFO_HALF 0x4000 /* Transmit FIFO is half empty */
|
|
|
+#define UTX_FIFO_EMPTY 0x8000 /* Transmit FIFO is empty */
|
|
|
+
|
|
|
+/* '328-compatible definitions */
|
|
|
+#define UTX_CTS_STATUS UTX_CTS_STAT
|
|
|
+#define UTX_IGNORE_CTS UTX_NOCTS
|
|
|
+
|
|
|
+/*
|
|
|
+ * UART Miscellaneous Register
|
|
|
+ */
|
|
|
+#define UMISC_ADDR 0xfffff908
|
|
|
+#define UMISC WORD_REF(UMISC_ADDR)
|
|
|
+
|
|
|
+#define UMISC_TX_POL 0x0004 /* Transmit Polarity */
|
|
|
+#define UMISC_RX_POL 0x0008 /* Receive Polarity */
|
|
|
+#define UMISC_IRDA_LOOP 0x0010 /* IrDA Loopback Enable */
|
|
|
+#define UMISC_IRDA_EN 0x0020 /* Infra-Red Enable */
|
|
|
+#define UMISC_RTS 0x0040 /* Set RTS status */
|
|
|
+#define UMISC_RTSCONT 0x0080 /* Choose RTS control */
|
|
|
+#define UMISC_IR_TEST 0x0400 /* IRDA Test Enable */
|