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