xref: /NextBSD/sys/dev/ncv/ncr53c500hw.h (revision eb1a5f8de9f7ea602c373a710f531abbf81141c4)
1 /*	$FreeBSD$	*/
2 /*	$NecBSD: ncr53c500hw.h,v 1.6.18.1 2001/06/08 06:27:44 honda Exp $	*/
3 /*	$NetBSD$	*/
4 
5 /*-
6  * [NetBSD for NEC PC-98 series]
7  *  Copyright (c) 1996, 1997, 1998
8  *	NetBSD/pc98 porting staff. All rights reserved.
9  *  Copyright (c) 1996, 1997, 1998
10  *	Naofumi HONDA. All rights reserved.
11  *
12  *  Redistribution and use in source and binary forms, with or without
13  *  modification, are permitted provided that the following conditions
14  *  are met:
15  *  1. Redistributions of source code must retain the above copyright
16  *     notice, this list of conditions and the following disclaimer.
17  *  2. Redistributions in binary form must reproduce the above copyright
18  *     notice, this list of conditions and the following disclaimer in the
19  *     documentation and/or other materials provided with the distribution.
20  *  3. The name of the author may not be used to endorse or promote products
21  *     derived from this software without specific prior written permission.
22  *
23  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
24  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
27  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
31  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33  * POSSIBILITY OF SUCH DAMAGE.
34  */
35 
36 #ifndef	__NCR53C500HW_H_
37 #define	__NCR53C500HW_H_
38 
39 #define	NCV_HOSTID	7
40 #define	NCV_NTARGETS	8
41 #define	NCV_NLUNS	8
42 
43 struct ncv_hw {
44 	/* configuration images */
45 	u_int8_t hw_cfg1;
46 	u_int8_t hw_cfg2;
47 	u_int8_t hw_cfg3;
48 	u_int8_t hw_cfg4;
49 	u_int8_t hw_cfg5;
50 
51 	/* synch */
52 	u_int8_t hw_clk;
53 	u_int8_t hw_mperiod;
54 	u_int8_t hw_moffset;
55 
56 	/* cfg3 quirks */
57 	u_int8_t hw_cfg3_fscsi;
58 	u_int8_t hw_cfg3_fclk;
59 };
60 
61 /* dvcfg */
62 #define	NCV_C5IMG(flags)	((DVCFG_MAJOR(flags) >> 8) & 0xff)
63 #define	NCV_CLKFACTOR(flags)	(DVCFG_MAJOR(flags) & 0x0f)
64 #define	NCVHWCFG_MAX10M		0x01
65 #define	NCVHWCFG_SCSI1		0x02
66 #define	NCVHWCFG_SLOW		0x04
67 #define	NCVHWCFG_FIFOBUG	0x08
68 #define	NCV_SPECIAL(flags)	((DVCFG_MAJOR(flags) >> 4) & 0x0f)
69 #endif	/* !__NCR53C500HW_H_ */
70