hpibvar.h revision 1.5 1 1.5 mycroft /* $NetBSD: hpibvar.h,v 1.5 1995/01/07 10:30:13 mycroft Exp $ */
2 1.4 cgd
3 1.1 cgd /*
4 1.3 mycroft * Copyright (c) 1982, 1990, 1993
5 1.3 mycroft * The Regents of the University of California. All rights reserved.
6 1.1 cgd *
7 1.1 cgd * Redistribution and use in source and binary forms, with or without
8 1.1 cgd * modification, are permitted provided that the following conditions
9 1.1 cgd * are met:
10 1.1 cgd * 1. Redistributions of source code must retain the above copyright
11 1.1 cgd * notice, this list of conditions and the following disclaimer.
12 1.1 cgd * 2. Redistributions in binary form must reproduce the above copyright
13 1.1 cgd * notice, this list of conditions and the following disclaimer in the
14 1.1 cgd * documentation and/or other materials provided with the distribution.
15 1.1 cgd * 3. All advertising materials mentioning features or use of this software
16 1.1 cgd * must display the following acknowledgement:
17 1.1 cgd * This product includes software developed by the University of
18 1.1 cgd * California, Berkeley and its contributors.
19 1.1 cgd * 4. Neither the name of the University nor the names of its contributors
20 1.1 cgd * may be used to endorse or promote products derived from this software
21 1.1 cgd * without specific prior written permission.
22 1.1 cgd *
23 1.1 cgd * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24 1.1 cgd * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 1.1 cgd * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 1.1 cgd * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27 1.1 cgd * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 1.1 cgd * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 1.1 cgd * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 1.1 cgd * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 1.1 cgd * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 1.1 cgd * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 1.1 cgd * SUCH DAMAGE.
34 1.1 cgd *
35 1.4 cgd * @(#)hpibvar.h 8.1 (Berkeley) 6/10/93
36 1.1 cgd */
37 1.1 cgd
38 1.1 cgd #define HPIB_IPL(x) ((((x) >> 4) & 0x3) + 3)
39 1.1 cgd
40 1.1 cgd #define HPIBA 32
41 1.1 cgd #define HPIBB 1
42 1.1 cgd #define HPIBC 8
43 1.1 cgd #define HPIBA_BA 21
44 1.1 cgd #define HPIBC_BA 30
45 1.1 cgd #define HPIBA_IPL 3
46 1.1 cgd
47 1.1 cgd #define CSA_BA 0x1F
48 1.1 cgd
49 1.1 cgd #define IDS_WDMA 0x04
50 1.1 cgd #define IDS_WRITE 0x08
51 1.1 cgd #define IDS_IR 0x40
52 1.1 cgd #define IDS_IE 0x80
53 1.1 cgd #define IDS_DMA(x) (1 << (x))
54 1.1 cgd
55 1.5 mycroft #define C_SDC 0x04 /* Selected device clear */
56 1.5 mycroft #define C_SDC_P 0x04 /* with odd parity */
57 1.5 mycroft #define C_DCL 0x14 /* Universal device clear */
58 1.5 mycroft #define C_DCL_P 0x94 /* with odd parity */
59 1.5 mycroft #define C_LAG 0x20 /* Listener address group commands */
60 1.5 mycroft #define C_UNL 0x3f /* Universal unlisten */
61 1.5 mycroft #define C_UNL_P 0xbf /* with odd parity */
62 1.5 mycroft #define C_TAG 0x40 /* Talker address group commands */
63 1.5 mycroft #define C_UNA 0x5e /* Unaddress (master talk address?) */
64 1.5 mycroft #define C_UNA_P 0x5e /* with odd parity */
65 1.5 mycroft #define C_UNT 0x5f /* Universal untalk */
66 1.5 mycroft #define C_UNT_P 0xdf /* with odd parity */
67 1.5 mycroft #define C_SCG 0x60 /* Secondary group commands */
68 1.1 cgd
69 1.1 cgd struct hpib_softc {
70 1.1 cgd struct hp_ctlr *sc_hc;
71 1.1 cgd int sc_flags;
72 1.1 cgd struct devqueue sc_dq;
73 1.1 cgd struct devqueue sc_sq;
74 1.1 cgd int sc_ba;
75 1.1 cgd int sc_type;
76 1.1 cgd char *sc_addr;
77 1.1 cgd int sc_count;
78 1.1 cgd int sc_curcnt;
79 1.1 cgd };
80 1.1 cgd
81 1.1 cgd /* sc_flags */
82 1.1 cgd #define HPIBF_IO 0x1
83 1.1 cgd #define HPIBF_DONE 0x2
84 1.1 cgd #define HPIBF_PPOLL 0x4
85 1.1 cgd #define HPIBF_READ 0x8
86 1.5 mycroft #define HPIBF_TIMO 0x10
87 1.1 cgd #define HPIBF_DMA16 0x8000
88 1.1 cgd
89 1.1 cgd #ifdef KERNEL
90 1.1 cgd extern struct hpib_softc hpib_softc[];
91 1.1 cgd extern caddr_t internalhpib;
92 1.1 cgd extern int hpibtimeout;
93 1.1 cgd extern int hpibdmathresh;
94 1.3 mycroft void fhpibppwatch __P((void *arg));
95 1.3 mycroft void nhpibppwatch __P((void *arg));
96 1.1 cgd #endif
97