mb862xxfb_accel.h 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. #ifndef __MB826XXFB_ACCEL_H__
  2. #define __MB826XXFB_ACCEL_H__
  3. /* registers */
  4. #define GDC_GEO_REG_INPUT_FIFO 0x00000400L
  5. /* Special Registers */
  6. #define GDC_REG_CTRL 0x00000400L
  7. #define GDC_REG_FIFO_STATUS 0x00000404L
  8. #define GDC_REG_FIFO_COUNT 0x00000408L
  9. #define GDC_REG_SETUP_STATUS 0x0000040CL
  10. #define GDC_REG_DDA_STATUS 0x00000410L
  11. #define GDC_REG_ENGINE_STATUS 0x00000414L
  12. #define GDC_REG_ERROR_STATUS 0x00000418L
  13. #define GDC_REG_MODE_MISC 0x00000420L /* MDR0 */
  14. #define GDC_REG_MODE_LINE 0x00000424L /* MDR1 */
  15. #define GDC_REG_MODE_POLYGON 0x00000428L /* MDR2 */
  16. #define GDC_REG_MODE_TEXTURE 0x0000042CL /* MDR3 */
  17. #define GDC_REG_MODE_BITMAP 0x00000430L /* MDR4 */
  18. #define GDC_REG_MODE_EXTENSION 0x0000043CL /* MDR7 */
  19. /* Configuration Registers */
  20. #define GDC_REG_DRAW_BASE 0x00000440L
  21. #define GDC_REG_X_RESOLUTION 0x00000444L
  22. #define GDC_REG_Z_BASE 0x00000448L
  23. #define GDC_REG_TEXTURE_BASE 0x0000044CL
  24. #define GDC_REG_POLYGON_FLAG_BASE 0x00000450L
  25. #define GDC_REG_CLIP_XMIN 0x00000454L
  26. #define GDC_REG_CLIP_XMAX 0x00000458L
  27. #define GDC_REG_CLIP_YMIN 0x0000045CL
  28. #define GDC_REG_CLIP_YMAX 0x00000460L
  29. #define GDC_REG_TEXURE_SIZE 0x00000464L
  30. #define GDC_REG_TILE_SIZE 0x00000468L
  31. #define GDC_REG_TEX_BUF_OFFSET 0x0000046CL
  32. /* for MB86293 or later */
  33. #define GDC_REG_ALPHA_MAP_BASE 0x00000474L /* ABR */
  34. /* Constant Registers */
  35. #define GDC_REG_FOREGROUND_COLOR 0x00000480L
  36. #define GDC_REG_BACKGROUND_COLOR 0x00000484L
  37. #define GDC_REG_ALPHA 0x00000488L
  38. #define GDC_REG_LINE_PATTERN 0x0000048CL
  39. #define GDC_REG_TEX_BORDER_COLOR 0x00000494L
  40. #define GDC_REG_LINE_PATTERN_OFFSET 0x000003E0L
  41. /* Coomand Code */
  42. #define GDC_CMD_PIXEL 0x00000000L
  43. #define GDC_CMD_PIXEL_Z 0x00000001L
  44. #define GDC_CMD_X_VECTOR 0x00000020L
  45. #define GDC_CMD_Y_VECTOR 0x00000021L
  46. #define GDC_CMD_X_VECTOR_NOEND 0x00000022L
  47. #define GDC_CMD_Y_VECTOR_NOEND 0x00000023L
  48. #define GDC_CMD_X_VECTOR_BLPO 0x00000024L
  49. #define GDC_CMD_Y_VECTOR_BLPO 0x00000025L
  50. #define GDC_CMD_X_VECTOR_NOEND_BLPO 0x00000026L
  51. #define GDC_CMD_Y_VECTOR_NOEND_BLPO 0x00000027L
  52. #define GDC_CMD_AA_X_VECTOR 0x00000028L
  53. #define GDC_CMD_AA_Y_VECTOR 0x00000029L
  54. #define GDC_CMD_AA_X_VECTOR_NOEND 0x0000002AL
  55. #define GDC_CMD_AA_Y_VECTOR_NOEND 0x0000002BL
  56. #define GDC_CMD_AA_X_VECTOR_BLPO 0x0000002CL
  57. #define GDC_CMD_AA_Y_VECTOR_BLPO 0x0000002DL
  58. #define GDC_CMD_AA_X_VECTOR_NOEND_BLPO 0x0000002EL
  59. #define GDC_CMD_AA_Y_VECTOR_NOEND_BLPO 0x0000002FL
  60. #define GDC_CMD_0_VECTOR 0x00000030L
  61. #define GDC_CMD_1_VECTOR 0x00000031L
  62. #define GDC_CMD_0_VECTOR_NOEND 0x00000032L
  63. #define GDC_CMD_1_VECTOR_NOEND 0x00000033L
  64. #define GDC_CMD_0_VECTOR_BLPO 0x00000034L
  65. #define GDC_CMD_1_VECTOR_BLPO 0x00000035L
  66. #define GDC_CMD_0_VECTOR_NOEND_BLPO 0x00000036L
  67. #define GDC_CMD_1_VECTOR_NOEND_BLPO 0x00000037L
  68. #define GDC_CMD_AA_0_VECTOR 0x00000038L
  69. #define GDC_CMD_AA_1_VECTOR 0x00000039L
  70. #define GDC_CMD_AA_0_VECTOR_NOEND 0x0000003AL
  71. #define GDC_CMD_AA_1_VECTOR_NOEND 0x0000003BL
  72. #define GDC_CMD_AA_0_VECTOR_BLPO 0x0000003CL
  73. #define GDC_CMD_AA_1_VECTOR_BLPO 0x0000003DL
  74. #define GDC_CMD_AA_0_VECTOR_NOEND_BLPO 0x0000003EL
  75. #define GDC_CMD_AA_1_VECTOR_NOEND_BLPO 0x0000003FL
  76. #define GDC_CMD_BLT_FILL 0x00000041L
  77. #define GDC_CMD_BLT_DRAW 0x00000042L
  78. #define GDC_CMD_BITMAP 0x00000043L
  79. #define GDC_CMD_BLTCOPY_TOP_LEFT 0x00000044L
  80. #define GDC_CMD_BLTCOPY_TOP_RIGHT 0x00000045L
  81. #define GDC_CMD_BLTCOPY_BOTTOM_LEFT 0x00000046L
  82. #define GDC_CMD_BLTCOPY_BOTTOM_RIGHT 0x00000047L
  83. #define GDC_CMD_LOAD_TEXTURE 0x00000048L
  84. #define GDC_CMD_LOAD_TILE 0x00000049L
  85. #define GDC_CMD_TRAP_RIGHT 0x00000060L
  86. #define GDC_CMD_TRAP_LEFT 0x00000061L
  87. #define GDC_CMD_TRIANGLE_FAN 0x00000062L
  88. #define GDC_CMD_FLAG_TRIANGLE_FAN 0x00000063L
  89. #define GDC_CMD_FLUSH_FB 0x000000C1L
  90. #define GDC_CMD_FLUSH_Z 0x000000C2L
  91. #define GDC_CMD_POLYGON_BEGIN 0x000000E0L
  92. #define GDC_CMD_POLYGON_END 0x000000E1L
  93. #define GDC_CMD_CLEAR_POLY_FLAG 0x000000E2L
  94. #define GDC_CMD_NORMAL 0x000000FFL
  95. #define GDC_CMD_VECTOR_BLPO_FLAG 0x00040000L
  96. #define GDC_CMD_FAST_VECTOR_BLPO_FLAG 0x00000004L
  97. /* for MB86293 or later */
  98. #define GDC_CMD_MDR1 0x00000000L
  99. #define GDC_CMD_MDR1S 0x00000002L
  100. #define GDC_CMD_MDR1B 0x00000004L
  101. #define GDC_CMD_MDR2 0x00000001L
  102. #define GDC_CMD_MDR2S 0x00000003L
  103. #define GDC_CMD_MDR2TL 0x00000007L
  104. #define GDC_CMD_GMDR1E 0x00000010L
  105. #define GDC_CMD_GMDR2E 0x00000020L
  106. #define GDC_CMD_OVERLAP_SHADOW_XY 0x00000000L
  107. #define GDC_CMD_OVERLAP_SHADOW_XY_COMPOSITION 0x00000001L
  108. #define GDC_CMD_OVERLAP_Z_PACKED_ONBS 0x00000007L
  109. #define GDC_CMD_OVERLAP_Z_ORIGIN 0x00000000L
  110. #define GDC_CMD_OVERLAP_Z_NON_TOPLEFT 0x00000001L
  111. #define GDC_CMD_OVERLAP_Z_BORDER 0x00000002L
  112. #define GDC_CMD_OVERLAP_Z_SHADOW 0x00000003L
  113. #define GDC_CMD_BLTCOPY_ALT_ALPHA 0x00000000L /* Reserverd */
  114. #define GDC_CMD_DC_LOGOUT 0x00000000L /* Reserverd */
  115. #define GDC_CMD_BODY_FORE_COLOR 0x00000000L
  116. #define GDC_CMD_BODY_BACK_COLOR 0x00000001L
  117. #define GDC_CMD_SHADOW_FORE_COLOR 0x00000002L
  118. #define GDC_CMD_SHADOW_BACK_COLOR 0x00000003L
  119. #define GDC_CMD_BORDER_FORE_COLOR 0x00000004L
  120. #define GDC_CMD_BORDER_BACK_COLOR 0x00000005L
  121. /* Type Code Table */
  122. #define GDC_TYPE_G_NOP 0x00000020L
  123. #define GDC_TYPE_G_BEGIN 0x00000021L
  124. #define GDC_TYPE_G_BEGINCONT 0x00000022L
  125. #define GDC_TYPE_G_END 0x00000023L
  126. #define GDC_TYPE_G_VERTEX 0x00000030L
  127. #define GDC_TYPE_G_VERTEXLOG 0x00000032L
  128. #define GDC_TYPE_G_VERTEXNOPLOG 0x00000033L
  129. #define GDC_TYPE_G_INIT 0x00000040L
  130. #define GDC_TYPE_G_VIEWPORT 0x00000041L
  131. #define GDC_TYPE_G_DEPTHRANGE 0x00000042L
  132. #define GDC_TYPE_G_LOADMATRIX 0x00000043L
  133. #define GDC_TYPE_G_VIEWVOLUMEXYCLIP 0x00000044L
  134. #define GDC_TYPE_G_VIEWVOLUMEZCLIP 0x00000045L
  135. #define GDC_TYPE_G_VIEWVOLUMEWCLIP 0x00000046L
  136. #define GDC_TYPE_SETLVERTEX2I 0x00000072L
  137. #define GDC_TYPE_SETLVERTEX2IP 0x00000073L
  138. #define GDC_TYPE_SETMODEREGISTER 0x000000C0L
  139. #define GDC_TYPE_SETGMODEREGISTER 0x000000C1L
  140. #define GDC_TYPE_OVERLAPXYOFFT 0x000000C8L
  141. #define GDC_TYPE_OVERLAPZOFFT 0x000000C9L
  142. #define GDC_TYPE_DC_LOGOUTADDR 0x000000CCL
  143. #define GDC_TYPE_SETCOLORREGISTER 0x000000CEL
  144. #define GDC_TYPE_G_BEGINE 0x000000E1L
  145. #define GDC_TYPE_G_BEGINCONTE 0x000000E2L
  146. #define GDC_TYPE_G_ENDE 0x000000E3L
  147. #define GDC_TYPE_DRAWPIXEL 0x00000000L
  148. #define GDC_TYPE_DRAWPIXELZ 0x00000001L
  149. #define GDC_TYPE_DRAWLINE 0x00000002L
  150. #define GDC_TYPE_DRAWLINE2I 0x00000003L
  151. #define GDC_TYPE_DRAWLINE2IP 0x00000004L
  152. #define GDC_TYPE_DRAWTRAP 0x00000005L
  153. #define GDC_TYPE_DRAWVERTEX2I 0x00000006L
  154. #define GDC_TYPE_DRAWVERTEX2IP 0x00000007L
  155. #define GDC_TYPE_DRAWRECTP 0x00000009L
  156. #define GDC_TYPE_DRAWBITMAPP 0x0000000BL
  157. #define GDC_TYPE_BLTCOPYP 0x0000000DL
  158. #define GDC_TYPE_BLTCOPYALTERNATEP 0x0000000FL
  159. #define GDC_TYPE_LOADTEXTUREP 0x00000011L
  160. #define GDC_TYPE_BLTTEXTUREP 0x00000013L
  161. #define GDC_TYPE_BLTCOPYALTALPHABLENDP 0x0000001FL
  162. #define GDC_TYPE_SETVERTEX2I 0x00000070L
  163. #define GDC_TYPE_SETVERTEX2IP 0x00000071L
  164. #define GDC_TYPE_DRAW 0x000000F0L
  165. #define GDC_TYPE_SETREGISTER 0x000000F1L
  166. #define GDC_TYPE_SYNC 0x000000FCL
  167. #define GDC_TYPE_INTERRUPT 0x000000FDL
  168. #define GDC_TYPE_NOP 0x0
  169. /* Raster operation */
  170. #define GDC_ROP_CLEAR 0x0000
  171. #define GDC_ROP_AND 0x0001
  172. #define GDC_ROP_AND_REVERSE 0x0002
  173. #define GDC_ROP_COPY 0x0003
  174. #define GDC_ROP_AND_INVERTED 0x0004
  175. #define GDC_ROP_NOP 0x0005
  176. #define GDC_ROP_XOR 0x0006
  177. #define GDC_ROP_OR 0x0007
  178. #define GDC_ROP_NOR 0x0008
  179. #define GDC_ROP_EQUIV 0x0009
  180. #define GDC_ROP_INVERT 0x000A
  181. #define GDC_ROP_OR_REVERSE 0x000B
  182. #define GDC_ROP_COPY_INVERTED 0x000C
  183. #define GDC_ROP_OR_INVERTED 0x000D
  184. #define GDC_ROP_NAND 0x000E
  185. #define GDC_ROP_SET 0x000F
  186. #endif