xref: /netbsd-src/sys/arch/vax/include/uvax.h (revision 5e4c038a45edbc7d63b7c2daa76e29f88b64a4e3)
1 /*	$NetBSD: uvax.h,v 1.6 2000/06/02 21:39:54 matt Exp $ */
2 /*
3  * Copyright (c) 1996 Ludd, University of Lule}, Sweden.
4  * All rights reserved.
5  *
6  * This code is derived from software contributed to Ludd by Bertram Barth.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  * 1. Redistributions of source code must retain the above copyright
12  *    notice, this list of conditions and the following disclaimer.
13  * 2. Redistributions in binary form must reproduce the above copyright
14  *    notice, this list of conditions and the following disclaimer in the
15  *    documentation and/or other materials provided with the distribution.
16  * 3. All advertising materials mentioning features or use of this software
17  *    must display the following acknowledgement:
18  *      This product includes software developed at Ludd, University of
19  *      Lule}, Sweden and its contributors.
20  * 4. 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 WARRANTIES
25  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
27  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
28  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
32  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33  */
34 
35 #ifndef _VAX_UVAX_H_
36 #define _VAX_UVAX_H_
37 
38 /*
39  * Generic definitions common on all MicroVAXen clock chip.
40  */
41 #define	uVAX_CLKVRT	0200
42 #define	uVAX_CLKUIP	0200
43 #define	uVAX_CLKRATE	040
44 #define	uVAX_CLKENABLE	06
45 #define	uVAX_CLKSET	0206
46 
47 /* cpmbx bits  */
48 #define	uVAX_CLKHLTACT	03
49 
50 /* halt action values */
51 #define	uVAX_CLKRESTRT	01
52 #define	uVAX_CLKREBOOT	02
53 #define	uVAX_CLKHALT	03
54 
55 /* in progress flags */
56 #define	uVAX_CLKBOOT	04
57 #define	uVAX_CLKRSTRT	010
58 #define	uVAX_CLKLANG	0360
59 
60 /*
61  * Miscellaneous registers common on most VAXststions.
62  */
63 struct vs_cpu {
64         u_long  vc_hltcod;      /* 00 - Halt Code Register */
65         u_long  vc_410mser;	/* 04 - VS2K */
66         u_long  vc_410cear;	/* 08 - VS2K */
67 	u_char	vc_intmsk;	/* 0c - Interrupt mask register */
68 	u_char	vc_vdcorg;	/* 0d - Mono display origin */
69 	u_char	vc_vdcsel;	/* 0e - Video interrupt select */
70 	u_char	vc_intreq;	/* 0f - Interrupt request register */
71 #define	vc_intclr vc_intreq
72         u_short vc_diagdsp;     /* 10 - Diagnostic display register */
73         u_short pad4;		/* 12 */
74         u_long  vc_parctl;      /* 14 - Parity Control Register */
75 #define	vc_bwf0	vc_parctl
76         u_short pad5;		/* 16 */
77         u_short pad6;		/* 18 */
78         u_short vc_diagtimu;	/* 1a - usecond timer KA46 */
79         u_short vc_diagtme;     /* 1c - Diagnostic time register */
80 #define	vc_diagtimm vc_diagtme	/* msecond time KA46 */
81 };
82 #define	PARCTL_DMA	0x1000000
83 #define	PARCTL_CPEN	2
84 #define	PARCTL_DPEN	1
85 
86 #endif
87