summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/rtl22xx/console/lpc22xx_uart.h
diff options
context:
space:
mode:
authorDaniel Ramirez <javamonn@gmail.com>2013-12-22 13:49:52 -0600
committerGedare Bloom <gedare@rtems.org>2013-12-22 15:39:55 -0500
commit78e529a660ad86c9eb2fac552fbc29c92ce09b58 (patch)
tree911678644f97627631b5a1793c4770d5dd7af9b9 /c/src/lib/libbsp/arm/rtl22xx/console/lpc22xx_uart.h
parentarm_smdk2410: added new doxygen (diff)
downloadrtems-78e529a660ad86c9eb2fac552fbc29c92ce09b58.tar.bz2
arm_rtl22xx: added new doxygen
Diffstat (limited to 'c/src/lib/libbsp/arm/rtl22xx/console/lpc22xx_uart.h')
-rw-r--r--c/src/lib/libbsp/arm/rtl22xx/console/lpc22xx_uart.h194
1 files changed, 146 insertions, 48 deletions
diff --git a/c/src/lib/libbsp/arm/rtl22xx/console/lpc22xx_uart.h b/c/src/lib/libbsp/arm/rtl22xx/console/lpc22xx_uart.h
index 440a318d7e..f6ae249672 100644
--- a/c/src/lib/libbsp/arm/rtl22xx/console/lpc22xx_uart.h
+++ b/c/src/lib/libbsp/arm/rtl22xx/console/lpc22xx_uart.h
@@ -1,89 +1,187 @@
-/*
- * Definitions for LPC22xx/LPC21xx
+/**
+ * @file
+ * @ingroup rtl22xx_uart
+ * @brief UART support.
*/
#ifndef LPC22XX_UART_H
#define LPC22XX_UART_H
+/**
+ * @defgroup rtl22xx_uart UART Support
+ * @ingroup arm_rtl22xx
+ * @brief UART (Universal Asynchronous Reciever/Transmitter) Support
+ * @{
+ */
+
#define FIFODEEP 16
#define BD115200 115200
#define BD38400 38400
#define BD9600 9600
-#define U0_PINSEL (0x00000005) /* PINSEL0 Value for UART0 */
-#define U0_PINMASK (0x0000000F) /* PINSEL0 Mask for UART0 */
-#define U1_PINSEL (0x00050000) /* PINSEL0 Value for UART1 */
-#define U1_PINMASK (0x000F0000) /* PINSEL0 Mask for UART1 */
+/** @brief PINSEL0 Value for UART0 */
+#define U0_PINSEL (0x00000005)
+/** @brief PINSEL0 Mask for UART0 */
+#define U0_PINMASK (0x0000000F)
+/** @brief PINSEL0 Value for UART1 */
+#define U1_PINSEL (0x00050000)
+/** @brief PINSEL0 Mask for UART1 */
+#define U1_PINMASK (0x000F0000)
+
+/**
+ * @name Uart line control register bit descriptions
+ * @{
+ */
-/* Uart line control register bit descriptions */
#define LCR_WORDLENTH_BIT 0
#define LCR_STOPBITSEL_BIT 2
#define LCR_PARITYENBALE_BIT 3
#define LCR_PARITYSEL_BIT 4
#define LCR_BREAKCONTROL_BIT 6
#define LCR_DLAB_BIT 7
-// Line Control Register bit definitions
-#define ULCR_CHAR_5 (0 << 0) // 5-bit character length
-#define ULCR_CHAR_6 (1 << 0) // 6-bit character length
-#define ULCR_CHAR_7 (2 << 0) // 7-bit character length
-#define ULCR_CHAR_8 (3 << 0) // 8-bit character length
-#define ULCR_STOP_0 (0 << 2) // no stop bits
-#define ULCR_STOP_1 (1 << 2) // 1 stop bit
-#define ULCR_PAR_NO (0 << 3) // No Parity
-#define ULCR_PAR_ODD (1 << 3) // Odd Parity
-#define ULCR_PAR_EVEN (3 << 3) // Even Parity
-#define ULCR_PAR_MARK (5 << 3) // MARK "1" Parity
-#define ULCR_PAR_SPACE (7 << 3) // SPACE "0" Paruty
-#define ULCR_BREAK_ENABLE (1 << 6) // Output BREAK line condition
-#define ULCR_DLAB_ENABLE (1 << 7) // Enable Divisor Latch Access
-// Modem Control Register bit definitions
-#define UMCR_DTR (1 << 0) // Data Terminal Ready
-#define UMCR_RTS (1 << 1) // Request To Send
-#define UMCR_LB (1 << 4) // Loopback
-
-// Line Status Register bit definitions
-#define ULSR_RDR (1 << 0) // Receive Data Ready
-#define ULSR_OE (1 << 1) // Overrun Error
-#define ULSR_PE (1 << 2) // Parity Error
-#define ULSR_FE (1 << 3) // Framing Error
-#define ULSR_BI (1 << 4) // Break Interrupt
-#define ULSR_THRE (1 << 5) // Transmit Holding Register Empty
-#define ULSR_TEMT (1 << 6) // Transmitter Empty
-#define ULSR_RXFE (1 << 7) // Error in Receive FIFO
+
+/** @} */
+
+/**
+ * @name Line Control Register bit definitions
+ * @{
+ */
+
+/** @brief 5-bit character length */
+#define ULCR_CHAR_5 (0 << 0)
+/** @brief 6-bit character length */
+#define ULCR_CHAR_6 (1 << 0)
+/** @brief 7-bit character length */
+#define ULCR_CHAR_7 (2 << 0)
+/** @brief 8-bit character length */
+#define ULCR_CHAR_8 (3 << 0)
+/** @brief no stop bits */
+#define ULCR_STOP_0 (0 << 2)
+/** @brief 1 stop bit */
+#define ULCR_STOP_1 (1 << 2)
+/** @brief No Parity */
+#define ULCR_PAR_NO (0 << 3)
+/** @brief Odd Parity */
+#define ULCR_PAR_ODD (1 << 3)
+/** @brief Even Parity */
+#define ULCR_PAR_EVEN (3 << 3)
+/** @brief MARK "1" Parity */
+#define ULCR_PAR_MARK (5 << 3)
+/** @brief SPACE "0" Paruty */
+#define ULCR_PAR_SPACE (7 << 3)
+/** @brief Output BREAK line condition */
+#define ULCR_BREAK_ENABLE (1 << 6)
+/** @brief Enable Divisor Latch Access */
+#define ULCR_DLAB_ENABLE (1 << 7)
+
+/** @} */
+
+/**
+ * @name Modem Control Register bit definitions
+ * @{
+ */
+
+/** @brief Data Terminal Ready */
+#define UMCR_DTR (1 << 0)
+/** @brief Request To Send */
+#define UMCR_RTS (1 << 1)
+/** @brief Loopback */
+#define UMCR_LB (1 << 4)
+
+/** @} */
+
+/**
+ * @name Line Status Register bit definitions
+ * @{
+ */
+
+/** @brief Receive Data Ready */
+#define ULSR_RDR (1 << 0)
+/** @brief Overrun Error */
+#define ULSR_OE (1 << 1)
+/** @brief Parity Error */
+#define ULSR_PE (1 << 2)
+/** @brief Framing Error */
+#define ULSR_FE (1 << 3)
+/** @brief Break Interrupt */
+#define ULSR_BI (1 << 4)
+/** @brief Transmit Holding Register Empty */
+#define ULSR_THRE (1 << 5)
+/** @brief Transmitter Empty */
+#define ULSR_TEMT (1 << 6)
+/** @brief Error in Receive FIFO */
+#define ULSR_RXFE (1 << 7)
#define ULSR_ERR_MASK 0x1E
-// Modem Status Register bit definitions
-#define UMSR_DCTS (1 << 0) // Delta Clear To Send
-#define UMSR_DDSR (1 << 1) // Delta Data Set Ready
-#define UMSR_TERI (1 << 2) // Trailing Edge Ring Indicator
-#define UMSR_DDCD (1 << 3) // Delta Data Carrier Detect
-#define UMSR_CTS (1 << 4) // Clear To Send
-#define UMSR_DSR (1 << 5) // Data Set Ready
-#define UMSR_RI (1 << 6) // Ring Indicator
-#define UMSR_DCD (1 << 7) // Data Carrier Detect
-
-/* Uart Interrupt Identification */
+/** @} */
+
+/**
+ * @name Modem Status Register bit definitions
+ * @{
+ */
+
+/** @brief Delta Clear To Send */
+#define UMSR_DCTS (1 << 0)
+/** @brief Delta Data Set Ready */
+#define UMSR_DDSR (1 << 1)
+/** @brief Trailing Edge Ring Indicator */
+#define UMSR_TERI (1 << 2)
+/** @brief Delta Data Carrier Detect */
+#define UMSR_DDCD (1 << 3)
+/** @brief Clear To Send */
+#define UMSR_CTS (1 << 4)
+/** @brief Data Set Ready */
+#define UMSR_DSR (1 << 5)
+/** @brief Ring Indicator */
+#define UMSR_RI (1 << 6)
+/** @brief Data Carrier Detect */
+#define UMSR_DCD (1 << 7)
+
+/** @} */
+
+/**
+ * @name Uart Interrupt Identification
+ * @{
+ */
+
#define IIR_RSL 0x3
#define IIR_RDA 0x2
#define IIR_CTI 0x6
#define IIR_THRE 0x1
-/* Uart Interrupt Enable Type*/
+/** @} */
+
+/**
+ * @name Uart Interrupt Enable Type
+ * @{
+ */
+
#define IER_RBR 0x1
#define IER_THRE 0x2
#define IER_RLS 0x4
-/* Uart Receiver Errors*/
+/** @} */
+
+/**
+ * @name Uart Receiver Errors
+ * @{
+ */
+
#define RC_FIFO_OVERRUN_ERR 0x1
#define RC_OVERRUN_ERR 0x2
#define RC_PARITY_ERR 0x4
#define RC_FRAMING_ERR 0x8
#define RC_BREAK_IND 0x10
+/** @} */
+
typedef enum {
UART0 = 0,
UART1
} LPC_UartChanel_t;
+
+/** @} */
+
#endif