|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3997 (0xf9d) Types: TextFile Notes: UNIX file Names: »i8251.h«
└─⟦a6ab2eb36⟧ Bits:30004042/kconfig3.imd SW95705I 386/ix Multi-user Release 1.2 └─⟦a6ab2eb36⟧ UNIX Filesystem └─⟦this⟧ »kc/new/usr/include/sys/i8251.h«
/* Copyright (c) 1987 AT&T */ /* All Rights Reserved */ /* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */ /* The copyright notice above does not evidence any */ /* actual or intended publication of such source code. */ /* * INTEL CORPORATION PROPRIETARY INFORMATION * * This software is supplied under the terms of a license * agreement or nondisclosure agreement with Intel Corpo- * ration and may not be copied or disclosed except in * accordance with the terms of that agreement. */ #ident "@(#)i8251.h 1.8 - 87/09/29" #define ISPEED 13 /* initial baud rate of 9600==(13);300==(7)*/ #define MINORMSK 0x1F /* reserve bit 7 ; bit 6 for modem */ #define MODEMMSK 0x40 /* bit 6 of the minor number sets modem op */ /* * Structures for the 8251 USART * ____________________________ * * Commands used for operation and initialization of * USART and PIT * ____________________________ * * Refer to Intel Microsystem Components Handbook for further information * on the 8251 USART and 8254 Programmable Interval Timer * * Device PHYSICAL port layout * Based on Data Block Select * * * Usart I/O functions: * * Write: I/O * Read: I/O * */ struct i8251cfg{ short u_data; short u_cntrl; short t_data; short t_cntrl; short in_intr; short out_intr; char t_number; char b_type; }; /* * Type bits used to determine what the 8251 is mounted on. */ #define N8251TYPES 2 #define T_GENERIC 0 #define T_ONBOARD 1 #define T_iSBC351 2 /* * * 8253/8254 PIT commands * * RATEMD0: read/load timer 0 for mode 3 (baud rate generator) * * U8251SPEED: int constant of 1600 pit count in hex. * */ #define RATEMD0 0x36 #define U8251SPEED 0x0640 /* * 8251 USART command instructions * I001 split instructions into separate bits */ #define S_TXEN 0x01 /* transmitter enable */ #define S_DTR 0x02 /* data terminal ready */ #define S_RXEN 0x04 /* receiver enable */ #define S_SBRK 0x08 /* send break char */ #define S_ER 0x10 /* error reset */ #define S_RTS 0x20 /* request to send */ #define S_IR 0x40 /* internal reset */ #define S_TXRDY 0x01 /* transmitter ready for character */ #define S_RXRDY 0x02 /* receiver has data */ #define S_TXEMPTY 0x04 /* transmit buffer empty */ #define S_PERROR 0x08 /* parity error */ #define S_OVERRUN 0x10 /* overrun */ #define S_FRERROR 0x20 /* framing error */ #define S_BRKDET 0x40 /* input break detect */ #define S_DSRDY 0x80 /* carrier present */ #define S_ERRCOND (S_PERROR|S_OVERRUN|S_FRERROR) /* * 8251 USART mode instructions * I001 split instructions into separate bits */ #define S_BAUDF 0x02 /* baud rate factor = 16x */ #define S_5BPC 0x00 /* 5 bits per char */ #define S_6BPC 0x04 /* 6 bits per char */ #define S_7BPC 0x08 /* 7 bits per char */ #define S_8BPC 0x0C /* 8 bits per char */ #define S_PAREN 0x10 /* parity enable */ #define S_PAREVEN 0x20 /* even parity */ #define S_1STOP 0x40 /* 1 stop bit */ #define S_2STOP 0xC0 /* 2 stop bits */ /* * the following used to be in a file called usart.h. * since the 351 is the only driver that uses this stuff, it's * been moved into this include file. */ /* * Baud rate selection. These go into the clock counter. */ #define US_B38400 2 #define US_B19200 4 #define US_B9600 8 #define US_B4800 16 #define US_B2400 32 #define US_B1800 48 #define US_B1200 64 #define US_B600 128 #define US_B300 256 #define US_B200 384 #define US_B150 512 #define US_B110 698 #define US_B75 1024 #define US_B50 1536 #define US_B0 0 #ifdef VPIX #define AIOC ('A'<<8) #define AIOCINTTYPE (AIOC|60) /* set pseudorupt personality */ #define AIOCDOSMODE (AIOC|61) /* set DOSMODE */ #define AIOCNONDOSMODE (AIOC|62) /* reset DOSMODE */ #define AIOCSETSS (AIOC|65) /* set start/stop chars */ #define AIOCINFO (AIOC|66) /* tell user what device we are */ #endif /* VPIX */