/*
COMMPORT.C -- Do not compile this file directly. It is #included by
CCT51+ in order to use the same COMM_PORT decalration in all FlexMode
examples.
*/
UART8250 ins1 = {
BASE_ADDR + U8250_RBR_OFF, /* UART receive buffer reg. offset (1)*/
BASE_ADDR + U8250_THR_OFF, /* UART interrupt enable reg. offset (1)*/
BASE_ADDR + U8250_IER_OFF, /* UART interrupt enable reg. offset (1)*/
BASE_ADDR + U8250_IID_OFF, /* UART interrupt ident. reg. offset (2)*/
BASE_ADDR + U8250_LCR_OFF, /* UART line control register offset (3)*/
BASE_ADDR + U8250_MCR_OFF, /* UART modem control register off (4)*/
BASE_ADDR + U8250_LSR_OFF, /* UART line status register offset (5)*/
BASE_ADDR + U8250_MSR_OFF, /* UART modem status register offset (6)*/
BASE_ADDR + U8250_SR_OFF, /* UART modem status register offset (6)*/
};
COMM_PORT port1 = {
NULL, /* ptr. to start of receive buffer */
NULL, /* ptr. to next available slot in buff */
NULL, /* ptr. to next slot emptied from buff */
NULL, /* ptr. to end of receive buffer */
NULL, /* ptr. to start of TX buffer */
NULL, /* ptr. to next available slot in buff */
NULL, /* ptr. to next slot emptied from buff */
NULL, /* ptr. to end of TX buffer */
{NULL, NULL, NULL, NULL}, /* ptr. to interrupt handlers */
RUNTIME, /* txhold */
/* FLOW CONTROL LARGE DATA (LD) = 52, SMALL DATA (SD) = 30 */
FALSE, /* flag <=> one or more controls on */
FALSE, /* flag <=> high level flow cntrl. on */
DC1, /* XON char (when XON/XOFF enabled) */
DC3, /* XOFF char (when XON/XOFF enabled) */
RUNTIME, /* flow ctl. high water mark */
RUNTIME, /* flow ctl. low water mark */
/* UART SPECIFICS */
BASE_ADDR, /* base address of 8250 UART (0)*/
/* RS-232 INPUTS LD= 70, SD = 46 */
RUNTIME, /* format 7:DCD, 6:RI, 5: DSR, 4:CTS */
RUNTIME, /* TX interrupt handler primed? */
RUNTIME, /* TX must be restarted */
{0}, /* uart structure */
INS8250, /* type of UART */
u8250_init, /* init function */
BASE_ADDR + U8250_RBR_OFF, /* offset of data port from base (0)*/
u8250_rxstat, /* UART receiver status register */
u8250_txstat, /* UART transmitter status register */
u8250_read, /* pointer to received data read fn. */
u8250_write, /* pointer to transmited data send fn. */
NULL, /* address of modem structure */
conoutc, /* local console output function */
NULL, /* printer output */
NULL, /* buffer output */
NULL, /* fn. to restart TX */
/* LINE FORMAT */
DATABITS8, /* RX databits (default) */
DATABITS8, /* TX databits */
PARITY_NONE, /* startup parity */
STOPBITS1, /* startup number of stopbits */
1200L, /* startup baud rate */
/* RS-232 OUTPUTS */
HIGH, /* DTR startup status */
HIGH, /* RTS startup status */
LOW, /* GPO1 startup status */
LOW, /* GPO2 startup status */
/* INTERRUPT-SPECIFIC MEMBERS */
/* RECEIVE */
IRQ4_VECTOR, /* interrupt request line (or NULL) */
2048, /* size (in bytes) of receive buffer */
4, /* interrupt request line */
/* TRANSMIT */
IRQ4_VECTOR, /* interrupt request line (or EOF) */
1024, /* size (in bytes) of TX buffer */
/* RECEIVE DATA FORMAT SPECIFICS */
FALSE, /* flag for input cooked/raw mode */
NULL, /* pointer to array of translation chars*/
FALSE, /* flag for input end-of-line processing*/
FALSE, /* convert case (UPPER, LOWER, NORMAL) */
FALSE, /* ASCII chars only (0-127) */
0, /* time to wait for first byte of str. (ms.) */
40, /* time to wait for a byte (ms.) */
0, /* time to wait after last byte (ms.) */
/* TRANSMITTED DATA TRANSFORMATION SPECIFICS */
FALSE, /* flag for output cooked/raw mode */
NULL, /* pointer to array of translation chars*/
FALSE, /* flag for out end-of-line processing */
FALSE, /* convert case (UPPER, LOWER, NORMAL) */
FALSE, /* ASCII chars. only (0-127) */
0, /* interbyte delay */
0, /* delay imposed by delay character */
'~', /* string char. that imposes delay */
FALSE, /* length of interline delay (ms.) */
LF, /* interline delay character */
/* TRANSLATION FLAGS THAT APPLY TO BOTH TX AND RX */
FALSE, /* Echo flag, bit-encoded */
ESCAPE, /* abort key for XON/XOFF loops */
};