Initial import from FreeBSD RELENG_4:
[dragonfly.git] / sys / dev / disk / ncv / ncr53c500hw.h
1 /*      $FreeBSD: src/sys/dev/ncv/ncr53c500hw.h,v 1.1.2.2 2001/07/22 00:21:39 non Exp $ */
2 /*      $NecBSD: ncr53c500hw.h,v 1.6 1998/11/26 01:59:12 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 <machine/dvcfg.h>
40
41 #define NCV_HOSTID      7
42 #define NCV_NTARGETS    8
43 #define NCV_NLUNS       8
44
45 struct 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_ */