xref: /csrg-svn/sys/vax/uba/psreg.h (revision 7292)
1*7292Ssam /*	psreg.h	4.1	82/06/26	*/
2*7292Ssam 
3*7292Ssam 
4*7292Ssam /*
5*7292Ssam  *	The Real Nitty Gritty Device Registers
6*7292Ssam  */
7*7292Ssam 
8*7292Ssam struct psdevice {
9*7292Ssam 	short int ps_data;		/* data register */
10*7292Ssam 	short int ps_addr;		/* address register */
11*7292Ssam 	short int ps_wcount;		/* word count register */
12*7292Ssam 	short int ps_busaddr;		/* unibus address register */
13*7292Ssam 	short int ps_iostat;		/* io status register */
14*7292Ssam };
15*7292Ssam 
16*7292Ssam /*
17*7292Ssam  *	Possible ioctl's
18*7292Ssam  */
19*7292Ssam 
20*7292Ssam #define PSAUTOREFRESH			(0)
21*7292Ssam #define PSSINGLEREFRESH			(1)
22*7292Ssam #define PSAUTOMAP			(2)
23*7292Ssam #define PSSINGLEMAP			(3)
24*7292Ssam #define PSDOUBLEBUFFER			(4)
25*7292Ssam #define PSSINGLEBUFFER			(5)
26*7292Ssam #define PSWAITREFRESH			(6)
27*7292Ssam #define PSWAITMAP			(7)
28*7292Ssam #define PSWAITHIT			(8)
29*7292Ssam #define PSSTOPREFRESH			(9)
30*7292Ssam #define PSSTOPMAP			(10)
31*7292Ssam #define PSGETADDR			(11)
32*7292Ssam 
33*7292Ssam /*
34*7292Ssam  *	Picture system io status register bits
35*7292Ssam  */
36*7292Ssam 
37*7292Ssam #define DIOREADY	0100000
38*7292Ssam #define PSAHOLD		040000
39*7292Ssam #define PSRESET		020000
40*7292Ssam #define DIORESET	010000
41*7292Ssam #define DMARESET	04000
42*7292Ssam #define PSIE		0400
43*7292Ssam #define DMAREADY	0200
44*7292Ssam #define DMAIE		0100
45*7292Ssam #define PASSIVE		010
46*7292Ssam #define DMAIN		04
47*7292Ssam #define NEXEM		02
48*7292Ssam #define GO		01
49*7292Ssam 
50*7292Ssam /*
51*7292Ssam  *	Picture system memory mapping control registers: SCB 0177400-0177410
52*7292Ssam  */
53*7292Ssam 
54*7292Ssam #define EXMMR_DMA	0177400
55*7292Ssam #define EXMMR_DIO	0177404
56*7292Ssam #define EXMMR_RC	0177405
57*7292Ssam #define EXMMR_MAPOUT	0177406
58*7292Ssam #define EXMMR_MAPIN	0177407
59*7292Ssam #define EXMSR		0177410
60*7292Ssam 
61*7292Ssam /*
62*7292Ssam  *	Extended memory status register bits
63*7292Ssam  */
64*7292Ssam 
65*7292Ssam #define DBERROR		0100000
66*7292Ssam #define SBERROR		040000
67*7292Ssam #define MEMREADY	0200
68*7292Ssam #define DBIE		0100
69*7292Ssam #define MMENBL		02
70*7292Ssam #define INITMEM		01
71*7292Ssam 
72*7292Ssam /*
73*7292Ssam  *	Size of extended memory
74*7292Ssam  */
75*7292Ssam 
76*7292Ssam #define NEXMPAGES	(256*2)
77*7292Ssam #define WORDSPERPAGE	(256)
78*7292Ssam 
79*7292Ssam /*
80*7292Ssam  *	MAP picture processor registers: SCB 0177750-0177753
81*7292Ssam  */
82*7292Ssam 
83*7292Ssam #define MAOL		0177750
84*7292Ssam #define MAOA		0177751
85*7292Ssam #define MAIA		0177752
86*7292Ssam #define MASR		0177753
87*7292Ssam #define MAMSR		0177754
88*7292Ssam 
89*7292Ssam /*
90*7292Ssam  *	MAP status register bits
91*7292Ssam  */
92*7292Ssam 
93*7292Ssam #define PPDONE		0100000
94*7292Ssam #define FIFOFULL	040000
95*7292Ssam #define FIFOEMPTY	020000
96*7292Ssam #define HIT		010000
97*7292Ssam #define IB		04000
98*7292Ssam #define TAKE		02000
99*7292Ssam #define MMODE		01400
100*7292Ssam #define MOSTOPPED	0200
101*7292Ssam #define IOUT		0100
102*7292Ssam #define MAO		040
103*7292Ssam #define MAI		020
104*7292Ssam #define HIT_HOLD	010
105*7292Ssam #define RSR_HOLD	04
106*7292Ssam #define VEC_HOLD	02
107*7292Ssam #define MAP_RESET	01
108*7292Ssam 
109*7292Ssam /*
110*7292Ssam  *	Refresh controller registers: SCB 0177730-0177737
111*7292Ssam  */
112*7292Ssam 
113*7292Ssam #define RFCSN		0177730
114*7292Ssam #define RFSN		0177731
115*7292Ssam #define RFAWA		0177732
116*7292Ssam #define RFAWL		0177733
117*7292Ssam #define RFAIA		0177734
118*7292Ssam #define RFASA		0177735
119*7292Ssam #define RFAIL		0177736
120*7292Ssam #define RFSR		0177737
121*7292Ssam 
122*7292Ssam /*
123*7292Ssam  *	Refresh controller status register bits
124*7292Ssam  */
125*7292Ssam 
126*7292Ssam #define RFSTOPPED	0100000
127*7292Ssam #define RFHOLD		040000
128*7292Ssam #define RFSTART		020000
129*7292Ssam #define AUTOREF		010000
130*7292Ssam #define RFBLANK		04000
131*7292Ssam #define RIGHT		02000
132*7292Ssam #define LGFIFO_FULL	01000
133*7292Ssam #define NOT_EXEC	0200
134*7292Ssam #define SKIPSEG		0100
135*7292Ssam #define WRITEBACK	040
136*7292Ssam #define SEARCH		020
137*7292Ssam #define MATCH_HOLD	010
138*7292Ssam #define MATCH_DEC	04
139*7292Ssam #define SEARCH_MODE	03
140*7292Ssam 
141*7292Ssam /*
142*7292Ssam  *	Interrupt control
143*7292Ssam  */
144*7292Ssam 
145*7292Ssam #define RTCREQ		0177760
146*7292Ssam #define RTCIE		0177761
147*7292Ssam #define SYSREQ		0177762
148*7292Ssam #define SYSIE		0177763
149*7292Ssam #define DEVREQ		0177764
150*7292Ssam #define DEVIE		0177765
151*7292Ssam 
152*7292Ssam /*
153*7292Ssam  *	System interrupt request bits
154*7292Ssam  */
155*7292Ssam 
156*7292Ssam #define LPEN_REQ	0200
157*7292Ssam #define MATCH_REQ	0100
158*7292Ssam #define WBSTOP_REQ	040
159*7292Ssam #define RFSTOP_REQ	020
160*7292Ssam #define MOSTOP_REQ	010
161*7292Ssam #define JUMP_REQ	04
162*7292Ssam #define HIT_REQ		02
163*7292Ssam #define HALT_REQ	01
164*7292Ssam 
165*7292Ssam /*
166*7292Ssam  *	Real-Time Clock registers
167*7292Ssam  */
168*7292Ssam 
169*7292Ssam #define RTCCNT		0177744
170*7292Ssam #define RTCSR		0177745
171*7292Ssam 
172*7292Ssam /*
173*7292Ssam  *	Real-Time Clock status register bits
174*7292Ssam  */
175*7292Ssam 
176*7292Ssam #define HZ120		040
177*7292Ssam #define EXT		020
178*7292Ssam #define SYNC		010
179*7292Ssam #define EXTSEL2		04
180*7292Ssam #define EXTSEL1		02
181*7292Ssam #define RUN		01
182*7292Ssam 
183*7292Ssam /*
184*7292Ssam  *	Control dials a/d registers
185*7292Ssam  */
186*7292Ssam 
187*7292Ssam #define ADDR0		0177500
188*7292Ssam #define ADDR1		0177501
189*7292Ssam #define ADDR2		0177502
190*7292Ssam #define ADDR3		0177503
191*7292Ssam #define ADDR4		0177504
192*7292Ssam #define ADDR5		0177505
193*7292Ssam #define ADDR6		0177506
194*7292Ssam #define ADDR7		0177507
195*7292Ssam 
196*7292Ssam /*
197*7292Ssam  *	Function switches and lights
198*7292Ssam  */
199*7292Ssam 
200*7292Ssam #define FSWR		0177626
201*7292Ssam #define FSLR		0177627
202