From 7fe60435bce6595a9c58a9bfd8244d74b5320e96 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Tue, 15 Jan 2013 08:46:13 +0100 Subject: Import DirectFB141_2k11R3_beta5 --- Source/DirectFB/gfxdrivers/matrox/regs.h | 454 +++++++++++++++++++++++++++++++ 1 file changed, 454 insertions(+) create mode 100755 Source/DirectFB/gfxdrivers/matrox/regs.h (limited to 'Source/DirectFB/gfxdrivers/matrox/regs.h') diff --git a/Source/DirectFB/gfxdrivers/matrox/regs.h b/Source/DirectFB/gfxdrivers/matrox/regs.h new file mode 100755 index 0000000..a419b83 --- /dev/null +++ b/Source/DirectFB/gfxdrivers/matrox/regs.h @@ -0,0 +1,454 @@ +#ifndef __MATROX__REGS_H__ +#define __MATROX__REGS_H__ + +#define U8_TO_F0915(x) (((u32) ((x+1) << 15)) & 0x00FFFFFF) + +#define RS16(val) ( (u16)((s16)(val))) +#define RS18(val) (((u32)((s32)(val)))&0x003ffff) +#define RS24(val) (((u32)((s32)(val)))&0x0ffffff) +#define RS27(val) (((u32)((s32)(val)))&0x7ffffff) + +#define DWGSYNC 0x2C4C +#define SYNC_DMA_BUSY 0x8325340 /* just a random number */ + +#define RST 0x1E40 +#define OPMODE 0x1E54 + +#define CACHEFLUSH 0x1FFF + +/* CRTC2 registers */ +#define C2CTL 0x3C10 +# define C2EN 0x00000001 +# define C2PIXCLKSEL_PCICLK 0x00000000 +# define C2PIXCLKSEL_VDOCLK 0x00000002 +# define C2PIXCLKSEL_PIXPLL 0x00000004 +# define C2PIXCLKSEL_VIDPLL 0x00000006 /* SYSPLL on G400 */ +# define C2PIXCLKSEL_VDCLK 0x00004000 /* G450/G550 only */ +# define C2PIXCLKSEL_CRISTAL 0x00004002 /* G450/G550 only */ +# define C2PIXCLKSEL_SYSPLL 0x00004004 /* G450/G550 only */ +# define C2PIXCLKDIS 0x00000008 +# define CRTCDACSEL 0x00100000 +# define C2DEPTH_15BPP 0x00200000 +# define C2DEPTH_16BPP 0x00400000 +# define C2DEPTH_32BPP 0x00800000 +# define C2DEPTH_YCBCR422 0x00A00000 +# define C2DEPTH_YCBCR420 0x00E00000 +# define C2VCBCRSINGLE 0x01000000 +# define C2INTERLACE 0x02000000 +# define C2FIELDLENGTH 0x04000000 +# define C2FIELDPOL 0x08000000 +# define C2VIDRSTMOD_FALLING 0x00000000 +# define C2VIDRSTMOD_RISING 0x10000000 +# define C2VIDRSTMOD_BOTH 0x20000000 +# define C2HPLOADEN 0x40000000 +# define C2VPLOADEN 0x80000000 +#define C2HPARAM 0x3C14 +#define C2HSYNC 0x3C18 +#define C2VPARAM 0x3C1C +#define C2VSYNC 0x3C20 +#define C2PRELOAD 0x3C24 +#define C2STARTADD0 0x3C28 +#define C2STARTADD1 0x3C2C +#define C2PL2STARTADD0 0x3C30 +#define C2PL2STARTADD1 0x3C34 +#define C2PL3STARTADD0 0x3C38 +#define C2PL3STARTADD1 0x3C3C +#define C2OFFSET 0x3C40 +#define C2MISC 0x3C44 +# define C2HSYNCPOL 0x00000100 +# define C2VSYNCPOL 0x00000200 +#define C2VCOUNT 0x3C48 +# define C2FIELD 0x01000000 +#define C2DATACTL 0x3C4C +# define C2DITHEN 0x00000001 +# define C2YFILTEN 0x00000002 +# define C2CBCRFILTEN 0x00000004 +# define C2SUBPICEN 0x00000008 +# define C2NTSCEN 0x00000010 +# define C2STATICKEYEN 0x00000020 +# define C2OFFSETDIVEN 0x00000040 +# define C2UYVYFMT 0x00000080 +# define C2STATICKEY 0x1F000000 +#define C2SUBPICLUT 0x3C50 +#define C2SPICSTARTADD0 0x3C54 +#define C2SPICSTARTADD1 0x3C58 + +/* Backend scaler registers */ +#define BESA1ORG 0x3D00 +#define BESA2ORG 0x3D04 +#define BESB1ORG 0x3D08 +#define BESB2ORG 0x3D0C +#define BESA1CORG 0x3D10 +#define BESA2CORG 0x3D14 +#define BESB1CORG 0x3D18 +#define BESB2CORG 0x3D1C +#define BESA1C3ORG 0x3D60 +#define BESA2C3ORG 0x3D64 +#define BESB1C3ORG 0x3D68 +#define BESB2C3ORG 0x3D6C + +#define BESCTL 0x3D20 +# define BESEN 0x00000001 +# define BESV1SRCSTP 0x00000040 +# define BESV2SRCSTP 0x00000080 +# define BESHFEN 0x00000400 +# define BESVFEN 0x00000800 +# define BESCUPS 0x00010000 +# define BES420PL 0x00020000 + +#define BESGLOBCTL 0x3DC0 +# define BESCORDER 0x00000008 +# define BES3PLANE 0x00000020 +# define BESUYVYFMT 0x00000040 +# define BESPROCAMP 0x00000080 +# define BESRGB15 0x00000100 +# define BESRGB16 0x00000200 +# define BESRGB32 0x00000300 + +#define BESHCOORD 0x3D28 +#define BESHISCAL 0x3D30 +#define BESHSRCEND 0x3D3C +#define BESHSRCLST 0x3D50 +#define BESHSRCST 0x3D38 +#define BESLUMACTL 0x3D40 +#define BESPITCH 0x3D24 +#define BESSTATUS 0x3DC4 +#define BESV1SRCLST 0x3D54 +#define BESV2SRCLST 0x3D58 +#define BESV1WGHT 0x3D48 +#define BESV2WGHT 0x3D4C +#define BESVCOORD 0x3D2C +#define BESVISCAL 0x3D34 + +/* DAC Registers */ +#define DAC_INDEX 0x3C00 +#define DAC_DATA 0x3C0A + +#define MGAREG_VCOUNT 0x1e20 + +/* Alpha registers */ + +#define ALPHASTART 0x2C70 +#define ALPHAXINC 0x2C74 +#define ALPHAYINC 0x2C78 + +#define ALPHACTRL 0x2C7C +#define SRC_ZERO 0x00000000 +#define SRC_ONE 0x00000001 +#define SRC_DST_COLOR 0x00000002 +#define SRC_ONE_MINUS_DST_COLOR 0x00000003 +#define SRC_ALPHA 0x00000004 +#define SRC_ONE_MINUS_SRC_ALPHA 0x00000005 +#define SRC_DST_ALPHA 0x00000006 +#define SRC_ONE_MINUS_DST_ALPHA 0x00000007 +#define SRC_SRC_ALPHA_SATURATE 0x00000008 + +#define DST_ZERO 0x00000000 +#define DST_ONE 0x00000010 +#define DST_SRC_COLOR 0x00000020 +#define DST_ONE_MINUS_SRC_COLOR 0x00000030 +#define DST_SRC_ALPHA 0x00000040 +#define DST_ONE_MINUS_SRC_ALPHA 0x00000050 +#define DST_DST_ALPHA 0x00000060 +#define DST_ONE_MINUS_DST_ALPHA 0x00000070 + +#define ALPHACHANNEL 0x00000100 +#define VIDEOALPHA 0x00000200 + +#define DIFFUSEDALPHA 0x01000000 +#define MODULATEDALPHA 0x02000000 + +/* Texture registers */ + +#define TEXCTL 0x2C30 +#define TEXCTL2 0x2C3C +#define TEXFILTER 0x2C58 +#define TEXWIDTH 0x2C28 +#define TEXHEIGHT 0x2C2C +#define TEXORG 0x2C24 +#define TEXORG1 0x2CA4 +#define TEXORG2 0x2CA8 +#define TEXORG3 0x2CAC +#define TEXORG4 0x2CB0 +#define TEXTRANS 0x2C34 +#define TEXTRANSHIGH 0x2C38 +#define TDUALSTAGE0 0x2CF8 +#define TDUALSTAGE1 0x2CFC + +#define TMR0 0x2C00 +#define TMR1 0x2C04 +#define TMR2 0x2C08 +#define TMR3 0x2C0C +#define TMR4 0x2C10 +#define TMR5 0x2C14 +#define TMR6 0x2C18 +#define TMR7 0x2C1C +#define TMR8 0x2C20 + +#define CUR_XWINDOWS 0x03 + +/* TEXCTL */ +#define TW4 0x00000000 +#define TW8 0x00000001 +#define TW15 0x00000002 +#define TW16 0x00000003 +#define TW12 0x00000004 + +#define TW32 0x00000006 +#define TW8A 0x00000007 +#define TW8AL 0x00000008 +#define TW422 0x0000000A +#define TW422UYVY 0x0000000B + +#define TFORMAT 0x0000000F +#define TPITCHLIN 0x00000100 +#define TPITCHEXT 0x000FFE00 + +#define NOPERSPECTIVE 0x00200000 +#define TAKEY 0x02000000 +#define TAMASK 0x04000000 +#define CLAMPUV 0x18000000 + +#define DECALCKEY 0x01000000 +#define TMODULATE 0x20000000 +#define STRANS 0x40000000 + + +/* TEXTCTL2 */ +#define IDECAL 0x00000002 +#define DECALDIS 0x00000004 +#define CKSTRANSDIS 0x00000010 + + +/* TEXFILTER */ +#define MIN_NRST 0x00000000 +#define MIN_BILIN 0x00000002 +#define MIN_ANISO 0x0000000D +#define MAG_NRST 0x00000000 +#define MAG_BILIN 0x00000020 +#define FILTER_ALPHA 0x00100000 + +/* SGN */ +#define SGN_BRKLEFT 0x00000100 + +#define DSTORG 0x2cb8 +#define SRCORG 0x2cb4 + +#define MACCESS 0x1C04 +# define PW8 0x00000000 +# define PW16 0x00000001 +# define PW32 0x00000002 +# define PW24 0x00000003 +# define ZW16 0x00000000 +# define ZW32 0x00000008 +# define ZW15 0x00000010 +# define ZW24 0x00000018 +# define BYPASS332 0x10000000 +# define TLUTLOAD 0x20000000 +# define NODITHER 0x40000000 +# define DIT555 0x80000000 + + +#define EXECUTE 0x100 /* or with register to execute a programmed + accel command */ + +#define DWGCTL 0x1C00 /* Drawing control */ + /* opcod - Operation code */ +# define OP_LINE_OPEN 0x00 +# define OP_AUTOLINE_OPEN 0x01 +# define OP_LINE_CLOSE 0x02 +# define OP_AUTOLINE_CLOSE 0x03 +# define OP_TRAP 0x04 +# define OP_TRAP_ILOAD 0x05 +# define OP_TEXTURE_TRAP 0x06 +# define OP_ILOAD_HIQH 0x07 +# define OP_BITBLT 0x08 +# define OP_ILOAD 0x09 +# define OP_IDUMP 0x0A +# define OP_FBITBLT 0x0C +# define OP_ILOAD_SCALE 0x0D +# define OP_ILOAD_HIQHV 0x0E +# define OP_ILOAD_FILTER 0x0F + + /* atype - Access type */ +# define ATYPE_RPL 0x00 +# define ATYPE_RSTR 0x10 +# define ATYPE_ZI 0x30 +# define ATYPE_BLK 0x40 +# define ATYPE_I 0x70 + + /* Flag */ +# define LINEAR 0x80 +# define NOCLIP (1<<31) +# define TRANSC (1<<30) + + /* zmode - Z drawing mode */ +# define ZMODE_NOZCMP 0x000 +# define ZMODE_ZE 0x200 +# define ZMODE_ZNE 0x300 +# define ZMODE_ZLT 0x400 +# define ZMODE_ZLTE 0x500 +# define ZMODE_ZGT 0x600 +# define ZMODE_ZGTE 0x700 + + /* Flags */ +# define SOLID 0x0800 +# define ARZERO 0x1000 +# define SGNZERO 0x2000 +# define SHFTZERO 0x4000 + + /* bop - Boolean operation */ +# define BOP_CLEAR 0x00000 +# define BOP_NOR 0x10000 +# define BOP_COPYINV 0x30000 +# define BOP_INVERT 0x50000 +# define BOP_XOR 0x60000 +# define BOP_NAND 0x70000 +# define BOP_AND 0x80000 +# define BOP_EQUIV 0x90000 +# define BOP_NOOP 0xA0000 +# define BOP_IMP 0xB0000 +# define BOP_COPY 0xC0000 +# define BOP_OR 0xE0000 +# define BOP_SET 0xF0000 + + /* bltmod - Blit mode selection */ +# define BLTMOD_BMONOLEF 0x00000000 +# define BLTMOD_BMONOWF 0x08000000 +# define BLTMOD_BPLAN 0x02000000 +# define BLTMOD_BFCOL 0x04000000 +# define BLTMOD_BUYUV 0x1C000000 +# define BLTMOD_BU32BGR 0x06000000 +# define BLTMOD_BU32RGB 0x0E000000 +# define BLTMOD_BU24BGR 0x16000000 +# define BLTMOD_BU24RGB 0x1E000000 + +#define ZORG 0x1C0C +#define PAT0 0x1C10 +#define PAT1 0x1C14 +#define PLNWT 0x1C1C +#define BCOL 0x1C20 +#define FCOL 0x1C24 +#define SRC0 0x1C30 +#define SRC1 0x1C34 +#define SRC2 0x1C38 +#define SRC3 0x1C3C +#define XYSTRT 0x1C40 +#define XYEND 0x1C44 +#define SHIFT 0x1C50 +#define DMAPAD 0x1C54 +#define SGN 0x1C58 +#define LEN 0x1C5C +#define AR0 0x1C60 +#define AR1 0x1C64 +#define AR2 0x1C68 +#define AR3 0x1C6C +#define AR4 0x1C70 +#define AR5 0x1C74 +#define AR6 0x1C78 +#define CXBNDRY 0x1C80 +#define FXBNDRY 0x1C84 +#define YDSTLEN 0x1C88 +#define PITCH 0x1C8C +#define YDST 0x1C90 +#define YDSTORG 0x1C94 +#define YTOP 0x1C98 +#define YBOT 0x1C9C +#define CXLEFT 0x1CA0 +#define CXRIGHT 0x1CA4 +#define FXLEFT 0x1CA8 +#define FXRIGHT 0x1CAC +#define XDST 0x1CB0 +#define DR0 0x1CC0 +#define DR2 0x1CC8 +#define DR3 0x1CCC +#define DR4 0x1CD0 +#define DR6 0x1CD8 +#define DR7 0x1CDC +#define DR8 0x1CE0 +#define WO 0x1CE4 +#define DR10 0x1CE8 +#define DR11 0x1CEC +#define DR12 0x1CF0 +#define DR14 0x1CF8 +#define DR15 0x1CFC + +#define FIFOSTATUS 0x1E10 + +#define STATUS 0x1E14 +# define DWGENGSTS 0x10000 +# define ENDPRDMASTS 0x20000 + +#define IEN 0x1E1C + +#define BLIT_LEFT 1 +#define BLIT_UP 4 + + +#define SDXL 0x0002 +#define SDXR 0x0020 + + +/* DAC registers */ + +#define XMISCCTRL 0x1E +# define DACPDN 0x01 +# define MFCSEL_MAFC 0x02 +# define MFCSEL_PANELLINK 0x04 +# define MFCSEL_DIS 0x06 +# define MFCSEL_MASK 0x06 +# define VGA8DAC 0x08 +# define RAMCS 0x10 +# define VDOUTSEL_MAFC12 0x00 +# define VDOUTSEL_BYPASS656 0x40 +# define VDOUTSEL_CRTC2RGB 0x80 +# define VDOUTSEL_CRTC2656 0xC0 +# define VDOUTSEL_MASK 0xE0 + +#define XGENIOCTRL 0x2A +#define XGENIODATA 0x2B + +#define XKEYOPMODE 0x51 + +#define XCOLMSK0RED 0x52 +#define XCOLMSK0GREEN 0x53 +#define XCOLMSK0BLUE 0x54 + +#define XCOLKEY0RED 0x55 +#define XCOLKEY0GREEN 0x56 +#define XCOLKEY0BLUE 0x57 + +#define XDISPCTRL 0x8A +# define DAC1OUTSEL_DIS 0x00 +# define DAC1OUTSEL_EN 0x01 +# define DAC1OUTSEL_MASK 0x01 +# define DAC2OUTSEL_DIS 0x00 +# define DAC2OUTSEL_CRTC1 0x04 +# define DAC2OUTSEL_CRTC2 0x08 +# define DAC2OUTSEL_TVE 0x0C +# define DAC2OUTSEL_MASK 0x0C +# define PANOUTSEL_DIS 0x00 +# define PANOUTSEL_CRTC1 0x20 +# define PANOUTSEL_CRTC2RGB 0x40 +# define PANOUTSEL_CRTC2656 0x60 +# define PANOUTSEL_MASK 0x60 + +#define XSYNCCTRL 0x8B +# define DAC1HSOFF 0x01 +# define DAC1VSOFF 0x02 +# define DAC1HSPOL 0x04 +# define DAC1VSPOL 0x08 +# define DAC2HSOFF 0x10 +# define DAC2VSOFF 0x20 +# define DAC2HSPOL 0x40 +# define DAC2VSPOL 0x80 + +#define XPWRCTRL 0xA0 +# define DAC2PDN 0x01 +# define VIDPLLPDN 0x02 +# define PANPDN 0x04 +# define RFIFOPDN 0x08 +# define CFIFOPDN 0x10 + +#endif + -- cgit