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