diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1995-09-20 15:05:19 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1995-09-20 15:05:19 +0000 |
commit | 486c329f2b4f95dbfefdcbefbe6b25adf7895a94 (patch) | |
tree | e98ee376985db23cf7f6f7da3ba5fe5e63327dbb /c/src/lib/libbsp/m68k/efi68k/include/16550.h | |
parent | Heap changes required some changes in this screen. (diff) | |
download | rtems-486c329f2b4f95dbfefdcbefbe6b25adf7895a94.tar.bz2 |
Actually adding efi bsp's from John Gwynne after forgetting to
commit them.
Diffstat (limited to 'c/src/lib/libbsp/m68k/efi68k/include/16550.h')
-rw-r--r-- | c/src/lib/libbsp/m68k/efi68k/include/16550.h | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/m68k/efi68k/include/16550.h b/c/src/lib/libbsp/m68k/efi68k/include/16550.h new file mode 100644 index 0000000000..d13b5a1fc7 --- /dev/null +++ b/c/src/lib/libbsp/m68k/efi68k/include/16550.h @@ -0,0 +1,120 @@ +/* + *------------------------------------------------------------------- + * + * 16550 -- header file for National Semiconducor's 16550 UART + * + * This file has been created by John S. Gwynne for the efi68k + * project. + * + * Redistribution and use in source and binary forms are permitted + * provided that the following conditions are met: + * 1. Redistribution of source code and documentation must retain + * the above authorship, this list of conditions and the + * following disclaimer. + * 2. The name of the author may not be used to endorse or promote + * products derived from this software without specific prior + * written permission. + * + * This software is provided "AS IS" without warranty of any kind, + * either expressed or implied, including, but not limited to, the + * implied warranties of merchantability, title and fitness for a + * particular purpose. + * + *------------------------------------------------------------------ + * + * $Id$ + */ + +#ifndef _16550_H_ +#define _16550_H_ + +/* base address is the physical location of register 0 */ +#define UART_BASE_ADDRESS 0x0400001 + +/* definitions of register addresses and associate bits */ + +#define RBR (volatile unsigned char * const)(0*2+UART_BASE_ADDRESS) + /* Receiver Buffer Register (w/DLAB=0)*/ + /* 8-bit data */ + +#define THR (volatile unsigned char * const)(0*2+UART_BASE_ADDRESS) + /* Transmitter Holding Register (w/DLAB=0) */ + /* 8-bit data */ + +#define DLL (volatile unsigned char * const)(0*2+UART_BASE_ADDRESS) + /* Divisor Latch (LS) (w/DLAB=1) */ + /* LSB of Divisor */ + +#define DLM (volatile unsigned char * const)(1*2+UART_BASE_ADDRESS) + /* Divisor Latch (MS) (w/DLAB=1) */ + /* MSB of Divisor */ + +#define IER (volatile unsigned char * const)(1*2+UART_BASE_ADDRESS) + /* Interrupt Enable Register (w/DLAB=0) */ +#define ERBFI 0x01 /* Enable Recv Data Available Interrupt */ +#define ETBEI 0x02 /* Enable Trans Holding Reg Empty Inter */ +#define ELSI 0x04 /* Enable Recv Line Status Interrupt */ +#define EDSSI 0x08 /* Enable Modem Status Interrupt */ + +#define IIR (volatile unsigned char * const)(2*2+UART_BASE_ADDRESS) + /* Interrupt Ident Register (read only) */ +#define NIP 0x01 /* No Interrupt Pending */ +#define IID_MASK 0x0e /* Interrupt ID mask */ +#define FE_MASK 0xc0 /* FIFO's Enabled */ + +#define FCR (volatile unsigned char * const)(2*2+UART_BASE_ADDRESS) + /* FIFO Control Register (write only) */ +#define FIFO_E 0x01 /* FIFO Enable */ +#define RFR 0x02 /* RCVR FIFO Reset */ +#define XFR 0x04 /* XMIT FIFO Reset */ +#define DMAMS 0x08 /* DMA Mode Select */ +#define RCVRTG_MASK 0xC0 /* RCVR Triger MSBit/LSBit */ + +#define LCR (volatile unsigned char * const)(3*2+UART_BASE_ADDRESS) + /* Line Control Register */ +#define WLS_MASK 0x03 /* Word Legth Select Mask */ +#define WL_5 0x00 /* 5 bits */ +#define WL_6 0x01 /* 6 bits */ +#define WL_7 0x02 /* 7 bits */ +#define WL_8 0x03 /* 8 bits */ +#define NSB 0x04 /* Number of Stop Bits (set is 2/1.5) */ +#define PEN 0x08 /* Parity Enable */ +#define EPS 0x10 /* Even Parity Select */ +#define STP 0x20 /* Stick Parity */ +#define SETBK 0x40 /* Set Break */ +#define DLAB 0x80 /* Divisor Latch Access Bit */ + +#define MCR (volatile unsigned char * const)(4*2+UART_BASE_ADDRESS) + /* Modem Control Register */ +#define DTR 0x01 /* Data Terminal Ready */ +#define RTS 0x02 /* Request to Send */ +#define OUT1 0x04 /* Out 1 */ +#define OUT2 0x08 /* Out 2 */ +#define LOOP 0x10 /* Loop */ + +#define LSR (volatile unsigned char * const)(5*2+UART_BASE_ADDRESS) + /* Line Status Register */ +#define DR 0x01 /* Data Ready */ +#define OE 0x02 /* Overrun error */ +#define PE 0x04 /* Parity error */ +#define FE 0x08 /* Framing error */ +#define BI 0x10 /* Break Interrupt */ +#define THRE 0x20 /* Transmitter Holding Register */ +#define TEMT 0x40 /* Transmitter Empty */ +#define RCVFIE 0x80 /* Recv FIFO Error */ + +#define MDSR (volatile unsigned char * const)(6*2+UART_BASE_ADDRESS) + /* Modem Status Register */ +#define DCTS 0x01 /* Delta Clear to Send */ +#define DDSR 0x02 /* Delta Data Set Ready */ +#define TERI 0x04 /* Trailing Edge Ring Indicator */ +#define DDCD 0x08 /* Delta Data Carrier Detect */ +#define CTS 0x10 /* Clear to Send */ +#define DSR 0x20 /* Data Set Ready */ +#define RI 0x40 /* Ring Indicator */ +#define DCD 0x80 /* Data Carrier Detect */ + +#define SCR (volatile unsigned char * const)(7*2+UART_BASE_ADDRESS) + /* Scratch Register */ + /* 8-bit register */ +#endif |