Home | History | Annotate | Line # | Download | only in ic
      1 /*	$NetBSD: hayespreg.h,v 1.2 2001/09/04 01:33:14 enami Exp $	*/
      2 
      3 /*-
      4  * Copyright (c) 1995  Sean E. Fagin, John M Vinopal.
      5  *
      6  * Redistribution and use in source and binary forms, with or without
      7  * modification, are permitted provided that the following conditions
      8  * are met:
      9  * 1. Redistributions of source code must retain the above copyright
     10  *    notice, this list of conditions and the following disclaimer.
     11  * 2. Redistributions in binary form must reproduce the above copyright
     12  *    notice, this list of conditions and the following disclaimer in the
     13  *    documentation and/or other materials provided with the distribution.
     14  * 3. Neither the name of the author nor the names of contributors
     15  *    may be used to endorse or promote products derived from this software
     16  *    without specific prior written permission.
     17  *
     18  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
     19  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     21  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
     22  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     23  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     24  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     25  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     26  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     27  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     28  * SUCH DAMAGE.
     29  */
     30 
     31 #ifndef _HAYESPREG_H_
     32 #define	_HAYESPREG_H_
     33 
     34 /*
     35  * Definitions for Hayes ESP serial cards.
     36  */
     37 
     38 /*
     39  * CMD1 and CMD2 are the command ports, offsets from <hayesp_iobase>.
     40  */
     41 #define	HAYESP_CMD1	4
     42 #define	HAYESP_CMD2	5
     43 
     44 /*
     45  * STAT1 and STAT2 are to get return values and status bytes
     46  */
     47 #define	HAYESP_STATUS1	HAYESP_CMD1
     48 #define	HAYESP_STATUS2	HAYESP_CMD2
     49 
     50 /*
     51  * Commands.  Commands are given by writing the command value to
     52  * HAYESP_CMD1 and then writing or reading some number of bytes from
     53  * HAYESP_CMD2 or HAYESP_STATUS2.
     54  */
     55 #define	HAYESP_GETTEST		0x01	/* self-test command (1b+extras) */
     56 #define	HAYESP_GETDIPS		0x02	/* get on-board DIP switches (1b) */
     57 #define	HAYESP_SETFLOWTYPE	0x08	/* set type of flow-control (2b) */
     58 #define	HAYESP_SETRXFLOW	0x0a	/* set Rx FIFO " levels (4b) */
     59 #define	HAYESP_SETMODE		0x10	/* set board mode (1b) */
     60 #define	HAYESP_SETPRESCALER	0x23	/* set UART clock prescaler (1b) */
     61 
     62 /* Mode bits (HAYESP_SETMODE). */
     63 #define	HAYESP_MODE_FIFO	0x02	/* act like a 16550 (compat mode) */
     64 #define	HAYESP_MODE_RTS		0x04	/* use RTS hardware flow control */
     65 #define	HAYESP_MODE_SCALE	0x80	/* scale FIFO trigger levels */
     66 
     67 /* Flow control type bits (HAYESP_SETFLOWTYPE). */
     68 #define	HAYESP_FLOW_RTS	0x04	/* cmd1: local Rx sends RTS flow control */
     69 #define	HAYESP_FLOW_CTS	0x10	/* cmd2: local transmitter responds to CTS */
     70 
     71 /* Used by HAYESP_SETRXFLOW. */
     72 #define	HAYESP_RXHIWMARK	768
     73 #define	HAYESP_RXLOWMARK	512
     74 #define	HAYESP_HIBYTE(w)	(((w) >> 8) & 0xff)
     75 #define	HAYESP_LOBYTE(w)	((w) & 0xff)
     76 
     77 #endif /* !_HAYESPREG_H_ */
     78