8250/16450/16550 UART ===================== +---------+-----------------------------+-----------------------------+ | | Write | Read | +=========+=============================+=============================+ | base+0 | Transmit Data Register | Receive Data Register | | | LSB of Divisor Latch | | +---------+-----------------------------+-----------------------------+ | base+1 | Interupt Enable Register | | | | b7-b4: 0 | | | | b3: Modem Status | | | | b2: Receive Line Status | | | | b1: Transmit Register Empty| | | | b0: Receive Register Full | | | | MSB of Divisor Latch | | +---------+-----------------------------+-----------------------------+ | base+2 | FIFO Control Register | Interrupt Status Register | | | 16550 only | 16550 only | | | b7-b6: RCVR trigger | b7: FIFO enabled | | | 1,4,8,14 words received | b6: FIFO enabled | | | before IRQ generated | | | | b5-b4: 0 | | | | b3: DMA mode select | | | | b2: Tx FIFO reset | b5-b4: 0 | | | b1: Rx FIFO reset | b3-b1: Interrupt Priority | | | b0: FIFO enable | b0: Interupt Not Pending | +---------+-----------------------------+-----------------------------+ | base+3 | Line Control Register | | | b7: Divisor Latch Enable | | | b6: Set Break | | | b5: Set Parity | | | b4: Even Parity | | | b3: Parity Enable | | | b2: Stop Bits | | | b1-b0: Word Length | +---------+-----------------------------+-----------------------------+ | base+4 | Modem Control Register | | | b7-b5: 0 | | | b4: Loop Back | | | b3-b2: Auxilary Output | | | b1: RTS | | | b0: DTR | +---------+-----------------------------+-----------------------------+ | base+5 | | Line Status Register | | | | b7: FIFO error | | | | b6: Tx Empty | | | | b5: Tx Holding Empty | | | | b4: Break Interrupt | | | | b3: Framing Error | | | | b2: Parity Error | | | | b1: Overrun Error | | | | b0: Rx Data Ready | +---------+-----------------------------+-----------------------------+ | base+6 | | Modem Status Register | | | | b7: CD | | | | b6: RI | | | | b5: DSR | | | | b4: CTS | | | | b3: Delta CD | | | | b2: Delta RI | | | | b1: Delta DSR | | | | b0: Delta CTS | +---------+-----------------------------+-----------------------------+ | base+7 | Scratchpad Register | Scratchpad Register | +---------+-----------------------------+-----------------------------+