Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

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