home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / unix / armlinux / alpha / PARTITIONS / USR_GZ / usr / include / sys / serial.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-14  |  2.6 KB  |  106 lines

  1. #ifndef SYS_SERIAL_H
  2. #define SYS_SERIAL_H
  3. /*
  4.  * Defines for PC AT serial port.
  5.  */
  6.  
  7. /* 
  8.  * serial port addresses and IRQs
  9.  */
  10.  
  11. #define PORT_0        0x03F8
  12. #define PORT_1        0x02F8
  13. #define IRQ_0        0x04
  14. #define IRQ_1        0x03
  15.  
  16. /*
  17.  * Definitions for INS8250 / 16550  chips
  18.  */
  19.  
  20. /* defined as offsets from the port address (data port) */
  21. #define DAT    0    /* receive/transmit data */
  22. #define ICR    1    /* interrupt control register */
  23. #define ISR    2    /* interrupt status register */
  24. #define LCR    3    /* line control register */
  25. #define MCR    4    /* modem control register */
  26. #define LSR    5    /* line status register */
  27. #define MSR    6    /* modem status register */
  28. #define DLL    0    /* divisor latch (lsb) */
  29. #define DLH    1    /* divisor latch (msb) */
  30.  
  31.  
  32. /* ICR */
  33.  
  34. #define RIEN    0x01    /* enable receiver interrupt */
  35. #define TIEN    0x02    /* enable transmitter interrupt */
  36. #define SIEN    0x04    /* enable receiver line status interrupt */
  37. #define MIEN    0x08    /* enable modem status interrupt */
  38.  
  39.  
  40. /* ISR */
  41.  
  42. #define FFTMOUT    0x0c    /* fifo rcvr timeout */
  43. #define RSTATUS    0x06    /* change in receiver line status */
  44. #define RxRDY    0x04    /* receiver data available */
  45. #define TxRDY    0x02    /* transmitter holding register empty */
  46. #define MSTATUS    0x00    /* change in modem status */
  47.  
  48.  
  49. /* LCR 3 */
  50.  
  51. /* number of data bits per received/transmitted character */
  52. #define RXLEN    0x03
  53. #define STOP1    0x00
  54. #define STOP2    0x04
  55. #define PAREN    0x08
  56. #define PAREVN    0x10
  57. #define PARMARK    0x20
  58. #define SNDBRK    0x40
  59. #define DLAB    0x80
  60.  
  61. /* baud rate definitions */
  62. #define ASY9600    12
  63.  
  64. /* definitions for character length (data bits) in RXLEN field */
  65. #define BITS5    0x00
  66. #define BITS6    0x01
  67. #define BITS7    0x02
  68. #define BITS8    0x03
  69.  
  70. /* MCR */
  71.  
  72. #define DTR    0x01    /* bring up DTR */
  73. #define RTS    0x02    /* bring up RTS */
  74. #define OUT1    0x04
  75. #define OUT2    0x08
  76. #define LOOP    0x10    /* put chip into loopback state */
  77.  
  78.  
  79. /* LSR */
  80.  
  81. #define RCA    0x01    /* receive char available */
  82. #define OVRRUN    0x02    /* receive overrun */
  83. #define PARERR    0x04    /* parity error */
  84. #define FRMERR    0x08    /* framing/CRC error */
  85. #define BRKDET    0x10    /* break detected (null char + frame error) */
  86. #define XHRE    0x20    /* transmit holding register empty */
  87. #define XSRE    0x40    /* transmit shift register empty */
  88.  
  89.  
  90. /* MSR */
  91.  
  92. #define DCTS    0x01    /* CTS has changed state */
  93. #define DDSR    0x02    /* DSR has changed state */
  94. #define DRI    0x04    /* RI has changed state */
  95. #define DDCD    0x08    /* DCD has changed state */
  96. #define CTS    0x10    /* state of CTS */
  97. #define DSR    0x20    /* state of DSR */
  98. #define RI      0x40    /* state of RI */
  99. #define DCD     0x80    /* state of DCD */
  100.  
  101.  
  102. #define DELTAS(x)    ((x)&(DCTS|DDSR|DRI|DDCD))
  103. #define STATES(x)    ((x)(CTS|DSR|RI|DCD))
  104.  
  105. #endif /* SYS_SERIAL_H */
  106.