xref: /original-bsd/sys/hp300/dev/hpibvar.h (revision 9639f1d4)
1 /*
2  * Copyright (c) 1982, 1990, 1993
3  *	The Regents of the University of California.  All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  *
7  *	@(#)hpibvar.h	8.1 (Berkeley) 06/10/93
8  */
9 
10 #define	HPIB_IPL(x)	((((x) >> 4) & 0x3) + 3)
11 
12 #define	HPIBA		32
13 #define	HPIBB		1
14 #define	HPIBC		8
15 #define	HPIBA_BA	21
16 #define	HPIBC_BA	30
17 #define	HPIBA_IPL	3
18 
19 #define	CSA_BA		0x1F
20 
21 #define	IDS_WDMA	0x04
22 #define	IDS_WRITE	0x08
23 #define	IDS_IR		0x40
24 #define	IDS_IE		0x80
25 #define	IDS_DMA(x)	(1 << (x))
26 
27 #define	C_DCL		0x14
28 #define	C_LAG		0x20
29 #define	C_UNL		0x3f
30 #define	C_TAG		0x40
31 #define	C_UNA		0x5e
32 #define	C_UNT		0x5f
33 #define	C_SCG		0x60
34 
35 struct	hpib_softc {
36 	struct	hp_ctlr *sc_hc;
37 	int	sc_flags;
38 	struct	devqueue sc_dq;
39 	struct	devqueue sc_sq;
40 	int	sc_ba;
41 	int	sc_type;
42 	char	*sc_addr;
43 	int	sc_count;
44 	int	sc_curcnt;
45 };
46 
47 /* sc_flags */
48 #define	HPIBF_IO	0x1
49 #define	HPIBF_DONE	0x2
50 #define	HPIBF_PPOLL	0x4
51 #define	HPIBF_READ	0x8
52 #define	HPIBF_DMA16	0x8000
53 
54 #ifdef KERNEL
55 extern	struct hpib_softc hpib_softc[];
56 extern	caddr_t internalhpib;
57 extern	int hpibtimeout;
58 extern	int hpibdmathresh;
59 void	fhpibppwatch __P((void *arg));
60 void	nhpibppwatch __P((void *arg));
61 #endif
62