xref: /csrg-svn/sys/vax/uba/psreg.h (revision 33103)
123335Smckusick /*
229235Smckusick  * Copyright (c) 1982, 1986 Regents of the University of California.
323335Smckusick  * All rights reserved.  The Berkeley software License Agreement
423335Smckusick  * specifies the terms and conditions for redistribution.
523335Smckusick  *
6*33103Sbostic  *	@(#)psreg.h	7.2 (Berkeley) 12/22/87
723335Smckusick  */
87292Ssam 
97292Ssam 
107292Ssam /*
117292Ssam  *	The Real Nitty Gritty Device Registers
127292Ssam  */
137292Ssam 
147292Ssam struct psdevice {
157292Ssam 	short int ps_data;		/* data register */
167292Ssam 	short int ps_addr;		/* address register */
177292Ssam 	short int ps_wcount;		/* word count register */
187292Ssam 	short int ps_busaddr;		/* unibus address register */
197292Ssam 	short int ps_iostat;		/* io status register */
207292Ssam };
217292Ssam 
227292Ssam /*
237292Ssam  *	Possible ioctl's
247292Ssam  */
25*33103Sbostic #define PSIOAUTOREFRESH		_IO('p', 0)		/* auto refresh */
26*33103Sbostic #define PSIOSINGLEREFRESH	_IO('p', 1)		/* single refresh */
27*33103Sbostic #define PSIOAUTOMAP		_IO('p', 2)		/* auto map */
28*33103Sbostic #define PSIOSINGLEMAP		_IO('p', 3)		/* single map */
29*33103Sbostic #define PSIODOUBLEBUFFER	_IO('p', 4)		/* double buffer */
30*33103Sbostic #define PSIOSINGLEBUFFER	_IO('p', 5)		/* single buffer */
31*33103Sbostic #define PSIOWAITREFRESH		_IO('p', 6)		/* await refresh */
32*33103Sbostic #define PSIOWAITMAP		_IO('p', 7)		/* await map */
33*33103Sbostic #define PSIOWAITHIT		_IO('p', 8)		/* await hit */
34*33103Sbostic #define PSIOSTOPREFRESH		_IO('p', 9)		/* stop refresh */
35*33103Sbostic #define PSIOSTOPMAP		_IO('p',10)		/* stop map */
36*33103Sbostic #define PSIOGETADDR		_IOR('p',11, int)	/* get Unibus address */
37*33103Sbostic #define PSIOTIMEREFRESH		_IO('p',12)		/* time refresh */
387292Ssam 
397292Ssam /*
407292Ssam  *	Picture system io status register bits
417292Ssam  */
427292Ssam 
437292Ssam #define DIOREADY	0100000
447292Ssam #define PSAHOLD		040000
457292Ssam #define PSRESET		020000
467292Ssam #define DIORESET	010000
477292Ssam #define DMARESET	04000
487292Ssam #define PSIE		0400
497292Ssam #define DMAREADY	0200
507292Ssam #define DMAIE		0100
517292Ssam #define PASSIVE		010
527292Ssam #define DMAIN		04
537292Ssam #define NEXEM		02
547292Ssam #define GO		01
557292Ssam 
567292Ssam /*
577292Ssam  *	Picture system memory mapping control registers: SCB 0177400-0177410
587292Ssam  */
597292Ssam 
607292Ssam #define EXMMR_DMA	0177400
617292Ssam #define EXMMR_DIO	0177404
627292Ssam #define EXMMR_RC	0177405
637292Ssam #define EXMMR_MAPOUT	0177406
647292Ssam #define EXMMR_MAPIN	0177407
657292Ssam #define EXMSR		0177410
667292Ssam 
677292Ssam /*
687292Ssam  *	Extended memory status register bits
697292Ssam  */
707292Ssam 
717292Ssam #define DBERROR		0100000
727292Ssam #define SBERROR		040000
737292Ssam #define MEMREADY	0200
747292Ssam #define DBIE		0100
757292Ssam #define MMENBL		02
767292Ssam #define INITMEM		01
777292Ssam 
787292Ssam /*
797292Ssam  *	Size of extended memory
807292Ssam  */
817292Ssam 
827292Ssam #define NEXMPAGES	(256*2)
837292Ssam #define WORDSPERPAGE	(256)
847292Ssam 
857292Ssam /*
867292Ssam  *	MAP picture processor registers: SCB 0177750-0177753
877292Ssam  */
887292Ssam 
897292Ssam #define MAOL		0177750
907292Ssam #define MAOA		0177751
917292Ssam #define MAIA		0177752
927292Ssam #define MASR		0177753
937292Ssam #define MAMSR		0177754
947292Ssam 
957292Ssam /*
967292Ssam  *	MAP status register bits
977292Ssam  */
987292Ssam 
997292Ssam #define PPDONE		0100000
1007292Ssam #define FIFOFULL	040000
1017292Ssam #define FIFOEMPTY	020000
1027292Ssam #define HIT		010000
1037292Ssam #define IB		04000
1047292Ssam #define TAKE		02000
1057292Ssam #define MMODE		01400
1067292Ssam #define MOSTOPPED	0200
1077292Ssam #define IOUT		0100
1087292Ssam #define MAO		040
1097292Ssam #define MAI		020
1107292Ssam #define HIT_HOLD	010
1117292Ssam #define RSR_HOLD	04
1127292Ssam #define VEC_HOLD	02
1137292Ssam #define MAP_RESET	01
1147292Ssam 
1157292Ssam /*
1167292Ssam  *	Refresh controller registers: SCB 0177730-0177737
1177292Ssam  */
1187292Ssam 
1197292Ssam #define RFCSN		0177730
1207292Ssam #define RFSN		0177731
1217292Ssam #define RFAWA		0177732
1227292Ssam #define RFAWL		0177733
1237292Ssam #define RFAIA		0177734
1247292Ssam #define RFASA		0177735
1257292Ssam #define RFAIL		0177736
1267292Ssam #define RFSR		0177737
1277292Ssam 
1287292Ssam /*
1297292Ssam  *	Refresh controller status register bits
1307292Ssam  */
1317292Ssam 
1327292Ssam #define RFSTOPPED	0100000
1337292Ssam #define RFHOLD		040000
1347292Ssam #define RFSTART		020000
1357292Ssam #define AUTOREF		010000
1367292Ssam #define RFBLANK		04000
1377292Ssam #define RIGHT		02000
1387292Ssam #define LGFIFO_FULL	01000
1397292Ssam #define NOT_EXEC	0200
1407292Ssam #define SKIPSEG		0100
1417292Ssam #define WRITEBACK	040
1427292Ssam #define SEARCH		020
1437292Ssam #define MATCH_HOLD	010
1447292Ssam #define MATCH_DEC	04
1457292Ssam #define SEARCH_MODE	03
1467292Ssam 
1477292Ssam /*
1487292Ssam  *	Interrupt control
1497292Ssam  */
1507292Ssam 
1517292Ssam #define RTCREQ		0177760
1527292Ssam #define RTCIE		0177761
1537292Ssam #define SYSREQ		0177762
1547292Ssam #define SYSIE		0177763
1557292Ssam #define DEVREQ		0177764
1567292Ssam #define DEVIE		0177765
1577292Ssam 
1587292Ssam /*
1597292Ssam  *	System interrupt request bits
1607292Ssam  */
1617292Ssam 
1627292Ssam #define LPEN_REQ	0200
1637292Ssam #define MATCH_REQ	0100
1647292Ssam #define WBSTOP_REQ	040
1657292Ssam #define RFSTOP_REQ	020
1667292Ssam #define MOSTOP_REQ	010
1677292Ssam #define JUMP_REQ	04
1687292Ssam #define HIT_REQ		02
1697292Ssam #define HALT_REQ	01
1707292Ssam 
1717292Ssam /*
1727292Ssam  *	Real-Time Clock registers
1737292Ssam  */
1747292Ssam 
1757292Ssam #define RTCCNT		0177744
1767292Ssam #define RTCSR		0177745
1777292Ssam 
1787292Ssam /*
1797292Ssam  *	Real-Time Clock status register bits
1807292Ssam  */
1817292Ssam 
1827292Ssam #define HZ120		040
1837292Ssam #define EXT		020
1847292Ssam #define SYNC		010
1857292Ssam #define EXTSEL2		04
1867292Ssam #define EXTSEL1		02
1877292Ssam #define RUN		01
1887292Ssam 
1897292Ssam /*
1907292Ssam  *	Control dials a/d registers
1917292Ssam  */
1927292Ssam 
1937292Ssam #define ADDR0		0177500
1947292Ssam #define ADDR1		0177501
1957292Ssam #define ADDR2		0177502
1967292Ssam #define ADDR3		0177503
1977292Ssam #define ADDR4		0177504
1987292Ssam #define ADDR5		0177505
1997292Ssam #define ADDR6		0177506
2007292Ssam #define ADDR7		0177507
2017292Ssam 
2027292Ssam /*
2037292Ssam  *	Function switches and lights
2047292Ssam  */
2057292Ssam 
2067292Ssam #define FSWR		0177626
2077292Ssam #define FSLR		0177627
208