summaryrefslogtreecommitdiffstats
path: root/c/src/libchip/serial/ns16550_p.h
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-07-17 13:53:24 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-07-17 13:53:24 +0000
commitec5d45053b71f052d978e423f08ad4e28e1b800d (patch)
treee816f35f7d24a8a6c99bcdd60a18ca5227ff8bee /c/src/libchip/serial/ns16550_p.h
parentARM bsp maintenance (diff)
downloadrtems-ec5d45053b71f052d978e423f08ad4e28e1b800d.tar.bz2
code cleanup
Diffstat (limited to '')
-rw-r--r--c/src/libchip/serial/ns16550_p.h55
1 files changed, 12 insertions, 43 deletions
diff --git a/c/src/libchip/serial/ns16550_p.h b/c/src/libchip/serial/ns16550_p.h
index 480d3ea5e1..a32b46f969 100644
--- a/c/src/libchip/serial/ns16550_p.h
+++ b/c/src/libchip/serial/ns16550_p.h
@@ -29,24 +29,11 @@ extern "C" {
#define NS16550_STATIC static
-/*
- * Define serial port read registers structure.
- */
-
-typedef volatile struct _SP_READ_REGISTERS {
- unsigned char ReceiveBuffer;
- unsigned char InterruptEnable;
- unsigned char InterruptId;
- unsigned char LineControl;
- unsigned char ModemControl;
- unsigned char LineStatus;
- unsigned char ModemStatus;
- unsigned char ScratchPad;
-} SP_READ_REGISTERS, *PSP_READ_REGISTERS;
-
#define NS16550_RECEIVE_BUFFER 0
+#define NS16550_TRANSMIT_BUFFER 0
#define NS16550_INTERRUPT_ENABLE 1
#define NS16550_INTERRUPT_ID 2
+#define NS16550_FIFO_CONTROL 2
#define NS16550_LINE_CONTROL 3
#define NS16550_MODEM_CONTROL 4
#define NS16550_LINE_STATUS 5
@@ -54,24 +41,6 @@ typedef volatile struct _SP_READ_REGISTERS {
#define NS16550_SCRATCH_PAD 7
/*
- * Define serial port write registers structure.
- */
-
-typedef volatile struct _SP_WRITE_REGISTERS {
- unsigned char TransmitBuffer;
- unsigned char InterruptEnable;
- unsigned char FifoControl;
- unsigned char LineControl;
- unsigned char ModemControl;
- unsigned char Reserved1;
- unsigned char ModemStatus;
- unsigned char ScratchPad;
-} SP_WRITE_REGISTERS, *PSP_WRITE_REGISTERS;
-
-#define NS16550_TRANSMIT_BUFFER 0
-#define NS16550_FIFO_CONTROL 2
-
-/*
* Define serial port interrupt enable register structure.
*/
@@ -85,15 +54,13 @@ typedef volatile struct _SP_WRITE_REGISTERS {
#define NS16550_ENABLE_ALL_INTR_EXCEPT_TX (SP_INT_RX_ENABLE)
/*
- * Define serial port interrupt id register structure.
+ * Define serial port interrupt ID register structure.
*/
-typedef struct _SP_INTERRUPT_ID {
- unsigned char InterruptPending : 1;
- unsigned char Identification : 3;
- unsigned char Reserved1 : 2;
- unsigned char FifoEnabled : 2;
-} SP_INTERRUPT_ID, *PSP_INTERRUPT_ID;
+#define SP_IID_0 0x01
+#define SP_IID_1 0x02
+#define SP_IID_2 0x04
+#define SP_IID_3 0x08
/*
* Define serial port fifo control register structure.
@@ -105,6 +72,8 @@ typedef struct _SP_INTERRUPT_ID {
#define SP_FIFO_DMA 0x08
#define SP_FIFO_RXLEVEL 0xc0
+#define SP_FIFO_SIZE 16
+
/*
* Define serial port line control register structure.
*/
@@ -156,9 +125,9 @@ typedef struct _SP_INTERRUPT_ID {
#define SP_LSR_TX 0x40
#define SP_LSR_EFIFO 0x80
-typedef struct _ns16550_context
-{
- uint8_t ucModemCtrl;
+typedef struct {
+ uint8_t ucModemCtrl;
+ int transmitFifoChars;
} ns16550_context;
/*