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