]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/dev/nsp/nspvar.h
MFV r328323,328324:
[FreeBSD/FreeBSD.git] / sys / dev / nsp / nspvar.h
1 /*      $FreeBSD$       */
2 /*      $NecBSD: nspvar.h,v 1.7.14.5 2001/06/29 06:27:54 honda Exp $    */
3 /*      $NetBSD$        */
4
5 /*-
6  * SPDX-License-Identifier: BSD-3-Clause
7  *
8  * [NetBSD for NEC PC-98 series]
9  *  Copyright (c) 1998, 1999, 2000, 2001
10  *      NetBSD/pc98 porting staff. All rights reserved.
11  *
12  *  Copyright (c) 1998, 1999, 2000, 2001
13  *      Naofumi HONDA. All rights reserved.
14  * 
15  *  Redistribution and use in source and binary forms, with or without
16  *  modification, are permitted provided that the following conditions
17  *  are met:
18  *  1. Redistributions of source code must retain the above copyright
19  *     notice, this list of conditions and the following disclaimer.
20  *  2. Redistributions in binary form must reproduce the above copyright
21  *     notice, this list of conditions and the following disclaimer in the
22  *     documentation and/or other materials provided with the distribution.
23  *  3. The name of the author may not be used to endorse or promote products
24  *     derived from this software without specific prior written permission.
25  * 
26  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
27  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
28  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
29  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
30  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
31  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
32  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
34  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36  * POSSIBILITY OF SUCH DAMAGE.
37  */
38
39 #ifndef _NSPVAR_H_
40 #define _NSPVAR_H_
41
42 /*****************************************************************
43  * Host adapter structure
44  *****************************************************************/
45 struct nsp_softc {
46         struct scsi_low_softc sc_sclow;         /* generic data */
47
48         int port_rid;
49         int irq_rid;
50         int mem_rid;
51         struct resource *port_res;
52         struct resource *irq_res;
53         struct resource *mem_res;
54
55         void *nsp_intrhand;
56
57         int sc_tmaxcnt;                         /* timeout count */
58         int sc_seltout;                         /* selection timeout counter */
59         int sc_timer;                           /* timer start */
60
61         int sc_suspendio;                       /* SMIT: data suspendio bytes */
62         u_int8_t sc_xfermr;                     /* SMIT: fifo control reg */
63         int sc_dataout_timeout;                 /* data out timeout counter */
64
65         u_int sc_idbit;                         /* host id bit pattern */
66         u_int sc_cnt;                           /* fifo R/W count (host) */
67
68         u_int8_t sc_iclkdiv;                    /* scsi chip clock divisor */
69         u_int8_t sc_clkdiv;                     /* asic chip clock divisor */
70         u_int8_t sc_icr;                        /* interrupt control reg */
71
72         u_int8_t sc_busc;                       /* busc registers */
73         u_int8_t sc_parr;                       /* parity control register */
74 };
75
76 /*****************************************************************
77  * Lun information 
78  *****************************************************************/
79 struct nsp_targ_info {
80         struct targ_info nti_ti;                /* generic lun info */
81
82         u_int8_t nti_reg_syncr;                 /* sync registers per devices */
83         u_int8_t nti_reg_ackwidth;              /* ackwidth per devices */
84 };
85
86 /*****************************************************************
87  * Proto
88  *****************************************************************/
89 int nspprobesubr(struct resource *, u_int);
90 void nspattachsubr(struct nsp_softc *);
91 int nspintr(void *);
92
93 #endif  /* !_NSPVAR_H_ */