i128reg.h revision 50806d53
150806d53Smrg/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i128/i128reg.h,v 1.2 2000/10/23 14:11:39 robin Exp $ */ 250806d53Smrg/* 350806d53Smrg * Copyright 1994 by Robin Cutshaw <robin@XFree86.Org> 450806d53Smrg * 550806d53Smrg * Permission to use, copy, modify, distribute, and sell this software and its 650806d53Smrg * documentation for any purpose is hereby granted without fee, provided that 750806d53Smrg * the above copyright notice appear in all copies and that both that 850806d53Smrg * copyright notice and this permission notice appear in supporting 950806d53Smrg * documentation, and that the name of Robin Cutshaw not be used in 1050806d53Smrg * advertising or publicity pertaining to distribution of the software without 1150806d53Smrg * specific, written prior permission. Robin Cutshaw makes no representations 1250806d53Smrg * about the suitability of this software for any purpose. It is provided 1350806d53Smrg * "as is" without express or implied warranty. 1450806d53Smrg * 1550806d53Smrg * ROBIN CUTSHAW DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 1650806d53Smrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 1750806d53Smrg * EVENT SHALL ROBIN CUTSHAW BE LIABLE FOR ANY SPECIAL, INDIRECT OR 1850806d53Smrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 1950806d53Smrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 2050806d53Smrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 2150806d53Smrg * PERFORMANCE OF THIS SOFTWARE. 2250806d53Smrg * 2350806d53Smrg */ 2450806d53Smrg/* $XConsortium: i128reg.h /main/4 1996/05/12 20:56:19 kaleb $ */ 2550806d53Smrg 2650806d53Smrg#ifndef I128REG_H 2750806d53Smrg#define I128REG_H 2850806d53Smrg 2950806d53Smrg#include "xf86Pci.h" 3050806d53Smrg 3150806d53Smrgstruct i128pci { 3250806d53Smrg CARD32 devicevendor; 3350806d53Smrg CARD32 statuscommand; 3450806d53Smrg CARD32 classrev; 3550806d53Smrg CARD32 bhlc; 3650806d53Smrg CARD32 base0; 3750806d53Smrg CARD32 base1; 3850806d53Smrg CARD32 base2; 3950806d53Smrg CARD32 base3; 4050806d53Smrg CARD32 base4; 4150806d53Smrg CARD32 base5; 4250806d53Smrg CARD32 rsvd0; 4350806d53Smrg CARD32 rsvd1; 4450806d53Smrg CARD32 baserom; 4550806d53Smrg CARD32 rsvd2; 4650806d53Smrg CARD32 rsvd3; 4750806d53Smrg CARD32 lgii; 4850806d53Smrg}; 4950806d53Smrg 5050806d53Smrgstruct i128io { 5150806d53Smrg CARD32 rbase_g; 5250806d53Smrg CARD32 rbase_w; 5350806d53Smrg CARD32 rbase_a; 5450806d53Smrg CARD32 rbase_b; 5550806d53Smrg CARD32 rbase_i; 5650806d53Smrg CARD32 rbase_e; 5750806d53Smrg CARD32 id; 5850806d53Smrg CARD32 config1; 5950806d53Smrg CARD32 config2; 6050806d53Smrg CARD32 sgram; 6150806d53Smrg CARD32 soft_sw; 6250806d53Smrg CARD32 vga_ctl; 6350806d53Smrg}; 6450806d53Smrg 6550806d53Smrgstruct i128mem { 6650806d53Smrg unsigned char *mw0_ad; 6750806d53Smrg unsigned char *mw1_ad; 6850806d53Smrg unsigned char *xyw_ada; 6950806d53Smrg unsigned char *xyw_adb; 7050806d53Smrg CARD32 *rbase_g; 7150806d53Smrg CARD32 *rbase_w; 7250806d53Smrg CARD32 *rbase_a; 7350806d53Smrg CARD32 *rbase_b; 7450806d53Smrg CARD32 *rbase_i; 7550806d53Smrg float *rbase_af; 7650806d53Smrg}; 7750806d53Smrg 7850806d53Smrg/* save the registers needed for restoration in this structure */ 7950806d53Smrgtypedef struct { 8050806d53Smrg IOADDRESS iobase; /* saved only for iobase indexing */ 8150806d53Smrg CARD32 config1; /* iobase+0x1C register */ 8250806d53Smrg CARD32 config2; /* iobase+0x20 register */ 8350806d53Smrg CARD32 sgram; /* iobase+0x24 register */ 8450806d53Smrg CARD32 vga_ctl; /* iobase+0x30 register */ 8550806d53Smrg CARD32 i128_base_g[0x60/4]; /* base g registers */ 8650806d53Smrg CARD32 i128_base_w[0x28/4]; /* base w registers */ 8750806d53Smrg CARD32 intm; /* base a+0x04 register */ 8850806d53Smrg unsigned char Ti302X[0x40]; /* Ti302[05] registers */ 8950806d53Smrg unsigned char Ti3025[9]; /* Ti3025 N,M,P for PCLK, MCLK, LCLK */ 9050806d53Smrg unsigned char IBMRGB[0x101]; /* IBMRGB registers */ 9150806d53Smrg} I128RegRec, *I128RegPtr; 9250806d53Smrg 9350806d53Smrg 9450806d53Smrg/* display list processor instruction formats */ 9550806d53Smrgtypedef union { 9650806d53Smrg struct { 9750806d53Smrg CARD8 aad; 9850806d53Smrg CARD8 bad; 9950806d53Smrg CARD8 cad; 10050806d53Smrg CARD8 control; 10150806d53Smrg CARD32 rad; 10250806d53Smrg CARD32 rbd; 10350806d53Smrg CARD32 rcd; 10450806d53Smrg } f0; 10550806d53Smrg struct { 10650806d53Smrg CARD32 xy0; 10750806d53Smrg CARD32 xy2; 10850806d53Smrg CARD32 xy3; 10950806d53Smrg CARD32 xy1; 11050806d53Smrg } f1; 11150806d53Smrg CARD32 f4[4]; 11250806d53Smrg} I128dlpu; 11350806d53Smrg 11450806d53Smrg#define UNKNOWN_DAC -1 11550806d53Smrg#define TI3025_DAC 0 11650806d53Smrg#define IBM524_DAC 1 11750806d53Smrg#define IBM526_DAC 2 11850806d53Smrg#define IBM528_DAC 3 11950806d53Smrg#define SILVER_HAMMER_DAC 4 12050806d53Smrg 12150806d53Smrg#define I128_MEMORY_UNKNOWN 0x01 12250806d53Smrg#define I128_MEMORY_DRAM 0x02 12350806d53Smrg#define I128_MEMORY_WRAM 0x04 12450806d53Smrg#define I128_MEMORY_SGRAM 0x08 12550806d53Smrg 12650806d53Smrg/* RBASE_I register offsets */ 12750806d53Smrg 12850806d53Smrg#define GINTP 0x0000 12950806d53Smrg#define GINTM 0x0004 13050806d53Smrg#define SGRAM 0x00A4 13150806d53Smrg 13250806d53Smrg/* DMA regs, relative to RBASE_I. T2R4 only. */ 13350806d53Smrg#define DMA_SRC 0x00D0/4 13450806d53Smrg#define DMA_SRC_MASK 0x07 13550806d53Smrg#define DMA_DST 0x00D4/4 13650806d53Smrg#define DMA_DST_MASK 0xFC000007 13750806d53Smrg#define DMA_CMD 0x00D8/4 13850806d53Smrg#define DMA_QWORDS_MASK 0x0001FFFF 13950806d53Smrg#define DMA_REQ_LENGTH_4Q 0x00000000 14050806d53Smrg#define DMA_REQ_LENGTH_8Q 0x01000000 14150806d53Smrg#define DMA_REQ_LENGTH_16Q 0x02000000 14250806d53Smrg#define DMA_REQ_LENGTH_32Q 0x03000000 14350806d53Smrg#define DMA_PIPELINE_READY 0x10000000 14450806d53Smrg#define DMA_IDLE 0x20000000 14550806d53Smrg#define DMA_EXPEDITE 0x40000000 14650806d53Smrg 14750806d53Smrg/* RBASE_G register offsets (divided by four for double word indexing */ 14850806d53Smrg 14950806d53Smrg#define WR_ADR 0x0000/4 15050806d53Smrg#define PAL_DAT 0x0004/4 15150806d53Smrg#define PEL_MASK 0x0008/4 15250806d53Smrg#define RD_ADR 0x000C/4 15350806d53Smrg#define INDEX_TI 0x0018/4 /* TI ramdac */ 15450806d53Smrg#define DATA_TI 0x001C/4 /* TI ramdac */ 15550806d53Smrg#define IDXL_I 0x0010/4 /* IBM ramdac */ 15650806d53Smrg#define IDXH_I 0x0014/4 /* IBM ramdac */ 15750806d53Smrg#define DATA_I 0x0018/4 /* IBM ramdac */ 15850806d53Smrg#define IDXCTL_I 0x001C/4 /* IBM ramdac */ 15950806d53Smrg#define INT_VCNT 0x0020/4 16050806d53Smrg#define INT_HCNT 0x0024/4 16150806d53Smrg#define DB_ADR 0x0028/4 16250806d53Smrg#define DB_PTCH 0x002C/4 16350806d53Smrg#define CRT_HAC 0x0030/4 16450806d53Smrg#define CRT_HBL 0x0034/4 16550806d53Smrg#define CRT_HFP 0x0038/4 16650806d53Smrg#define CRT_HS 0x003C/4 16750806d53Smrg#define CRT_VAC 0x0040/4 16850806d53Smrg#define CRT_VBL 0x0044/4 16950806d53Smrg#define CRT_VFP 0x0048/4 17050806d53Smrg#define CRT_VS 0x004C/4 17150806d53Smrg#define CRT_LCNT 0x0050/4 17250806d53Smrg#define CRT_ZOOM 0x0054/4 17350806d53Smrg#define CRT_1CON 0x0058/4 17450806d53Smrg#define CRT_2CON 0x005C/4 17550806d53Smrg 17650806d53Smrg 17750806d53Smrg/* RBASE_W register offsets (divided by four for double word indexing */ 17850806d53Smrg/* MW1_* are probably T2R and T2R4 only */ 17950806d53Smrg 18050806d53Smrg#define MW0_CTRL 0x0000/4 18150806d53Smrg#define MW0_AD 0x0004/4 18250806d53Smrg#define MW0_SZ 0x0008/4 /* 2MB = 0x9, 4MB = 0xA, 8MB = 0xB */ 18350806d53Smrg#define MW0_PGE 0x000C/4 18450806d53Smrg#define MW0_ORG 0x0010/4 18550806d53Smrg#define MW0_MSRC 0x0018/4 18650806d53Smrg#define MW0_WKEY 0x001C/4 18750806d53Smrg#define MW0_KDAT 0x0020/4 18850806d53Smrg#define MW0_MASK 0x0024/4 18950806d53Smrg#define MW1_CTRL 0x0028/4 19050806d53Smrg#define MW1_AD 0x002C/4 19150806d53Smrg#define MW1_SZ 0x0030/4 19250806d53Smrg#define MW1_PGE 0x0034/4 19350806d53Smrg#define MW1_ORG 0x0038/4 19450806d53Smrg#define MW1_MSRC 0x0040/4 19550806d53Smrg#define MW1_WKEY 0x0044/4 19650806d53Smrg#define MW1_KDAT 0x0048/4 19750806d53Smrg#define MW1_MASK 0x004C/4 19850806d53Smrg 19950806d53Smrg/* RBASE_[AB] register offsets (divided by four for double word indexing */ 20050806d53Smrg 20150806d53Smrg#define INTP 0x0000/4 20250806d53Smrg#define INTP_DD_INT 0x01 /* drawing op completed */ 20350806d53Smrg#define INTP_CL_INT 0x02 20450806d53Smrg#define INTM 0x0004/4 20550806d53Smrg#define INTM_DD_MSK 0x01 20650806d53Smrg#define INTM_CL_MSK 0x02 20750806d53Smrg#define FLOW 0x0008/4 20850806d53Smrg#define FLOW_DEB 0x01 /* drawing engine busy */ 20950806d53Smrg#define FLOW_MCB 0x02 /* mem controller busy */ 21050806d53Smrg#define FLOW_CLP 0x04 21150806d53Smrg#define FLOW_PRV 0x08 /* prev cmd still running or cache ready */ 21250806d53Smrg#define BUSY 0x000C/4 21350806d53Smrg#define BUSY_BUSY 0x01 /* command pipeline busy */ 21450806d53Smrg#define XYW_AD 0x0010/4 21550806d53Smrg#define Z_CTRL 0x0018/4 21650806d53Smrg#define BUF_CTRL 0x0020/4 21750806d53Smrg#define BC_AMV 0x02 21850806d53Smrg#define BC_MP 0x04 21950806d53Smrg#define BC_AMD 0x08 22050806d53Smrg#define BC_SEN_MSK 0x0300 22150806d53Smrg#define BC_SEN_DB 0x0000 22250806d53Smrg#define BC_SEN_VB 0x0100 22350806d53Smrg#define BC_SEN_MB 0x0200 22450806d53Smrg#define BC_SEN_CB 0x0300 22550806d53Smrg#define BC_DEN_MSK 0x0C00 22650806d53Smrg#define BC_DEN_DB 0x0000 22750806d53Smrg#define BC_DEN_VB 0x0400 22850806d53Smrg#define BC_DEN_MB 0x0800 22950806d53Smrg#define BC_DEN_CB 0x0C00 23050806d53Smrg#define BC_DSE 0x1000 23150806d53Smrg#define BC_VSE 0x2000 23250806d53Smrg#define BC_MSE 0x4000 23350806d53Smrg#define BC_PS_MSK 0x001F0000 23450806d53Smrg#define BC_MDM_MSK 0x00600000 23550806d53Smrg#define BC_MDM_KEY 0x00200000 23650806d53Smrg#define BC_MDM_PLN 0x00400000 23750806d53Smrg#define BC_BLK_ENA 0x00800000 23850806d53Smrg#define BC_PSIZ_MSK 0x03000000 23950806d53Smrg#define BC_PSIZ_8B 0x00000000 24050806d53Smrg#define BC_PSIZ_16B 0x01000000 24150806d53Smrg#define BC_PSIZ_32B 0x02000000 24250806d53Smrg#define BC_PSIZ_NOB 0x03000000 24350806d53Smrg#define BC_CO 0x40000000 24450806d53Smrg#define BC_CR 0x80000000 24550806d53Smrg#define DE_PGE 0x0024/4 24650806d53Smrg#define DP_DVP_MSK 0x0000001F 24750806d53Smrg#define DP_MP_MSK 0x000F0000 24850806d53Smrg#define DE_SORG 0x0028/4 24950806d53Smrg#define DE_DORG 0x002C/4 25050806d53Smrg#define DE_MSRC 0x0030/4 25150806d53Smrg/* these next two sound bogus */ 25250806d53Smrg#define DE_WKEY 0x0038/4 25350806d53Smrg#define DE_KYDAT 0x003C/4 25450806d53Smrg#define DE_TPTCH 0x0038/4 25550806d53Smrg#define DE_ZPTCH 0x003C/4 25650806d53Smrg#define DE_SPTCH 0x0040/4 25750806d53Smrg#define DE_DPTCH 0x0044/4 25850806d53Smrg#define CMD 0x0048/4 25950806d53Smrg#define CMD_OPC_MSK 0x000000FF 26050806d53Smrg#define CMD_ROP_MSK 0x0000FF00 26150806d53Smrg#define CMD_STL_MSK 0x001F0000 26250806d53Smrg#define CMD_CLP_MSK 0x00E00000 26350806d53Smrg#define CMD_PAT_MSK 0x0F000000 26450806d53Smrg#define CMD_HDF_MSK 0x70000000 26550806d53Smrg#define CMD_OPC 0x0050/4 26650806d53Smrg#define CO_NOOP 0x00 26750806d53Smrg#define CO_BITBLT 0x01 26850806d53Smrg#define CO_LINE 0x02 26950806d53Smrg#define CO_ELINE 0x03 27050806d53Smrg#define CO_TRIAN 0x04 27150806d53Smrg#define CO_PLINE 0x05 27250806d53Smrg#define CO_RXFER 0x06 27350806d53Smrg#define CO_WXFER 0x07 27450806d53Smrg#define CO_LINE3D 0x08 27550806d53Smrg#define CO_TRIAN3D 0x09 27650806d53Smrg#define CO_TEXINV 0x0A 27750806d53Smrg#define CO_LOADPAL 0x0B 27850806d53Smrg#define CMD_ROP 0x0054/4 27950806d53Smrg#define CR_CLEAR 0x00 28050806d53Smrg#define CR_NOR 0x01 28150806d53Smrg#define CR_AND_INV 0x02 28250806d53Smrg#define CR_COPY_INV 0x03 28350806d53Smrg#define CR_AND_REV 0x04 28450806d53Smrg#define CR_INVERT 0x05 28550806d53Smrg#define CR_XOR 0x06 28650806d53Smrg#define CR_NAND 0x07 28750806d53Smrg#define CR_AND 0x08 28850806d53Smrg#define CR_EQUIV 0x09 28950806d53Smrg#define CR_NOOP 0x0A 29050806d53Smrg#define CR_OR_INV 0x0B 29150806d53Smrg#define CR_COPY 0x0C 29250806d53Smrg#define CR_OR_REV 0x0D 29350806d53Smrg#define CR_OR 0x0E 29450806d53Smrg#define CR_SET 0x0F 29550806d53Smrg#define CMD_STYLE 0x0058/4 29650806d53Smrg#define CS_SOLID 0x01 29750806d53Smrg#define CS_TRNSP 0x02 29850806d53Smrg#define CS_STP_NO 0x00 29950806d53Smrg#define CS_STP_PL 0x04 30050806d53Smrg#define CS_STP_PA32 0x08 30150806d53Smrg#define CS_STP_PA8 0x0C 30250806d53Smrg#define CS_EDI 0x10 30350806d53Smrg#define CMD_PATRN 0x005C/4 30450806d53Smrg#define CP_APAT_NO 0x00 30550806d53Smrg#define CP_APAT_8X 0x01 30650806d53Smrg#define CP_APAT_32X 0x02 30750806d53Smrg#define CP_NLST 0x04 30850806d53Smrg#define CP_PRST 0x08 30950806d53Smrg#define CMD_CLP 0x0060/4 31050806d53Smrg#define CC_NOCLP 0x00 31150806d53Smrg#define CC_CLPRECI 0x02 31250806d53Smrg#define CC_CLPRECO 0x03 31350806d53Smrg#define CC_CLPSTOP 0x04 31450806d53Smrg#define CMD_HDF 0x0064/4 31550806d53Smrg#define CH_BIT_SWP 0x01 31650806d53Smrg#define CH_BYT_SWP 0x02 31750806d53Smrg#define CH_WRD_SWP 0x04 31850806d53Smrg#define FORE 0x0068/4 31950806d53Smrg#define BACK 0x006C/4 32050806d53Smrg#define MASK 0x0070/4 32150806d53Smrg#define RMSK 0x0074/4 32250806d53Smrg#define LPAT 0x0078/4 32350806d53Smrg#define PCTRL 0x007C/4 32450806d53Smrg#define PC_PLEN_MSK 0x0000001F 32550806d53Smrg#define PC_PSCL_MSK 0x000000E0 32650806d53Smrg#define PC_SPTR_MSK 0x00001F00 32750806d53Smrg#define PC_SSCL_MSK 0x0000E000 32850806d53Smrg#define PC_STATE_MSK 0xFFFF0000 32950806d53Smrg#define CLPTL 0x0080/4 33050806d53Smrg#define CLPTLY_MSK 0x0000FFFF 33150806d53Smrg#define CLPTLX_MSK 0xFFFF0000 33250806d53Smrg#define CLPBR 0x0084/4 33350806d53Smrg#define CLPBRY_MSK 0x0000FFFF 33450806d53Smrg#define CLPBRX_MSK 0xFFFF0000 33550806d53Smrg#define XY0_SRC 0x0088/4 33650806d53Smrg#define XY1_DST 0x008C/4 /* trigger */ 33750806d53Smrg#define XY2_WH 0x0090/4 33850806d53Smrg#define XY3_DIR 0x0094/4 33950806d53Smrg#define DIR_LR_TB 0x00000000 34050806d53Smrg#define DIR_LR_BT 0x00000001 34150806d53Smrg#define DIR_RL_TB 0x00000002 34250806d53Smrg#define DIR_RL_BT 0x00000003 34350806d53Smrg#define XY4_ZM 0x0098/4 34450806d53Smrg#define ZOOM_NONE 0x00000000 34550806d53Smrg#define XY_Y_DATA 0x0000FFFF 34650806d53Smrg#define XY_X_DATA 0xFFFF0000 34750806d53Smrg#define XY_I_DATA1 0x0000FFFF 34850806d53Smrg#define XY_I_DATA2 0xFFFF0000 34950806d53Smrg#define LOD0_ORG 0x00D0/4 35050806d53Smrg#define LOD1_ORG 0x00D4/4 35150806d53Smrg#define LOD2_ORG 0x00D8/4 35250806d53Smrg#define LOD3_ORG 0x00DC/4 35350806d53Smrg#define LOD4_ORG 0x00E0/4 35450806d53Smrg#define LOD5_ORG 0x00E4/4 35550806d53Smrg#define LOD6_ORG 0x00E8/4 35650806d53Smrg#define LOD7_ORG 0x00EC/4 35750806d53Smrg#define LOD8_ORG 0x00F0/4 35850806d53Smrg#define LOD9_ORG 0x00F4/4 35950806d53Smrg 36050806d53Smrg#define DL_ADR 0x00F8/4 36150806d53Smrg#define DL_CNTRL 0x00FC/4 36250806d53Smrg#define ACNTRL 0x016C/4 36350806d53Smrg#define ASRC_FUNC 0x0000000F 36450806d53Smrg#define ADST_FUNC 0x000000F0 36550806d53Smrg#define ACTL_SRE 0x00000100 /* 0: pixel alpha, 1: srca reg */ 36650806d53Smrg#define ACTL_DRE 0x00000200 /* likewise */ 36750806d53Smrg#define ACTL_BE 0x00000400 36850806d53Smrg#define ACTL_AOP 0x000F0000 36950806d53Smrg#define ACTL_AEN 0x00100000 /* alpha compare enable */ 37050806d53Smrg#define ACTL_ASL 0x01000000 /* 0: texture alpha, 1: vertex alpha */ 37150806d53Smrg#define ACTL_AMD 0x02000000 37250806d53Smrg#define ACTL_DAB 0x04000000 37350806d53Smrg#define THREEDCTL 0x0170/4 37450806d53Smrg#define TCTL_ZE 0x00000001 37550806d53Smrg#define TCTL_ZRO 0x00000002 37650806d53Smrg#define TCTL_FIS 0x00000008 37750806d53Smrg#define TCTL_FSL 0x00000010 37850806d53Smrg#define TCTL_ZOP 0x000000E0 37950806d53Smrg#define TCTL_ZOP_SHIFT 5 38050806d53Smrg#define TCTL_YOP 0x00000800 38150806d53Smrg#define TCTL_HOP 0x00003100 38250806d53Smrg#define TCTL_KYP 0x00004000 38350806d53Smrg#define TCTL_KYE 0x00008000 38450806d53Smrg#define TCTL_DOP 0x00010000 38550806d53Smrg#define TCTL_ABS 0x00020000 38650806d53Smrg#define TCTL_TBS 0x00040000 38750806d53Smrg#define TCTL_RSL 0x00080000 38850806d53Smrg#define TCTL_SSC 0x00200000 38950806d53Smrg#define TCTL_CW 0x00400000 39050806d53Smrg#define TCTL_BCE 0x00800000 39150806d53Smrg#define TCTL_SH 0x01000000 39250806d53Smrg#define TCTL_SPE 0x02000000 39350806d53Smrg#define TCTL_RSC 0x04000000 39450806d53Smrg#define TCTL_FEN 0x08000000 39550806d53Smrg#define TCTL_RT 0x10000000 39650806d53Smrg#define TCTL_P8 0x20000000 39750806d53Smrg#define TCTL_ZS 0x40000000 39850806d53Smrg#define TEX_CTL 0x0174/4 39950806d53Smrg#define TEX_TM 0x00000001 40050806d53Smrg#define TEX_MM 0x00000002 40150806d53Smrg#define TEX_NMG 0x00000004 40250806d53Smrg#define TEX_MLM 0x00000008 40350806d53Smrg#define TEX_NMN 0x00000010 40450806d53Smrg#define TEX_RM 0x00000020 40550806d53Smrg#define TEX_PM 0x00000040 40650806d53Smrg#define TEX_CCS 0x00000080 40750806d53Smrg#define TEX_TCU 0x00000100 40850806d53Smrg#define TEX_TCV 0x00000200 40950806d53Smrg#define TEX_MLP2 0x00000400 41050806d53Smrg#define TEX_MMN 0x0000F000 41150806d53Smrg#define TEX_MMSIZEX 0x000F0000 41250806d53Smrg#define TEX_MMSIZEY 0x00F00000 41350806d53Smrg#define TEX_FMT 0x3F000000 41450806d53Smrg#define TEX_TCT 0x40000000 41550806d53Smrg#define TEX_UVS 0x80000000 41650806d53Smrg#define PPTR 0x0178/4 41750806d53Smrg/* for each vertex: x, y, z, w, color, specular color, u, v */ 41850806d53Smrg#define V0_X 0x017C/4 41950806d53Smrg#define V0_Y 0x0180/4 42050806d53Smrg#define V0_Z 0x0184/4 42150806d53Smrg#define V0_W 0x0188/4 42250806d53Smrg#define V0_C 0x018C/4 42350806d53Smrg#define V0_S 0x0190/4 42450806d53Smrg#define V0_U 0x0194/4 42550806d53Smrg#define V0_V 0x0198/4 42650806d53Smrg#define V1_X 0x019C/4 42750806d53Smrg#define V1_Y 0x01A0/4 42850806d53Smrg#define V1_Z 0x01A4/4 42950806d53Smrg#define V1_W 0x01A8/4 43050806d53Smrg#define V1_C 0x01AC/4 43150806d53Smrg#define V1_S 0x01B0/4 43250806d53Smrg#define V1_U 0x01B4/4 43350806d53Smrg#define V1_V 0x01B8/4 43450806d53Smrg#define V2_X 0x01BC/4 43550806d53Smrg#define V2_Y 0x01C0/4 43650806d53Smrg#define V2_Z 0x01C4/4 43750806d53Smrg#define V2_W 0x01C8/4 43850806d53Smrg#define V2_C 0x01CC/4 43950806d53Smrg#define V2_S 0x01D0/4 44050806d53Smrg#define V2_U 0x01D4/4 44150806d53Smrg#define V2_V 0x01D8/4 44250806d53Smrg#define TRIGGER3D 0x01DC/4 44350806d53Smrg 44450806d53Smrg/* alpha blend functions */ 44550806d53Smrg#define ABLEND_SRC_ZERO 0 44650806d53Smrg#define ABLEND_SRC_ONE 1 44750806d53Smrg#define ABLEND_SRC_DST_COLOR 2 44850806d53Smrg#define ABLEND_SRC_OMDST_COLOR 3 44950806d53Smrg#define ABLEND_SRC_SRC_ALPHA 4 45050806d53Smrg#define ABLEND_SRC_OMSRC_ALPHA 5 45150806d53Smrg#define ABLEND_SRC_DST_ALPHA 6 45250806d53Smrg#define ABLEND_SRC_OMDST_ALPHA 7 45350806d53Smrg#define ABLEND_DST_ZERO 0 << 4 45450806d53Smrg#define ABLEND_DST_ONE 1 << 4 45550806d53Smrg#define ABLEND_DST_SRC_COLOR 2 << 4 45650806d53Smrg#define ABLEND_DST_OMSRC_COLOR 3 << 4 45750806d53Smrg#define ABLEND_DST_SRC_ALPHA 4 << 4 45850806d53Smrg#define ABLEND_DST_OMSRC_ALPHA 5 << 4 45950806d53Smrg#define ABLEND_DST_DST_ALPHA 6 << 4 46050806d53Smrg#define ABLEND_DST_OMDST_ALPHA 7 << 4 46150806d53Smrg 46250806d53Smrg/* comparison functions */ 46350806d53Smrg#define COMP_FALSE 0 46450806d53Smrg#define COMP_TRUE 1 46550806d53Smrg#define COMP_LT 2 46650806d53Smrg#define COMP_LE 3 46750806d53Smrg#define COMP_EQ 4 46850806d53Smrg#define COMP_GE 5 46950806d53Smrg#define COMP_GT 6 47050806d53Smrg#define COMP_NE 7 47150806d53Smrg 47250806d53Smrg 47350806d53Smrg#define I128_WAIT_READY 1 47450806d53Smrg#define I128_WAIT_DONE 2 47550806d53Smrg 47650806d53Smrgtypedef struct { 47750806d53Smrg unsigned char r, b, g; 47850806d53Smrg} LUTENTRY; 47950806d53Smrg 48050806d53Smrg#define RGB8_PSEUDO (-1) 48150806d53Smrg#define RGB16_565 0 48250806d53Smrg#define RGB16_555 1 48350806d53Smrg#define RGB32_888 2 48450806d53Smrg 48550806d53Smrg#define MB mem_barrier() 48650806d53Smrg 48750806d53Smrg 48850806d53Smrg/* TI ramdac indirect indexed registers */ 48950806d53Smrg 49050806d53Smrg#define TI_CURS_X_LOW 0x00 49150806d53Smrg#define TI_CURS_X_HIGH 0x01 /* only lower 4 bits are used */ 49250806d53Smrg#define TI_CURS_Y_LOW 0x02 49350806d53Smrg#define TI_CURS_Y_HIGH 0x03 /* only lower 4 bits are used */ 49450806d53Smrg#define TI_SPRITE_ORIGIN_X 0x04 49550806d53Smrg#define TI_SPRITE_ORIGIN_Y 0x05 49650806d53Smrg#define TI_CURS_CONTROL 0x06 49750806d53Smrg#define TI_PLANAR_ACCESS 0x80 /* 3025 only - 80 == BT485 mode */ 49850806d53Smrg#define TI_CURS_SPRITE_ENABLE 0x40 49950806d53Smrg#define TI_CURS_X_WINDOW_MODE 0x10 50050806d53Smrg#define TI_CURS_CTRL_MASK (TI_CURS_SPRITE_ENABLE | TI_CURS_X_WINDOW_MODE) 50150806d53Smrg#define TI_CURS_RAM_ADDR_LOW 0x08 50250806d53Smrg#define TI_CURS_RAM_ADDR_HIGH 0x09 50350806d53Smrg#define TI_CURS_RAM_DATA 0x0A 50450806d53Smrg#define TI_TRUE_COLOR_CONTROL 0x0E /* 3025 only */ 50550806d53Smrg#define TI_TC_BTMODE 0x04 /* on = BT485 mode, off = TI3020 mode */ 50650806d53Smrg#define TI_TC_NONVGAMODE 0x02 /* on = nonvgamode, off = vgamode */ 50750806d53Smrg#define TI_TC_8BIT 0x01 /* on = 8/4bit, off = 16/32bit */ 50850806d53Smrg#define TI_VGA_SWITCH_CONTROL 0x0F /* 3025 only */ 50950806d53Smrg#define TI_LATCH_CONTROL 0x0F /* 3026 only */ 51050806d53Smrg#define TI_WINDOW_START_X_LOW 0x10 51150806d53Smrg#define TI_WINDOW_START_X_HIGH 0x11 51250806d53Smrg#define TI_WINDOW_STOP_X_LOW 0x12 51350806d53Smrg#define TI_WINDOW_STOP_X_HIGH 0x13 51450806d53Smrg#define TI_WINDOW_START_Y_LOW 0x14 51550806d53Smrg#define TI_WINDOW_START_Y_HIGH 0x15 51650806d53Smrg#define TI_WINDOW_STOP_Y_LOW 0x16 51750806d53Smrg#define TI_WINDOW_STOP_Y_HIGH 0x17 51850806d53Smrg#define TI_MUX_CONTROL_1 0x18 51950806d53Smrg#define TI_MUX1_PSEUDO_COLOR 0x80 52050806d53Smrg#define TI_MUX1_DIRECT_888 0x06 52150806d53Smrg#define TI_MUX1_DIRECT_565 0x05 52250806d53Smrg#define TI_MUX1_DIRECT_555 0x04 52350806d53Smrg#define TI_MUX1_DIRECT_664 0x03 52450806d53Smrg#define TI_MUX1_TRUE_888 0x46 52550806d53Smrg#define TI_MUX1_TRUE_565 0x45 52650806d53Smrg#define TI_MUX1_TRUE_555 0x44 52750806d53Smrg#define TI_MUX1_TRUE_664 0x43 52850806d53Smrg#define TI_MUX1_3025D_888 0x0E /* 3025 only */ 52950806d53Smrg#define TI_MUX1_3025D_565 0x0D /* 3025 only */ 53050806d53Smrg#define TI_MUX1_3025D_555 0x0C /* 3025 only */ 53150806d53Smrg#define TI_MUX1_3025T_888 0x4E /* 3025 only */ 53250806d53Smrg#define TI_MUX1_3025T_565 0x4D /* 3025 only */ 53350806d53Smrg#define TI_MUX1_3025T_555 0x4C /* 3025 only */ 53450806d53Smrg#define TI_MUX1_3026D_888 0x06 /* 3026 only */ 53550806d53Smrg#define TI_MUX1_3026D_565 0x05 /* 3026 only */ 53650806d53Smrg#define TI_MUX1_3026D_555 0x04 /* 3026 only */ 53750806d53Smrg#define TI_MUX1_3026D_888_P8 0x16 /* 3026 only */ 53850806d53Smrg#define TI_MUX1_3026D_888_P5 0x1e /* 3026 only */ 53950806d53Smrg#define TI_MUX1_3026T_888 0x46 /* 3026 only */ 54050806d53Smrg#define TI_MUX1_3026T_565 0x45 /* 3026 only */ 54150806d53Smrg#define TI_MUX1_3026T_555 0x44 /* 3026 only */ 54250806d53Smrg#define TI_MUX1_3026T_888_P8 0x56 /* 3026 only */ 54350806d53Smrg#define TI_MUX1_3026T_888_P5 0x5e /* 3026 only */ 54450806d53Smrg#define TI_MUX_CONTROL_2 0x19 54550806d53Smrg#define TI_MUX2_BUS_VGA 0x98 54650806d53Smrg#define TI_MUX2_BUS_PC_D8P64 0x1C 54750806d53Smrg#define TI_MUX2_BUS_DC_D24P64 0x1C 54850806d53Smrg#define TI_MUX2_BUS_DC_D16P64 0x04 54950806d53Smrg#define TI_MUX2_BUS_DC_D15P64 0x04 55050806d53Smrg#define TI_MUX2_BUS_TC_D24P64 0x04 55150806d53Smrg#define TI_MUX2_BUS_TC_D16P64 0x04 55250806d53Smrg#define TI_MUX2_BUS_TC_D15P64 0x04 55350806d53Smrg#define TI_MUX2_BUS_3026PC_D8P64 0x4C 55450806d53Smrg#define TI_MUX2_BUS_3026DC_D24P64 0x5C 55550806d53Smrg#define TI_MUX2_BUS_3026DC_D16P64 0x54 55650806d53Smrg#define TI_MUX2_BUS_3026DC_D15P64 0x54 55750806d53Smrg#define TI_MUX2_BUS_3026TC_D24P64 0x5c 55850806d53Smrg#define TI_MUX2_BUS_3026TC_D16P64 0x54 55950806d53Smrg#define TI_MUX2_BUS_3026TC_D15P64 0x54 56050806d53Smrg#define TI_MUX2_BUS_3030PC_D8P128 0x4d 56150806d53Smrg#define TI_MUX2_BUS_3030DC_D24P128 0x5d 56250806d53Smrg#define TI_MUX2_BUS_3030DC_D16P128 0x55 56350806d53Smrg#define TI_MUX2_BUS_3030DC_D15P128 0x55 56450806d53Smrg#define TI_MUX2_BUS_3030TC_D24P128 0x5d 56550806d53Smrg#define TI_MUX2_BUS_3030TC_D16P128 0x55 56650806d53Smrg#define TI_MUX2_BUS_3030TC_D15P128 0x55 56750806d53Smrg#define TI_INPUT_CLOCK_SELECT 0x1A 56850806d53Smrg#define TI_ICLK_CLK0 0x00 56950806d53Smrg#define TI_ICLK_CLK0_DOUBLE 0x10 57050806d53Smrg#define TI_ICLK_CLK1 0x01 57150806d53Smrg#define TI_ICLK_CLK1_DOUBLE 0x11 57250806d53Smrg#define TI_ICLK_CLK2 0x02 /* 3025 only */ 57350806d53Smrg#define TI_ICLK_CLK2_DOUBLE 0x12 /* 3025 only */ 57450806d53Smrg#define TI_ICLK_CLK2_I 0x03 /* 3025 only */ 57550806d53Smrg#define TI_ICLK_CLK2_I_DOUBLE 0x13 /* 3025 only */ 57650806d53Smrg#define TI_ICLK_CLK2_E 0x04 /* 3025 only */ 57750806d53Smrg#define TI_ICLK_CLK2_E_DOUBLE 0x14 /* 3025 only */ 57850806d53Smrg#define TI_ICLK_PLL 0x05 /* 3025 only */ 57950806d53Smrg#define TI_OUTPUT_CLOCK_SELECT 0x1B 58050806d53Smrg#define TI_OCLK_VGA 0x3E 58150806d53Smrg#define TI_OCLK_S 0x40 58250806d53Smrg#define TI_OCLK_NS 0x80 /* 3025 only */ 58350806d53Smrg#define TI_OCLK_V1 0x00 58450806d53Smrg#define TI_OCLK_V2 0x08 58550806d53Smrg#define TI_OCLK_V4 0x10 58650806d53Smrg#define TI_OCLK_V8 0x18 58750806d53Smrg#define TI_OCLK_R1 0x00 58850806d53Smrg#define TI_OCLK_R2 0x01 58950806d53Smrg#define TI_OCLK_R4 0x02 59050806d53Smrg#define TI_OCLK_R8 0x03 59150806d53Smrg#define TI_OCLK_S_V1_R8 (TI_OCLK_S | TI_OCLK_V1 | TI_OCLK_R8) 59250806d53Smrg#define TI_OCLK_S_V2_R8 (TI_OCLK_S | TI_OCLK_V2 | TI_OCLK_R8) 59350806d53Smrg#define TI_OCLK_S_V4_R8 (TI_OCLK_S | TI_OCLK_V4 | TI_OCLK_R8) 59450806d53Smrg#define TI_OCLK_S_V8_R8 (TI_OCLK_S | TI_OCLK_V8 | TI_OCLK_R8) 59550806d53Smrg#define TI_OCLK_S_V2_R4 (TI_OCLK_S | TI_OCLK_V2 | TI_OCLK_R4) 59650806d53Smrg#define TI_OCLK_S_V4_R4 (TI_OCLK_S | TI_OCLK_V4 | TI_OCLK_R4) 59750806d53Smrg#define TI_OCLK_S_V1_R2 (TI_OCLK_S | TI_OCLK_V1 | TI_OCLK_R2) 59850806d53Smrg#define TI_OCLK_S_V2_R2 (TI_OCLK_S | TI_OCLK_V2 | TI_OCLK_R2) 59950806d53Smrg#define TI_OCLK_NS_V1_R1 (TI_OCLK_NS | TI_OCLK_V1 | TI_OCLK_R1) 60050806d53Smrg#define TI_OCLK_NS_V2_R2 (TI_OCLK_NS | TI_OCLK_V2 | TI_OCLK_R2) 60150806d53Smrg#define TI_OCLK_NS_V4_R4 (TI_OCLK_NS | TI_OCLK_V4 | TI_OCLK_R4) 60250806d53Smrg#define TI_PALETTE_PAGE 0x1C 60350806d53Smrg#define TI_GENERAL_CONTROL 0x1D 60450806d53Smrg#define TI_MISC_CONTROL 0x1E /* 3025 only */ 60550806d53Smrg#define TI_MC_POWER_DOWN 0x01 60650806d53Smrg#define TI_MC_DOTCLK_DISABLE 0x02 60750806d53Smrg#define TI_MC_INT_6_8_CONTROL 0x04 /* 00 == external 6/8 pin */ 60850806d53Smrg#define TI_MC_8_BPP 0x08 /* 00 == 6bpp */ 60950806d53Smrg#define TI_MC_PSEL_POLARITY 0x20 /* 3026 only, PSEL polarity select */ 61050806d53Smrg#define TI_MC_VCLK_POLARITY 0x20 61150806d53Smrg#define TI_MC_LCLK_LATCH 0x40 /* VCLK == 00, default */ 61250806d53Smrg#define TI_MC_LOOP_PLL_RCLK 0x80 61350806d53Smrg#define TI_OVERSCAN_COLOR_RED 0x20 61450806d53Smrg#define TI_OVERSCAN_COLOR_GREEN 0x21 61550806d53Smrg#define TI_OVERSCAN_COLOR_BLUE 0x22 61650806d53Smrg#define TI_CURSOR_COLOR_0_RED 0x23 61750806d53Smrg#define TI_CURSOR_COLOR_0_GREEN 0x24 61850806d53Smrg#define TI_CURSOR_COLOR_0_BLUE 0x25 61950806d53Smrg#define TI_CURSOR_COLOR_1_RED 0x26 62050806d53Smrg#define TI_CURSOR_COLOR_1_GREEN 0x27 62150806d53Smrg#define TI_CURSOR_COLOR_1_BLUE 0x28 62250806d53Smrg#define TI_AUXILIARY_CONTROL 0x29 62350806d53Smrg#define TI_AUX_SELF_CLOCK 0x08 62450806d53Smrg#define TI_AUX_W_CMPL 0x01 62550806d53Smrg#define TI_GENERAL_IO_CONTROL 0x2A 62650806d53Smrg#define TI_GIC_ALL_BITS 0x1F 62750806d53Smrg#define TI_GENERAL_IO_DATA 0x2B 62850806d53Smrg#define TI_GID_W2000_6BIT 0x00 62950806d53Smrg#define TI_GID_N9_964 0x01 63050806d53Smrg#define TI_GID_ELSA_SOG 0x04 63150806d53Smrg#define TI_GID_W2000_8BIT 0x08 63250806d53Smrg#define TI_GID_S3_DAC_6BIT 0x1C 63350806d53Smrg#define TI_GID_S3_DAC_8BIT 0x1E 63450806d53Smrg#define TI_GID_TI_DAC_6BIT 0x1D 63550806d53Smrg#define TI_GID_TI_DAC_8BIT 0x1F 63650806d53Smrg#define TI_PLL_CONTROL 0x2C /* 3025 only */ 63750806d53Smrg#define TI_PIXEL_CLOCK_PLL_DATA 0x2D /* 3025 only */ 63850806d53Smrg#define TI_PLL_ENABLE 0x08 /* 3025 only */ 63950806d53Smrg#define TI_MCLK_PLL_DATA 0x2E /* 3025 only */ 64050806d53Smrg#define TI_LOOP_CLOCK_PLL_DATA 0x2F /* 3025 only */ 64150806d53Smrg#define TI_COLOR_KEY_OLVGA_LOW 0x30 64250806d53Smrg#define TI_COLOR_KEY_OLVGA_HIGH 0x31 64350806d53Smrg#define TI_COLOR_KEY_RED_LOW 0x32 64450806d53Smrg#define TI_COLOR_KEY_RED_HIGH 0x33 64550806d53Smrg#define TI_COLOR_KEY_GREEN_LOW 0x34 64650806d53Smrg#define TI_COLOR_KEY_GREEN_HIGH 0x35 64750806d53Smrg#define TI_COLOR_KEY_BLUE_LOW 0x36 64850806d53Smrg#define TI_COLOR_KEY_BLUE_HIGH 0x37 64950806d53Smrg#define TI_COLOR_KEY_CONTROL 0x38 65050806d53Smrg#define TI_COLOR_KEY_CMPL 0x10 65150806d53Smrg#define TI_MCLK_DCLK_CONTROL 0x39 /* 3025 only */ 65250806d53Smrg#define TI_MCLK_LCLK_CONTROL 0x39 /* 3026 only */ 65350806d53Smrg#define TI_SENSE_TEST 0x3A 65450806d53Smrg#define TI_TEST_DATA 0x3B 65550806d53Smrg#define TI_CRC_LOW 0x3C 65650806d53Smrg#define TI_CRC_HIGH 0x3D 65750806d53Smrg#define TI_CRC_CONTROL 0x3E 65850806d53Smrg#define TI_ID 0x3F 65950806d53Smrg#define TI_VIEWPOINT20_ID 0x20 66050806d53Smrg#define TI_VIEWPOINT25_ID 0x25 66150806d53Smrg#define TI_MODE_85_CONTROL 0xD5 /* 3025 only */ 66250806d53Smrg 66350806d53Smrg#define TI_REF_FREQ 14.31818 /* 3025 only */ 66450806d53Smrg 66550806d53Smrg/* 66650806d53Smrg * which clocks should be set (just flags...) 66750806d53Smrg */ 66850806d53Smrg#define TI_BOTH_CLOCKS 1 66950806d53Smrg#define TI_LOOP_CLOCK 2 67050806d53Smrg 67150806d53Smrg/* IBM ramdac registers */ 67250806d53Smrg 67350806d53Smrg#define IBMRGB_rev 0x00 67450806d53Smrg#define IBMRGB_id 0x01 67550806d53Smrg#define IBMRGB_misc_clock 0x02 67650806d53Smrg#define IBMRGB_sync 0x03 67750806d53Smrg#define IBMRGB_hsync_pos 0x04 67850806d53Smrg#define IBMRGB_pwr_mgmt 0x05 67950806d53Smrg#define IBMRGB_dac_op 0x06 68050806d53Smrg#define IBMRGB_pal_ctrl 0x07 68150806d53Smrg#define IBMRGB_sysclk 0x08 /* not RGB525 */ 68250806d53Smrg#define IBMRGB_pix_fmt 0x0a 68350806d53Smrg#define IBMRGB_8bpp 0x0b 68450806d53Smrg#define IBMRGB_16bpp 0x0c 68550806d53Smrg#define IBMRGB_24bpp 0x0d 68650806d53Smrg#define IBMRGB_32bpp 0x0e 68750806d53Smrg#define IBMRGB_pll_ctrl1 0x10 68850806d53Smrg#define IBMRGB_pll_ctrl2 0x11 68950806d53Smrg#define IBMRGB_pll_ref_div_fix 0x14 69050806d53Smrg#define IBMRGB_sysclk_ref_div 0x15 /* not RGB525 */ 69150806d53Smrg#define IBMRGB_sysclk_vco_div 0x16 /* not RGB525 */ 69250806d53Smrg#define IBMRGB_f0 0x20 69350806d53Smrg#define IBMRGB_m0 0x20 69450806d53Smrg#define IBMRGB_n0 0x21 69550806d53Smrg#define IBMRGB_curs 0x30 69650806d53Smrg#define IBMRGB_curs_xl 0x31 69750806d53Smrg#define IBMRGB_curs_xh 0x32 69850806d53Smrg#define IBMRGB_curs_yl 0x33 69950806d53Smrg#define IBMRGB_curs_yh 0x34 70050806d53Smrg#define IBMRGB_curs_hot_x 0x35 70150806d53Smrg#define IBMRGB_curs_hot_y 0x36 70250806d53Smrg#define IBMRGB_curs_col1_r 0x40 70350806d53Smrg#define IBMRGB_curs_col1_g 0x41 70450806d53Smrg#define IBMRGB_curs_col1_b 0x42 70550806d53Smrg#define IBMRGB_curs_col2_r 0x43 70650806d53Smrg#define IBMRGB_curs_col2_g 0x44 70750806d53Smrg#define IBMRGB_curs_col2_b 0x45 70850806d53Smrg#define IBMRGB_curs_col3_r 0x46 70950806d53Smrg#define IBMRGB_curs_col3_g 0x47 71050806d53Smrg#define IBMRGB_curs_col3_b 0x48 71150806d53Smrg#define IBMRGB_border_col_r 0x60 71250806d53Smrg#define IBMRGB_border_col_g 0x61 71350806d53Smrg#define IBMRGB_botder_col_b 0x62 71450806d53Smrg#define IBMRGB_misc1 0x70 71550806d53Smrg#define IBMRGB_misc2 0x71 71650806d53Smrg#define IBMRGB_misc3 0x72 71750806d53Smrg#define IBMRGB_misc4 0x73 /* not RGB525 */ 71850806d53Smrg#define IBMRGB_dac_sense 0x82 71950806d53Smrg#define IBMRGB_misr_r 0x84 72050806d53Smrg#define IBMRGB_misr_g 0x86 72150806d53Smrg#define IBMRGB_misr_b 0x88 72250806d53Smrg#define IBMRGB_pll_vco_div_in 0x8e 72350806d53Smrg#define IBMRGB_pll_ref_div_in 0x8f 72450806d53Smrg#define IBMRGB_vram_mask_0 0x90 72550806d53Smrg#define IBMRGB_vram_mask_1 0x91 72650806d53Smrg#define IBMRGB_vram_mask_2 0x92 72750806d53Smrg#define IBMRGB_vram_mask_3 0x93 72850806d53Smrg#define IBMRGB_curs_array 0x100 72950806d53Smrg 73050806d53Smrg#endif 731