16550-compatible UART
More...
Go to the source code of this file.
16550-compatible UART
Definition in file ns16550.h.
◆ NS16550_LEN
Length of register region.
Definition at line 15 of file ns16550.h.
◆ NS16550_THR
Transmitter holding register.
Definition at line 18 of file ns16550.h.
◆ NS16550_RBR
Receiver buffer register.
Definition at line 21 of file ns16550.h.
◆ NS16550_IER
Interrupt enable register.
Definition at line 24 of file ns16550.h.
◆ NS16550_FCR
FIFO control register.
Definition at line 27 of file ns16550.h.
◆ NS16550_FCR_FE
| #define NS16550_FCR_FE 0x01 |
◆ NS16550_LCR
Line control register.
Definition at line 31 of file ns16550.h.
◆ NS16550_LCR_WLS0
| #define NS16550_LCR_WLS0 0x01 |
Word length select bit 0.
Definition at line 32 of file ns16550.h.
◆ NS16550_LCR_WLS1
| #define NS16550_LCR_WLS1 0x02 |
Word length select bit 1.
Definition at line 33 of file ns16550.h.
◆ NS16550_LCR_STB
| #define NS16550_LCR_STB 0x04 |
Number of stop bits.
Definition at line 34 of file ns16550.h.
◆ NS16550_LCR_PEN
| #define NS16550_LCR_PEN 0x08 |
Parity enable.
Definition at line 35 of file ns16550.h.
◆ NS16550_LCR_EPS
| #define NS16550_LCR_EPS 0x10 |
Even parity select.
Definition at line 36 of file ns16550.h.
◆ NS16550_LCR_DLAB
| #define NS16550_LCR_DLAB 0x80 |
Divisor latch access bit.
Definition at line 37 of file ns16550.h.
◆ NS16550_LCR_WORD_LEN
| #define NS16550_LCR_WORD_LEN |
( |
|
x | ) |
( ( (x) - 5 ) << 0 ) |
◆ NS16550_LCR_STOP_BITS
| #define NS16550_LCR_STOP_BITS |
( |
|
x | ) |
( ( (x) - 1 ) << 2 ) |
◆ NS16550_LCR_PARITY
| #define NS16550_LCR_PARITY |
( |
|
x | ) |
( ( (x) - 0 ) << 3 ) |
◆ NS16550_LCR_WPS
| #define NS16550_LCR_WPS |
( |
|
word_len, |
|
|
|
parity, |
|
|
|
stop_bits |
|
) |
| |
Value: NS16550_LCR_PARITY ( (parity) ) | \
NS16550_LCR_STOP_BITS ( (stop_bits) ) )
#define NS16550_LCR_WORD_LEN(x)
Word length.
Calculate line control register value.
- Parameters
-
| word_len | Word length (5-8) |
| parity | Parity (0=none, 1=odd, 3=even) |
| stop_bits | Stop bits (1-2) |
- Return values
-
| lcr | Line control register value |
Definition at line 51 of file ns16550.h.
◆ NS16550_LCR_8N1
Default LCR value: 8 data bits, no parity, one stop bit.
Definition at line 57 of file ns16550.h.
◆ NS16550_MCR
Modem control register.
Definition at line 60 of file ns16550.h.
◆ NS16550_MCR_DTR
| #define NS16550_MCR_DTR 0x01 |
Data terminal ready.
Definition at line 61 of file ns16550.h.
◆ NS16550_MCR_RTS
| #define NS16550_MCR_RTS 0x02 |
Request to send.
Definition at line 62 of file ns16550.h.
◆ NS16550_LSR
Line status register.
Definition at line 65 of file ns16550.h.
◆ NS16550_LSR_DR
| #define NS16550_LSR_DR 0x01 |
◆ NS16550_LSR_THRE
| #define NS16550_LSR_THRE 0x20 |
Transmitter holding reg.
empty
Definition at line 67 of file ns16550.h.
◆ NS16550_LSR_TEMT
| #define NS16550_LSR_TEMT 0x40 |
Transmitter empty.
Definition at line 68 of file ns16550.h.
◆ NS16550_SCR
Scratch register.
Definition at line 71 of file ns16550.h.
◆ NS16550_DLL
Divisor latch (least significant byte)
Definition at line 74 of file ns16550.h.
◆ NS16550_DLM
Divisor latch (most significant byte)
Definition at line 77 of file ns16550.h.
◆ NS16550_CLK_BIT
| #define NS16550_CLK_BIT 16 |
Post-division clock cycles per data bit.
Definition at line 92 of file ns16550.h.
◆ NS16550_CLK_DEFAULT
| #define NS16550_CLK_DEFAULT 1843200 |
Default input clock rate (1.8432 MHz)
Definition at line 95 of file ns16550.h.
◆ FILE_LICENCE()
| FILE_LICENCE |
( |
GPL2_OR_LATER_OR_UBDL |
| ) |
|
◆ ns16550_write()
Dummy COM1 UART for non-x86 platforms.
The architecture-independent config/serial.h header has long included the line
#define COMCONSOLE COM1
which is meaningless on non-x86 platforms where there is no COM1 port. Allow COM1 to be treated as equivalent to "no UART" on non-x86 platforms, to avoid breaking existing build configurations.
Referenced by ns16550_init(), and ns16550_transmit().
◆ ns16550_read()
◆ ns16550_operations