* Copyright (c) 1982, 1986, 1990 Regents of the University of California.
* %sccs.include.redist.c%
* @(#)dcareg.h 7.5 (Berkeley) %G%
#include <hp/dev/iotypes.h> /* XXX */
vu_char dca_pad
[0x800-1];
vu_char dca_data
; /* receive buf or xmit hold */
vu_char dca_ier
; /* interrupt enable */
vu_char dca_iir
; /* (RO) interrupt identify */
#define dca_fifo dca_iir /* (WO) FIFO control */
vu_char dca_cfcr
; /* line control */
vu_char dca_mcr
; /* modem control */
vu_char dca_lsr
; /* line status */
vu_char dca_msr
; /* modem status */
vu_char dca_scr
; /* scratch pad */
vu_char dca_id
; /* 0x01 (read) */
#define dca_reset dca_id /* 0x01 (write) */
vu_char dca_ic
; /* 0x03 */
vu_char dca_ocbrc
; /* 0x05 */
vu_char dca_lcsm
; /* 0x07 */
vu_char dca_data
; /* 0x11 */
vu_char dca_ier
; /* 0x13 */
vu_char dca_iir
; /* 0x15 (read) */
#define dca_fifo dca_iir /* 0x15 (write) */
vu_char dca_cfcr
; /* 0x17 */
vu_char dca_mcr
; /* 0x19 */
vu_char dca_lsr
; /* 0x1B */
vu_char dca_msr
; /* 0x1D */
/* interface reset/id (300 only) */
/* interrupt control (300 only) */
#define DCAIPL(x) ((((x) >> 4) & 3) + 3)
* 16 bit baud rate divisor (lower byte in dca_data, upper in dca_ier)
* NB: This constant is for a 7.3728 clock frequency. The 300 clock
* frequency is 2.4576, giving a constant of 153600.
#define DCABRD(x) (153600 / (x))
#define DCABRD(x) (460800 / (x))
/* interrupt enable register */
/* interrupt identification register */
#define IIR_FIFO_MASK 0xc0 /* set if FIFOs are enabled */
/* fifo control register */
#define FIFO_RCV_RST 0x02
#define FIFO_XMT_RST 0x04
#define FIFO_DMA_MODE 0x08
#define FIFO_TRIGGER_1 0x00
#define FIFO_TRIGGER_4 0x40
#define FIFO_TRIGGER_8 0x80
#define FIFO_TRIGGER_14 0xc0
/* character format control register */
/* modem control register */
#define MCR_LOOPBACK 0x10
/* line status register */
#define LSR_RCV_FIFO 0x80
#define LSR_RCV_MASK 0x1f
/* modem status register */
/* WARNING: Serial console is assumed to be at SC9 */
/* hardwired port addresses */
#define PORT1 ((struct dcadevice *)CORE_RS232_1)
#define PORT2 ((struct dcadevice *)CORE_RS232_2)