home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / video / pm3fb.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  45.3 KB  |  1,062 lines

  1. /*
  2.  *  linux/drivers/video/pm3fb.h -- 3DLabs Permedia3 frame buffer device
  3.  *
  4.  *  Copyright (C) 2001 Romain Dolbeau <dolbeau@irisa.fr>
  5.  *  Copyright (C) 2001 Sven Luther, <luther@dpt-info.u-strasbg.fr>
  6.  *
  7.  *  This file is subject to the terms and conditions of the GNU General Public
  8.  *  License. See the file COPYING in the main directory of this archive for
  9.  *  more details.
  10.  */
  11.  
  12. #ifndef PM3FB_H
  13. #define PM3FB_H
  14.  
  15. /**********************************************
  16. *  GLINT Permedia3 Control Status registers   *
  17. ***********************************************/
  18. /* Control Status Registers */
  19. #define PM3ResetStatus                        0x0000
  20. #define PM3IntEnable                        0x0008
  21. #define PM3IntFlags                        0x0010
  22. #define PM3InFIFOSpace                        0x0018
  23. #define PM3OutFIFOWords                        0x0020
  24. #define PM3DMAAddress                        0x0028
  25. #define PM3DMACount                        0x0030
  26. #define PM3ErrorFlags                        0x0038
  27. #define PM3VClkCtl                        0x0040
  28. #define PM3TestRegister                        0x0048
  29. #define PM3Aperture0                        0x0050
  30. #define PM3Aperture1                        0x0058
  31. #define PM3DMAControl                        0x0060
  32. #define PM3FIFODis                        0x0068
  33. #define PM3ChipConfig                        0x0070
  34. #define PM3AGPControl                        0x0078
  35.  
  36. #define PM3GPOutDMAAddress                    0x0080
  37. #define PM3PCIFeedbackCount                    0x0088
  38. #define PM3PCIAbortStatus                    0x0090
  39. #define PM3PCIAbortAddress                    0x0098
  40.  
  41. #define PM3PCIPLLStatus                        0x00f0
  42.  
  43. #define PM3HostTextureAddress                    0x0100
  44. #define PM3TextureDownloadControl                0x0108
  45. #define PM3TextureOperation                    0x0110
  46. #define PM3LogicalTexturePage                    0x0118
  47. #define PM3TexDMAAddress                    0x0120
  48. #define PM3TexFIFOSpace                        0x0128
  49.  
  50. /**********************************************
  51. *  GLINT Permedia3 Region 0 Bypass Controls   *
  52. ***********************************************/
  53. #define PM3ByAperture1Mode                    0x0300
  54.     #define PM3ByApertureMode_BYTESWAP_ABCD            (0 << 0)
  55.     #define PM3ByApertureMode_BYTESWAP_BADC            (1 << 0)
  56.     #define PM3ByApertureMode_BYTESWAP_CDAB            (2 << 0)
  57.     #define PM3ByApertureMode_BYTESWAP_DCBA            (3 << 0)
  58.     #define PM3ByApertureMode_PATCH_ENABLE            (1 << 2)
  59.     #define PM3ByApertureMode_FORMAT_RAW            (0 << 3)
  60.     #define PM3ByApertureMode_FORMAT_YUYV            (1 << 3)
  61.     #define PM3ByApertureMode_FORMAT_UYVY            (2 << 3)
  62.     #define PM3ByApertureMode_PIXELSIZE_8BIT        (0 << 5)
  63.     #define PM3ByApertureMode_PIXELSIZE_16BIT        (1 << 5)
  64.     #define PM3ByApertureMode_PIXELSIZE_32BIT        (2 << 5)
  65.         #define PM3ByApertureMode_PIXELSIZE_MASK    (3 << 5)
  66.     #define PM3ByApertureMode_EFFECTIVE_STRIDE_1024        (0 << 7)
  67.     #define PM3ByApertureMode_EFFECTIVE_STRIDE_2048        (1 << 7)
  68.     #define PM3ByApertureMode_EFFECTIVE_STRIDE_4096        (2 << 7)
  69.     #define PM3ByApertureMode_EFFECTIVE_STRIDE_8192        (3 << 7)
  70.     #define PM3ByApertureMode_PATCH_OFFSET_X(off)    (((off) & 0x7f) << 9)
  71.     #define PM3ByApertureMode_PATCH_OFFSET_Y(off)    (((off) & 0x7f) << 16)
  72.     #define PM3ByApertureMode_FRAMEBUFFER            (0 << 21)
  73.     #define PM3ByApertureMode_LOCALBUFFER            (1 << 21)
  74.     #define PM3ByApertureMode_DOUBLE_WRITE_OFF        (0 << 22)
  75.     #define PM3ByApertureMode_DOUBLE_WRITE_1MB        (1 << 22)
  76.     #define PM3ByApertureMode_DOUBLE_WRITE_2MB        (2 << 22)
  77.     #define PM3ByApertureMode_DOUBLE_WRITE_4MB        (3 << 22)
  78.     #define PM3ByApertureMode_DOUBLE_WRITE_8MB        (4 << 22)
  79.     #define PM3ByApertureMode_DOUBLE_WRITE_16MB        (5 << 22)
  80.     #define PM3ByApertureMode_DOUBLE_WRITE_32MB        (6 << 22)
  81.  
  82. #define PM3ByAperture2Mode                    0x0328
  83.  
  84. /**********************************************
  85. *  GLINT Permedia3 Memory Control (0x1000)    *
  86. ***********************************************/
  87. #define PM3MemCounter                        0x1000
  88. #define PM3MemBypassWriteMask                    0x1008
  89. #define PM3MemScratch                        0x1010
  90. #define PM3LocalMemCaps                        0x1018
  91.     #define PM3LocalMemCaps_NoWriteMask            (1 << 28)
  92. #define PM3LocalMemTimings                    0x1020
  93. #define PM3LocalMemControl                    0x1028
  94. #define PM3LocalMemRefresh                    0x1030
  95. #define PM3LocalMemPowerDown                    0x1038
  96. #define PM3RemoteMemControl                    0x1100
  97.  
  98. /**********************************************
  99. *  GLINT Permedia3 Video Control (0x3000)     *
  100. ***********************************************/
  101.  
  102. #define PM3ScreenBase                        0x3000
  103. #define PM3ScreenStride                        0x3008
  104. #define PM3HTotal                        0x3010
  105. #define PM3HgEnd                        0x3018
  106. #define PM3HbEnd                        0x3020
  107. #define PM3HsStart                        0x3028
  108. #define PM3HsEnd                        0x3030
  109. #define PM3VTotal                        0x3038
  110. #define PM3VbEnd                        0x3040
  111. #define PM3VsStart                        0x3048
  112. #define PM3VsEnd                        0x3050
  113. #define PM3VideoControl                        0x3058
  114.     #define PM3VideoControl_ENABLE                (1 << 0)
  115.     #define PM3VideoControl_BLANK_ACTIVE_HIGH        (0 << 1)
  116.     #define PM3VideoControl_BLANK_ACTIVE_LOW        (1 << 1)
  117.     #define PM3VideoControl_LINE_DOUBLE_OFF            (0 << 2)
  118.     #define PM3VideoControl_LINE_DOUBLE_ON            (1 << 2)
  119.     #define PM3VideoControl_HSYNC_FORCE_HIGH        (0 << 3)
  120.     #define PM3VideoControl_HSYNC_ACTIVE_HIGH        (1 << 3)
  121.     #define PM3VideoControl_HSYNC_FORCE_LOW            (2 << 3)
  122.     #define PM3VideoControl_HSYNC_ACTIVE_LOW        (3 << 3)
  123.     #define PM3VideoControl_HSYNC_MASK            (3 << 3)
  124.     #define PM3VideoControl_VSYNC_FORCE_HIGH        (0 << 5)
  125.     #define PM3VideoControl_VSYNC_ACTIVE_HIGH        (1 << 5)
  126.     #define PM3VideoControl_VSYNC_FORCE_LOW            (2 << 5)
  127.     #define PM3VideoControl_VSYNC_ACTIVE_LOW        (3 << 5)
  128.     #define PM3VideoControl_VSYNC_MASK            (3 << 5)
  129.     #define PM3VideoControl_BYTE_DOUBLE_OFF            (0 << 7)
  130.     #define PM3VideoControl_BYTE_DOUBLE_ON            (1 << 7)
  131.     #define PM3VideoControl_BUFFER_SWAP_SYNCON_FRAMEBLANK    (0 << 9)
  132.     #define PM3VideoControl_BUFFER_SWAP_FREE_RUNNING    (1 << 9)
  133.     #define PM3VideoControl_BUFFER_SWAP_LIMITETO_FRAMERATE    (2 << 9)
  134.     #define PM3VideoControl_STEREO_ENABLE            (1 << 11)
  135.     #define PM3VideoControl_RIGHT_EYE_ACTIVE_HIGH        (0 << 12)
  136.     #define PM3VideoControl_RIGHT_EYE_ACTIVE_LOW        (1 << 12)
  137.     #define PM3VideoControl_VIDEO_EXT_LOW            (0 << 14)
  138.     #define PM3VideoControl_VIDEO_EXT_HIGH            (1 << 14)
  139.     #define PM3VideoControl_SYNC_MODE_INDEPENDENT        (0 << 16)
  140.     #define PM3VideoControl_SYNC_MODE_SYNCTO_VSA        (1 << 16)
  141.     #define PM3VideoControl_SYNC_MODE_SYNCTO_VSB        (2 << 16)
  142.     #define PM3VideoControl_PATCH_ENABLE            (1 << 18)
  143.     #define PM3VideoControl_PIXELSIZE_8BIT            (0 << 19)
  144.     #define PM3VideoControl_PIXELSIZE_16BIT            (1 << 19)
  145.     #define PM3VideoControl_PIXELSIZE_32BIT            (2 << 19)
  146.     #define PM3VideoControl_DISPLAY_ENABLE            (1 << 21)
  147.     #define PM3VideoControl_PATCH_OFFSET_X(off)    (((off) & 0x3f) << 22)
  148.     #define PM3VideoControl_PATCH_OFFSET_Y(off)    (((off) & 0x3f) << 28)
  149. #define PM3InterruptLine                    0x3060
  150. #define PM3DisplayData                        0x3068
  151. #define PM3VerticalLineCount                    0x3070
  152. #define PM3FifoControl                        0x3078
  153. #define PM3ScreenBaseRight                    0x3080
  154. #define PM3MiscControl                        0x3088
  155.  
  156. #define PM3VideoOverlayUpdate                    0x3100
  157.     #define PM3VideoOverlayUpdate_ENABLE            (1 << 0)
  158. #define PM3VideoOverlayMode                    0x3108
  159.     #define PM3VideoOverlayMode_ENABLE            (1 << 0)
  160.     #define PM3VideoOverlayMode_BUFFERSYNC_MANUAL        (0 << 1)
  161.     #define PM3VideoOverlayMode_BUFFERSYNC_VIDEOSTREAMA    (1 << 1)
  162.     #define PM3VideoOverlayMode_BUFFERSYNC_VIDEOSTREAMB    (2 << 1)
  163.     #define PM3VideoOverlayMode_FIELDPOLARITY_NORMAL    (0 << 4)
  164.     #define PM3VideoOverlayMode_FIELDPOLARITY_INVERT    (1 << 4)
  165.     #define PM3VideoOverlayMode_PIXELSIZE_8BIT        (0 << 5)
  166.     #define PM3VideoOverlayMode_PIXELSIZE_16BIT        (1 << 5)
  167.     #define PM3VideoOverlayMode_PIXELSIZE_32BIT        (2 << 5)
  168.     #define PM3VideoOverlayMode_COLORFORMAT_RGB8888        \
  169.                     ((0 << 7)|(1 << 12)|(2 << 5))
  170.     #define PM3VideoOverlayMode_COLORFORMAT_RGB4444        \
  171.                     ((1 << 7)|(1 << 12)|(1 << 5))
  172.     #define PM3VideoOverlayMode_COLORFORMAT_RGB5551        \
  173.                     ((2 << 7)|(1 << 12)|(1 << 5))
  174.     #define PM3VideoOverlayMode_COLORFORMAT_RGB565        \
  175.                     ((3 << 7)|(1 << 12)|(1 << 5))
  176.     #define PM3VideoOverlayMode_COLORFORMAT_RGB332        \
  177.                     ((4 << 7)|(1 << 12)|(0 << 5))
  178.     #define PM3VideoOverlayMode_COLORFORMAT_BGR8888        \
  179.                     ((0 << 7)|(2 << 5))
  180.     #define PM3VideoOverlayMode_COLORFORMAT_BGR4444        \
  181.                     ((1 << 7)|(1 << 5))
  182.     #define PM3VideoOverlayMode_COLORFORMAT_BGR5551        \
  183.                     ((2 << 7)|(1 << 5))
  184.     #define PM3VideoOverlayMode_COLORFORMAT_BGR565        \
  185.                     ((3 << 7)|(1 << 5))
  186.     #define PM3VideoOverlayMode_COLORFORMAT_BGR332        \
  187.                     ((4 << 7)|(0 << 5))
  188.     #define PM3VideoOverlayMode_COLORFORMAT_CI8        \
  189.                     ((5 << 7)|(1 << 12)|(0 << 5))
  190.     #define PM3VideoOverlayMode_COLORFORMAT_VUY444        \
  191.                     ((2 << 10)|(1 << 12)|(2 << 5))
  192.     #define PM3VideoOverlayMode_COLORFORMAT_YUV444        \
  193.                     ((2 << 10)|(2 << 5))
  194.     #define PM3VideoOverlayMode_COLORFORMAT_VUY422        \
  195.                     ((1 << 10)|(1 << 12)|(1 << 5))
  196.     #define PM3VideoOverlayMode_COLORFORMAT_YUV422        \
  197.                     ((1 << 10)|(1 << 5))
  198.     #define PM3VideoOverlayMode_COLORORDER_BGR        (0 << 12)
  199.     #define PM3VideoOverlayMode_COLORORDER_RGB        (1 << 12)
  200.     #define PM3VideoOverlayMode_LINEARCOLOREXT_OFF        (0 << 13)
  201.     #define PM3VideoOverlayMode_LINEARCOLOREXT_ON        (1 << 13)
  202.     #define PM3VideoOverlayMode_FILTER_MASK            (3 << 14)
  203.     #define PM3VideoOverlayMode_FILTER_OFF            (0 << 14)
  204.     #define PM3VideoOverlayMode_FILTER_FULL            (1 << 14)
  205.     #define PM3VideoOverlayMode_FILTER_PARTIAL        (2 << 14)
  206.     #define PM3VideoOverlayMode_DEINTERLACE_OFF        (0 << 16)
  207.     #define PM3VideoOverlayMode_DEINTERLACE_BOB        (1 << 16)
  208.     #define PM3VideoOverlayMode_PATCHMODE_OFF        (0 << 18)
  209.     #define PM3VideoOverlayMode_PATCHMODE_ON        (1 << 18)
  210.     #define PM3VideoOverlayMode_FLIP_VIDEO            (0 << 20)
  211.     #define PM3VideoOverlayMode_FLIP_VIDEOSTREAMA        (1 << 20)
  212.     #define PM3VideoOverlayMode_FLIP_VIDEOSTREAMB        (2 << 20)
  213.     #define PM3VideoOverlayMode_MIRROR_MASK            (3 << 23)
  214.     #define PM3VideoOverlayMode_MIRRORX_OFF            (0 << 23)
  215.     #define PM3VideoOverlayMode_MIRRORX_ON            (1 << 23)
  216.     #define PM3VideoOverlayMode_MIRRORY_OFF            (0 << 24)
  217.     #define PM3VideoOverlayMode_MIRRORY_ON            (1 << 24)
  218. #define PM3VideoOverlayFifoControl                0x3110
  219. #define PM3VideoOverlayIndex                    0x3118
  220. #define PM3VideoOverlayBase0                    0x3120
  221. #define PM3VideoOverlayBase1                    0x3128
  222. #define PM3VideoOverlayBase2                    0x3130
  223. #define PM3VideoOverlayStride                    0x3138
  224.     #define PM3VideoOverlayStride_STRIDE(s)        (((s) & 0xfff) << 0)
  225. #define PM3VideoOverlayWidth                    0x3140
  226.     #define PM3VideoOverlayWidth_WIDTH(w)        (((w) & 0xfff) << 0)
  227. #define PM3VideoOverlayHeight                    0x3148
  228.     #define PM3VideoOverlayHeight_HEIGHT(h)        (((h) & 0xfff) << 0)
  229. #define PM3VideoOverlayOrigin                    0x3150
  230.     #define PM3VideoOverlayOrigin_XORIGIN(x)    (((x) & 0xfff) << 0)
  231.     #define PM3VideoOverlayOrigin_YORIGIN(y)    (((y) & 0xfff) << 16)
  232. #define PM3VideoOverlayShrinkXDelta                0x3158
  233.     #define PM3VideoOverlayShrinkXDelta_NONE        (1 << 16)
  234.     #define PM3VideoOverlayShrinkXDelta_DELTA(s,d)    \
  235.         ((((s) << 16)/(d)) & 0x0ffffff0)
  236. #define PM3VideoOverlayZoomXDelta                0x3160
  237.     #define PM3VideoOverlayZoomXDelta_NONE            (1 << 16)
  238.     #define PM3VideoOverlayZoomXDelta_DELTA(s,d)    \
  239.         ((((s) << 16)/(d)) & 0x0001fff0)
  240. #define PM3VideoOverlayYDelta                    0x3168
  241.     #define PM3VideoOverlayYDelta_NONE            (1 << 16)
  242.     #define PM3VideoOverlayYDelta_DELTA(s,d)    \
  243.         ((((s) << 16)/(d)) & 0x0ffffff0)
  244. #define PM3VideoOverlayFieldOffset                0x3170
  245. #define PM3VideoOverlayStatus                    0x3178
  246.  
  247. /**********************************************
  248. *  GLINT Permedia3 RAMDAC Registers (0x4000)  *
  249. ***********************************************/
  250. /* Direct Registers */
  251. #define PM3RD_PaletteWriteAddress                0x4000
  252. #define PM3RD_PaletteData                    0x4008
  253. #define PM3RD_PixelMask                        0x4010
  254. #define PM3RD_PaletteReadAddress                0x4018
  255.  
  256. #define PM3RD_IndexLow                        0x4020
  257. #define PM3RD_IndexHigh                        0x4028
  258. #define PM3RD_IndexedData                    0x4030
  259. #define PM3RD_IndexControl                    0x4038
  260.     #define PM3RD_IndexControl_AUTOINCREMENT_ENABLE        (1 << 0)
  261.  
  262. /* Indirect Registers */
  263. #define PM3RD_MiscControl                    0x000
  264.     #define PM3RD_MiscControl_HIGHCOLOR_RES_ENABLE        (1 << 0)
  265.     #define PM3RD_MiscControl_PIXELDOUBLE_ENABLE        (1 << 1)
  266.     #define PM3RD_MiscControl_LASTREAD_ADDR_ENABLE        (1 << 2)
  267.     #define PM3RD_MiscControl_DIRECTCOLOR_ENABLE        (1 << 3)
  268.     #define PM3RD_MiscControl_OVERLAY_ENABLE        (1 << 4)
  269.     #define PM3RD_MiscControl_PIXELDOUBLE_BUFFER_ENABLE    (1 << 5)
  270.     #define PM3RD_MiscControl_VSB_OUTPUT_ENABLE        (1 << 6)
  271.     #define PM3RD_MiscControl_STEREODOUBLE_BUFFER_ENABLE    (1 << 7)
  272. #define PM3RD_SyncControl                    0x001
  273.     #define PM3RD_SyncControl_HSYNC_ACTIVE_LOW        (0 << 0)
  274.     #define PM3RD_SyncControl_HSYNC_ACTIVE_HIGH        (1 << 0)
  275.     #define PM3RD_SyncControl_HSYNC_FORCE_ACTIVE        (3 << 0)
  276.     #define PM3RD_SyncControl_HSYNC_FORCE_INACTIVE        (4 << 0)
  277.     #define PM3RD_SyncControl_HSYNC_TRI_STATE        (2 << 0)
  278.     #define PM3RD_SyncControl_VSYNC_ACTIVE_LOW        (0 << 3)
  279.     #define PM3RD_SyncControl_VSYNC_ACTIVE_HIGH        (1 << 3)
  280.     #define PM3RD_SyncControl_VSYNC_TRI_STATE        (2 << 3)
  281.     #define PM3RD_SyncControl_VSYNC_FORCE_ACTIVE        (3 << 3)
  282.     #define PM3RD_SyncControl_VSYNC_FORCE_INACTIVE        (4 << 3)
  283.     #define PM3RD_SyncControl_HSYNC_OVERRIDE_SETBY_HSYNC    (0 << 6)
  284.     #define PM3RD_SyncControl_HSYNC_OVERRIDE_FORCE_HIGH    (1 << 6)
  285.     #define PM3RD_SyncControl_VSYNC_OVERRIDE_SETBY_VSYNC    (0 << 7)
  286.     #define PM3RD_SyncControl_VSYNC_OVERRIDE_FORCE_HIGH    (1 << 7)
  287. #define PM3RD_DACControl                    0x002
  288.     #define PM3RD_DACControl_DAC_POWER_ON            (0 << 0)
  289.     #define PM3RD_DACControl_DAC_POWER_OFF            (1 << 0)
  290.     #define PM3RD_DACControl_SYNC_ON_GREEN_ENABLE        (1 << 3)
  291.     #define PM3RD_DACControl_BLANK_RED_DAC_ENABLE        (1 << 4)
  292.     #define PM3RD_DACControl_BLANK_GREEN_DAC_ENABLE        (1 << 5)
  293.     #define PM3RD_DACControl_BLANK_BLUE_DAC_ENABLE        (1 << 6)
  294.     #define PM3RD_DACControl_BLANK_PEDESTAL_ENABLE        (1 << 7)
  295. #define PM3RD_PixelSize                        0x003
  296.     #define PM3RD_PixelSize_24_BIT_PIXELS            (4 << 0)
  297.     #define PM3RD_PixelSize_32_BIT_PIXELS            (2 << 0)
  298.     #define PM3RD_PixelSize_16_BIT_PIXELS            (1 << 0)
  299.     #define PM3RD_PixelSize_8_BIT_PIXELS            (0 << 0)
  300. #define PM3RD_ColorFormat                    0x004
  301.     #define PM3RD_ColorFormat_LINEAR_COLOR_EXT_ENABLE    (1 << 6)
  302.     #define PM3RD_ColorFormat_COLOR_ORDER_BLUE_LOW        (1 << 5)
  303.     #define PM3RD_ColorFormat_COLOR_ORDER_RED_LOW        (0 << 5)
  304.     #define PM3RD_ColorFormat_COLOR_FORMAT_MASK        (0x1f << 0)
  305.     #define PM3RD_ColorFormat_8888_COLOR            (0 << 0)
  306.     #define PM3RD_ColorFormat_5551_FRONT_COLOR        (1 << 0)
  307.     #define PM3RD_ColorFormat_4444_COLOR            (2 << 0)
  308.     #define PM3RD_ColorFormat_332_FRONT_COLOR        (5 << 0)
  309.     #define PM3RD_ColorFormat_332_BACK_COLOR        (6 << 0)
  310.     #define PM3RD_ColorFormat_2321_FRONT_COLOR        (9 << 0)
  311.     #define PM3RD_ColorFormat_2321_BACK_COLOR        (10 << 0)
  312.     #define PM3RD_ColorFormat_232_FRONTOFF_COLOR        (11 << 0)
  313.     #define PM3RD_ColorFormat_232_BACKOFF_COLOR        (12 << 0)
  314.     #define PM3RD_ColorFormat_5551_BACK_COLOR        (13 << 0)
  315.     #define PM3RD_ColorFormat_CI8_COLOR            (14 << 0)
  316.     #define PM3RD_ColorFormat_565_FRONT_COLOR        (16 << 0)
  317.     #define PM3RD_ColorFormat_565_BACK_COLOR        (17 << 0)
  318. #define PM3RD_CursorMode                    0x005
  319.     #define PM3RD_CursorMode_CURSOR_ENABLE            (1 << 0)
  320.     #define PM3RD_CursorMode_FORMAT_64x64_2BPE_P0123    (0 << 2)
  321.     #define PM3RD_CursorMode_FORMAT_32x32_2BPE_P0        (1 << 2)
  322.     #define PM3RD_CursorMode_FORMAT_32x32_2BPE_P1        (2 << 2)
  323.     #define PM3RD_CursorMode_FORMAT_32x32_2BPE_P2        (3 << 2)
  324.     #define PM3RD_CursorMode_FORMAT_32x32_2BPE_P3        (4 << 2)
  325.     #define PM3RD_CursorMode_FORMAT_32x32_4BPE_P01        (5 << 2)
  326.     #define PM3RD_CursorMode_FORMAT_32x32_4BPE_P23        (6 << 2)
  327.     #define PM3RD_CursorMode_TYPE_MS            (0 << 4)
  328.     #define PM3RD_CursorMode_TYPE_X                (1 << 4)
  329.     #define PM3RD_CursorMode_REVERSE_PIXEL_ORDER_ENABLE    (1 << 6)
  330.     #define PM3RD_CursorMode_REVERSE_PIXEL_ORDER_3_COLOR    (2 << 6)
  331.     #define PM3RD_CursorMode_REVERSE_PIXEL_ORDER_15_COLOR    (3 << 6)
  332. #define PM3RD_CursorControl                    0x006
  333.     #define PM3RD_CursorControl_DOUBLE_X_ENABLED        (1 << 0)
  334.     #define PM3RD_CursorControl_DOUBLE_Y_ENABLED        (1 << 1)
  335.     #define PM3RD_CursorControl_READBACK_POS_ENABLED    (1 << 2)
  336.  
  337. #define PM3RD_CursorXLow                    0x007
  338. #define PM3RD_CursorXHigh                    0x008
  339. #define PM3RD_CursorYLow                    0x009
  340. #define PM3RD_CursorYHigh                    0x00a
  341. #define PM3RD_CursorHotSpotX                    0x00b
  342. #define PM3RD_CursorHotSpotY                    0x00c
  343. #define PM3RD_OverlayKey                    0x00d
  344. #define PM3RD_Pan                        0x00e
  345.     #define PM3RD_Pan_ENABLE                (1 << 0)
  346.     #define PM3RD_Pan_GATE_ENABLE                (1 << 1)
  347. #define PM3RD_Sense                        0x00f
  348.  
  349. #define PM3RD_CheckControl                    0x018
  350.     #define PM3RD_CheckControl_PIXEL_ENABLED        (1 << 0)
  351.     #define PM3RD_CheckControl_LUT_ENABLED            (1 << 1)
  352. #define PM3RD_CheckPixelRed                    0x019
  353. #define PM3RD_CheckPixelGreen                    0x01a
  354. #define PM3RD_CheckPixelBlue                    0x01b
  355. #define PM3RD_CheckLUTRed                    0x01c
  356. #define PM3RD_CheckLUTGreen                    0x01d
  357. #define PM3RD_CheckLUTBlue                    0x01e
  358. #define PM3RD_Scratch                        0x01f
  359.  
  360. #define PM3RD_VideoOverlayControl                0x020
  361.     #define PM3RD_VideoOverlayControl_ENABLE        (1 << 0)
  362.     #define PM3RD_VideoOverlayControl_MODE_MASK        (3 << 1)
  363.     #define PM3RD_VideoOverlayControl_MODE_MAINKEY        (0 << 1)
  364.     #define PM3RD_VideoOverlayControl_MODE_OVERLAYKEY    (1 << 1)
  365.     #define PM3RD_VideoOverlayControl_MODE_ALWAYS        (2 << 1)
  366.     #define PM3RD_VideoOverlayControl_MODE_BLEND        (3 << 1)
  367.     #define PM3RD_VideoOverlayControl_DIRECTCOLOR_ENABLED    (1 << 3)
  368.     #define PM3RD_VideoOverlayControl_BLENDSRC_MAIN        (0 << 4)
  369.     #define PM3RD_VideoOverlayControl_BLENDSRC_REGISTER    (1 << 4)
  370.     #define PM3RD_VideoOverlayControl_KEY_COLOR        (0 << 5)
  371.     #define PM3RD_VideoOverlayControl_KEY_ALPHA        (1 << 5)
  372. #define PM3RD_VideoOverlayXStartLow                0x021
  373. #define PM3RD_VideoOverlayXStartHigh                0x022
  374. #define PM3RD_VideoOverlayYStartLow                0x023
  375. #define PM3RD_VideoOverlayYStartHigh                0x024
  376. #define PM3RD_VideoOverlayXEndLow                0x025
  377. #define PM3RD_VideoOverlayXEndHigh                0x026
  378. #define PM3RD_VideoOverlayYEndLow                0x027
  379. #define PM3RD_VideoOverlayYEndHigh                0x028
  380. #define PM3RD_VideoOverlayKeyR                    0x029
  381. #define PM3RD_VideoOverlayKeyG                    0x02a
  382. #define PM3RD_VideoOverlayKeyB                    0x02b
  383. #define PM3RD_VideoOverlayBlend                    0x02c
  384.     #define PM3RD_VideoOverlayBlend_FACTOR_0_PERCENT    (0 << 6)
  385.     #define PM3RD_VideoOverlayBlend_FACTOR_25_PERCENT    (1 << 6)
  386.     #define PM3RD_VideoOverlayBlend_FACTOR_75_PERCENT    (2 << 6)
  387.     #define PM3RD_VideoOverlayBlend_FACTOR_100_PERCENT    (3 << 6)
  388.  
  389. #define PM3RD_DClkSetup1                    0x1f0
  390. #define PM3RD_DClkSetup2                    0x1f1
  391. #define PM3RD_KClkSetup1                    0x1f2
  392. #define PM3RD_KClkSetup2                    0x1f3
  393.  
  394. #define PM3RD_DClkControl                    0x200
  395.     #define PM3RD_DClkControl_SOURCE_PLL            (0 << 4)
  396.     #define PM3RD_DClkControl_SOURCE_VSA            (1 << 4)
  397.     #define PM3RD_DClkControl_SOURCE_VSB            (2 << 4)
  398.     #define PM3RD_DClkControl_SOURCE_EXT            (3 << 4)
  399.     #define PM3RD_DClkControl_STATE_RUN            (2 << 2)
  400.     #define PM3RD_DClkControl_STATE_HIGH            (1 << 2)
  401.     #define PM3RD_DClkControl_STATE_LOW            (0 << 2)
  402.     #define PM3RD_DClkControl_LOCKED            (1 << 1)
  403.     #define PM3RD_DClkControl_NOT_LOCKED            (0 << 1)
  404.     #define PM3RD_DClkControl_ENABLE            (1 << 0)
  405. #define PM3RD_DClk0PreScale                    0x201
  406. #define PM3RD_DClk0FeedbackScale                0x202
  407. #define PM3RD_DClk0PostScale                    0x203
  408.     #define PM3_REF_CLOCK                    14318
  409. #define PM3RD_DClk1PreScale                    0x204
  410. #define PM3RD_DClk1FeedbackScale                0x205
  411. #define PM3RD_DClk1PostScale                    0x206
  412. #define PM3RD_DClk2PreScale                    0x207
  413. #define PM3RD_DClk2FeedbackScale                0x208
  414. #define PM3RD_DClk2PostScale                    0x209
  415. #define PM3RD_DClk3PreScale                    0x20a
  416. #define PM3RD_DClk3FeedbackScale                0x20b
  417. #define PM3RD_DClk3PostScale                    0x20c
  418. #define PM3RD_KClkControl                    0x20d
  419.     #define PM3RD_KClkControl_ENABLE            (1 << 0)
  420.     #define PM3RD_KClkControl_NOT_LOCKED            (0 << 1)
  421.     #define PM3RD_KClkControl_LOCKED            (1 << 1)
  422.     #define PM3RD_KClkControl_STATE_LOW            (0 << 2)
  423.     #define PM3RD_KClkControl_STATE_HIGH            (1 << 2)
  424.     #define PM3RD_KClkControl_STATE_RUN            (2 << 2)
  425.     #define PM3RD_KClkControl_STATE_LOW_POWER        (3 << 2)
  426.     #define PM3RD_KClkControl_SOURCE_PCLK            (0 << 4)
  427.     #define PM3RD_KClkControl_SOURCE_HALF_PCLK        (1 << 4)
  428.     #define PM3RD_KClkControl_SOURCE_PLL            (2 << 4)
  429. #define PM3RD_KClkPreScale                    0x20e
  430. #define PM3RD_KClkFeedbackScale                    0x20f
  431. #define PM3RD_KClkPostScale                    0x210
  432. #define PM3RD_MClkControl                    0x211
  433.     #define PM3RD_MClkControl_ENABLE            (1 << 0)
  434.     #define PM3RD_MClkControl_NOT_LOCKED            (0 << 1)
  435.     #define PM3RD_MClkControl_LOCKED            (1 << 1)
  436.     #define PM3RD_MClkControl_STATE_LOW            (0 << 2)
  437.     #define PM3RD_MClkControl_STATE_HIGH            (1 << 2)
  438.     #define PM3RD_MClkControl_STATE_RUN            (2 << 2)
  439.     #define PM3RD_MClkControl_STATE_LOW_POWER        (3 << 2)
  440.     #define PM3RD_MClkControl_SOURCE_PCLK            (0 << 4)
  441.     #define PM3RD_MClkControl_SOURCE_HALF_PCLK        (1 << 4)
  442.     #define PM3RD_MClkControl_SOURCE_HALF_EXT        (3 << 4)
  443.     #define PM3RD_MClkControl_SOURCE_EXT            (4 << 4)
  444.     #define PM3RD_MClkControl_SOURCE_HALF_KCLK        (5 << 4)
  445.     #define PM3RD_MClkControl_SOURCE_KCLK            (6 << 4)
  446. #define PM3RD_MClkPreScale                    0x212
  447. #define PM3RD_MClkFeedbackScale                    0x213
  448. #define PM3RD_MClkPostScale                    0x214
  449. #define PM3RD_SClkControl                    0x215
  450.     #define PM3RD_SClkControl_ENABLE            (1 << 0)
  451.     #define PM3RD_SClkControl_NOT_LOCKED            (0 << 1)
  452.     #define PM3RD_SClkControl_LOCKED            (1 << 1)
  453.     #define PM3RD_SClkControl_STATE_LOW            (0 << 2)
  454.     #define PM3RD_SClkControl_STATE_HIGH            (1 << 2)
  455.     #define PM3RD_SClkControl_STATE_RUN            (2 << 2)
  456.     #define PM3RD_SClkControl_STATE_LOW_POWER        (3 << 2)
  457.     #define PM3RD_SClkControl_SOURCE_PCLK            (0 << 4)
  458.     #define PM3RD_SClkControl_SOURCE_HALF_PCLK        (1 << 4)
  459.     #define PM3RD_SClkControl_SOURCE_HALF_EXT        (3 << 4)
  460.     #define PM3RD_SClkControl_SOURCE_EXT            (4 << 4)
  461.     #define PM3RD_SClkControl_SOURCE_HALF_KCLK        (5 << 4)
  462.     #define PM3RD_SClkControl_SOURCE_KCLK            (6 << 4)
  463. #define PM3RD_SClkPreScale                    0x216
  464. #define PM3RD_SClkFeedbackScale                    0x217
  465. #define PM3RD_SClkPostScale                    0x218
  466.  
  467. #define PM3RD_CursorPalette(p)                (0x303 + (p))
  468. #define PM3RD_CursorPattern(p)                (0x400 + (p))
  469. /******************************************************
  470. *  GLINT Permedia3 Video Streaming Registers (0x5000) *
  471. *******************************************************/
  472.  
  473. #define PM3VSConfiguration                    0x5800
  474.  
  475. /**********************************************
  476. *  GLINT Permedia3 Core Registers (0x8000+)   *
  477. ***********************************************/
  478. #define PM3AALineWidth                        0x94c0
  479. #define PM3AAPointsize                        0x94a0
  480. #define PM3AlphaBlendAlphaMode                    0xafa8
  481. #define PM3AlphaBlendAlphaModeAnd                0xad30
  482. #define PM3AlphaBlendAlphaModeOr                0xad38
  483. #define PM3AlphaBlendColorMode                    0xafa0
  484. #define PM3AlphaBlendColorModeAnd                0xacb0
  485. #define PM3AlphaBlendColorModeOr                0xacb8
  486. #define PM3AlphaDestColor                    0xaf88
  487. #define PM3AlphaSourceColor                    0xaf80
  488. #define PM3AlphaTestMode                    0x8800
  489. #define PM3AlphaTestModeAnd                    0xabf0
  490. #define PM3AlphaTestModeOr                    0xabf8
  491. #define PM3AntialiasMode                    0x8808
  492. #define PM3AntialiasModeAnd                    0xac00
  493. #define PM3AntialiasModeOr                    0xac08
  494. /* ... */
  495. #define PM3BackgroundColor                    0xb0c8
  496. /* ... */
  497. #define PM3ColorDDAMode                        0x87e0
  498. #define PM3ColorDDAModeAnd                    0xabe0
  499. #define PM3ColorDDAModeOr                    0xabe8
  500. #define PM3CommandInterrupt                    0xa990
  501. #define PM3ConstantColorDDA                    0xafb0
  502.     #define PM3ConstantColorDDA_R(r)        ((r) & 0xff)
  503.     #define PM3ConstantColorDDA_G(g)        (((g) & 0xff) << 8)
  504.     #define PM3ConstantColorDDA_B(b)        (((b) & 0xff) << 16)
  505.     #define PM3ConstantColorDDA_A(a)        (((a) & 0xff) << 24)
  506. #define PM3ContextData                        0x8dd0
  507. #define PM3ContextDump                        0x8dc0
  508. #define PM3ContextRestore                    0x8dc8
  509. #define PM3Continue                        0x8058
  510. #define PM3ContinueNewDom                    0x8048
  511. #define PM3ContinueNewLine                    0x8040
  512. #define PM3ContinueNewSub                    0x8050
  513. #define PM3Count                        0x8030
  514. /* ... */
  515. #define PM3DeltaControl                        0x9350
  516. #define PM3DeltaControlAnd                    0xab20
  517. #define PM3DeltaControlOr                    0xab28
  518. #define PM3DeltaMode                        0x9300
  519. #define PM3DeltaModeAnd                        0xaad0
  520. #define PM3DeltaModeOr                        0xaad8
  521. /* ... */
  522. #define PM3DitherMode                        0x8818
  523. #define PM3DitherModeAnd                    0xacd0
  524. #define PM3DitherModeOr                        0xacd8
  525. /* ... */
  526. #define PM3dXDom                        0x8008
  527. #define PM3dXSub                        0x8018
  528. #define PM3dY                            0x8028
  529. /* ... */
  530. #define PM3FBBlockColor                        0x8ac8
  531. #define PM3FBBlockColor0                    0xb060
  532. #define PM3FBBlockColor1                    0xb068
  533. #define PM3FBBlockColor2                    0xb070
  534. #define PM3FBBlockColor3                    0xb078
  535. #define PM3FBBlockColorBack                    0xb0a0
  536. #define PM3FBBlockColorBack0                    0xb080
  537. #define PM3FBBlockColorBack1                    0xb088
  538. #define PM3FBBlockColorBack2                    0xb090
  539. #define PM3FBBlockColorBack3                    0xb098
  540. #define PM3FBColor                        0x8a98
  541. #define PM3FBDestReadBufferAddr0                0xae80
  542. #define PM3FBDestReadBufferAddr1                0xae88
  543. #define PM3FBDestReadBufferAddr2                0xae90
  544. #define PM3FBDestReadBufferAddr3                0xae98
  545. #define PM3FBDestReadBufferOffset0                0xaea0
  546. #define PM3FBDestReadBufferOffset1                0xaea8
  547. #define PM3FBDestReadBufferOffset2                0xaeb0
  548. #define PM3FBDestReadBufferOffset3                0xaeb8
  549.     #define PM3FBDestReadBufferOffset_XOffset(x)    ((x) & 0xffff)
  550.     #define PM3FBDestReadBufferOffset_YOffset(y)    (((y) & 0xffff) << 16)
  551. #define PM3FBDestReadBufferWidth0                0xaec0
  552. #define PM3FBDestReadBufferWidth1                0xaec8
  553. #define PM3FBDestReadBufferWidth2                0xaed0
  554. #define PM3FBDestReadBufferWidth3                0xaed8
  555.     #define PM3FBDestReadBufferWidth_Width(w)    ((w) & 0x0fff)
  556.  
  557. #define PM3FBDestReadEnables                    0xaee8
  558. #define PM3FBDestReadEnablesAnd                    0xad20
  559. #define PM3FBDestReadEnablesOr                    0xad28
  560.     #define PM3FBDestReadEnables_E(e)        ((e) & 0xff)
  561.     #define PM3FBDestReadEnables_E0                (1 << 0)
  562.     #define PM3FBDestReadEnables_E1                (1 << 1)
  563.     #define PM3FBDestReadEnables_E2                (1 << 2)
  564.     #define PM3FBDestReadEnables_E3                (1 << 3)
  565.     #define PM3FBDestReadEnables_E4                (1 << 4)
  566.     #define PM3FBDestReadEnables_E5                (1 << 5)
  567.     #define PM3FBDestReadEnables_E6                (1 << 6)
  568.     #define PM3FBDestReadEnables_E7                (1 << 7)
  569.     #define PM3FBDestReadEnables_R(r)        (((r) & 0xff) << 8)
  570.     #define PM3FBDestReadEnables_R0                (1 << 8)
  571.     #define PM3FBDestReadEnables_R1                (1 << 9)
  572.     #define PM3FBDestReadEnables_R2                (1 << 10)
  573.     #define PM3FBDestReadEnables_R3                (1 << 11)
  574.     #define PM3FBDestReadEnables_R4                (1 << 12)
  575.     #define PM3FBDestReadEnables_R5                (1 << 13)
  576.     #define PM3FBDestReadEnables_R6                (1 << 14)
  577.     #define PM3FBDestReadEnables_R7                (1 << 15)
  578.     #define PM3FBDestReadEnables_ReferenceAlpha(a)    (((a) & 0xff) << 24)
  579.  
  580. #define PM3FBDestReadMode                    0xaee0
  581. #define PM3FBDestReadModeAnd                    0xac90
  582. #define PM3FBDestReadModeOr                    0xac98
  583.     #define PM3FBDestReadMode_ReadDisable            (0 << 0)
  584.     #define PM3FBDestReadMode_ReadEnable            (1 << 0)
  585.     #define PM3FBDestReadMode_StripePitch(sp)    (((sp) & 0x7) << 2)
  586.     #define PM3FBDestReadMode_StripeHeight(sh)    (((sh) & 0x7) << 7)
  587.     #define PM3FBDestReadMode_Enable0            (1 << 8)
  588.     #define PM3FBDestReadMode_Enable1            (1 << 9)
  589.     #define PM3FBDestReadMode_Enable2            (1 << 10)
  590.     #define PM3FBDestReadMode_Enable3            (1 << 11)
  591.     #define PM3FBDestReadMode_Layout0(l)        (((l) & 0x3) << 12)
  592.     #define PM3FBDestReadMode_Layout1(l)        (((l) & 0x3) << 14)
  593.     #define PM3FBDestReadMode_Layout2(l)        (((l) & 0x3) << 16)
  594.     #define PM3FBDestReadMode_Layout3(l)        (((l) & 0x3) << 18)
  595.     #define PM3FBDestReadMode_Origin0            (1 << 20)
  596.     #define PM3FBDestReadMode_Origin1            (1 << 21)
  597.     #define PM3FBDestReadMode_Origin2            (1 << 22)
  598.     #define PM3FBDestReadMode_Origin3            (1 << 23)
  599.     #define PM3FBDestReadMode_Blocking            (1 << 24)
  600.     #define PM3FBDestReadMode_UseReadEnabled        (1 << 26)
  601.     #define PM3FBDestReadMode_AlphaFiltering        (1 << 27)
  602.  
  603. #define PM3FBHardwareWriteMask                    0x8ac0
  604. #define PM3FBSoftwareWriteMask                    0x8820
  605. #define PM3FBData                        0x8aa0
  606. #define PM3FBSourceData                        0x8aa8
  607. #define PM3FBSourceReadBufferAddr                0xaf08
  608. #define PM3FBSourceReadBufferOffset                0xaf10
  609.     #define PM3FBSourceReadBufferOffset_XOffset(x)    ((x) & 0xffff)
  610.     #define PM3FBSourceReadBufferOffset_YOffset(y)    (((y) & 0xffff) << 16)
  611. #define PM3FBSourceReadBufferWidth                0xaf18
  612.     #define PM3FBSourceReadBufferWidth_Width(w)    ((w) & 0x0fff)
  613. #define PM3FBSourceReadMode                    0xaf00
  614. #define PM3FBSourceReadModeAnd                    0xaca0
  615. #define PM3FBSourceReadModeOr                    0xaca8
  616.     #define PM3FBSourceReadMode_ReadDisable            (0 << 0)
  617.     #define PM3FBSourceReadMode_ReadEnable            (1 << 0)
  618.     #define PM3FBSourceReadMode_StripePitch(sp)    (((sp) & 0x7) << 2)
  619.     #define PM3FBSourceReadMode_StripeHeight(sh)    (((sh) & 0x7) << 7)
  620.     #define PM3FBSourceReadMode_Layout(l)        (((l) & 0x3) << 8)
  621.     #define PM3FBSourceReadMode_Origin            (1 << 10)
  622.     #define PM3FBSourceReadMode_Blocking            (1 << 11)
  623.     #define PM3FBSourceReadMode_UserTexelCoord        (1 << 13)
  624.     #define PM3FBSourceReadMode_WrapXEnable            (1 << 14)
  625.     #define PM3FBSourceReadMode_WrapYEnable            (1 << 15)
  626.     #define PM3FBSourceReadMode_WrapX(w)        (((w) & 0xf) << 16)
  627.     #define PM3FBSourceReadMode_WrapY(w)        (((w) & 0xf) << 20)
  628.     #define PM3FBSourceReadMode_ExternalSourceData        (1 << 24)
  629. #define PM3FBWriteBufferAddr0                    0xb000
  630. #define PM3FBWriteBufferAddr1                    0xb008
  631. #define PM3FBWriteBufferAddr2                    0xb010
  632. #define PM3FBWriteBufferAddr3                    0xb018
  633.  
  634. #define PM3FBWriteBufferOffset0                    0xb020
  635. #define PM3FBWriteBufferOffset1                    0xb028
  636. #define PM3FBWriteBufferOffset2                    0xb030
  637. #define PM3FBWriteBufferOffset3                    0xb038
  638.     #define PM3FBWriteBufferOffset_XOffset(x)    ((x) & 0xffff)
  639.     #define PM3FBWriteBufferOffset_YOffset(y)    (((y) & 0xffff) << 16)
  640.  
  641. #define PM3FBWriteBufferWidth0                    0xb040
  642. #define PM3FBWriteBufferWidth1                    0xb048
  643. #define PM3FBWriteBufferWidth2                    0xb050
  644. #define PM3FBWriteBufferWidth3                    0xb058
  645.     #define PM3FBWriteBufferWidth_Width(w)        ((w) & 0x0fff)
  646.  
  647. #define PM3FBWriteMode                        0x8ab8
  648. #define PM3FBWriteModeAnd                    0xacf0
  649. #define PM3FBWriteModeOr                    0xacf8
  650.     #define PM3FBWriteMode_WriteDisable            (0 << 0)
  651.     #define PM3FBWriteMode_WriteEnable            (1 << 0)
  652.     #define PM3FBWriteMode_Replicate            (1 << 4)
  653.     #define PM3FBWriteMode_OpaqueSpan            (1 << 5)
  654.     #define PM3FBWriteMode_StripePitch(p)        (((p) & 0x7) << 6)
  655.     #define PM3FBWriteMode_StripeHeight(h)        (((h) & 0x7) << 9)
  656.     #define PM3FBWriteMode_Enable0                (1 << 12)
  657.     #define PM3FBWriteMode_Enable1                (1 << 13)
  658.     #define PM3FBWriteMode_Enable2                (1 << 14)
  659.     #define PM3FBWriteMode_Enable3                (1 << 15)
  660.     #define PM3FBWriteMode_Layout0(l)        (((l) & 0x3) << 16)
  661.     #define PM3FBWriteMode_Layout1(l)        (((l) & 0x3) << 18)
  662.     #define PM3FBWriteMode_Layout2(l)        (((l) & 0x3) << 20)
  663.     #define PM3FBWriteMode_Layout3(l)        (((l) & 0x3) << 22)
  664.     #define PM3FBWriteMode_Origin0                (1 << 24)
  665.     #define PM3FBWriteMode_Origin1                (1 << 25)
  666.     #define PM3FBWriteMode_Origin2                (1 << 26)
  667.     #define PM3FBWriteMode_Origin3                (1 << 27)
  668. #define PM3ForegroundColor                    0xb0c0
  669. /* ... */
  670. #define PM3GIDMode                        0xb538
  671. #define PM3GIDModeAnd                        0xb5b0
  672. #define PM3GIDModeOr                        0xb5b8
  673. /* ... */
  674. #define PM3LBDestReadBufferAddr                    0xb510
  675. #define PM3LBDestReadBufferOffset                0xb518
  676. #define PM3LBDestReadEnables                    0xb508
  677. #define PM3LBDestReadEnablesAnd                    0xb590
  678. #define PM3LBDestReadEnablesOr                    0xb598
  679. #define PM3LBDestReadMode                    0xb500
  680. #define PM3LBDestReadModeAnd                    0xb580
  681. #define PM3LBDestReadModeOr                    0xb588
  682.     #define PM3LBDestReadMode_Disable            (0 << 0)
  683.     #define PM3LBDestReadMode_Enable            (1 << 0)
  684.     #define PM3LBDestReadMode_StripePitch(p)    (((p) & 0x7) << 2)
  685.     #define PM3LBDestReadMode_StripeHeight(h)    (((h) & 0x7) << 5)
  686.     #define PM3LBDestReadMode_Layout            (1 << 8)
  687.     #define PM3LBDestReadMode_Origin            (1 << 9)
  688.     #define PM3LBDestReadMode_UserReadEnables        (1 << 10)
  689.     #define PM3LBDestReadMode_Packed16            (1 << 11)
  690.     #define PM3LBDestReadMode_Width(w)        (((w) & 0xfff) << 12)
  691. #define PM3LBReadFormat                        0x8888
  692.     #define PM3LBReadFormat_DepthWidth(w)        (((w) & 0x3) << 0)
  693.     #define PM3LBReadFormat_StencilWidth(w)        (((w) & 0xf) << 2)
  694.     #define PM3LBReadFormat_StencilPosition(p)    (((p) & 0x1f) << 6)
  695.     #define PM3LBReadFormat_FCPWidth(w)        (((w) & 0xf) << 11)
  696.     #define PM3LBReadFormat_FCPPosition(p)        (((p) & 0x1f) << 15)
  697.     #define PM3LBReadFormat_GIDWidth(w)        (((w) & 0x7) << 20)
  698.     #define PM3LBReadFormat_GIDPosition(p)        (((p) & 0x1f) << 23)
  699. #define PM3LBSourceReadBufferAddr                0xb528
  700. #define PM3LBSourceReadBufferOffset                0xb530
  701. #define PM3LBSourceReadMode                    0xb520
  702. #define PM3LBSourceReadModeAnd                    0xb5a0
  703. #define PM3LBSourceReadModeOr                    0xb5a8
  704.     #define PM3LBSourceReadMode_Enable            (1 << 0)
  705.     #define PM3LBSourceReadMode_StripePitch(p)    (((p) & 0x7) << 2)
  706.     #define PM3LBSourceReadMode_StripeHeight(h)    (((h) & 0x7) << 5)
  707.     #define PM3LBSourceReadMode_Layout            (1 << 8)
  708.     #define PM3LBSourceReadMode_Origin            (1 << 9)
  709.     #define PM3LBSourceReadMode_Packed16            (1 << 10)
  710.     #define PM3LBSourceReadMode_Width(w)        (((w) & 0xfff) << 11)
  711. #define PM3LBStencil                        0x88a8
  712. #define PM3LBWriteBufferAddr                    0xb540
  713. #define PM3LBWriteBufferOffset                    0xb548
  714. #define PM3LBWriteFormat                    0x88c8
  715.     #define PM3LBWriteFormat_DepthWidth(w)        (((w) & 0x3) << 0)
  716.     #define PM3LBWriteFormat_StencilWidth(w)    (((w) & 0xf) << 2)
  717.     #define PM3LBWriteFormat_StencilPosition(p)    (((p) & 0x1f) << 6)
  718.     #define PM3LBWriteFormat_GIDWidth(w)        (((w) & 0x7) << 20)
  719.     #define PM3LBWriteFormat_GIDPosition(p)        (((p) & 0x1f) << 23)
  720. #define PM3LBWriteMode                        0x88c0
  721. #define PM3LBWriteModeAnd                    0xac80
  722. #define PM3LBWriteModeOr                    0xac88
  723.     #define PM3LBWriteMode_WriteDisable            (0 << 0)
  724.     #define PM3LBWriteMode_WriteEnable            (1 << 0)
  725.     #define PM3LBWriteMode_StripePitch(p)        (((p) & 0x7) << 3)
  726.     #define PM3LBWriteMode_StripeHeight(h)        (((h) & 0x7) << 6)
  727.     #define PM3LBWriteMode_Layout                (1 << 9)
  728.     #define PM3LBWriteMode_Origin                (1 << 10)
  729.     #define PM3LBWriteMode_Packed16                (1 << 11)
  730.     #define PM3LBWriteMode_Width(w)            (((w) & 0xfff) << 12)
  731. /* ... */
  732. #define PM3LineStippleMode                    0x81a8
  733. #define PM3LineStippleModeAnd                    0xabc0
  734. #define PM3LineStippleModeOr                    0xabc8
  735. #define PM3LoadLineStippleCounters                0x81b0
  736. /* ... */
  737. #define PM3LogicalOpMode                    0x8828
  738. #define PM3LogicalOpModeAnd                    0xace0
  739. #define PM3LogicalOpModeOr                    0xace8
  740.     #define PM3LogicalOpMode_Disable            (0 << 0)
  741.     #define PM3LogicalOpMode_Enable                (1 << 0)
  742.     #define PM3LogicalOpMode_LogicOp(op)        (((op) & 0xf) << 1)
  743.     #define PM3LogicalOpMode_UseConstantWriteData_Disable    (0 << 5)
  744.     #define PM3LogicalOpMode_UseConstantWriteData_Enable    (1 << 5)
  745.     #define PM3LogicalOpMode_Background_Disable        (0 << 6)
  746.     #define PM3LogicalOpMode_Background_Enable        (1 << 6)
  747.     #define PM3LogicalOpMode_Background_LogicOp(op)    (((op) & 0xf) << 7)
  748.     #define PM3LogicalOpMode_UseConstantSource_Disable    (0 << 11)
  749.     #define PM3LogicalOpMode_UseConstantSource_Enable    (1 << 11)
  750. /* ... */
  751. #define PM3LUT                            0x8e80
  752. #define PM3LUTAddress                        0x84d0
  753. #define PM3LUTData                        0x84c8
  754. #define PM3LUTIndex                        0x84c0
  755. #define PM3LUTMode                        0xb378
  756. #define PM3LUTModeAnd                        0xad70
  757. #define PM3LUTModeOr                        0xad78
  758. #define PM3LUTTransfer                        0x84d8
  759. /* ... */
  760. #define PM3PixelSize                        0x80c0
  761.     #define PM3PixelSize_GLOBAL_32BIT            (0 << 0)
  762.     #define PM3PixelSize_GLOBAL_16BIT            (1 << 0)
  763.     #define PM3PixelSize_GLOBAL_8BIT            (2 << 0)
  764.     #define PM3PixelSize_RASTERIZER_32BIT            (0 << 2)
  765.     #define PM3PixelSize_RASTERIZER_16BIT            (1 << 2)
  766.     #define PM3PixelSize_RASTERIZER_8BIT            (2 << 2)
  767.     #define PM3PixelSize_SCISSOR_AND_STIPPLE_32BIT        (0 << 4)
  768.     #define PM3PixelSize_SCISSOR_AND_STIPPLE_16BIT        (1 << 4)
  769.     #define PM3PixelSize_SCISSOR_AND_STIPPLE_8BIT        (2 << 4)
  770.     #define PM3PixelSize_TEXTURE_32BIT            (0 << 6)
  771.     #define PM3PixelSize_TEXTURE_16BIT            (1 << 6)
  772.     #define PM3PixelSize_TEXTURE_8BIT            (2 << 6)
  773.     #define PM3PixelSize_LUT_32BIT                (0 << 8)
  774.     #define PM3PixelSize_LUT_16BIT                (1 << 8)
  775.     #define PM3PixelSize_LUT_8BIT                (2 << 8)
  776.     #define PM3PixelSize_FRAMEBUFFER_32BIT            (0 << 10)
  777.     #define PM3PixelSize_FRAMEBUFFER_16BIT            (1 << 10)
  778.     #define PM3PixelSize_FRAMEBUFFER_8BIT            (2 << 10)
  779.     #define PM3PixelSize_LOGICAL_OP_32BIT            (0 << 12)
  780.     #define PM3PixelSize_LOGICAL_OP_16BIT            (1 << 12)
  781.     #define PM3PixelSize_LOGICAL_OP_8BIT            (2 << 12)
  782.     #define PM3PixelSize_LOCALBUFFER_32BIT            (0 << 14)
  783.     #define PM3PixelSize_LOCALBUFFER_16BIT            (1 << 14)
  784.     #define PM3PixelSize_LOCALBUFFER_8BIT            (2 << 14)
  785.     #define PM3PixelSize_SETUP_32BIT            (0 << 16)
  786.     #define PM3PixelSize_SETUP_16BIT            (1 << 16)
  787.     #define PM3PixelSize_SETUP_8BIT                (2 << 16)
  788.     #define PM3PixelSize_GLOBAL                (0 << 31)
  789.     #define PM3PixelSize_INDIVIDUAL                (1 << 31)
  790. /* ... */
  791. #define PM3Render                        0x8038
  792.     #define PM3Render_AreaStipple_Disable            (0 << 0)
  793.     #define PM3Render_AreaStipple_Enable            (1 << 0)
  794.     #define PM3Render_LineStipple_Disable            (0 << 1)
  795.     #define PM3Render_LineStipple_Enable            (1 << 1)
  796.     #define PM3Render_ResetLine_Disable            (0 << 2)
  797.     #define PM3Render_ResetLine_Enable            (1 << 2)
  798.     #define PM3Render_FastFill_Disable            (0 << 3)
  799.     #define PM3Render_FastFill_Enable            (1 << 3)
  800.     #define PM3Render_Primitive_Line            (0 << 6)
  801.     #define PM3Render_Primitive_Trapezoid            (1 << 6)
  802.     #define PM3Render_Primitive_Point            (2 << 6)
  803.     #define PM3Render_Antialias_Disable            (0 << 8)
  804.     #define PM3Render_Antialias_Enable            (1 << 8)
  805.     #define PM3Render_Antialias_SubPixelRes_4x4        (0 << 9)
  806.     #define PM3Render_Antialias_SubPixelRes_8x8        (1 << 9)
  807.     #define PM3Render_UsePointTable_Disable            (0 << 10)
  808.     #define PM3Render_UsePointTable_Enable            (1 << 10)
  809.     #define PM3Render_SyncOnbitMask_Disable            (0 << 11)
  810.     #define PM3Render_SyncOnBitMask_Enable            (1 << 11)
  811.     #define PM3Render_SyncOnHostData_Disable        (0 << 12)
  812.     #define PM3Render_SyncOnHostData_Enable            (1 << 12)
  813.     #define PM3Render_Texture_Disable            (0 << 13)
  814.     #define PM3Render_Texture_Enable            (1 << 13)
  815.     #define PM3Render_Fog_Disable                (0 << 14)
  816.     #define PM3Render_Fog_Enable                (1 << 14)
  817.     #define PM3Render_Coverage_Disable            (0 << 15)
  818.     #define PM3Render_Coverage_Enable            (1 << 15)
  819.     #define PM3Render_SubPixelCorrection_Disable        (0 << 16)
  820.     #define PM3Render_SubPixelCorrection_Enable        (1 << 16)
  821.     #define PM3Render_SpanOperation_Disable            (0 << 18)
  822.     #define PM3Render_SpanOperation_Enable            (1 << 18)
  823.     #define PM3Render_FBSourceRead_Disable            (0 << 27)
  824.     #define PM3Render_FBSourceRead_Enable            (1 << 27)
  825. #define PM3RasterizerMode                    0x80a0
  826. #define PM3RasterizerModeAnd                    0xaba0
  827. #define PM3RasterizerModeOr                    0xaba8
  828. #define PM3RectangleHeight                    0x94e0
  829. #define PM3RepeatLine                        0x9328
  830. #define PM3ResetPickResult                    0x8c20
  831. #define PM3RLEMask                        0x8c48
  832. #define PM3RouterMode                        0x8840
  833. #define PM3RStart                        0x8780
  834. #define PM3S1Start                        0x8400
  835. #define PM3aveLineStippleCounters                0x81c0
  836. #define PM3ScissorMaxXY                        0x8190
  837. #define PM3ScissorMinXY                        0x8188
  838. #define PM3ScissorMode                        0x8180
  839. #define PM3ScissorModeAnd                    0xabb0
  840. #define PM3ScissorModeOr                    0xabb8
  841. #define PM3ScreenSize                        0x8198
  842. #define PM3Security                        0x8908
  843. #define PM3SetLogicalTexturePage                0xb360
  844. #define PM3SizeOfFramebuffer                    0xb0a8
  845. #define PM3SStart                        0x8388
  846. #define PM3StartXDom                        0x8000
  847. #define PM3StartXSub                        0x8010
  848. #define PM3StartY                        0x8020
  849. /* ... */
  850. #define PM3SpanColorMask                    0x8168
  851. /* ... */
  852. #define PM3TextureApplicationMode                0x8680
  853. #define PM3TextureApplicationModeAnd                0xac50
  854. #define PM3TextureApplicationModeOr                0xac58
  855. #define PM3TextureBaseAddr                    0x8500
  856. #define PM3TextureCacheControl                    0x8490
  857. #define PM3TextureChromaLower0                    0x84f0
  858. #define PM3TextureChromaLower1                    0x8608
  859. #define PM3TextureChromaUpper0                    0x84e8
  860. #define PM3TextureChromaUpper1                    0x8600
  861. #define PM3TextureCompositeAlphaMode0                0xb310
  862. #define PM3TextureCompositeAlphaMode0And            0xb390
  863. #define PM3TextureCompositeAlphaMode0Or                0xb398
  864. #define PM3TextureCompositeAlphaMode1                0xb320
  865. #define PM3TextureCompositeAlphaMode1And            0xb3b0
  866. #define PM3TextureCompositeAlphaMode1Or                0xb3b8
  867. #define PM3TextureCompositeColorMode0                0xb308
  868. #define PM3TextureCompositeColorMode0And            0xb380
  869. #define PM3TextureCompositeColorMode0Or                0xb388
  870. #define PM3TextureCompositeColorMode1                0xb318
  871. #define PM3TextureCompositeColorMode1And            0xb3a0
  872. #define PM3TextureCompositeColorMode1Or                0xb3a8
  873. #define PM3TextureCompositeFactor0                0xb328
  874. #define PM3TextureCompositeFactor1                0xb330
  875. #define PM3TextureCompositeMode                    0xb300
  876. #define PM3TextureCoordMode                    0x8380
  877. #define PM3TextureCoordModeAnd                    0xac20
  878. #define PM3TextureCoordModeOr                    0xac28
  879. #define PM3TextureData                        0x88e8
  880. /*
  881. #define PM3TextureDownloadControl                0x0108
  882. */
  883. #define PM3TextureDownloadOffset                0x88f0
  884. #define PM3TextureEnvColor                    0x8688
  885. #define PM3TextureFilterMode                    0x84e0
  886. #define PM3TextureFilterModeAnd                    0xad50
  887. #define PM3TextureFilterModeOr                    0xad58
  888. #define PM3TextureIndexMode0                    0xb338
  889. #define PM3TextureIndexMode0And                    0xb3c0
  890. #define PM3TextureIndexMode0Or                    0xb3c8
  891. #define PM3TextureIndexMode1                    0xb340
  892. #define PM3TextureIndexMode1And                    0xb3d0
  893. #define PM3TextureIndexMode1Or                    0xb3d8
  894. /* ... */
  895. #define PM3TextureMapSize                    0xb428
  896. #define PM3TextureMapWidth0                    0x8580
  897. #define PM3TextureMapWidth1                    0x8588
  898.     #define PM3TextureMapWidth_Width(w)        (((w) & 0xfff) << 0)
  899.     #define PM3TextureMapWidth_BorderLayout            (1 << 12)
  900.     #define PM3TextureMapWidth_Layout_Linear        (0 << 13)
  901.     #define PM3TextureMapWidth_Layout_Patch64        (1 << 13)
  902.     #define PM3TextureMapWidth_Layout_Patch32_2        (2 << 13)
  903.     #define PM3TextureMapWidth_Layout_Patch2        (3 << 13)
  904.     #define PM3TextureMapWidth_HostTexture            (1 << 15)
  905. #define PM3TextureReadMode0                    0xb400
  906. #define PM3TextureReadMode0And                    0xac30
  907. #define PM3TextureReadMode0Or                    0xac38
  908. #define PM3TextureReadMode1                    0xb408
  909. #define PM3TextureReadMode1And                    0xad40
  910. #define PM3TextureReadMode1Or                    0xad48
  911. /* ... */
  912. #define PM3WaitForCompletion                    0x80b8
  913. #define PM3Window                        0x8980
  914.     #define PM3Window_ForceLBUpdate                (1 << 3)
  915.     #define PM3Window_LBUpdateSource            (1 << 4)
  916.     #define PM3Window_FrameCount(c)            (((c) & 0xff) << 9)
  917.     #define PM3Window_StencilFCP                (1 << 17)
  918.     #define PM3Window_DepthFCP                (1 << 18)
  919.     #define PM3Window_OverrideWriteFiltering        (1 << 19)
  920. #define PM3WindowAnd                        0xab80
  921. #define PM3WindowOr                        0xab88
  922. #define PM3WindowOrigin                        0x81c8
  923. #define PM3XBias                        0x9480
  924. #define PM3YBias                        0x9488
  925. #define PM3YLimits                        0x80a8
  926. #define PM3UVMode                        0x8f00
  927. #define PM3ZFogBias                        0x86b8
  928. #define PM3ZStart                        0xadd8
  929. #define PM3ZStartL                        0x89b8
  930. #define PM3ZStartU                        0x89b0
  931.  
  932.  
  933. /**********************************************
  934. *  GLINT Permedia3 2D setup Unit          *
  935. ***********************************************/
  936. #define PM3Config2D                        0xb618
  937.     #define PM3Config2D_OpaqueSpan                (1 << 0)
  938.     #define PM3Config2D_MultiRXBlit                (1 << 1)
  939.     #define PM3Config2D_UserScissorEnable            (1 << 2)
  940.     #define PM3Config2D_FBDestReadEnable            (1 << 3)
  941.     #define PM3Config2D_AlphaBlendEnable            (1 << 4)
  942.     #define PM3Config2D_DitherEnable            (1 << 5)
  943.     #define PM3Config2D_ForegroundROPEnable            (1 << 6)
  944.     #define PM3Config2D_ForegroundROP(rop)        (((rop) & 0xf) << 7)
  945.     #define PM3Config2D_BackgroundROPEnable            (1 << 11)
  946.     #define PM3Config2D_BackgroundROP(rop)        (((rop) & 0xf) << 12)
  947.     #define PM3Config2D_UseConstantSource            (1 << 16)
  948.     #define PM3Config2D_FBWriteEnable            (1 << 17)
  949.     #define PM3Config2D_Blocking                (1 << 18)
  950.     #define PM3Config2D_ExternalSourceData            (1 << 19)
  951.     #define PM3Config2D_LUTModeEnable            (1 << 20)
  952. #define PM3DownloadGlyphwidth                    0xb658
  953.     #define PM3DownloadGlyphwidth_GlyphWidth(gw)    ((gw) & 0xffff)
  954. #define PM3DownloadTarget                    0xb650
  955.     #define PM3DownloadTarget_TagName(tag)        ((tag) & 0x1fff)
  956. #define PM3GlyphData                        0xb660
  957. #define PM3GlyphPosition                    0xb608
  958.     #define PM3GlyphPosition_XOffset(x)        ((x) & 0xffff)
  959.     #define PM3GlyphPosition_YOffset(y)        (((y) & 0xffff) << 16)
  960. #define PM3Packed4Pixels                    0xb668
  961. #define PM3Packed8Pixels                    0xb630
  962. #define PM3Packed16Pixels                    0xb638
  963. #define PM3RectanglePosition                    0xb600
  964.     #define PM3RectanglePosition_XOffset(x)        ((x) & 0xffff)
  965.     #define PM3RectanglePosition_YOffset(y)        (((y) & 0xffff) << 16)
  966. #define PM3Render2D                        0xb640
  967.     #define PM3Render2D_Width(w)            ((w) & 0x0fff)
  968.     #define PM3Render2D_Operation_Normal            (0 << 12)
  969.     #define PM3Render2D_Operation_SyncOnHostData        (1 << 12)
  970.     #define PM3Render2D_Operation_SyncOnBitMask        (2 << 12)
  971.     #define PM3Render2D_Operation_PatchOrderRendering    (3 << 12)
  972.     #define PM3Render2D_FBSourceReadEnable            (1 << 14)
  973.     #define PM3Render2D_SpanOperation            (1 << 15)
  974.     #define PM3Render2D_Height(h)            (((h) & 0x0fff) << 16)
  975.     #define PM3Render2D_XPositive                (1 << 28)
  976.     #define PM3Render2D_YPositive                (1 << 29)
  977.     #define PM3Render2D_AreaStippleEnable            (1 << 30)
  978.     #define PM3Render2D_TextureEnable            (1 << 31)
  979. #define PM3Render2DGlyph                    0xb648
  980.     #define PM3Render2DGlyph_Width(w)        ((w) & 0x7f)
  981.     #define PM3Render2DGlyph_Height(h)        (((h) & 0x7f) << 7)
  982.     #define PM3Render2DGlyph_XOffset(x)        (((x) & 0x1ff) << 14)
  983.     #define PM3Render2DGlyph_YOffset(y)        (((y) & 0x1ff) << 23)
  984. #define PM3RenderPatchOffset                    0xb610
  985.     #define PM3RenderPatchOffset_XOffset(x)        ((x) & 0xffff)
  986.     #define PM3RenderPatchOffset_YOffset(y)        (((y) & 0xffff) << 16)
  987. #define PM3RLCount                        0xb678
  988.     #define PM3RLCount_Count(c)            ((c) & 0x0fff)
  989. #define PM3RLData                        0xb670
  990.  
  991. /**********************************************
  992. *  GLINT Permedia3 Alias Register         *
  993. ***********************************************/
  994. #define PM3FillBackgroundColor                    0x8330
  995. #define PM3FillConfig2D0                    0x8338
  996. #define PM3FillConfig2D1                    0x8360
  997.     #define PM3FillConfig2D_OpaqueSpan            (1 << 0)
  998.     #define PM3FillConfig2D_MultiRXBlit            (1 << 1)
  999.     #define PM3FillConfig2D_UserScissorEnable        (1 << 2)
  1000.     #define PM3FillConfig2D_FBDestReadEnable        (1 << 3)
  1001.     #define PM3FillConfig2D_AlphaBlendEnable        (1 << 4)
  1002.     #define PM3FillConfig2D_DitherEnable            (1 << 5)
  1003.     #define PM3FillConfig2D_ForegroundROPEnable        (1 << 6)
  1004.     #define PM3FillConfig2D_ForegroundROP(rop)    (((rop) & 0xf) << 7)
  1005.     #define PM3FillConfig2D_BackgroundROPEnable        (1 << 11)
  1006.     #define PM3FillConfig2D_BackgroundROP(rop)    (((rop) & 0xf) << 12)
  1007.     #define PM3FillConfig2D_UseConstantSource        (1 << 16)
  1008.     #define PM3FillConfig2D_FBWriteEnable            (1 << 17)
  1009.     #define PM3FillConfig2D_Blocking            (1 << 18)
  1010.     #define PM3FillConfig2D_ExternalSourceData        (1 << 19)
  1011.     #define PM3FillConfig2D_LUTModeEnable            (1 << 20)
  1012. #define PM3FillFBDestReadBufferAddr                0x8310
  1013. #define PM3FillFBSourceReadBufferAddr                0x8308
  1014. #define PM3FillFBSourceReadBufferOffset                0x8340
  1015.     #define PM3FillFBSourceReadBufferOffset_XOffset(x) ((x) & 0xffff)
  1016.     #define PM3FillFBSourceReadBufferOffset_YOffset(y)    \
  1017.                         (((y) & 0xffff) << 16)
  1018. #define PM3FillFBWriteBufferAddr                0x8300
  1019. #define PM3FillForegroundColor0                    0x8328
  1020. #define PM3FillForegroundColor1                    0x8358
  1021. #define PM3FillGlyphPosition                    0x8368
  1022.     #define PM3FillGlyphPosition_XOffset(x)        ((x) & 0xffff)
  1023.     #define PM3FillGlyphPosition_YOffset(y)        (((y) & 0xffff) << 16)
  1024. #define PM3FillRectanglePosition                0x8348
  1025.     #define PM3FillRectanglePosition_XOffset(x)    ((x) & 0xffff)
  1026.     #define PM3FillRectanglePosition_YOffset(y)    (((y) & 0xffff) << 16)
  1027.  
  1028. /* a few more useful registers & regs value... */
  1029. #define PM3Sync                            0x8c40
  1030.     #define PM3Sync_Tag                    0x188
  1031. #define PM3FilterMode                        0x8c00
  1032.     #define PM3FilterModeSync                0x400
  1033. #define PM3OutputFifo                        0x2000
  1034. #define PM3StatisticMode                    0x8c08
  1035. #define PM3AreaStippleMode                    0x81a0
  1036. #define AreaStipplePattern_indexed(i)        (0x8200 + ((i) * 0x8))
  1037.  
  1038. #define PM3DepthMode                        0x89a0
  1039. #define PM3StencilMode                        0x8988
  1040. #define PM3StencilData                        0x8990
  1041. #define PM3TextureReadMode                    0x8670
  1042. #define PM3FogMode                        0x8690
  1043. #define PM3ChromaTestMode                    0x8f18
  1044. #define PM3YUVMode                        0x8f00
  1045. #define PM3BitMaskPattern                    0x8068
  1046.  
  1047. /* ***************************** */
  1048. /* ***** pm3fb IOCTL const ***** */
  1049. /* ***************************** */
  1050. #define PM3FBIO_RESETCHIP        0x504D33FF /* 'PM3\377' */
  1051.  
  1052. /* ***************************************** */
  1053. /* ***** pm3fb useful define and macro ***** */
  1054. /* ***************************************** */
  1055.  
  1056. /* fifo size in chip */
  1057. #define PM3_FIFO_SIZE                        120
  1058. #define PM3_REGS_SIZE                        0x10000
  1059. #define PM3_MAX_PIXCLOCK                    300000
  1060.  
  1061. #endif /* PM3FB_H */
  1062.