summaryrefslogtreecommitdiff
path: root/sys/arch/vax/include/ka630.h
blob: cd6e32914d958a87c3b2c1868ae51b415719d47b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/*	$OpenBSD: ka630.h,v 1.7 2011/03/23 16:54:37 pirofti Exp $ */
/*	$NetBSD: ka630.h,v 1.5 2000/07/19 01:01:58 matt Exp $ */
/*-
 * Copyright (c) 1986, 1988 The Regents of the University of California.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 *	@(#)uvaxII.h	7.4 (Berkeley) 5/9/91
 */

#ifndef _MACHINE_KA630_H_
#define	_MACHINE_KA630_H_

#define UVAXIISID	((u_long *)0x20040004)
#define UVAXIICPU	((struct uvaxIIcpu *)0x20080000)

#ifndef _LOCORE
struct uvaxIIcpu {
	u_short uvaxII_bdr;
	u_short uvaxII_xxx;
	u_long  uvaxII_mser;
	u_long  uvaxII_cear;
	u_long  uvaxII_dear;
};
#endif

/* Memory system err reg. */
#define	UVAXIIMSER_CD	0x00000300
#define	UVAXIIMSER_NXM	0x00000080
#define	UVAXIIMSER_LPE	0x00000040
#define	UVAXIIMSER_QPE	0x00000020
#define	UVAXIIMSER_MERR	0x000000f0
#define	UVAXIIMSER_CPUE	0x00000060
#define	UVAXIIMSER_DQPE	0x00000010
#define	UVAXIIMSER_LEB	0x00000008
#define	UVAXIIMSER_WRWP	0x00000002
#define	UVAXIIMSER_PEN	0x00000001

/* Mem. error address regs. */
#define	UVAXIICEAR_PG	0x00007fff
#define	UVAXIIDEAR_PG	0x00007fff

/*
 * Definitions specific to the ka630 MicroVAXII Q22 bus cpu card. Includes the
 * tod clock chip and the cpu registers.
 */
#define KA630CLK	((struct ka630clock *)0x200b8000)

/* Bdr register bits */
#define	KA630BDR_PWROK	0x8000
#define	KA630BDR_HLTENB	0x4000
#define	KA630BDR_CPU	0x0c00
#define	KA630BDR_BDG	0x0300
#define	KA630BDR_DSPL	0x000f

/* Clock registers and constants */
#define	MINSEC	60
#define	HRSEC	3600
#define DAYSEC	(HRSEC * 24)
#define YEARSEC	(DAYSEC * 365)

#define	KA630CLK_VRT	0200
#define	KA630CLK_UIP	0200
#define	KA630CLK_RATE	040
#define	KA630CLK_ENABLE	06
#define	KA630CLK_SET	0206
/* cpmbx bits */
#define	KA630CLK_HLTACT	03
/* halt action values */
#define	KA630CLK_RESTRT	01
#define	KA630CLK_REBOOT	02
#define	KA630CLK_HALT	03
#define	KA630CLK_DOTHIS	040
/* in progress flags */
#define	KA630CLK_BOOT	04
#define	KA630CLK_RSTRT	010
#define	KA630CLK_LANG	0360

#ifndef _LOCORE
struct ka630clock {
	u_short	sec;
	u_short	secalrm;
	u_short	min;
	u_short	minalrm;
	u_short	hr;
	u_short	hralrm;
	u_short	dayofwk;
	u_short	day;
	u_short	mon;
	u_short	yr;
	u_short	csr0;
	u_short	csr1;
	u_short	csr2;
	u_short	csr3;
	u_short	cpmbx;	/* CPMBX is used by the boot rom. see ka630-ug-3.3.3 */
};
#endif

#define KA630_NVR_ADRS	0x200B8024
/* Definitions for various locations in the KA630 console page */
#define KA630_PUTC_POLL 0x20
#define KA630_PUTC	0x24
#define KA630_GETC	0x1C
#define KA630_ROW	0x4C
#define KA630_MINROW	0x4D
#define KA630_MAXROW	0x4E
#define KA630_COL	0x50
#define KA630_MINCOL	0x51
#define KA630_MAXCOL	0x52

#endif /* _MACHINE_KA630_H_ */