[BACK]Return to lcgreg.h CVS log [TXT][DIR] Up to [local] / sys / arch / vax / vsa

Annotation of sys/arch/vax/vsa/lcgreg.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: lcgreg.h,v 1.3 2006/08/22 21:05:03 miod Exp $ */
        !             2: /* $NetBSD: lcgreg.h,v 1.4 2005/12/11 12:19:34 christos Exp $ */
        !             3:
        !             4: /*-
        !             5:  * Copyright (c) 2000 The NetBSD Foundation, Inc.
        !             6:  * All rights reserved.
        !             7:  *
        !             8:  * This code is derived from software contributed to The NetBSD Foundation
        !             9:  * by Matt Thomas of 3am Software Foundry.
        !            10:  *
        !            11:  * Redistribution and use in source and binary forms, with or without
        !            12:  * modification, are permitted provided that the following conditions
        !            13:  * are met:
        !            14:  * 1. Redistributions of source code must retain the above copyright
        !            15:  *    notice, this list of conditions and the following disclaimer.
        !            16:  * 2. Redistributions in binary form must reproduce the above copyright
        !            17:  *    notice, this list of conditions and the following disclaimer in the
        !            18:  *    documentation and/or other materials provided with the distribution.
        !            19:  * 3. All advertising materials mentioning features or use of this software
        !            20:  *    must display the following acknowledgement:
        !            21:  *     This product includes software developed by the NetBSD
        !            22:  *     Foundation, Inc. and its contributors.
        !            23:  * 4. Neither the name of The NetBSD Foundation nor the names of its
        !            24:  *    contributors may be used to endorse or promote products derived
        !            25:  *    from this software without specific prior written permission.
        !            26:  *
        !            27:  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
        !            28:  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
        !            29:  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        !            30:  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
        !            31:  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
        !            32:  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
        !            33:  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
        !            34:  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
        !            35:  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
        !            36:  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
        !            37:  * POSSIBILITY OF SUCH DAMAGE.
        !            38:  */
        !            39:
        !            40: /*
        !            41:  * The registers of the LCG used in the VS4000/60 and VS4000/VLC.
        !            42:  * All relative to 0x20100000
        !            43:  */
        !            44:
        !            45: /* Memory Control, Flow Control, Configuration Registers
        !            46:  */
        !            47: #define        LCG_REG_MEM_CONFIG              0x001800
        !            48: #define        LCG_REG_MEM_STATUS              0x001804
        !            49: #define        LCG_REG_MEM_CURRENT_STATE       0x001808
        !            50: #define        LCG_REG_MEM_ERROR               0x00180c
        !            51: #define        LCG_REG_SLOW_CONTROL_STATUS     0x001810
        !            52:
        !            53: /* Video Control Registers
        !            54:  */
        !            55: #define        LCG_REG_VIDEO_CONFIG            0x001e00
        !            56: #define        VIDEO_VSTATE                            0xc0000000
        !            57: #define        VIDEO_VFRONT_PORCH                      0x00000000
        !            58: #define        VIDEO_VSYNC                             0x40000000
        !            59: #define        VIDEO_VBACK_PORCH                       0x80000000
        !            60: #define        VIDEO_VACTIVE                           0xc0000000
        !            61: #define        VIDEO_HSTATE                            0x30000000
        !            62: #define        VIDEO_HFRONT_PORCH                      0x00000000
        !            63: #define        VIDEO_HSYNC                             0x10000000
        !            64: #define        VIDEO_HBACK_PORCH                       0x20000000
        !            65: #define        VIDEO_HACTIVE                           0x30000000
        !            66: #define        VIDEO_CONSOLE_LUT                       0x02000000
        !            67: #define        VIDEO_CONTROL_LUT                       0x01000000
        !            68: #define        VIDEO_CURSOR_ACTIVE                     0x00400000
        !            69: #define        VIDEO_CURSOR_SCANLINE                   0x003f0000
        !            70: #define        VIDEO_RESET                             0x00008000
        !            71: #define        VIDEO_LUT_LOAD_SIZE                     0x00002000
        !            72: #define        VIDEO_SYNC_ENABLE                       0x00001000
        !            73: #define        VIDEO_LUT_SHIFT_SEL                     0x00000800
        !            74: #define        VIDEO_CLOCK_SEL                         0x00000400
        !            75: #define        VIDEO_MEM_REFRESH_SEL_MASK              0x00000300
        !            76: #define        VIDEO_MEM_REFRESH_SEL_SHIFT     8
        !            77: #define        VIDEO_REFRESH_SEL                       0x000000c0
        !            78: #define        VIDEO_SHIFT_SEL                         0x00000020
        !            79: #define        VIDEO_CURSOR_PIN_TYPE                   0x00000010
        !            80: #define        VIDEO_LUT_LOAD_ENABLE                   0x00000008
        !            81: #define        VIDEO_CURSOR_ENABLE                     0x00000004
        !            82: #define        VIDEO_ENABLE_VIDEO                      0x00000002
        !            83: #define        VIDEO_TIMING_ENABLE                     0x00000001
        !            84: #define        LCG_REG_VIDEO_HTIMING           0x001e10
        !            85: #define        LCG_REG_VIDEO_VTIMING           0x001e14
        !            86: #define        LCG_REG_VIDEO_TIMING            0x001e18
        !            87: #define        LCG_REG_VIDEO_X                 0x000e30
        !            88: #define        LCG_REG_VIDEO_Y                 0x000e30
        !            89: #define        LCG_REG_VIDEO_REFRESH_BASE      0x000e34
        !            90: #define        LCG_REG_VIDEO_REFRESH_SHIFT     0x000e40
        !            91: #define        LCG_REG_VIDEO_LUT_LOAD_COUNT    0x000e40
        !            92: #define        LCG_REG_CURSOR_SCANLINE_LW0     0x000e50
        !            93: #define        LCG_REG_CURSOR_SCANLINE_LW1     0x000e54
        !            94: #define        LCG_REG_CURSOR_SCANLINE_LW2     0x000e58
        !            95: #define        LCG_REG_CURSOR_SCANLINE_LW3     0x000e5c
        !            96: #define        LCG_REG_CURSOR_BASE             0x000e80
        !            97: #define        LCG_REG_CURSOR_XY               0x000e84
        !            98: #define        LCG_REG_CURSOR_X                0x000e84
        !            99: #define        LCG_REG_CURSOR_Y                0x000e84
        !           100: #define        LCG_REG_LUT_CONSOLE_SEL         0x000ee0
        !           101: #define        LUT_SEL_CONSOLE                         0x00000000
        !           102: #define        LUT_SEL_COLOR                           0x00000001
        !           103: #define        LCG_REG_LUT_COLOR_BASE_W        0x0006e4
        !           104: #define        LCG_REG_LUT_COLOR_BASE_R        0x0006e4
        !           105: #define        LCG_REG_LUT_CONTROL_BASE        0x000ee8
        !           106: #define        LCG_REG_VIDEO_COUNTER_TEST      0x000f00
        !           107: #define        LCG_REG_MEM_REFRESH_BASE        0x000f04
        !           108:
        !           109: /* Graphics Control and VM Registers
        !           110:  */
        !           111: #define        LCG_REG_LCG_GO                  0x000c80
        !           112: #define        GO_VM                                   0x00000008
        !           113: #define        GO_AG                                   0x00000002
        !           114: #define        GO_FIFO                                 0x00000001
        !           115: #define        LCG_REG_NEXT_ADDRESS            0x001334
        !           116: #define        LCG_REG_PA_SPTE_PTE             0x001338
        !           117: #define        LCG_REG_TB_INVALIDATE_SINGLE    0x001a00
        !           118: #define        LCG_REG_TB_INVALIDATE_ALL       0x001a08
        !           119: #define        LCG_REG_TB_INVALIDATE_STATUS    0x001a10
        !           120: #define        LCG_REG_TB_STATUS               0x001c00
        !           121: #define        LCG_REG_TB_VPN_COUNT            0x001c04
        !           122: #define        LCG_REG_TB_DEST_VPN             0x001c14
        !           123: #define        LCG_REG_TB_SOURCE_VPN           0x001c18
        !           124: #define        LCG_REG_TB_STENCIL_VPN          0x001c1c
        !           125: #define        LCG_REG_TB_DEST_DATA_PFN_R      0x001c24
        !           126: #define        LCG_REG_TB_DEST_DATA_PFN_W      0x001c24
        !           127: #define        LCG_REG_TB_SOURCE_DATA_PFN_R    0x001c28
        !           128: #define        LCG_REG_TB_SOURCE_DATA_PFN_W    0x001c28
        !           129: #define        LCG_REG_TB_STENCIL_DATA_PFN_R   0x001c2c
        !           130: #define        LCG_REG_TB_STENCIL_DATA_PFN_W   0x001c2c
        !           131: #define        LCG_REG_TB_DEST_PRE_PFN_R       0x001c34
        !           132: #define        LCG_REG_TB_DEST_PRE_PFN_W       0x001c34
        !           133: #define        LCG_REG_TB_SOURCE_PTE_PFN_R     0x001c38
        !           134: #define        LCG_REG_TB_SOURCE_PTE_PFN_W     0x001c38
        !           135: #define        LCG_REG_TB_STENCIL_PTE_PFN_R    0x001c3c
        !           136: #define        LCG_REG_TB_STENCIL_PTE_PFN_W    0x001c3c
        !           137: #define        LCG_REG_GRAPHICS_CONFIG         0x001c90
        !           138: #define        LCG_REG_GRAPHICS_INT_STATUS     0x001c94
        !           139: #define        LCG_REG_GRAPHICS_INT_SET_ENABLE 0x001c98
        !           140: #define        LCG_REG_GRAPHICS_INT_CLR_ENABLE 0x001c9c
        !           141: #define        LCG_REG_GRAPHICS_SUB_STATUS     0x001ca0
        !           142: #define        GSS_AG_BUSY                             0x80000000
        !           143: #define        GSS_SHORT_CIRCUIT                       0x20000000
        !           144: #define        GSS_VALID_PACKET                        0x10000000
        !           145: #define        GSS_1ST_LONGWORD                        0x08000000
        !           146: #define        GSS_FIFO_ARBITRATE                      0x04000000
        !           147: #define        GSS_FIFO_COMMANDER                      0x03000000
        !           148: #define        GSS_AG_BACKWARDS                        0x00800000
        !           149: #define        GSS_AG_VIRTUAL                          0x00400000
        !           150: #define        GSS_AG_ARBITRATE                        0x00200000
        !           151: #define        GSS_AG_READ_ID                          0x00100000
        !           152: #define        GSS_AG_ACCESS_TYPE                      0x000c0000
        !           153: #define        GSS_AG_ACCESS_SIZE                      0x00030000
        !           154: #define        GSS_RESIDUE_LW0                         0x00008000
        !           155: #define        GSS_RESIDUE_LW1                         0x00004000
        !           156: #define        GSS_RESIDUE_LW2                         0x00002000
        !           157: #define        GSS_FIFO_TAIL_BITS                      0x00001800
        !           158: #define        GSS_FIFO_IDU                            0x00000400
        !           159: #define        GSS_EXECUTING_CLIP                      0x00000200
        !           160: #define        GSS_FIFO_BPT_STALL                      0x00000100
        !           161: #define        GSS_FIFO_WFSYNC_STALL                   0x00000080
        !           162: #define        GSS_FIFO_AGBUSY_STALL                   0x00000040
        !           163: #define        GSS_ADRS_BPT_VIRTUAL                    0x00000010
        !           164: #define        GSS_VM                                  0x00000008
        !           165: #define        GSS_FIFO_IDLE                           0x00000004
        !           166: #define        GSS_AG_ACCESS                           0x00000002
        !           167: #define        GSS_FIFO                                0x00000001
        !           168: #define        LCG_REG_GRAPHICS_CONTROL        0x001ca4
        !           169: #define        CTRL_RESET                              0x80000000
        !           170: #define        CTRL_AG                                 0x40000000
        !           171: #define        CTRL_CLIP_LIST                          0x20000000
        !           172: #define        CTRL_FIFO                               0x10000000
        !           173: #define        CTRL_SHORT_CIRCUIT                      0x08000000
        !           174: #define        CTRL_VM                                 0x04000000
        !           175: #define        CTRL_VM_PROTECTION                      0x02000000
        !           176: #define        CTRL_OPT_INTERFACE                      0x01000000
        !           177: #define        CTRL_OPT_TIMEOUT_SEL                    0x00c00000
        !           178: #define        CTRL_OPT_RESET                          0x00200000
        !           179: #define        CTRL_OPTION_NORESET                     0x00100000
        !           180: #define        CTRL_AG_ACCESS_BPT_ARM                  0x00000800
        !           181: #define        CTRL_PACKET_BPT_ARM                     0x00000200
        !           182: #define        CTRL_ADDRESS_BPT_ARM                    0x00000100
        !           183: #define        LCG_REG_BREAKPT_ADDRESS         0x001cb0
        !           184: #define        LCG_REG_BREAKPT_VIRTUAL         0x001cb0
        !           185: #define        LCG_REG_WRITE_PROTECT_LOW_HIGH  0x001cc0
        !           186: #define        LCG_REG_WRITE_PROTECT_LOW       0x001cc0
        !           187: #define        LCG_REG_WRITE_PROTECT_HIGH      0x001cc0
        !           188: #define        LCG_REG_MAX_VIRTUAL_ADDRESS     0x002350
        !           189: #define        LCG_REG_PA_SPTE_POBR            0x002354
        !           190:
        !           191: /* Clip List / Command FIFO Registers
        !           192:  */
        !           193: #define        LCG_REG_CLIP_LIST_OFFSET        0x0004e4
        !           194: #define        LCG_REG_CLIP_LIST_BASE          0x0004e4
        !           195: #define        LCG_REG_CLIP_LIST               0x0004e4
        !           196: #define        LCG_REG_FIFO_MASKS              0x000570
        !           197: #define        FIFO_16K                                0x00000000
        !           198: #define        FIFO_32K                                0x00004000
        !           199: #define        FIFO_64K                                0x0000c000
        !           200: #define        FIFO_AFULL_AT_64                        0x00000000
        !           201: #define        FIFO_AFULL_AT_128                       0x00002000
        !           202: #define        FIFO_AFULL_AT_256                       0x00003000
        !           203: #define        FIFO_AFULL_AT_512                       0x00003800
        !           204: #define        FIFO_AFULL_AT_1024                      0x00003c00
        !           205: #define        FIFO_AFULL_AT_2048                      0x00003e00
        !           206: #define        FIFO_AFULL_AT_4096                      0x00003f00
        !           207: #define        FIFO_AEMPTY_AT_32                       0x00000000
        !           208: #define        FIFO_AEMPTY_AT_64                       0x00000080
        !           209: #define        FIFO_AEMPTY_AT_128                      0x00000040
        !           210: #define        FIFO_AEMPTY_AT_256                      0x00000020
        !           211: #define        FIFO_AEMPTY_AT_512                      0x00000010
        !           212: #define        FIFO_AEMPTY_AT_1024                     0x00000008
        !           213: #define        FIFO_AEMPTY_AT_2048                     0x00000004
        !           214: #define        FIFO_AEMPTY_AT_4096                     0x00000002
        !           215: #define        FIFO_AEMPTY_AT_8192                     0x00000001
        !           216: #define        LCG_REG_FIFO_HEAD_OFFSET        0x000574
        !           217: #define        LCG_REG_FIFO_BASE               0x000574
        !           218: #define        LCG_REG_FIFO_HEAD               0x000574
        !           219: #define        LCG_REG_FIFO_TAIL_OFFSET        0x000578
        !           220: #define        LCG_REG_FIFO_BASE2              0x000578
        !           221: #define        LCG_REG_FIFO_TAIL               0x000578
        !           222: #define        LCG_REG_CLIP_LIST_SAVE_OFFSET   0x000ce4
        !           223: #define        LCG_REG_FIFO_RESIDUE_LW0        0x000d04
        !           224: #define        LCG_REG_FIFO_RESIDUE_LW1        0x000d08
        !           225: #define        LCG_REG_FIFO_RESIDUE_LW2        0x000d0c
        !           226: #define        LCG_REG_FIFO_LENGTH             0x000d70
        !           227: #define        LCG_REG_FIFO_SAVE_HEAD_OFFSET   0x000d74
        !           228: #define        LCG_REG_FIFO_WINDOW_BASE        0x080000
        !           229: #define        LCG_REG_FIFO_WINDOW_END         0x100000
        !           230:
        !           231: /* Graphics Data Buffer and Pixel SLU Registers
        !           232:  */
        !           233: #define        LCG_REG_LOGICAL_FUNCTION        0x000220
        !           234: #define        LCG_REG_PLANE_MASK              0x000234
        !           235: #define        LCG_REG_SOURCE_PLANE_INDEX      0x00026c
        !           236: #define        LCG_REG_FOREGROUND_PIXEL        0x0002c0
        !           237: #define        LCG_REG_BACKGROUND_PIXEL        0x0004c0
        !           238: #define        LCG_REG_GDB_LW0                 0x000d80
        !           239: #define        LCG_REG_GDB_LW1                 0x000d84
        !           240: #define        LCG_REG_GDB_LW2                 0x000d88
        !           241: #define        LCG_REG_GDB_LW3                 0x000d8c
        !           242: #define        LCG_REG_GDB_LW4                 0x000d90
        !           243: #define        LCG_REG_GDB_LW5                 0x000d94
        !           244: #define        LCG_REG_GDB_LW6                 0x000d98
        !           245: #define        LCG_REG_GDB_LW7                 0x000d9c
        !           246: #define        LCG_REG_SLU_STATE               0x000da0
        !           247:
        !           248: /* Address Generator Registers
        !           249:  */
        !           250: #define        LCG_REG_CLIP_MIN_Y              0x000244
        !           251: #define        LCG_REG_CLIP_MIN_MAX_X          0x000248
        !           252: #define        LCG_REG_CLIP_MIN_X              0x000248
        !           253: #define        LCG_REG_CLIP_MAX_X              0x000248
        !           254: #define        LCG_REG_CLIP_MAX_Y              0x00024c
        !           255: #define        LCG_REG_DEST_X_BIAS             0x000250
        !           256: #define        LCG_REG_DEST_Y_ORIGIN           0x000254
        !           257: #define        LCG_REG_DEST_Y_STEP             0x000258
        !           258: #define        LCG_REG_SOURCE_X_BIAS           0x000260
        !           259: #define        LCG_REG_SOURCE_Y_BASE           0x000264
        !           260: #define        LCG_REG_SOURCE_Y_STEP_WIDTH     0x000268
        !           261: #define        LCG_REG_SOURCE_Y_STEP           0x000268
        !           262: #define        LCG_REG_SOURCE_WIDTH            0x000268
        !           263: #define        LCG_REG_STENCIL_X_BIAS          0x000270
        !           264: #define        LCG_REG_STENCIL_Y_BASE          0x000274
        !           265: #define        LCG_REG_STENCIL_Y_STEP          0x000278
        !           266: #define        LCG_REG_DEST_Y_BASE             0x000284
        !           267: #define        LCG_REG_DEST_X                  0x000290
        !           268: #define        LCG_REG_DEST_WIDTH_HEIGHT       0x000294
        !           269: #define        LCG_REG_DEST_WIDTH              0x000294
        !           270: #define        LCG_REG_DEST_HEIGHT             0x000294
        !           271: #define        LCG_REG_AG_STATUS2              0x000320
        !           272: #define        LCG_REG_AG_CURRENT_STATE        0x000320
        !           273: #define        LCG_REG_CURRENT_OPCODE          0x000320
        !           274: #define        LCG_REG_OP_ACTION_CODE          0x000320
        !           275: #define        LCG_REG_AG_STATUS               0x000324
        !           276: #define        LCG_REG_NEXT_X                  0x000330
        !           277: #define        LCG_REG_CLIP_X_DIFF             0x000330
        !           278: #define        LCG_REG_SOURCE_X_BIAS0          0x000460
        !           279: #define        LCG_REG_SOURCE_WIDTH0           0x000468
        !           280: #define        LCG_REG_DEST_X0                 0x000490
        !           281: #define        LCG_REG_DEST_WIDTH0             0x000494
        !           282: #define        LCG_REG_TILE_ROTATION           0x000660
        !           283: #define        LCG_REG_TILE_WIDTH              0x000668
        !           284:
        !           285: /*
        !           286:  * LUT data bits
        !           287:  */
        !           288: #define        LUT_ADRS_REG            0x00    /* write to address register */
        !           289: #define        LUT_COLOR_AUTOINC       0x01    /* write to LUT and autoincrement */

CVSweb