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