Home | History | Annotate | Line # | Download | only in pci
machfbreg.h revision 1.4.8.1
      1  1.4.8.1      yamt /*	$NetBSD: machfbreg.h,v 1.4.8.1 2012/10/30 17:21:36 yamt Exp $	*/
      2      1.1  junyoung 
      3      1.1  junyoung /*
      4      1.1  junyoung  * Copyright 1992,1993,1994,1995,1996,1997 by Kevin E. Martin, Chapel Hill, North Carolina.
      5      1.1  junyoung  *
      6      1.1  junyoung  * Permission to use, copy, modify, distribute, and sell this software and
      7      1.1  junyoung  * its documentation for any purpose is hereby granted without fee,
      8      1.1  junyoung  * provided that the above copyright notice appear in all copies and that
      9      1.1  junyoung  * both that copyright notice and this permission notice appear in
     10      1.1  junyoung  * supporting documentation, and that the name of Kevin E. Martin not be
     11      1.1  junyoung  * used in advertising or publicity pertaining to distribution of the
     12      1.1  junyoung  * software without specific, written prior permission.  Kevin E. Martin
     13      1.1  junyoung  * makes no representations about the suitability of this software for any
     14      1.1  junyoung  * purpose.  It is provided "as is" without express or implied warranty.
     15      1.1  junyoung  *
     16      1.1  junyoung  * KEVIN E. MARTIN, RICKARD E. FAITH, AND TIAGO GONS DISCLAIM ALL
     17      1.1  junyoung  * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
     18      1.1  junyoung  * WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE
     19      1.1  junyoung  * AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
     20      1.1  junyoung  * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
     21      1.1  junyoung  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
     22      1.1  junyoung  * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
     23      1.1  junyoung  * SOFTWARE.
     24      1.1  junyoung  *
     25      1.1  junyoung  * Modified for the Mach-8 by Rickard E. Faith (faith (at) cs.unc.edu)
     26      1.1  junyoung  * Modified for the Mach32 by Kevin E. Martin (martin (at) cs.unc.edu)
     27      1.1  junyoung  * Modified for the Mach64 by Kevin E. Martin (martin (at) cs.unc.edu)
     28      1.1  junyoung  */
     29      1.1  junyoung 
     30  1.4.8.1      yamt /* BARs */
     31  1.4.8.1      yamt #define MACH64_BAR_APERTURE	0x10 /* all mach64 have this */
     32  1.4.8.1      yamt #define MACH64_BAR_IO		0x14 /* most mach64 have this */
     33  1.4.8.1      yamt #define MACH64_BAR_MMIO		0x18 /* Rage Pro and newer */
     34  1.4.8.1      yamt 
     35      1.1  junyoung /* NON-GUI MEMORY MAPPED Registers - expressed in BYTE offsets */
     36      1.1  junyoung 
     37      1.1  junyoung #define CRTC_H_TOTAL_DISP       0x0000  /* Dword offset 00 */
     38      1.1  junyoung #define CRTC_H_SYNC_STRT_WID    0x0004  /* Dword offset 01 */
     39      1.1  junyoung #define CRTC_V_TOTAL_DISP       0x0008  /* Dword offset 02 */
     40      1.1  junyoung #define CRTC_V_SYNC_STRT_WID    0x000C  /* Dword offset 03 */
     41      1.1  junyoung #define CRTC_VLINE_CRNT_VLINE   0x0010  /* Dword offset 04 */
     42      1.1  junyoung #define CRTC_OFF_PITCH          0x0014  /* Dword offset 05 */
     43      1.1  junyoung #define CRTC_INT_CNTL           0x0018  /* Dword offset 06 */
     44      1.1  junyoung #define CRTC_GEN_CNTL           0x001C  /* Dword offset 07 */
     45      1.1  junyoung 
     46      1.1  junyoung #define DSP_CONFIG              0x0020  /* Dword offset 08 */
     47      1.1  junyoung #define DSP_ON_OFF              0x0024  /* Dword offset 09 */
     48      1.1  junyoung 
     49      1.1  junyoung #define SHARED_CNTL             0x0038  /* Dword offset 0E */
     50      1.1  junyoung 
     51      1.1  junyoung #define OVR_CLR                 0x0040  /* Dword offset 10 */
     52      1.1  junyoung #define OVR_WID_LEFT_RIGHT      0x0044  /* Dword offset 11 */
     53      1.1  junyoung #define OVR_WID_TOP_BOTTOM      0x0048  /* Dword offset 12 */
     54      1.1  junyoung 
     55      1.1  junyoung #define CUR_CLR0                0x0060  /* Dword offset 18 */
     56      1.1  junyoung #define CUR_CLR1                0x0064  /* Dword offset 19 */
     57      1.1  junyoung #define CUR_OFFSET              0x0068  /* Dword offset 1A */
     58      1.1  junyoung #define CUR_HORZ_VERT_POSN      0x006C  /* Dword offset 1B */
     59      1.1  junyoung #define CUR_HORZ_VERT_OFF       0x0070  /* Dword offset 1C */
     60      1.1  junyoung 
     61      1.1  junyoung #define HW_DEBUG                0x007C  /* Dword offset 1F */
     62      1.1  junyoung 
     63      1.1  junyoung #define SCRATCH_REG0            0x0080  /* Dword offset 20 */
     64      1.1  junyoung #define SCRATCH_REG1            0x0084  /* Dword offset 21 */
     65      1.1  junyoung 
     66      1.1  junyoung #define CLOCK_CNTL              0x0090  /* Dword offset 24 */
     67      1.1  junyoung 
     68      1.1  junyoung #define BUS_CNTL                0x00A0  /* Dword offset 28 */
     69      1.1  junyoung 
     70      1.1  junyoung #define LCD_INDEX               0x00A4  /* Dword offset 29 (LTPro) */
     71      1.1  junyoung #define LCD_DATA                0x00A8  /* Dword offset 2A (LTPro) */
     72      1.1  junyoung 
     73      1.1  junyoung #define MEM_CNTL                0x00B0  /* Dword offset 2C */
     74      1.1  junyoung 
     75      1.1  junyoung #define MEM_VGA_WP_SEL          0x00B4  /* Dword offset 2D */
     76      1.1  junyoung #define MEM_VGA_RP_SEL          0x00B8  /* Dword offset 2E */
     77      1.1  junyoung 
     78      1.1  junyoung #define DAC_REGS                0x00C0  /* Dword offset 30 */
     79      1.1  junyoung #define DAC_WINDEX		0x00C0  /* Dword offset 30 */
     80      1.1  junyoung #define DAC_DATA                0x00C1  /* Dword offset 30 */
     81      1.1  junyoung #define DAC_MASK                0x00C2  /* Dword offset 30 */
     82      1.1  junyoung #define DAC_RINDEX		0x00C3  /* Dword offset 30 */
     83      1.1  junyoung #define DAC_CNTL                0x00C4  /* Dword offset 31 */
     84      1.1  junyoung 
     85      1.1  junyoung #define HORZ_STRETCHING         0x00C8  /* Dword offset 32 (LT) */
     86      1.1  junyoung #define VERT_STRETCHING         0x00CC  /* Dword offset 33 (LT) */
     87      1.1  junyoung 
     88      1.1  junyoung #define GEN_TEST_CNTL           0x00D0  /* Dword offset 34 */
     89      1.1  junyoung 
     90      1.1  junyoung #define LCD_GEN_CNTL            0x00D4  /* Dword offset 35 (LT) */
     91      1.1  junyoung #define POWER_MANAGEMENT        0x00D8  /* Dword offset 36 (LT) */
     92      1.1  junyoung 
     93      1.1  junyoung #define CONFIG_CNTL		0x00DC	/* Dword offset 37 (CT, ET, VT) */
     94      1.1  junyoung #define CONFIG_CHIP_ID          0x00E0  /* Dword offset 38 */
     95      1.1  junyoung #define CONFIG_STAT0            0x00E4  /* Dword offset 39 */
     96      1.1  junyoung #define CONFIG_STAT1            0x00E8  /* Dword offset 3A */
     97      1.1  junyoung 
     98      1.1  junyoung 
     99      1.1  junyoung /* GUI MEMORY MAPPED Registers */
    100      1.1  junyoung 
    101      1.1  junyoung #define DST_OFF_PITCH           0x0100  /* Dword offset 40 */
    102      1.1  junyoung #define DST_X                   0x0104  /* Dword offset 41 */
    103      1.1  junyoung #define DST_Y                   0x0108  /* Dword offset 42 */
    104      1.1  junyoung #define DST_Y_X                 0x010C  /* Dword offset 43 */
    105      1.1  junyoung #define DST_WIDTH               0x0110  /* Dword offset 44 */
    106      1.1  junyoung #define DST_HEIGHT              0x0114  /* Dword offset 45 */
    107      1.1  junyoung #define DST_HEIGHT_WIDTH        0x0118  /* Dword offset 46 */
    108      1.1  junyoung #define DST_X_WIDTH             0x011C  /* Dword offset 47 */
    109      1.1  junyoung #define DST_BRES_LNTH           0x0120  /* Dword offset 48 */
    110      1.1  junyoung #define DST_BRES_ERR            0x0124  /* Dword offset 49 */
    111      1.1  junyoung #define DST_BRES_INC            0x0128  /* Dword offset 4A */
    112      1.1  junyoung #define DST_BRES_DEC            0x012C  /* Dword offset 4B */
    113      1.1  junyoung #define DST_CNTL                0x0130  /* Dword offset 4C */
    114      1.1  junyoung 
    115      1.1  junyoung #define SRC_OFF_PITCH           0x0180  /* Dword offset 60 */
    116      1.1  junyoung #define SRC_X                   0x0184  /* Dword offset 61 */
    117      1.1  junyoung #define SRC_Y                   0x0188  /* Dword offset 62 */
    118      1.1  junyoung #define SRC_Y_X                 0x018C  /* Dword offset 63 */
    119      1.1  junyoung #define SRC_WIDTH1              0x0190  /* Dword offset 64 */
    120      1.1  junyoung #define SRC_HEIGHT1             0x0194  /* Dword offset 65 */
    121      1.1  junyoung #define SRC_HEIGHT1_WIDTH1      0x0198  /* Dword offset 66 */
    122      1.1  junyoung #define SRC_X_START             0x019C  /* Dword offset 67 */
    123      1.1  junyoung #define SRC_Y_START             0x01A0  /* Dword offset 68 */
    124      1.1  junyoung #define SRC_Y_X_START           0x01A4  /* Dword offset 69 */
    125      1.1  junyoung #define SRC_WIDTH2              0x01A8  /* Dword offset 6A */
    126      1.1  junyoung #define SRC_HEIGHT2             0x01AC  /* Dword offset 6B */
    127      1.1  junyoung #define SRC_HEIGHT2_WIDTH2      0x01B0  /* Dword offset 6C */
    128      1.1  junyoung #define SRC_CNTL                0x01B4  /* Dword offset 6D */
    129      1.1  junyoung 
    130      1.1  junyoung #define HOST_DATA0              0x0200  /* Dword offset 80 */
    131      1.1  junyoung #define HOST_DATA1              0x0204  /* Dword offset 81 */
    132      1.1  junyoung #define HOST_DATA2              0x0208  /* Dword offset 82 */
    133      1.1  junyoung #define HOST_DATA3              0x020C  /* Dword offset 83 */
    134      1.1  junyoung #define HOST_DATA4              0x0210  /* Dword offset 84 */
    135      1.1  junyoung #define HOST_DATA5              0x0214  /* Dword offset 85 */
    136      1.1  junyoung #define HOST_DATA6              0x0218  /* Dword offset 86 */
    137      1.1  junyoung #define HOST_DATA7              0x021C  /* Dword offset 87 */
    138      1.1  junyoung #define HOST_DATA8              0x0220  /* Dword offset 88 */
    139      1.1  junyoung #define HOST_DATA9              0x0224  /* Dword offset 89 */
    140      1.1  junyoung #define HOST_DATAA              0x0228  /* Dword offset 8A */
    141      1.1  junyoung #define HOST_DATAB              0x022C  /* Dword offset 8B */
    142      1.1  junyoung #define HOST_DATAC              0x0230  /* Dword offset 8C */
    143      1.1  junyoung #define HOST_DATAD              0x0234  /* Dword offset 8D */
    144      1.1  junyoung #define HOST_DATAE              0x0238  /* Dword offset 8E */
    145      1.1  junyoung #define HOST_DATAF              0x023C  /* Dword offset 8F */
    146      1.1  junyoung #define HOST_CNTL               0x0240  /* Dword offset 90 */
    147      1.1  junyoung 
    148      1.1  junyoung #define PAT_REG0                0x0280  /* Dword offset A0 */
    149      1.1  junyoung #define PAT_REG1                0x0284  /* Dword offset A1 */
    150      1.1  junyoung #define PAT_CNTL                0x0288  /* Dword offset A2 */
    151      1.1  junyoung 
    152      1.1  junyoung #define SC_LEFT                 0x02A0  /* Dword offset A8 */
    153      1.1  junyoung #define SC_RIGHT                0x02A4  /* Dword offset A9 */
    154      1.1  junyoung #define SC_LEFT_RIGHT           0x02A8  /* Dword offset AA */
    155      1.1  junyoung #define SC_TOP                  0x02AC  /* Dword offset AB */
    156      1.1  junyoung #define SC_BOTTOM               0x02B0  /* Dword offset AC */
    157      1.1  junyoung #define SC_TOP_BOTTOM           0x02B4  /* Dword offset AD */
    158      1.1  junyoung 
    159      1.1  junyoung #define DP_BKGD_CLR             0x02C0  /* Dword offset B0 */
    160      1.1  junyoung #define DP_FRGD_CLR             0x02C4  /* Dword offset B1 */
    161      1.1  junyoung #define DP_WRITE_MASK           0x02C8  /* Dword offset B2 */
    162      1.1  junyoung #define DP_CHAIN_MASK           0x02CC  /* Dword offset B3 */
    163      1.1  junyoung #define DP_PIX_WIDTH            0x02D0  /* Dword offset B4 */
    164      1.1  junyoung #define DP_MIX                  0x02D4  /* Dword offset B5 */
    165      1.1  junyoung #define DP_SRC                  0x02D8  /* Dword offset B6 */
    166      1.1  junyoung 
    167      1.1  junyoung #define CLR_CMP_CLR             0x0300  /* Dword offset C0 */
    168      1.1  junyoung #define CLR_CMP_MASK            0x0304  /* Dword offset C1 */
    169      1.1  junyoung #define CLR_CMP_CNTL            0x0308  /* Dword offset C2 */
    170      1.1  junyoung 
    171      1.1  junyoung #define FIFO_STAT               0x0310  /* Dword offset C4 */
    172      1.1  junyoung 
    173      1.1  junyoung #define CONTEXT_MASK            0x0320  /* Dword offset C8 */
    174      1.1  junyoung #define CONTEXT_LOAD_CNTL       0x032C  /* Dword offset CB */
    175      1.1  junyoung 
    176      1.1  junyoung #define GUI_TRAJ_CNTL           0x0330  /* Dword offset CC */
    177      1.1  junyoung #define GUI_STAT                0x0338  /* Dword offset CE */
    178      1.1  junyoung 
    179      1.1  junyoung 
    180      1.1  junyoung /* CRTC control values */
    181      1.1  junyoung 
    182      1.1  junyoung #define CRTC_HSYNC_NEG		0x00200000
    183      1.1  junyoung #define CRTC_VSYNC_NEG		0x00200000
    184      1.1  junyoung 
    185      1.1  junyoung #define CRTC_DBL_SCAN_EN	0x00000001
    186      1.1  junyoung #define CRTC_INTERLACE_EN	0x00000002
    187      1.1  junyoung #define CRTC_HSYNC_DIS		0x00000004
    188      1.1  junyoung #define CRTC_VSYNC_DIS		0x00000008
    189      1.1  junyoung #define CRTC_CSYNC_EN		0x00000010
    190      1.1  junyoung #define CRTC_PIX_BY_2_EN	0x00000020
    191      1.1  junyoung 
    192      1.2  macallan #define CRTC_DISPLAY_DIS        0x00000040
    193      1.2  macallan 
    194      1.1  junyoung #define CRTC_PIX_WIDTH		0x00000700
    195      1.1  junyoung #define CRTC_PIX_WIDTH_4BPP	0x00000100
    196      1.1  junyoung #define CRTC_PIX_WIDTH_8BPP	0x00000200
    197      1.1  junyoung #define CRTC_PIX_WIDTH_15BPP	0x00000300
    198      1.1  junyoung #define CRTC_PIX_WIDTH_16BPP	0x00000400
    199      1.1  junyoung #define CRTC_PIX_WIDTH_24BPP	0x00000500
    200      1.1  junyoung #define CRTC_PIX_WIDTH_32BPP	0x00000600
    201      1.1  junyoung 
    202      1.1  junyoung #define CRTC_BYTE_PIX_ORDER	0x00000800
    203      1.1  junyoung #define CRTC_PIX_ORDER_MSN_LSN	0x00000000
    204      1.1  junyoung #define CRTC_PIX_ORDER_LSN_MSN	0x00000800
    205      1.1  junyoung 
    206      1.1  junyoung #define CRTC_FIFO_LWM		0x000f0000
    207      1.1  junyoung #define CRTC_LOCK_REGS		0x00400000
    208      1.1  junyoung #define CRTC_EXT_DISP_EN	0x01000000
    209      1.1  junyoung #define CRTC_EXT_EN		0x02000000
    210      1.1  junyoung 
    211      1.1  junyoung #define CRTC_CRNT_VLINE		0x07f00000
    212      1.1  junyoung #define CRTC_VBLANK		0x00000001
    213      1.1  junyoung 
    214      1.1  junyoung /* DAC control values */
    215      1.1  junyoung 
    216      1.1  junyoung #define DAC_EXT_SEL_RS2		0x01
    217      1.1  junyoung #define DAC_EXT_SEL_RS3		0x02
    218      1.1  junyoung #define DAC_8BIT_EN		0x00000100
    219      1.1  junyoung #define DAC_PIX_DLY_MASK	0x00000600
    220      1.1  junyoung #define DAC_PIX_DLY_0NS		0x00000000
    221      1.1  junyoung #define DAC_PIX_DLY_2NS		0x00000200
    222      1.1  junyoung #define DAC_PIX_DLY_4NS		0x00000400
    223      1.1  junyoung #define DAC_BLANK_ADJ_MASK	0x00001800
    224      1.1  junyoung #define DAC_BLANK_ADJ_0		0x00000000
    225      1.1  junyoung #define DAC_BLANK_ADJ_1		0x00000800
    226      1.1  junyoung #define DAC_BLANK_ADJ_2		0x00001000
    227      1.1  junyoung 
    228      1.1  junyoung 
    229      1.1  junyoung /* Mix control values */
    230      1.1  junyoung 
    231      1.1  junyoung #define MIX_NOT_DST		0x0000
    232      1.1  junyoung #define MIX_0                   0x0001
    233      1.1  junyoung #define MIX_1                   0x0002
    234      1.1  junyoung #define MIX_DST                 0x0003
    235      1.1  junyoung #define MIX_NOT_SRC             0x0004
    236      1.1  junyoung #define MIX_XOR                 0x0005
    237      1.1  junyoung #define MIX_XNOR                0x0006
    238      1.1  junyoung #define MIX_SRC                 0x0007
    239      1.1  junyoung #define MIX_NAND                0x0008
    240      1.1  junyoung #define MIX_NOT_SRC_OR_DST      0x0009
    241      1.1  junyoung #define MIX_SRC_OR_NOT_DST      0x000a
    242      1.1  junyoung #define MIX_OR                  0x000b
    243      1.1  junyoung #define MIX_AND                 0x000c
    244      1.1  junyoung #define MIX_SRC_AND_NOT_DST     0x000d
    245      1.1  junyoung #define MIX_NOT_SRC_AND_DST     0x000e
    246      1.1  junyoung #define MIX_NOR                 0x000f
    247      1.1  junyoung 
    248      1.1  junyoung /* Maximum engine dimensions */
    249      1.1  junyoung #define ENGINE_MIN_X		0
    250      1.1  junyoung #define ENGINE_MIN_Y		0
    251      1.1  junyoung #define ENGINE_MAX_X		4095
    252      1.1  junyoung #define ENGINE_MAX_Y		16383
    253      1.1  junyoung 
    254      1.1  junyoung /* Mach64 engine bit constants - these are typically ORed together */
    255      1.1  junyoung 
    256      1.1  junyoung /* HW_DEBUG register constants */
    257      1.1  junyoung /* For RagePro only... */
    258      1.1  junyoung #define AUTO_FF_DIS             0x000001000
    259      1.1  junyoung #define AUTO_BLKWRT_DIS         0x000002000
    260      1.1  junyoung 
    261      1.1  junyoung /* BUS_CNTL register constants */
    262  1.4.8.1      yamt #define BUS_APER_REG_DIS        0x00000010	/* register block 0 */
    263  1.4.8.1      yamt #define BUS_EXTRA_PIPE_DIS	0x00000020	/* disable extra pipeline */
    264  1.4.8.1      yamt #define BUS_DISABLE_MASTER	0x00000040	/* disable busmaster */
    265  1.4.8.1      yamt #define BUS_WRITE_ROM_EN	0x00000080	/* write to flash ROM */
    266      1.1  junyoung #define BUS_FIFO_ERR_ACK        0x00200000
    267      1.1  junyoung #define BUS_HOST_ERR_ACK        0x00800000
    268  1.4.8.1      yamt #define BUS_EXT_REG_EN		0x08000000	/* register block 1 */
    269      1.1  junyoung 
    270      1.1  junyoung /* GEN_TEST_CNTL register constants */
    271      1.1  junyoung #define GEN_OVR_OUTPUT_EN       0x20
    272      1.1  junyoung #define HWCURSOR_ENABLE         0x80
    273      1.1  junyoung #define GUI_ENGINE_ENABLE       0x100
    274      1.1  junyoung #define BLOCK_WRITE_ENABLE      0x200
    275      1.1  junyoung 
    276      1.1  junyoung /* DSP_CONFIG register constants */
    277      1.1  junyoung #define DSP_XCLKS_PER_QW        0x00003fff
    278      1.1  junyoung #define DSP_LOOP_LATENCY        0x000f0000
    279      1.1  junyoung #define DSP_PRECISION           0x00700000
    280      1.1  junyoung 
    281      1.1  junyoung /* DSP_ON_OFF register constants */
    282      1.1  junyoung #define DSP_OFF                 0x000007ff
    283      1.1  junyoung #define DSP_ON                  0x07ff0000
    284      1.1  junyoung 
    285      1.1  junyoung /* SHARED_CNTL register constants */
    286      1.1  junyoung #define CTD_FIFO5               0x01000000
    287      1.1  junyoung 
    288      1.1  junyoung /* CLOCK_CNTL register constants */
    289      1.4  macallan #define CLOCK_SEL		0x0000000f
    290      1.4  macallan #define CLOCK_DIV		0x00000030
    291      1.4  macallan #define CLOCK_DIV1		0x00000000
    292      1.4  macallan #define CLOCK_DIV2		0x00000010
    293      1.4  macallan #define CLOCK_DIV4		0x00000020
    294      1.4  macallan #define CLOCK_STROBE		0x00000040
    295      1.4  macallan #define PLL_WR_EN		0x00000200
    296      1.4  macallan #define PLL_ADDR		0x0000fc00
    297      1.4  macallan #define PLL_ADDR_SHIFT		10
    298      1.4  macallan #define PLL_DATA		0x00ff0000
    299      1.4  macallan #define PLL_DATA_SHIFT		16
    300      1.1  junyoung 
    301      1.1  junyoung /* PLL registers */
    302      1.1  junyoung #define PLL_MACRO_CNTL		0x01
    303      1.1  junyoung #define PLL_REF_DIV		0x02
    304      1.1  junyoung #define PLL_GEN_CNTL		0x03
    305      1.1  junyoung #define MCLK_FB_DIV		0x04
    306      1.1  junyoung #define PLL_VCLK_CNTL		0x05
    307      1.4  macallan   #define PLL_VCLK_RESET		0x04
    308      1.1  junyoung #define VCLK_POST_DIV		0x06
    309      1.1  junyoung #define VCLK0_FB_DIV		0x07
    310      1.1  junyoung #define VCLK1_FB_DIV		0x08
    311      1.1  junyoung #define VCLK2_FB_DIV		0x09
    312      1.1  junyoung #define VCLK3_FB_DIV		0x0A
    313      1.1  junyoung #define PLL_XCLK_CNTL		0x0B
    314      1.1  junyoung #define PLL_TEST_CTRL		0x0E
    315      1.1  junyoung #define PLL_TEST_COUNT		0x0F
    316      1.1  junyoung 
    317      1.1  junyoung /* Memory types for CT, ET, VT, GT */
    318      1.1  junyoung #define DRAM			1
    319      1.1  junyoung #define EDO_DRAM		2
    320      1.1  junyoung #define PSEUDO_EDO		3
    321      1.1  junyoung #define SDRAM			4
    322      1.1  junyoung #define SGRAM			5
    323      1.1  junyoung #define SGRAM32			6
    324      1.1  junyoung 
    325      1.1  junyoung #define DAC_INTERNAL		0x00
    326      1.1  junyoung #define DAC_IBMRGB514		0x01
    327      1.1  junyoung #define DAC_ATI68875		0x02
    328      1.1  junyoung #define DAC_TVP3026_A		0x72
    329      1.1  junyoung #define DAC_BT476		0x03
    330      1.1  junyoung #define DAC_BT481		0x04
    331      1.1  junyoung #define DAC_ATT20C491		0x14
    332      1.1  junyoung #define DAC_SC15026		0x24
    333      1.1  junyoung #define DAC_MU9C1880		0x34
    334      1.1  junyoung #define DAC_IMSG174		0x44
    335      1.1  junyoung #define DAC_ATI68860_B		0x05
    336      1.1  junyoung #define DAC_ATI68860_C		0x15
    337      1.1  junyoung #define DAC_TVP3026_B		0x75
    338      1.1  junyoung #define DAC_STG1700		0x06
    339      1.1  junyoung #define DAC_ATT498		0x16
    340      1.1  junyoung #define DAC_STG1702		0x07
    341      1.1  junyoung #define DAC_SC15021		0x17
    342      1.1  junyoung #define DAC_ATT21C498		0x27
    343      1.1  junyoung #define DAC_STG1703		0x37
    344      1.1  junyoung #define DAC_CH8398		0x47
    345      1.1  junyoung #define DAC_ATT20C408		0x57
    346      1.1  junyoung 
    347      1.1  junyoung #define CLK_ATI18818_0		0
    348      1.1  junyoung #define CLK_ATI18818_1		1
    349      1.1  junyoung #define CLK_STG1703		2
    350      1.1  junyoung #define CLK_CH8398		3
    351      1.1  junyoung #define CLK_INTERNAL		4
    352      1.1  junyoung #define CLK_ATT20C408		5
    353      1.1  junyoung #define CLK_IBMRGB514		6
    354      1.1  junyoung 
    355      1.1  junyoung /* DST_CNTL register constants */
    356      1.1  junyoung #define DST_X_RIGHT_TO_LEFT     0
    357      1.1  junyoung #define DST_X_LEFT_TO_RIGHT     1
    358      1.1  junyoung #define DST_Y_BOTTOM_TO_TOP     0
    359      1.1  junyoung #define DST_Y_TOP_TO_BOTTOM     2
    360      1.1  junyoung #define DST_X_MAJOR             0
    361      1.1  junyoung #define DST_Y_MAJOR             4
    362      1.1  junyoung #define DST_X_TILE              8
    363      1.1  junyoung #define DST_Y_TILE              0x10
    364      1.1  junyoung #define DST_LAST_PEL            0x20
    365      1.1  junyoung #define DST_POLYGON_ENABLE      0x40
    366      1.1  junyoung #define DST_24_ROTATION_ENABLE  0x80
    367      1.1  junyoung 
    368      1.1  junyoung /* SRC_CNTL register constants */
    369      1.1  junyoung #define SRC_PATTERN_ENABLE      1
    370      1.1  junyoung #define SRC_ROTATION_ENABLE     2
    371      1.1  junyoung #define SRC_LINEAR_ENABLE       4
    372      1.1  junyoung #define SRC_BYTE_ALIGN          8
    373      1.1  junyoung #define SRC_LINE_X_RIGHT_TO_LEFT 0
    374      1.1  junyoung #define SRC_LINE_X_LEFT_TO_RIGHT 0x10
    375      1.1  junyoung 
    376      1.1  junyoung /* HOST_CNTL register constants */
    377      1.1  junyoung #define HOST_BYTE_ALIGN         1
    378      1.1  junyoung 
    379      1.1  junyoung /* DP_CHAIN_MASK register constants */
    380      1.1  junyoung #define DP_CHAIN_4BPP		0x8888
    381      1.1  junyoung #define DP_CHAIN_7BPP		0xD2D2
    382      1.1  junyoung #define DP_CHAIN_8BPP		0x8080
    383      1.1  junyoung #define DP_CHAIN_8BPP_RGB	0x9292
    384      1.1  junyoung #define DP_CHAIN_15BPP		0x4210
    385      1.1  junyoung #define DP_CHAIN_16BPP		0x8410
    386      1.1  junyoung #define DP_CHAIN_24BPP		0x8080
    387      1.1  junyoung #define DP_CHAIN_32BPP		0x8080
    388      1.1  junyoung 
    389      1.1  junyoung /* DP_PIX_WIDTH register constants */
    390      1.1  junyoung #define DST_1BPP                0
    391      1.1  junyoung #define DST_4BPP                1
    392      1.1  junyoung #define DST_8BPP                2
    393      1.1  junyoung #define DST_15BPP               3
    394      1.1  junyoung #define DST_16BPP               4
    395      1.1  junyoung #define DST_32BPP               6
    396      1.1  junyoung #define SRC_1BPP                0
    397      1.1  junyoung #define SRC_4BPP                0x100
    398      1.1  junyoung #define SRC_8BPP                0x200
    399      1.1  junyoung #define SRC_15BPP               0x300
    400      1.1  junyoung #define SRC_16BPP               0x400
    401      1.1  junyoung #define SRC_32BPP               0x600
    402      1.1  junyoung #define HOST_1BPP               0
    403      1.1  junyoung #define HOST_4BPP               0x10000
    404      1.1  junyoung #define HOST_8BPP               0x20000
    405      1.1  junyoung #define HOST_15BPP              0x30000
    406      1.1  junyoung #define HOST_16BPP              0x40000
    407      1.1  junyoung #define HOST_32BPP              0x60000
    408      1.1  junyoung #define BYTE_ORDER_MSB_TO_LSB   0
    409      1.1  junyoung #define BYTE_ORDER_LSB_TO_MSB   0x1000000
    410      1.1  junyoung 
    411      1.1  junyoung /* DP_SRC register constants */
    412      1.1  junyoung #define BKGD_SRC_BKGD_CLR           0
    413      1.1  junyoung #define BKGD_SRC_FRGD_CLR           1
    414      1.1  junyoung #define BKGD_SRC_HOST               2
    415      1.1  junyoung #define BKGD_SRC_BLIT               3
    416      1.1  junyoung #define BKGD_SRC_PATTERN            4
    417      1.1  junyoung #define FRGD_SRC_BKGD_CLR           0
    418      1.1  junyoung #define FRGD_SRC_FRGD_CLR           0x100
    419      1.1  junyoung #define FRGD_SRC_HOST               0x200
    420      1.1  junyoung #define FRGD_SRC_BLIT               0x300
    421      1.1  junyoung #define FRGD_SRC_PATTERN            0x400
    422      1.1  junyoung #define MONO_SRC_ONE                0
    423      1.1  junyoung #define MONO_SRC_PATTERN            0x10000
    424      1.1  junyoung #define MONO_SRC_HOST               0x20000
    425      1.1  junyoung #define MONO_SRC_BLIT               0x30000
    426