1 /* $NetBSD: lcgreg.h,v 1.1 2000/04/24 17:09:03 matt Exp $ */ 2 3 /*- 4 * Copyright (c) 2000 The NetBSD Foundation, Inc. 5 * All rights reserved. 6 * 7 * This code is derived from software contributed to The NetBSD Foundation 8 * by Matt Thomas of 3am Software Foundry. 9 * 10 * Redistribution and use in source and binary forms, with or without 11 * modification, are permitted provided that the following conditions 12 * are met: 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 2. Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in the 17 * documentation and/or other materials provided with the distribution. 18 * 3. All advertising materials mentioning features or use of this software 19 * must display the following acknowledgement: 20 * This product includes software developed by the NetBSD 21 * Foundation, Inc. and its contributors. 22 * 4. Neither the name of The NetBSD Foundation nor the names of its 23 * contributors may be used to endorse or promote products derived 24 * from this software without specific prior written permission. 25 * 26 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 27 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 28 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 29 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 30 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 33 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 34 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 35 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 36 * POSSIBILITY OF SUCH DAMAGE. 37 */ 38 39 #ifndef _VAX_LCGREG_H 40 #define _VAX_LCGREG_H 41 42 /* The registers of the LCG used in the VS4000/60 and VS4000/VLC. 43 * All relative to 0x20100000 44 */ 45 46 /* Memory Control, Flow Control, Configration Registers 47 */ 48 #define LCG_REG_MEM_CONFIG 0x001800 49 #define LCG_REG_MEM_STATUS 0x001804 50 #define LCG_REG_MEM_CURRENT_STATE 0x001808 51 #define LCG_REG_MEM_ERROR 0x00180c 52 #define LCG_REG_SLOW_CONTROL_STATUS 0x001810 53 54 /* Video Control Registers 55 */ 56 #define LCG_REG_VIDEO_CONFIG 0x001e00 57 #define LCG_REG_VIDEO_HTIMING 0x001e10 58 #define LCG_REG_VIDEO_VTIMING 0x001e14 59 #define LCG_REG_VIDEO_TIMING 0x001e18 60 #define LCG_REG_VIDEO_X 0x000e30 61 #define LCG_REG_VIDEO_Y 0x000e30 62 #define LCG_REG_VIDEO_REFRESH_BASE 0x000e34 63 #define LCG_REG_VIDEO_REFRESH_SHIFT 0x000e40 64 #define LCG_REG_VIDEO_LUT_LOAD_COUNT 0x000e40 65 #define LCG_REG_CURSOR_SCANLINE_LW0 0x000e50 66 #define LCG_REG_CURSOR_SCANLINE_LW1 0x000e54 67 #define LCG_REG_CURSOR_SCANLINE_LW2 0x000e58 68 #define LCG_REG_CURSOR_SCANLINE_LW3 0x000e5c 69 #define LCG_REG_CURSOR_BASE 0x000e80 70 #define LCG_REG_CURSOR_XY 0x000e84 71 #define LCG_REG_CURSOR_X 0x000e84 72 #define LCG_REG_CURSOR_Y 0x000e84 73 #define LCG_REG_LUT_CONSOLE_SEL 0x000ee0 74 #define LCG_REG_LUT_COLOR_BASE_W 0x0006e4 75 #define LCG_REG_LUT_COLOR_BASE_R 0x0006e4 76 #define LCG_REG_LUT_CONTROL_BASE 0x000ee8 77 #define LCG_REG_VIDEO_COUNTER_TEST 0x000f00 78 #define LCG_REG_MEM_REFRESH_BASE 0x000f04 79 80 /* Graphics Control and VM Registers 81 */ 82 #define LCG_REG_LCG_GO 0x000c80 83 #define LCG_REG_NEXT_ADDRESS 0x001334 84 #define LCG_REG_PA_SPTE_PTE 0x001338 85 #define LCG_REG_TB_INVALIDATE_SINGLE 0x001a00 86 #define LCG_REG_TB_INVALIDATE_ALL 0x001a08 87 #define LCG_REG_TB_INVALIDATE_STATUS 0x001a10 88 #define LCG_REG_TB_STATUS 0x001c00 89 #define LCG_REG_TB_VPN_COUNT 0x001c04 90 #define LCG_REG_TB_DEST_VPN 0x001c14 91 #define LCG_REG_TB_SOURCE_VPN 0x001c18 92 #define LCG_REG_TB_STENCIL_VPN 0x001c1c 93 #define LCG_REG_TB_DEST_DATA_PFN_R 0x001c24 94 #define LCG_REG_TB_DEST_DATA_PFN_W 0x001c24 95 #define LCG_REG_TB_SOURCE_DATA_PFN_R 0x001c28 96 #define LCG_REG_TB_SOURCE_DATA_PFN_W 0x001c28 97 #define LCG_REG_TB_STENCIL_DATA_PFN_R 0x001c2c 98 #define LCG_REG_TB_STENCIL_DATA_PFN_W 0x001c2c 99 #define LCG_REG_TB_DEST_PRE_PFN_R 0x001c34 100 #define LCG_REG_TB_DEST_PRE_PFN_W 0x001c34 101 #define LCG_REG_TB_SOURCE_PTE_PFN_R 0x001c38 102 #define LCG_REG_TB_SOURCE_PTE_PFN_W 0x001c38 103 #define LCG_REG_TB_STENCIL_PTE_PFN_R 0x001c3c 104 #define LCG_REG_TB_STENCIL_PTE_PFN_W 0x001c3c 105 #define LCG_REG_GRAPHICS_CONFIG 0x001c90 106 #define LCG_REG_GRAPHICS_INT_STATUS 0x001c94 107 #define LCG_REG_GRAPHICS_INT_SET_ENABLE 0x001c98 108 #define LCG_REG_GRAPHICS_INT_CLR_ENABLE 0x001c9c 109 #define LCG_REG_GRAPHICS_SUB_STATUS 0x001ca0 110 #define LCG_REG_GRAPHICS_CONTROL 0x001ca4 111 #define LCG_REG_BREAKPT_ADDRESS 0x001cb0 112 #define LCG_REG_BREAKPT_VIRTUAL 0x001cb0 113 #define LCG_REG_WRITE_PROTECT_LOW_HIGH 0x001cc0 114 #define LCG_REG_WRITE_PROTECT_LOW 0x001cc0 115 #define LCG_REG_WRITE_PROTECT_HIGH 0x001cc0 116 #define LCG_REG_MAX_VIRTUAL_ADDRESS 0x002350 117 #define LCG_REG_PA_SPTE_POBR 0x002354 118 119 /* Clip List / Command FIFO Registers 120 */ 121 #define LCG_REG_CLIP_LIST_OFFSET 0x0004e4 122 #define LCG_REG_CLIP_LIST_BASE 0x0004e4 123 #define LCG_REG_CLIP_LIST 0x0004e4 124 #define LCG_REG_FIFO_MASKS 0x000570 125 #define LCG_REG_FIFO_HEAD_OFFSET 0x000574 126 #define LCG_REG_FIFO_BASE 0x000574 127 #define LCG_REG_FIFO_HEAD 0x000574 128 #define LCG_REG_FIFO_TAIL_OFFSET 0x000578 129 #define LCG_REG_FIFO_BASE2 0x000578 130 #define LCG_REG_FIFO_TAIL 0x000578 131 #define LCG_REG_CLIP_LIST_SAVE_OFFSET 0x000ce4 132 #define LCG_REG_FIFO_RESIDUE_LW0 0x000d00 133 #define LCG_REG_FIFO_RESIDUE_LW1 0x000d04 134 #define LCG_REG_FIFO_RESIDUE_LW2 0x000d0c 135 #define LCG_REG_FIFO_LENGTH 0x000d70 136 #define LCG_REG_FIFO_SAVE_HEAD_OFFSET 0x000d74 137 #define LCG_REG_FIFO_WINDOW_BASE 0x080000 138 #define LCG_REG_FIFO_WINDOW_END 0x100000 139 140 /* Graphics Data Buffer and Pixel SLU Registers 141 */ 142 #define LCG_REG_LOGICAL_FUNCTION 0x000220 143 #define LCG_REG_PLANE_MASK 0x000234 144 #define LCG_REG_SOURCE_PLANE_INDEX 0x00026c 145 #define LCG_REG_FOREGROUND_PIXEL 0x0002c0 146 #define LCG_REG_BACKGROUND_PIXEL 0x0004c0 147 #define LCG_REG_GDB_LW0 0x000d80 148 #define LCG_REG_GDB_LW1 0x000d84 149 #define LCG_REG_GDB_LW2 0x000d88 150 #define LCG_REG_GDB_LW3 0x000d8c 151 #define LCG_REG_GDB_LW4 0x000d90 152 #define LCG_REG_GDB_LW5 0x000d94 153 #define LCG_REG_GDB_LW6 0x000d98 154 #define LCG_REG_GDB_LW7 0x000d9c 155 #define LCG_REG_SLU_STATE 0x000da0 156 157 /* Address Generator Registers 158 */ 159 #define LCG_REG_CLIP_MIN_Y 0x000244 160 #define LCG_REG_CLIP_MIN_MAX_X 0x000248 161 #define LCG_REG_CLIP_MIN_X 0x000248 162 #define LCG_REG_CLIP_MAX_X 0x000248 163 #define LCG_REG_CLIP_MAX_Y 0x00024c 164 #define LCG_REG_DEST_X_BIAS 0x000250 165 #define LCG_REG_DEST_Y_ORIGIN 0x000254 166 #define LCG_REG_DEST_Y_STEP 0x000258 167 #define LCG_REG_SOURCE_X_BIAS 0x000260 168 #define LCG_REG_SOURCE_Y_BASE 0x000264 169 #define LCG_REG_SOURCE_Y_STEP_WIDTH 0x000268 170 #define LCG_REG_SOURCE_Y_STEP 0x000268 171 #define LCG_REG_SOURCE_WIDTH 0x000268 172 #define LCG_REG_STENCIL_X_BIAS 0x000270 173 #define LCG_REG_STENCIL_Y_BASE 0x000274 174 #define LCG_REG_STENCIL_Y_STEP 0x000278 175 #define LCG_REG_DEST_Y_BASE 0x000284 176 #define LCG_REG_DEST_X 0x000290 177 #define LCG_REG_DEST_WIDTH_HEIGHT 0x000294 178 #define LCG_REG_DEST_WIDTH 0x000294 179 #define LCG_REG_DEST_HEIGHT 0x000294 180 #define LCG_REG_AG_STATUS2 0x000320 181 #define LCG_REG_AG_CURRENT_STATE 0x000320 182 #define LCG_REG_CURRENT_OPCODE 0x000320 183 #define LCG_REG_OP_ACTION_CODE 0x000320 184 #define LCG_REG_AG_STATUS 0x000324 185 #define LCG_REG_NEXT_X 0x000330 186 #define LCG_REG_CLIP_X_DIFF 0x000330 187 #define LCG_REG_SOURCE_X_BIAS0 0x000460 188 #define LCG_REG_SOURCE_WIDTH0 0x000468 189 #define LCG_REG_DEST_X0 0x000490 190 #define LCG_REG_DEST_WIDTH0 0x000494 191 #define LCG_REG_TILE_ROTATION 0x000660 192 #define LCG_REG_TILE_WIDTH 0x000668 193 194 #endif /* _VAX_LCGREG_H */ 195