mb862xxfb_accel.h 9.9 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203
#ifndef __MB826XXFB_ACCEL_H__
#define __MB826XXFB_ACCEL_H__

/* registers */
#define GDC_GEO_REG_INPUT_FIFO 0x00000400L

/* Special Registers */
#define GDC_REG_CTRL                0x00000400L
#define GDC_REG_FIFO_STATUS         0x00000404L
#define GDC_REG_FIFO_COUNT          0x00000408L
#define GDC_REG_SETUP_STATUS        0x0000040CL
#define GDC_REG_DDA_STATUS          0x00000410L
#define GDC_REG_ENGINE_STATUS       0x00000414L
#define GDC_REG_ERROR_STATUS        0x00000418L
#define GDC_REG_MODE_MISC           0x00000420L	/* MDR0 */
#define GDC_REG_MODE_LINE           0x00000424L	/* MDR1 */
#define GDC_REG_MODE_POLYGON        0x00000428L	/* MDR2 */
#define GDC_REG_MODE_TEXTURE        0x0000042CL	/* MDR3 */
#define GDC_REG_MODE_BITMAP         0x00000430L	/* MDR4 */
#define GDC_REG_MODE_EXTENSION      0x0000043CL	/* MDR7 */

/* Configuration Registers */
#define GDC_REG_DRAW_BASE           0x00000440L
#define GDC_REG_X_RESOLUTION        0x00000444L
#define GDC_REG_Z_BASE              0x00000448L
#define GDC_REG_TEXTURE_BASE        0x0000044CL
#define GDC_REG_POLYGON_FLAG_BASE   0x00000450L
#define GDC_REG_CLIP_XMIN           0x00000454L
#define GDC_REG_CLIP_XMAX           0x00000458L
#define GDC_REG_CLIP_YMIN           0x0000045CL
#define GDC_REG_CLIP_YMAX           0x00000460L
#define GDC_REG_TEXURE_SIZE         0x00000464L
#define GDC_REG_TILE_SIZE           0x00000468L
#define GDC_REG_TEX_BUF_OFFSET      0x0000046CL

/* for MB86293 or later */
#define GDC_REG_ALPHA_MAP_BASE      0x00000474L	/* ABR */

/* Constant Registers */
#define GDC_REG_FOREGROUND_COLOR    0x00000480L
#define GDC_REG_BACKGROUND_COLOR    0x00000484L
#define GDC_REG_ALPHA               0x00000488L
#define GDC_REG_LINE_PATTERN        0x0000048CL
#define GDC_REG_TEX_BORDER_COLOR    0x00000494L
#define GDC_REG_LINE_PATTERN_OFFSET 0x000003E0L

/* Coomand Code */
#define GDC_CMD_PIXEL                   0x00000000L
#define GDC_CMD_PIXEL_Z                 0x00000001L

#define GDC_CMD_X_VECTOR                0x00000020L
#define GDC_CMD_Y_VECTOR                0x00000021L
#define GDC_CMD_X_VECTOR_NOEND          0x00000022L
#define GDC_CMD_Y_VECTOR_NOEND          0x00000023L
#define GDC_CMD_X_VECTOR_BLPO           0x00000024L
#define GDC_CMD_Y_VECTOR_BLPO           0x00000025L
#define GDC_CMD_X_VECTOR_NOEND_BLPO     0x00000026L
#define GDC_CMD_Y_VECTOR_NOEND_BLPO     0x00000027L
#define GDC_CMD_AA_X_VECTOR             0x00000028L
#define GDC_CMD_AA_Y_VECTOR             0x00000029L
#define GDC_CMD_AA_X_VECTOR_NOEND       0x0000002AL
#define GDC_CMD_AA_Y_VECTOR_NOEND       0x0000002BL
#define GDC_CMD_AA_X_VECTOR_BLPO        0x0000002CL
#define GDC_CMD_AA_Y_VECTOR_BLPO        0x0000002DL
#define GDC_CMD_AA_X_VECTOR_NOEND_BLPO  0x0000002EL
#define GDC_CMD_AA_Y_VECTOR_NOEND_BLPO  0x0000002FL

#define GDC_CMD_0_VECTOR                0x00000030L
#define GDC_CMD_1_VECTOR                0x00000031L
#define GDC_CMD_0_VECTOR_NOEND          0x00000032L
#define GDC_CMD_1_VECTOR_NOEND          0x00000033L
#define GDC_CMD_0_VECTOR_BLPO           0x00000034L
#define GDC_CMD_1_VECTOR_BLPO           0x00000035L
#define GDC_CMD_0_VECTOR_NOEND_BLPO     0x00000036L
#define GDC_CMD_1_VECTOR_NOEND_BLPO     0x00000037L
#define GDC_CMD_AA_0_VECTOR             0x00000038L
#define GDC_CMD_AA_1_VECTOR             0x00000039L
#define GDC_CMD_AA_0_VECTOR_NOEND       0x0000003AL
#define GDC_CMD_AA_1_VECTOR_NOEND       0x0000003BL
#define GDC_CMD_AA_0_VECTOR_BLPO        0x0000003CL
#define GDC_CMD_AA_1_VECTOR_BLPO        0x0000003DL
#define GDC_CMD_AA_0_VECTOR_NOEND_BLPO  0x0000003EL
#define GDC_CMD_AA_1_VECTOR_NOEND_BLPO  0x0000003FL

#define GDC_CMD_BLT_FILL                0x00000041L
#define GDC_CMD_BLT_DRAW                0x00000042L
#define GDC_CMD_BITMAP                  0x00000043L
#define GDC_CMD_BLTCOPY_TOP_LEFT        0x00000044L
#define GDC_CMD_BLTCOPY_TOP_RIGHT       0x00000045L
#define GDC_CMD_BLTCOPY_BOTTOM_LEFT     0x00000046L
#define GDC_CMD_BLTCOPY_BOTTOM_RIGHT    0x00000047L
#define GDC_CMD_LOAD_TEXTURE            0x00000048L
#define GDC_CMD_LOAD_TILE               0x00000049L

#define GDC_CMD_TRAP_RIGHT              0x00000060L
#define GDC_CMD_TRAP_LEFT               0x00000061L
#define GDC_CMD_TRIANGLE_FAN            0x00000062L
#define GDC_CMD_FLAG_TRIANGLE_FAN       0x00000063L

#define GDC_CMD_FLUSH_FB                0x000000C1L
#define GDC_CMD_FLUSH_Z                 0x000000C2L

#define GDC_CMD_POLYGON_BEGIN           0x000000E0L
#define GDC_CMD_POLYGON_END             0x000000E1L
#define GDC_CMD_CLEAR_POLY_FLAG         0x000000E2L
#define GDC_CMD_NORMAL                  0x000000FFL

#define GDC_CMD_VECTOR_BLPO_FLAG        0x00040000L
#define GDC_CMD_FAST_VECTOR_BLPO_FLAG   0x00000004L

/* for MB86293 or later */
#define GDC_CMD_MDR1                            0x00000000L
#define GDC_CMD_MDR1S                           0x00000002L
#define GDC_CMD_MDR1B                           0x00000004L
#define GDC_CMD_MDR2                            0x00000001L
#define GDC_CMD_MDR2S                           0x00000003L
#define GDC_CMD_MDR2TL                          0x00000007L
#define GDC_CMD_GMDR1E                          0x00000010L
#define GDC_CMD_GMDR2E                          0x00000020L
#define GDC_CMD_OVERLAP_SHADOW_XY               0x00000000L
#define GDC_CMD_OVERLAP_SHADOW_XY_COMPOSITION   0x00000001L
#define GDC_CMD_OVERLAP_Z_PACKED_ONBS           0x00000007L
#define GDC_CMD_OVERLAP_Z_ORIGIN                0x00000000L
#define GDC_CMD_OVERLAP_Z_NON_TOPLEFT           0x00000001L
#define GDC_CMD_OVERLAP_Z_BORDER                0x00000002L
#define GDC_CMD_OVERLAP_Z_SHADOW                0x00000003L
#define GDC_CMD_BLTCOPY_ALT_ALPHA               0x00000000L	/* Reserverd */
#define GDC_CMD_DC_LOGOUT                       0x00000000L	/* Reserverd */
#define GDC_CMD_BODY_FORE_COLOR                 0x00000000L
#define GDC_CMD_BODY_BACK_COLOR                 0x00000001L
#define GDC_CMD_SHADOW_FORE_COLOR               0x00000002L
#define GDC_CMD_SHADOW_BACK_COLOR               0x00000003L
#define GDC_CMD_BORDER_FORE_COLOR               0x00000004L
#define GDC_CMD_BORDER_BACK_COLOR               0x00000005L

/* Type Code Table */
#define GDC_TYPE_G_NOP                                  0x00000020L
#define GDC_TYPE_G_BEGIN                                0x00000021L
#define GDC_TYPE_G_BEGINCONT                            0x00000022L
#define GDC_TYPE_G_END                                  0x00000023L
#define GDC_TYPE_G_VERTEX                               0x00000030L
#define GDC_TYPE_G_VERTEXLOG                            0x00000032L
#define GDC_TYPE_G_VERTEXNOPLOG                         0x00000033L
#define GDC_TYPE_G_INIT                                 0x00000040L
#define GDC_TYPE_G_VIEWPORT                             0x00000041L
#define GDC_TYPE_G_DEPTHRANGE                           0x00000042L
#define GDC_TYPE_G_LOADMATRIX                           0x00000043L
#define GDC_TYPE_G_VIEWVOLUMEXYCLIP                     0x00000044L
#define GDC_TYPE_G_VIEWVOLUMEZCLIP                      0x00000045L
#define GDC_TYPE_G_VIEWVOLUMEWCLIP                      0x00000046L
#define GDC_TYPE_SETLVERTEX2I                           0x00000072L
#define GDC_TYPE_SETLVERTEX2IP                          0x00000073L
#define GDC_TYPE_SETMODEREGISTER                        0x000000C0L
#define GDC_TYPE_SETGMODEREGISTER                       0x000000C1L
#define GDC_TYPE_OVERLAPXYOFFT                          0x000000C8L
#define GDC_TYPE_OVERLAPZOFFT                           0x000000C9L
#define GDC_TYPE_DC_LOGOUTADDR                          0x000000CCL
#define GDC_TYPE_SETCOLORREGISTER                       0x000000CEL
#define GDC_TYPE_G_BEGINE                               0x000000E1L
#define GDC_TYPE_G_BEGINCONTE                           0x000000E2L
#define GDC_TYPE_G_ENDE                                 0x000000E3L
#define GDC_TYPE_DRAWPIXEL                              0x00000000L
#define GDC_TYPE_DRAWPIXELZ                             0x00000001L
#define GDC_TYPE_DRAWLINE                               0x00000002L
#define GDC_TYPE_DRAWLINE2I                             0x00000003L
#define GDC_TYPE_DRAWLINE2IP                            0x00000004L
#define GDC_TYPE_DRAWTRAP                               0x00000005L
#define GDC_TYPE_DRAWVERTEX2I                           0x00000006L
#define GDC_TYPE_DRAWVERTEX2IP                          0x00000007L
#define GDC_TYPE_DRAWRECTP                              0x00000009L
#define GDC_TYPE_DRAWBITMAPP                            0x0000000BL
#define GDC_TYPE_BLTCOPYP                               0x0000000DL
#define GDC_TYPE_BLTCOPYALTERNATEP                      0x0000000FL
#define GDC_TYPE_LOADTEXTUREP                           0x00000011L
#define GDC_TYPE_BLTTEXTUREP                            0x00000013L
#define GDC_TYPE_BLTCOPYALTALPHABLENDP                  0x0000001FL
#define GDC_TYPE_SETVERTEX2I                            0x00000070L
#define GDC_TYPE_SETVERTEX2IP                           0x00000071L
#define GDC_TYPE_DRAW                                   0x000000F0L
#define GDC_TYPE_SETREGISTER                            0x000000F1L
#define GDC_TYPE_SYNC                                   0x000000FCL
#define GDC_TYPE_INTERRUPT                              0x000000FDL
#define GDC_TYPE_NOP                                    0x0

/* Raster operation */
#define GDC_ROP_CLEAR                   0x0000
#define GDC_ROP_AND                     0x0001
#define GDC_ROP_AND_REVERSE             0x0002
#define GDC_ROP_COPY                    0x0003
#define GDC_ROP_AND_INVERTED            0x0004
#define GDC_ROP_NOP                     0x0005
#define GDC_ROP_XOR                     0x0006
#define GDC_ROP_OR                      0x0007
#define GDC_ROP_NOR                     0x0008
#define GDC_ROP_EQUIV                   0x0009
#define GDC_ROP_INVERT                  0x000A
#define GDC_ROP_OR_REVERSE              0x000B
#define GDC_ROP_COPY_INVERTED           0x000C
#define GDC_ROP_OR_INVERTED             0x000D
#define GDC_ROP_NAND                    0x000E
#define GDC_ROP_SET                     0x000F

#endif