1 1.2 nisimura /* $NetBSD: sfbreg.h,v 1.2 1999/10/20 02:44:48 nisimura Exp $ */ 2 1.1 drochner 3 1.1 drochner /* 4 1.1 drochner * Copyright (c) 1996 Carnegie-Mellon University. 5 1.1 drochner * All rights reserved. 6 1.1 drochner * 7 1.1 drochner * Author: Chris G. Demetriou 8 1.1 drochner * 9 1.1 drochner * Permission to use, copy, modify and distribute this software and 10 1.1 drochner * its documentation is hereby granted, provided that both the copyright 11 1.1 drochner * notice and this permission notice appear in all copies of the 12 1.1 drochner * software, derivative works or modified versions, and any portions 13 1.1 drochner * thereof, and that both notices appear in supporting documentation. 14 1.1 drochner * 15 1.1 drochner * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 16 1.1 drochner * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND 17 1.1 drochner * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 18 1.1 drochner * 19 1.1 drochner * Carnegie Mellon requests users of this software to return to 20 1.1 drochner * 21 1.1 drochner * Software Distribution Coordinator or Software.Distribution (at) CS.CMU.EDU 22 1.1 drochner * School of Computer Science 23 1.1 drochner * Carnegie Mellon University 24 1.1 drochner * Pittsburgh PA 15213-3890 25 1.1 drochner * 26 1.1 drochner * any improvements or extensions that they make and grant Carnegie the 27 1.1 drochner * rights to redistribute these changes. 28 1.1 drochner */ 29 1.1 drochner 30 1.1 drochner /* 31 1.1 drochner * Smart ("CXTurbo") Frame Buffer definitions, from: 32 1.1 drochner * ``DEC 3000 300/400/500/600/700/800/900 AXP Models System Prgrammer's Manual'' 33 1.1 drochner * (DEC order number EK-D3SYS-PM), section 6. 34 1.1 drochner * 35 1.2 nisimura * All definitions are in "dense" TURBOchannel space. 36 1.1 drochner */ 37 1.1 drochner 38 1.1 drochner /* 39 1.1 drochner * Size of the SFB address space. 40 1.1 drochner */ 41 1.1 drochner #define SFB_SIZE 0x1000000 42 1.1 drochner 43 1.1 drochner /* 44 1.1 drochner * Offsets into slot space of each functional unit. 45 1.1 drochner */ 46 1.1 drochner #define SFB_ASIC_OFFSET 0x0100000 /* SFB ASIC Control Registers */ 47 1.1 drochner #define SFB_ASIC_SIZE 0x0020000 48 1.2 nisimura #define SFB_RAMDAC_OFFSET 0x01c0000 /* BrookTree RAMDAC */ 49 1.1 drochner #define SFB_RAMDAC_SIZE 0x0040000 50 1.1 drochner #define SFB_FB_OFFSET 0x0200000 /* Frame buffer */ 51 1.1 drochner #define SFB_FB_SIZE 0x0200000 52 1.1 drochner #define SFB_OSBM_OFFSET 0x0600000 /* Off-screen buffer memory */ 53 1.1 drochner #define SFB_OSBM_SIZE 0x0200000 54 1.1 drochner 55 1.1 drochner /* 56 1.1 drochner * SFB ASIC registers (offsets from SFB_ASIC_OFFSET). 57 1.1 drochner */ 58 1.1 drochner #define SFB_ASIC_COPYBUF_0 0x0000 /* Copy buffer register 0 (R/W) */ 59 1.1 drochner #define SFB_ASIC_COPYBUF_1 0x0004 /* Copy buffer register 1 (R/W) */ 60 1.1 drochner #define SFB_ASIC_COPYBUF_2 0x0008 /* Copy buffer register 2 (R/W) */ 61 1.1 drochner #define SFB_ASIC_COPYBUF_3 0x000c /* Copy buffer register 3 (R/W) */ 62 1.1 drochner #define SFB_ASIC_COPYBUF_4 0x0010 /* Copy buffer register 4 (R/W) */ 63 1.1 drochner #define SFB_ASIC_COPYBUF_5 0x0014 /* Copy buffer register 5 (R/W) */ 64 1.1 drochner #define SFB_ASIC_COPYBUF_6 0x0018 /* Copy buffer register 6 (R/W) */ 65 1.1 drochner #define SFB_ASIC_COPYBUF_7 0x001c /* Copy buffer register 7 (R/W) */ 66 1.1 drochner #define SFB_ASIC_FG 0x0020 /* Foreground (R/W) */ 67 1.1 drochner #define SFB_ASIC_BG 0x0024 /* Background (R/W) */ 68 1.1 drochner #define SFB_ASIC_PLANEMASK 0x0028 /* PlaneMask (R/W) */ 69 1.1 drochner #define SFB_ASIC_PIXELMASK 0x002c /* PixelMask (R/W) */ 70 1.1 drochner #define SFB_ASIC_MODE 0x0030 /* Mode (R/W) */ 71 1.1 drochner #define SFB_ASIC_ROP 0x0034 /* RasterOp (R/W) */ 72 1.1 drochner #define SFB_ASIC_PIXELSHIFT 0x0038 /* PixelShift (R/W) */ 73 1.1 drochner #define SFB_ASIC_ADDRESS 0x003c /* Address (R/W) */ 74 1.1 drochner #define SFB_ASIC_BRES1 0x0040 /* Bresenham register 1 (R/W) */ 75 1.1 drochner #define SFB_ASIC_BRES2 0x0044 /* Bresenham register 2 (R/W) */ 76 1.2 nisimura #define SFB_ASIC_BRES3 0x0048 /* Bresenham register 3 (R/W) */ 77 1.1 drochner #define SFB_ASIC_BCONT 0x004c /* Bcont (W) */ 78 1.1 drochner #define SFB_ASIC_DEEP 0x0050 /* Deep (R/W) */ 79 1.1 drochner #define SFB_ASIC_START 0x0054 /* Start (W) */ 80 1.1 drochner #define SFB_ASIC_CLEAR_INTR 0x0058 /* Clear Interrupt (W) */ 81 1.1 drochner #define SFB_ASIC_VIDEO_REFRESH 0x0060 /* Video refresh counter (R/W) */ 82 1.1 drochner #define SFB_ASIC_VIDEO_HSETUP 0x0064 /* Video horizontal setup (R/W) */ 83 1.1 drochner #define SFB_ASIC_VIDEO_VSETUP 0x0068 /* Video vertical setup (R/W) */ 84 1.1 drochner #define SFB_ASIC_VIDEO_BASE 0x006c /* Video base address (R/W) */ 85 1.1 drochner #define SFB_ASIC_VIDEO_VALID 0x0070 /* Video valid (W) */ 86 1.1 drochner #define SFB_ASIC_ENABLE_INTR 0x0074 /* Enable/Disable Interrupts (W) */ 87 1.1 drochner #define SFB_ASIC_TCCLK 0x0078 /* TCCLK count (R/W) */ 88 1.1 drochner #define SFB_ASIC_VIDCLK 0x007c /* VIDCLK count (R/W) */ 89