1*ce099b40Smartin /* $NetBSD: lcgreg.h,v 1.5 2008/04/28 20:23:39 martin Exp $ */ 27964d803Smatt 37964d803Smatt /*- 47964d803Smatt * Copyright (c) 2000 The NetBSD Foundation, Inc. 57964d803Smatt * All rights reserved. 67964d803Smatt * 77964d803Smatt * This code is derived from software contributed to The NetBSD Foundation 87964d803Smatt * by Matt Thomas of 3am Software Foundry. 97964d803Smatt * 107964d803Smatt * Redistribution and use in source and binary forms, with or without 117964d803Smatt * modification, are permitted provided that the following conditions 127964d803Smatt * are met: 137964d803Smatt * 1. Redistributions of source code must retain the above copyright 147964d803Smatt * notice, this list of conditions and the following disclaimer. 157964d803Smatt * 2. Redistributions in binary form must reproduce the above copyright 167964d803Smatt * notice, this list of conditions and the following disclaimer in the 177964d803Smatt * documentation and/or other materials provided with the distribution. 187964d803Smatt * 197964d803Smatt * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 207964d803Smatt * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 217964d803Smatt * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 227964d803Smatt * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 237964d803Smatt * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 247964d803Smatt * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 257964d803Smatt * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 267964d803Smatt * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 277964d803Smatt * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 287964d803Smatt * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 297964d803Smatt * POSSIBILITY OF SUCH DAMAGE. 307964d803Smatt */ 317964d803Smatt 327964d803Smatt #ifndef _VAX_LCGREG_H 337964d803Smatt #define _VAX_LCGREG_H 347964d803Smatt 357964d803Smatt /* The registers of the LCG used in the VS4000/60 and VS4000/VLC. 367964d803Smatt * All relative to 0x20100000 377964d803Smatt */ 387964d803Smatt 39964859d8Sabs /* Memory Control, Flow Control, Configuration Registers 407964d803Smatt */ 417964d803Smatt #define LCG_REG_MEM_CONFIG 0x001800 427964d803Smatt #define LCG_REG_MEM_STATUS 0x001804 437964d803Smatt #define LCG_REG_MEM_CURRENT_STATE 0x001808 447964d803Smatt #define LCG_REG_MEM_ERROR 0x00180c 457964d803Smatt #define LCG_REG_SLOW_CONTROL_STATUS 0x001810 467964d803Smatt 477964d803Smatt /* Video Control Registers 487964d803Smatt */ 497964d803Smatt #define LCG_REG_VIDEO_CONFIG 0x001e00 507964d803Smatt #define LCG_REG_VIDEO_HTIMING 0x001e10 517964d803Smatt #define LCG_REG_VIDEO_VTIMING 0x001e14 527964d803Smatt #define LCG_REG_VIDEO_TIMING 0x001e18 537964d803Smatt #define LCG_REG_VIDEO_X 0x000e30 547964d803Smatt #define LCG_REG_VIDEO_Y 0x000e30 557964d803Smatt #define LCG_REG_VIDEO_REFRESH_BASE 0x000e34 567964d803Smatt #define LCG_REG_VIDEO_REFRESH_SHIFT 0x000e40 577964d803Smatt #define LCG_REG_VIDEO_LUT_LOAD_COUNT 0x000e40 587964d803Smatt #define LCG_REG_CURSOR_SCANLINE_LW0 0x000e50 597964d803Smatt #define LCG_REG_CURSOR_SCANLINE_LW1 0x000e54 607964d803Smatt #define LCG_REG_CURSOR_SCANLINE_LW2 0x000e58 617964d803Smatt #define LCG_REG_CURSOR_SCANLINE_LW3 0x000e5c 627964d803Smatt #define LCG_REG_CURSOR_BASE 0x000e80 637964d803Smatt #define LCG_REG_CURSOR_XY 0x000e84 647964d803Smatt #define LCG_REG_CURSOR_X 0x000e84 657964d803Smatt #define LCG_REG_CURSOR_Y 0x000e84 667964d803Smatt #define LCG_REG_LUT_CONSOLE_SEL 0x000ee0 677964d803Smatt #define LCG_REG_LUT_COLOR_BASE_W 0x0006e4 687964d803Smatt #define LCG_REG_LUT_COLOR_BASE_R 0x0006e4 697964d803Smatt #define LCG_REG_LUT_CONTROL_BASE 0x000ee8 707964d803Smatt #define LCG_REG_VIDEO_COUNTER_TEST 0x000f00 717964d803Smatt #define LCG_REG_MEM_REFRESH_BASE 0x000f04 727964d803Smatt 737964d803Smatt /* Graphics Control and VM Registers 747964d803Smatt */ 757964d803Smatt #define LCG_REG_LCG_GO 0x000c80 767964d803Smatt #define LCG_REG_NEXT_ADDRESS 0x001334 777964d803Smatt #define LCG_REG_PA_SPTE_PTE 0x001338 787964d803Smatt #define LCG_REG_TB_INVALIDATE_SINGLE 0x001a00 797964d803Smatt #define LCG_REG_TB_INVALIDATE_ALL 0x001a08 807964d803Smatt #define LCG_REG_TB_INVALIDATE_STATUS 0x001a10 817964d803Smatt #define LCG_REG_TB_STATUS 0x001c00 827964d803Smatt #define LCG_REG_TB_VPN_COUNT 0x001c04 837964d803Smatt #define LCG_REG_TB_DEST_VPN 0x001c14 847964d803Smatt #define LCG_REG_TB_SOURCE_VPN 0x001c18 857964d803Smatt #define LCG_REG_TB_STENCIL_VPN 0x001c1c 867964d803Smatt #define LCG_REG_TB_DEST_DATA_PFN_R 0x001c24 877964d803Smatt #define LCG_REG_TB_DEST_DATA_PFN_W 0x001c24 887964d803Smatt #define LCG_REG_TB_SOURCE_DATA_PFN_R 0x001c28 897964d803Smatt #define LCG_REG_TB_SOURCE_DATA_PFN_W 0x001c28 907964d803Smatt #define LCG_REG_TB_STENCIL_DATA_PFN_R 0x001c2c 917964d803Smatt #define LCG_REG_TB_STENCIL_DATA_PFN_W 0x001c2c 927964d803Smatt #define LCG_REG_TB_DEST_PRE_PFN_R 0x001c34 937964d803Smatt #define LCG_REG_TB_DEST_PRE_PFN_W 0x001c34 947964d803Smatt #define LCG_REG_TB_SOURCE_PTE_PFN_R 0x001c38 957964d803Smatt #define LCG_REG_TB_SOURCE_PTE_PFN_W 0x001c38 967964d803Smatt #define LCG_REG_TB_STENCIL_PTE_PFN_R 0x001c3c 977964d803Smatt #define LCG_REG_TB_STENCIL_PTE_PFN_W 0x001c3c 987964d803Smatt #define LCG_REG_GRAPHICS_CONFIG 0x001c90 997964d803Smatt #define LCG_REG_GRAPHICS_INT_STATUS 0x001c94 1007964d803Smatt #define LCG_REG_GRAPHICS_INT_SET_ENABLE 0x001c98 1017964d803Smatt #define LCG_REG_GRAPHICS_INT_CLR_ENABLE 0x001c9c 1027964d803Smatt #define LCG_REG_GRAPHICS_SUB_STATUS 0x001ca0 1037964d803Smatt #define LCG_REG_GRAPHICS_CONTROL 0x001ca4 1047964d803Smatt #define LCG_REG_BREAKPT_ADDRESS 0x001cb0 1057964d803Smatt #define LCG_REG_BREAKPT_VIRTUAL 0x001cb0 1067964d803Smatt #define LCG_REG_WRITE_PROTECT_LOW_HIGH 0x001cc0 1077964d803Smatt #define LCG_REG_WRITE_PROTECT_LOW 0x001cc0 1087964d803Smatt #define LCG_REG_WRITE_PROTECT_HIGH 0x001cc0 1097964d803Smatt #define LCG_REG_MAX_VIRTUAL_ADDRESS 0x002350 1107964d803Smatt #define LCG_REG_PA_SPTE_POBR 0x002354 1117964d803Smatt 1127964d803Smatt /* Clip List / Command FIFO Registers 1137964d803Smatt */ 1147964d803Smatt #define LCG_REG_CLIP_LIST_OFFSET 0x0004e4 1157964d803Smatt #define LCG_REG_CLIP_LIST_BASE 0x0004e4 1167964d803Smatt #define LCG_REG_CLIP_LIST 0x0004e4 1177964d803Smatt #define LCG_REG_FIFO_MASKS 0x000570 1187964d803Smatt #define LCG_REG_FIFO_HEAD_OFFSET 0x000574 1197964d803Smatt #define LCG_REG_FIFO_BASE 0x000574 1207964d803Smatt #define LCG_REG_FIFO_HEAD 0x000574 1217964d803Smatt #define LCG_REG_FIFO_TAIL_OFFSET 0x000578 1227964d803Smatt #define LCG_REG_FIFO_BASE2 0x000578 1237964d803Smatt #define LCG_REG_FIFO_TAIL 0x000578 1247964d803Smatt #define LCG_REG_CLIP_LIST_SAVE_OFFSET 0x000ce4 1257fe25253Smatt #define LCG_REG_FIFO_RESIDUE_LW0 0x000d04 1267fe25253Smatt #define LCG_REG_FIFO_RESIDUE_LW1 0x000d08 1277964d803Smatt #define LCG_REG_FIFO_RESIDUE_LW2 0x000d0c 1287964d803Smatt #define LCG_REG_FIFO_LENGTH 0x000d70 1297964d803Smatt #define LCG_REG_FIFO_SAVE_HEAD_OFFSET 0x000d74 1307964d803Smatt #define LCG_REG_FIFO_WINDOW_BASE 0x080000 1317964d803Smatt #define LCG_REG_FIFO_WINDOW_END 0x100000 1327964d803Smatt 1337964d803Smatt /* Graphics Data Buffer and Pixel SLU Registers 1347964d803Smatt */ 1357964d803Smatt #define LCG_REG_LOGICAL_FUNCTION 0x000220 1367964d803Smatt #define LCG_REG_PLANE_MASK 0x000234 1377964d803Smatt #define LCG_REG_SOURCE_PLANE_INDEX 0x00026c 1387964d803Smatt #define LCG_REG_FOREGROUND_PIXEL 0x0002c0 1397964d803Smatt #define LCG_REG_BACKGROUND_PIXEL 0x0004c0 1407964d803Smatt #define LCG_REG_GDB_LW0 0x000d80 1417964d803Smatt #define LCG_REG_GDB_LW1 0x000d84 1427964d803Smatt #define LCG_REG_GDB_LW2 0x000d88 1437964d803Smatt #define LCG_REG_GDB_LW3 0x000d8c 1447964d803Smatt #define LCG_REG_GDB_LW4 0x000d90 1457964d803Smatt #define LCG_REG_GDB_LW5 0x000d94 1467964d803Smatt #define LCG_REG_GDB_LW6 0x000d98 1477964d803Smatt #define LCG_REG_GDB_LW7 0x000d9c 1487964d803Smatt #define LCG_REG_SLU_STATE 0x000da0 1497964d803Smatt 1507964d803Smatt /* Address Generator Registers 1517964d803Smatt */ 1527964d803Smatt #define LCG_REG_CLIP_MIN_Y 0x000244 1537964d803Smatt #define LCG_REG_CLIP_MIN_MAX_X 0x000248 1547964d803Smatt #define LCG_REG_CLIP_MIN_X 0x000248 1557964d803Smatt #define LCG_REG_CLIP_MAX_X 0x000248 1567964d803Smatt #define LCG_REG_CLIP_MAX_Y 0x00024c 1577964d803Smatt #define LCG_REG_DEST_X_BIAS 0x000250 1587964d803Smatt #define LCG_REG_DEST_Y_ORIGIN 0x000254 1597964d803Smatt #define LCG_REG_DEST_Y_STEP 0x000258 1607964d803Smatt #define LCG_REG_SOURCE_X_BIAS 0x000260 1617964d803Smatt #define LCG_REG_SOURCE_Y_BASE 0x000264 1627964d803Smatt #define LCG_REG_SOURCE_Y_STEP_WIDTH 0x000268 1637964d803Smatt #define LCG_REG_SOURCE_Y_STEP 0x000268 1647964d803Smatt #define LCG_REG_SOURCE_WIDTH 0x000268 1657964d803Smatt #define LCG_REG_STENCIL_X_BIAS 0x000270 1667964d803Smatt #define LCG_REG_STENCIL_Y_BASE 0x000274 1677964d803Smatt #define LCG_REG_STENCIL_Y_STEP 0x000278 1687964d803Smatt #define LCG_REG_DEST_Y_BASE 0x000284 1697964d803Smatt #define LCG_REG_DEST_X 0x000290 1707964d803Smatt #define LCG_REG_DEST_WIDTH_HEIGHT 0x000294 1717964d803Smatt #define LCG_REG_DEST_WIDTH 0x000294 1727964d803Smatt #define LCG_REG_DEST_HEIGHT 0x000294 1737964d803Smatt #define LCG_REG_AG_STATUS2 0x000320 1747964d803Smatt #define LCG_REG_AG_CURRENT_STATE 0x000320 1757964d803Smatt #define LCG_REG_CURRENT_OPCODE 0x000320 1767964d803Smatt #define LCG_REG_OP_ACTION_CODE 0x000320 1777964d803Smatt #define LCG_REG_AG_STATUS 0x000324 1787964d803Smatt #define LCG_REG_NEXT_X 0x000330 1797964d803Smatt #define LCG_REG_CLIP_X_DIFF 0x000330 1807964d803Smatt #define LCG_REG_SOURCE_X_BIAS0 0x000460 1817964d803Smatt #define LCG_REG_SOURCE_WIDTH0 0x000468 1827964d803Smatt #define LCG_REG_DEST_X0 0x000490 1837964d803Smatt #define LCG_REG_DEST_WIDTH0 0x000494 1847964d803Smatt #define LCG_REG_TILE_ROTATION 0x000660 1857964d803Smatt #define LCG_REG_TILE_WIDTH 0x000668 1867964d803Smatt 1877964d803Smatt #endif /* _VAX_LCGREG_H */ 188