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#include <compat/netbsd/dvcfg.h>
40
41#define	NCV_HOSTID	7
42#define	NCV_NTARGETS	8
43#define	NCV_NLUNS	8
44
45struct ncv_hw {
46	/* configuration images */
47	u_int8_t hw_cfg1;
48	u_int8_t hw_cfg2;
49	u_int8_t hw_cfg3;
50	u_int8_t hw_cfg4;
51	u_int8_t hw_cfg5;
52
53	/* synch */
54	u_int8_t hw_clk;
55	u_int8_t hw_mperiod;
56	u_int8_t hw_moffset;
57
58	/* cfg3 quirks */
59	u_int8_t hw_cfg3_fscsi;
60	u_int8_t hw_cfg3_fclk;
61};
62
63/* dvcfg */
64#define	NCV_C5IMG(flags)	((DVCFG_MAJOR(flags) >> 8) & 0xff)
65#define	NCV_CLKFACTOR(flags)	(DVCFG_MAJOR(flags) & 0x0f)
66#define	NCVHWCFG_MAX10M		0x01
67#define	NCVHWCFG_SCSI1		0x02
68#define	NCVHWCFG_SLOW		0x04
69#define	NCVHWCFG_FIFOBUG	0x08
70#define	NCV_SPECIAL(flags)	((DVCFG_MAJOR(flags) >> 4) & 0x0f)
71#endif	/* !__NCR53C500HW_H_ */
72