Kernel  |  2.6.39

下载     查看原文件
C++程序  |  4393行  |  183.43 KB
#define  Tap4

//yilin modify for xgi20
static struct XGI_MCLKDataStruct XGI340New_MCLKData[] =
{
 { 0x16,0x01,0x01,166},
 { 0x19,0x02,0x01,124},
 { 0x7C,0x08,0x01,200},
 { 0x79,0x06,0x01,250},
 { 0x29,0x01,0x81,301},
 { 0x5c,0x23,0x01,166},
 { 0x5c,0x23,0x01,166},
 { 0x5c,0x23,0x01,166}
};

static struct XGI_MCLKDataStruct XGI27New_MCLKData[] =
{
 { 0x5c,0x23,0x01,166},
 { 0x19,0x02,0x01,124},
 { 0x7C,0x08,0x80,200},
 { 0x79,0x06,0x80,250},
 { 0x29,0x01,0x81,300},
 { 0x5c,0x23,0x01,166},
 { 0x5c,0x23,0x01,166},
 { 0x5c,0x23,0x01,166}
};

//yilin modify for xgi20
static struct XGI_ECLKDataStruct XGI340_ECLKData[] =
{
 { 0x5c,0x23,0x01,166},
 { 0x55,0x84,0x01,123},
 { 0x7C,0x08,0x01,200},
 { 0x79,0x06,0x01,250},
 { 0x29,0x01,0x81,301},
 { 0x5c,0x23,0x01,166},
 { 0x5c,0x23,0x01,166},
 { 0x5c,0x23,0x01,166}
};



static unsigned char XGI340_SR13[4][8] = {
{0x35,0x45,0xb1,0x00,0x00,0x00,0x00,0x00},/* SR13 */
{0x41,0x51,0x5c,0x00,0x00,0x00,0x00,0x00},/* SR14 */
{0x31,0x42,0x42,0x00,0x00,0x00,0x00,0x00},/* SR18 */
{0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00}/* SR1B */
};

static unsigned char XGI340_cr41[24][8] =
{{0x20,0x50,0x60,0x00,0x00,0x00,0x00,0x00},/* 0 CR41 */
{0xc4,0x40,0x84,0x00,0x00,0x00,0x00,0x00},/* 1 CR8A */
{0xc4,0x40,0x84,0x00,0x00,0x00,0x00,0x00},/* 2 CR8B */
{0xb5,0xa4,0xa4,0x00,0x00,0x00,0x00,0x00},
{0xf0,0xf0,0xf0,0x00,0x00,0x00,0x00,0x00},
{0x90,0x90,0x24,0x00,0x00,0x00,0x00,0x00},/* 5 CR68 */
{0x77,0x77,0x44,0x00,0x00,0x00,0x00,0x00},/* 6 CR69 */
{0x77,0x77,0x44,0x00,0x00,0x00,0x00,0x00},/* 7 CR6A */
{0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00},/* 8 CR6D */
{0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00},/* 9 CR80 */
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/* 10 CR81 */
{0x88,0xa8,0x48,0x00,0x00,0x00,0x00,0x00},/* 11 CR82 */
{0x44,0x44,0x77,0x00,0x00,0x00,0x00,0x00},/* 12 CR85 */
{0x48,0x48,0x88,0x00,0x00,0x00,0x00,0x00},/* 13 CR86 */
{0x54,0x54,0x44,0x00,0x00,0x00,0x00,0x00},/* 14 CR90 */
{0x54,0x54,0x44,0x00,0x00,0x00,0x00,0x00},/* 15 CR91 */
{0x0a,0x0a,0x07,0x00,0x00,0x00,0x00,0x00},/* 16 CR92 */
{0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00},/* 17 CR93 */
{0x10,0x10,0x0A,0x00,0x00,0x00,0x00,0x00},/* 18 CR94 */
{0x11,0x11,0x0a,0x00,0x00,0x00,0x00,0x00},/* 19 CR95 */
{0x05,0x05,0x05,0x00,0x00,0x00,0x00,0x00},/* 20 CR96 */
{0xf0,0xf0,0xf0,0x00,0x00,0x00,0x00,0x00},/* 21 CRC3 */
{0x05,0x00,0x02,0x00,0x00,0x00,0x00,0x00},/* 22 CRC4 */
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}/* 23 CRC5 */
};


static unsigned char XGI27_cr41[24][8] =
{
{0x20,0x40,0x60,0x00,0x00,0x00,0x00,0x00},/* 0 CR41 */
{0xC4,0x40,0x84,0x00,0x00,0x00,0x00,0x00},/* 1 CR8A */
{0xC4,0x40,0x84,0x00,0x00,0x00,0x00,0x00},/* 2 CR8B */
{0xB5,0x13,0xa4,0x00,0x00,0x00,0x00,0x00},/* 3 CR40[7],CR99[2:0],CR45[3:0]*/
{0xf0,0xf5,0xf0,0x00,0x00,0x00,0x00,0x00},/* 4 CR59 */
{0x90,0x90,0x24,0x00,0x00,0x00,0x00,0x00},/* 5 CR68 */
{0x77,0x67,0x44,0x00,0x00,0x00,0x00,0x00},/* 6 CR69 */
{0x77,0x77,0x44,0x00,0x00,0x00,0x00,0x00},/* 7 CR6A */
{0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00},/* 8 CR6D */
{0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00},/* 9 CR80 */
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/* 10 CR81 */
{0x88,0xcc,0x48,0x00,0x00,0x00,0x00,0x00},/* 11 CR82 */
{0x44,0x88,0x77,0x00,0x00,0x00,0x00,0x00},/* 12 CR85 */
{0x48,0x88,0x88,0x00,0x00,0x00,0x00,0x00},/* 13 CR86 */
{0x54,0x32,0x44,0x00,0x00,0x00,0x00,0x00},/* 14 CR90 */
{0x54,0x33,0x44,0x00,0x00,0x00,0x00,0x00},/* 15 CR91 */
{0x0a,0x07,0x07,0x00,0x00,0x00,0x00,0x00},/* 16 CR92 */
{0x44,0x63,0x44,0x00,0x00,0x00,0x00,0x00},/* 17 CR93 */
{0x10,0x14,0x0A,0x00,0x00,0x00,0x00,0x00},/* 18 CR94 */
{0x11,0x0B,0x0C,0x00,0x00,0x00,0x00,0x00},/* 19 CR95 */
{0x05,0x22,0x05,0x00,0x00,0x00,0x00,0x00},/* 20 CR96 */
{0xf0,0xf0,0x00,0x00,0x00,0x00,0x00,0x00},/* 21 CRC3 */
{0x05,0x00,0x02,0x00,0x00,0x00,0x00,0x00},/* 22 CRC4 */
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}/* 23 CRC5 */
};

static unsigned char XGI340_CR6B[8][4] = {
{0xaa,0xaa,0xaa,0xaa},
{0xaa,0xaa,0xaa,0xaa},
{0xaa,0xaa,0xaa,0xaa},
{0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00}
};

static unsigned char XGI340_CR6E[8][4] = {
{0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00}
};

static unsigned char XGI340_CR6F[8][32] = {
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
};

static unsigned char XGI340_CR89[8][2] = {
{0x00,0x00},
{0x00,0x00},
{0x00,0x00},
{0x00,0x00},
{0x00,0x00},
{0x00,0x00},
{0x00,0x00},
{0x00,0x00}
};
			 /* CR47,CR48,CR49,CR4A,CR4B,CR4C,CR70,CR71,CR74,CR75,CR76,CR77 */
static unsigned char XGI340_AGPReg[12] = {
				   0x28, 0x23, 0x00, 0x20, 0x00, 0x20, 0x00,
				   0x05, 0xd0, 0x10, 0x10, 0x00};

static unsigned char XGI340_SR16[4] = {0x03, 0x83, 0x03, 0x83};

#if 0
static unsigned char XGI330_SR15_1[8][8] = {
{0x0,0x0,0x00,0x00,0x20,0x20,0x00,0x00},
{0x5,0x15,0x15,0x15,0x15,0x15,0x00,0x00},
{0xba,0xba,0xba,0xba,0xBA,0xBA,0x00,0x00},
{0x55,0x57,0x57,0xAB,0xAB,0xAB,0x00,0x00},
{0x60,0x34,0x34,0x34,0x34,0x34,0x00,0x00},
{0x0,0x80,0x80,0x80,0x83,0x83,0x00,0x00},
{0x50,0x50,0x50,0x3C,0x3C,0x3C,0x00,0x00},
{0x0,0xa5,0xfb,0xf6,0xF6,0xF6,0x00,0x00}
};

static unsigned char XGI330_cr40_1[15][8] = {
{0x66,0x40,0x40,0x28,0x24,0x24,0x00,0x00},
{0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00},
{0x00,0xf0,0xf0,0xf0,0xF0,0xF0,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x10,0x10,0x10,0x10,0x20,0x20,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x88,0x88,0x88,0xAA,0xAC,0xAC,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x77,0x77,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0xA2,0x00,0x00,0xA2,0xA2,0x00,0x00},
};
#endif

static unsigned char XGI330_sr25[] = {0x00, 0x0};
static unsigned char XGI330_sr31 = 0xc0;
static unsigned char XGI330_sr32 = 0x11;
static unsigned char XGI330_SR33 = 0x00;
static unsigned char XG40_CRCF = 0x13;
static unsigned char XG40_DRAMTypeDefinition = 0xFF ;

static struct XGI_StStruct XGI330_SModeIDTable[] =
{
 {0x01,0x9208,0x01,0x00,0x10,0x00,0x00,0x01,0x00},
 {0x01,0x1210,0x14,0x01,0x00,0x01,0x00,0x01,0x00},
 {0x01,0x1010,0x17,0x02,0x11,0x00,0x00,0x01,0x01},
 {0x03,0x8208,0x03,0x00,0x14,0x00,0x00,0x01,0x02},
 {0x03,0x0210,0x16,0x01,0x04,0x01,0x00,0x01,0x02},
 {0x03,0x0010,0x18,0x02,0x15,0x00,0x00,0x01,0x03},
 {0x05,0x9209,0x05,0x00,0x10,0x00,0x00,0x00,0x04},
 {0x06,0x8209,0x06,0x00,0x14,0x00,0x00,0x00,0x05},
 {0x07,0x0000,0x07,0x03,0x05,0x03,0x00,0x01,0x03},
 {0x07,0x0000,0x19,0x02,0x15,0x02,0x00,0x01,0x03},
 {0x0d,0x920a,0x0d,0x00,0x10,0x00,0x00,0x00,0x04},
 {0x0e,0x820a,0x0e,0x00,0x14,0x00,0x00,0x00,0x05},
 {0x0f,0x0202,0x11,0x01,0x04,0x01,0x00,0x00,0x05},
 {0x10,0x0212,0x12,0x01,0x04,0x01,0x00,0x00,0x05},
 {0x11,0x0212,0x1a,0x04,0x24,0x04,0x00,0x00,0x05},
 {0x12,0x0212,0x1b,0x04,0x24,0x04,0x00,0x00,0x05},
 {0x13,0x021b,0x1c,0x00,0x14,0x00,0x00,0x00,0x04},
 {0x12,0x0010,0x18,0x02,0x24,0x02,0x00,0x00,0x05},/* St_CRT2CRTC2 not sure */
 {0x12,0x0210,0x18,0x01,0x24,0x01,0x00,0x00,0x05},/* St_CRT2CRTC2 not sure */
 {0xff,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
};


static struct XGI_ExtStruct  XGI330_EModeIDTable[] =
{
 {0x6a,0x2212,0x0407,0x3a81,0x0102,0x08,0x07,0x00,0x00,0x07,0x0e},
 {0x2e,0x0a1b,0x0306,0x3a57,0x0101,0x08,0x06,0x00,0x00,0x05,0x06},
 {0x2f,0x0a1b,0x0305,0x3a50,0x0100,0x08,0x05,0x00,0x00,0x05,0x05},
 {0x30,0x2a1b,0x0407,0x3a81,0x0103,0x08,0x07,0x00,0x00,0x07,0x0e},
 {0x31,0x0a1b,0x030d,0x3b85,0x0000,0x08,0x0d,0x00,0x00,0x06,0x3d},
 {0x32,0x0a1b,0x0a0e,0x3b8c,0x0000,0x08,0x0e,0x00,0x00,0x06,0x3e},
 {0x33,0x0a1d,0x0a0d,0x3b85,0x0000,0x08,0x0d,0x00,0x00,0x06,0x3d},
 {0x34,0x2a1d,0x0a0e,0x3b8c,0x0000,0x08,0x0e,0x00,0x00,0x06,0x3e},
 {0x35,0x0a1f,0x0a0d,0x3b85,0x0000,0x08,0x0d,0x00,0x00,0x06,0x3d},
 {0x36,0x2a1f,0x0a0e,0x3b8c,0x0000,0x08,0x0e,0x00,0x00,0x06,0x3e},
 {0x37,0x0212,0x0508,0x3aab,0x0104,0x08,0x08,0x00,0x00,0x00,0x16},
 {0x38,0x0a1b,0x0508,0x3aab,0x0105,0x08,0x08,0x00,0x00,0x00,0x16},
 {0x3a,0x0e3b,0x0609,0x3adc,0x0107,0x08,0x09,0x00,0x00,0x00,0x1e},
 {0x3c,0x0e3b,0x070a,0x3af2,0x0130,0x08,0x0a,0x00,0x00,0x00,0x22},	/* mode 1600x1200 add CRT2MODE [2003/10/07] */
 {0x3d,0x0e7d,0x070a,0x3af2,0x0131,0x08,0x0a,0x00,0x00,0x00,0x22},	/* mode 1600x1200 add CRT2MODE */
 {0x40,0x9a1c,0x0000,0x3a34,0x010d,0x08,0x00,0x00,0x00,0x04,0x00},
 {0x41,0x9a1d,0x0000,0x3a34,0x010e,0x08,0x00,0x00,0x00,0x04,0x00},	/* ModeIdIndex = 0x10 */
 {0x43,0x0a1c,0x0306,0x3a57,0x0110,0x08,0x06,0x00,0x00,0x05,0x06},
 {0x44,0x0a1d,0x0306,0x3a57,0x0111,0x08,0x06,0x00,0x00,0x05,0x06},
 {0x46,0x2a1c,0x0407,0x3a81,0x0113,0x08,0x07,0x00,0x00,0x07,0x0e},
 {0x47,0x2a1d,0x0407,0x3a81,0x0114,0x08,0x07,0x00,0x00,0x07,0x0e},
 {0x49,0x0a3c,0x0508,0x3aab,0x0116,0x08,0x08,0x00,0x00,0x00,0x16},
 {0x4a,0x0a3d,0x0508,0x3aab,0x0117,0x08,0x08,0x00,0x00,0x00,0x16},
 {0x4c,0x0e7c,0x0609,0x3adc,0x0119,0x08,0x09,0x00,0x00,0x00,0x1e},
 {0x4d,0x0e7d,0x0609,0x3adc,0x011a,0x08,0x09,0x00,0x00,0x00,0x1e},
 {0x50,0x9a1b,0x0001,0x3a3b,0x0132,0x08,0x01,0x00,0x00,0x04,0x02},
 {0x51,0xba1b,0x0103,0x3a42,0x0133,0x08,0x03,0x00,0x00,0x07,0x03},
 {0x52,0x9a1b,0x0204,0x3a49,0x0134,0x08,0x04,0x00,0x00,0x00,0x04},
 {0x56,0x9a1d,0x0001,0x3a3b,0x0135,0x08,0x01,0x00,0x00,0x04,0x02},
 {0x57,0xba1d,0x0103,0x3a42,0x0136,0x08,0x03,0x00,0x00,0x07,0x03},
 {0x58,0x9a1d,0x0204,0x3a49,0x0137,0x08,0x04,0x00,0x00,0x00,0x04},
 {0x59,0x9a1b,0x0000,0x3a34,0x0138,0x08,0x00,0x00,0x00,0x04,0x00},
 {0x5A,0x021b,0x0014,0x3b83,0x0138,0x08,0x01,0x00,0x00,0x04,0x3f},	/* ModeIdIndex = 0x20 */
 {0x5B,0x0a1d,0x0014,0x3b83,0x0135,0x08,0x01,0x00,0x00,0x04,0x3f},
 {0x5d,0x0a1d,0x0305,0x3a50,0x0139,0x08,0x05,0x00,0x00,0x07,0x05},
 {0x62,0x0a3f,0x0306,0x3a57,0x013a,0x08,0x06,0x00,0x00,0x05,0x06},
 {0x63,0x2a3f,0x0407,0x3a81,0x013b,0x08,0x07,0x00,0x00,0x07,0x0e},
 {0x64,0x0a7f,0x0508,0x3aab,0x013c,0x08,0x08,0x00,0x00,0x00,0x16},
 {0x65,0x0eff,0x0609,0x3adc,0x013d,0x08,0x09,0x00,0x00,0x00,0x1e},
 {0x66,0x0eff,0x070a,0x3af2,0x013e,0x08,0x0a,0x00,0x00,0x00,0x22},	/* mode 1600x1200 add CRT2MODE */
 {0x68,0x067b,0x080b,0x3b17,0x013f,0x08,0x0b,0x00,0x00,0x00,0x29},
 {0x69,0x06fd,0x080b,0x3b17,0x0140,0x08,0x0b,0x00,0x00,0x00,0x29},
 {0x6b,0x07ff,0x080b,0x3b17,0x0141,0x10,0x0b,0x00,0x00,0x00,0x29},
 {0x6c,0x067b,0x090c,0x3b37,0x0000,0x08,0x0c,0x00,0x00,0x00,0x2f},
 {0x6d,0x06fd,0x090c,0x3b37,0x0000,0x10,0x0c,0x00,0x00,0x00,0x2f},
 {0x6e,0x07ff,0x090c,0x3b37,0x0000,0x10,0x0c,0x00,0x00,0x00,0x2f},
 {0x70,0x2a1b,0x0410,0x3b52,0x0000,0x08,0x10,0x00,0x00,0x07,0x34},
 {0x71,0x0a1b,0x0511,0x3b63,0x0000,0x08,0x11,0x00,0x00,0x00,0x37},
 {0x74,0x0a1d,0x0511,0x3b63,0x0000,0x08,0x11,0x00,0x00,0x00,0x37},	/* ModeIdIndex = 0x30 */
 {0x75,0x0a3d,0x0612,0x3b74,0x0000,0x08,0x12,0x00,0x00,0x00,0x3a},
 {0x76,0x2a1f,0x0410,0x3b52,0x0000,0x08,0x10,0x00,0x00,0x07,0x34},
 {0x77,0x0a1f,0x0511,0x3b63,0x0000,0x08,0x11,0x00,0x00,0x00,0x37},
 {0x78,0x0a3f,0x0612,0x3b74,0x0000,0x08,0x12,0x00,0x00,0x00,0x3a},
 {0x79,0x0a3b,0x0612,0x3b74,0x0000,0x08,0x12,0x00,0x00,0x00,0x3a},
 {0x7a,0x2a1d,0x0410,0x3b52,0x0000,0x08,0x10,0x00,0x00,0x07,0x34},
 {0x7b,0x0e3b,0x060f,0x3ad0,0x0000,0x08,0x0f,0x00,0x00,0x00,0x1d},
 {0x7c,0x0e7d,0x060f,0x3ad0,0x0000,0x08,0x0f,0x00,0x00,0x00,0x1d},
 {0x7d,0x0eff,0x060f,0x3ad0,0x0000,0x08,0x0f,0x00,0x00,0x00,0x1d},
 {0x20,0x0e3b,0x0D16,0x49e0,0x0000,0x08,0x16,0x00,0x00,0x00,0x43},
 {0x21,0x0e7d,0x0D16,0x49e0,0x0000,0x08,0x16,0x00,0x00,0x00,0x43},
 {0x22,0x0eff,0x0D16,0x49e0,0x0000,0x08,0x16,0x00,0x00,0x00,0x43},
 {0x23,0x0e3b,0x0614,0x49d5,0x0000,0x08,0x14,0x00,0x00,0x00,0x41},
 {0x24,0x0e7d,0x0614,0x49d5,0x0000,0x08,0x14,0x00,0x00,0x00,0x41},
 {0x25,0x0eff,0x0614,0x49d5,0x0000,0x08,0x14,0x00,0x00,0x00,0x41},
 {0x26,0x063b,0x0c15,0x49dc,0x0000,0x08,0x15,0x00,0x00,0x00,0x42},	/* ModeIdIndex = 0x40 */
 {0x27,0x067d,0x0c15,0x49dc,0x0000,0x08,0x15,0x00,0x00,0x00,0x42},
 {0x28,0x06ff,0x0c15,0x49dc,0x0000,0x08,0x15,0x00,0x00,0x00,0x42},
 {0xff,0x0000,0x0000,0x0000,0x0000,0x00,0x00,0x00,0x00,0x00,0x00}
};

static struct XGI_StandTableStruct XGI330_StandTable[] =
{
/* MD_0_200 */
 {
  0x28,0x18,0x08,0x0800,
  {0x09,0x03,0x00,0x02},
  0x63,
  {0x2d,0x27,0x28,0x90,0x2b,0xa0,0xbf,0x1f,
   0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,
   0x9c,0x8e,0x8f,0x14,0x1f,0x96,0xb9,0xa3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
   0x08,0x00,0x0f,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
   0xff}
 },
/* MD_1_200 */
 {
  0x28,0x18,0x08,0x0800,
  {0x09,0x03,0x00,0x02},
  0x63,
  {0x2d,0x27,0x28,0x90,0x2b,0xa0,0xbf,0x1f,
   0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,
   0x9c,0x8e,0x8f,0x14,0x1f,0x96,0xb9,0xa3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
   0x08,0x00,0x0f,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
   0xff}
 },
/* MD_2_200 */
 {
  0x50,0x18,0x08,0x1000,
  {0x01,0x03,0x00,0x02},
  0x63,
  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
   0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,
   0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
   0x08,0x00,0x0f,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
   0xff}
 },
/* MD_3_200 */
 {
  0x50,0x18,0x08,0x1000,
  {0x01,0x03,0x00,0x02},
  0x63,
  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
   0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,
   0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
   0x08,0x00,0x0f,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
   0xff}
 },
/* MD_4 */
 {
  0x28,0x18,0x08,0x4000,
  {0x09,0x03,0x00,0x02},
  0x63,
  {0x2d,0x27,0x28,0x90,0x2c,0x80,0xbf,0x1f,
   0x00,0xc1,0x00,0x00,0x00,0x00,0x00,0x00,
   0x9c,0x8e,0x8f,0x14,0x00,0x96,0xb9,0xa2,
   0xff},
  {0x00,0x13,0x15,0x17,0x02,0x04,0x06,0x07,
   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
   0x01,0x00,0x03,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x30,0x0f,0x00,
   0xff}
 },
/* MD_5 */
 {
  0x28,0x18,0x08,0x4000,
  {0x09,0x03,0x00,0x02},
  0x63,
  {0x2d,0x27,0x28,0x90,0x2c,0x80,0xbf,0x1f,
   0x00,0xc1,0x00,0x00,0x00,0x00,0x00,0x00,
   0x9c,0x8e,0x8f,0x14,0x00,0x96,0xb9,0xa2,
   0xff},
  {0x00,0x13,0x15,0x17,0x02,0x04,0x06,0x07,
   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
   0x01,0x00,0x03,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x30,0x0f,0x00,
   0xff}
 },
/* MD_6 */
 {
  0x50,0x18,0x08,0x4000,
  {0x01,0x01,0x00,0x06},
  0x63,
  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
   0x00,0xc1,0x00,0x00,0x00,0x00,0x00,0x00,
   0x9c,0x8e,0x8f,0x28,0x00,0x96,0xb9,0xc2,
   0xff},
  {0x00,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
   0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
   0x01,0x00,0x01,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x00,0x0d,0x00,
   0xff}
 },
/* MD_7 */
 {
  0x50,0x18,0x0e,0x1000,
  {0x00,0x03,0x00,0x03},
  0xa6,
  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
   0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,
   0x83,0x85,0x5d,0x28,0x0d,0x63,0xba,0xa3,
   0xff},
  {0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
   0x10,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
   0x0e,0x00,0x0f,0x08},
  {0x00,0x00,0x00,0x00,0x00,0x10,0x0a,0x00,
   0xff}
 },
/* MDA_DAC */
 {
  0x00,0x00,0x00,0x0000,
  {0x00,0x00,0x00,0x15},
  0x15,
  {0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
   0x15,0x15,0x15,0x15,0x15,0x15,0x3f,0x3f,
   0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x00,0x00,
   0x00},
  {0x00,0x00,0x00,0x00,0x00,0x15,0x15,0x15,
   0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
   0x15,0x15,0x15,0x15},
  {0x15,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
   0x3f}
 },
/* CGA_DAC */
 {
  0x00,0x10,0x04,0x0114,
  {0x11,0x09,0x15,0x00},
  0x10,
  {0x04,0x14,0x01,0x11,0x09,0x15,0x2a,0x3a,
   0x2e,0x3e,0x2b,0x3b,0x2f,0x3f,0x2a,0x3a,
   0x2e,0x3e,0x2b,0x3b,0x2f,0x3f,0x00,0x10,
   0x04},
  {0x14,0x01,0x11,0x09,0x15,0x00,0x10,0x04,
   0x14,0x01,0x11,0x09,0x15,0x2a,0x3a,0x2e,
   0x3e,0x2b,0x3b,0x2f},
  {0x3f,0x2a,0x3a,0x2e,0x3e,0x2b,0x3b,0x2f,
   0x3f}
 },
/* EGA_DAC */
 {
  0x00,0x10,0x04,0x0114,
  {0x11,0x05,0x15,0x20},
  0x30,
  {0x24,0x34,0x21,0x31,0x25,0x35,0x08,0x18,
   0x0c,0x1c,0x09,0x19,0x0d,0x1d,0x28,0x38,
   0x2c,0x3c,0x29,0x39,0x2d,0x3d,0x02,0x12,
   0x06},
  {0x16,0x03,0x13,0x07,0x17,0x22,0x32,0x26,
   0x36,0x23,0x33,0x27,0x37,0x0a,0x1a,0x0e,
   0x1e,0x0b,0x1b,0x0f},
  {0x1f,0x2a,0x3a,0x2e,0x3e,0x2b,0x3b,0x2f,
   0x3f}
 },
/* VGA_DAC */
 {
  0x00,0x10,0x04,0x0114,
  {0x11,0x09,0x15,0x2a},
  0x3a,
  {0x2e,0x3e,0x2b,0x3b,0x2f,0x3f,0x00,0x05,
   0x08,0x0b,0x0e,0x11,0x14,0x18,0x1c,0x20,
   0x24,0x28,0x2d,0x32,0x38,0x3f,0x00,0x10,
   0x1f},
  {0x2f,0x3f,0x1f,0x27,0x2f,0x37,0x3f,0x2d,
   0x31,0x36,0x3a,0x3f,0x00,0x07,0x0e,0x15,
   0x1c,0x0e,0x11,0x15},
  {0x18,0x1c,0x14,0x16,0x18,0x1a,0x1c,0x00,
   0x04}
 },
 {
  0x08,0x0c,0x10,0x0a08,
  {0x0c,0x0e,0x10,0x0b},
  0x0c,
  {0x0d,0x0f,0x10,0x10,0x01,0x08,0x00,0x00,
   0x00,0x00,0x01,0x00,0x02,0x02,0x01,0x00,
   0x04,0x04,0x01,0x00,0x05,0x02,0x05,0x00,
   0x06},
  {0x01,0x06,0x05,0x06,0x00,0x08,0x01,0x08,
   0x00,0x07,0x02,0x07,0x06,0x07,0x00,0x00,
   0x00,0x00,0x00,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
   0x00}
 },
/* MD_D */
 {
  0x28,0x18,0x08,0x2000,
  {0x09,0x0f,0x00,0x06},
  0x63,
  {0x2d,0x27,0x28,0x90,0x2c,0x80,0xbf,0x1f,
   0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
   0x9c,0x8e,0x8f,0x14,0x00,0x96,0xb9,0xe3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
   0x01,0x00,0x0f,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
   0xff}
 },
/* MD_E */
 {
  0x50,0x18,0x08,0x4000,
  {0x01,0x0f,0x00,0x06},
  0x63,
  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
   0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
   0x9c,0x8e,0x8f,0x28,0x00,0x96,0xb9,0xe3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
   0x01,0x00,0x0f,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
   0xff}
 },
/* ExtVGATable */
 {
  0x00,0x00,0x00,0x0000,
  {0x01,0x0f,0x00,0x0e},
  0x23,
  {0x5f,0x4f,0x50,0x82,0x54,0x80,0x0b,0x3e,
   0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
   0xea,0x8c,0xdf,0x28,0x40,0xe7,0x04,0xa3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
   0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
   0x01,0x00,0x00,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,
   0xff}
 },
/* ROM_SAVEPTR */
 {
  0x9f,0x3b,0x00,0x00c0,
  {0x00,0x00,0x00,0x00},
  0x00,
  {0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x3f,
   0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
   0x00,0x00,0x1a,0x00,0xac,0x3e,0x00,0xc0,
   0x00},
  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
   0x00,0x00,0x00,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
   0x00}
 },
/* MD_F */
 {
  0x50,0x18,0x0e,0x8000,
  {0x01,0x0f,0x00,0x06},
  0xa2,
  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
   0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
   0x82,0x84,0x5d,0x28,0x0f,0x63,0xba,0xe3,
   0xff},
  {0x00,0x08,0x00,0x00,0x18,0x18,0x00,0x00,
   0x00,0x08,0x00,0x00,0x00,0x18,0x00,0x00,
   0x0b,0x00,0x05,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x05,
   0xff}
 },
/* MD_10 */
 {
  0x50,0x18,0x0e,0x8000,
  {0x01,0x0f,0x00,0x06},
  0xa3,
  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
   0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
   0x82,0x84,0x5d,0x28,0x0f,0x63,0xba,0xe3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
   0x01,0x00,0x0f,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
   0xff}
 },
/* MD_0_350 */
 {
  0x28,0x18,0x0e,0x0800,
  {0x09,0x03,0x00,0x02},
  0xa3,
  {0x2d,0x27,0x28,0x90,0x2b,0xb1,0xbf,0x1f,
   0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,
   0x83,0x85,0x5d,0x14,0x1f,0x63,0xba,0xa3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
   0x08,0x00,0x0f,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
   0xff}
 },
/* MD_1_350 */
 {
  0x28,0x18,0x0e,0x0800,
  {0x09,0x03,0x00,0x02},
  0xa3,
  {0x2d,0x27,0x28,0x90,0x2b,0xa0,0xbf,0x1f,
   0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,
   0x83,0x85,0x5d,0x14,0x1f,0x63,0xba,0xa3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
   0x08,0x00,0x0f,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
   0xff}
 },
/* MD_2_350 */
 {
  0x50,0x18,0x0e,0x1000,
  {0x01,0x03,0x00,0x02},
  0xa3,
  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
   0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,
   0x83,0x85,0x5d,0x28,0x1f,0x63,0xba,0xa3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
   0x08,0x00,0x0f,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
   0xff}
 },
/* MD_3_350 */
 {
  0x50,0x18,0x0e,0x1000,
  {0x01,0x03,0x00,0x02},
  0xa3,
  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
   0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,
   0x83,0x85,0x5d,0x28,0x1f,0x63,0xba,0xa3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
   0x08,0x00,0x0f,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
   0xff}
 },
/* MD_0_1_400 */
 {
  0x28,0x18,0x10,0x0800,
  {0x08,0x03,0x00,0x02},
  0x67,
  {0x2d,0x27,0x28,0x90,0x2b,0xb1,0xbf,0x1f,
   0x00,0x4f,0x0d,0x0e,0x00,0x00,0x00,0x00,
   0x9c,0x8e,0x8f,0x14,0x1f,0x96,0xb9,0xa3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
   0x0c,0x00,0x0f,0x08},
  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
   0xff}
 },
/* MD_2_3_400 */
 {
  0x50,0x18,0x10,0x1000,
  {0x00,0x03,0x00,0x02},
  0x67,
  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
   0x00,0x4f,0x0d,0x0e,0x00,0x00,0x00,0x00,
   0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
   0x0c,0x00,0x0f,0x08},
  {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
   0xff}
 },
/* MD_7_400 */
 {
  0x50,0x18,0x10,0x1000,
  {0x00,0x03,0x00,0x02},
  0x66,
  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
   0x00,0x4f,0x0d,0x0e,0x00,0x00,0x00,0x00,
   0x9c,0x8e,0x8f,0x28,0x0f,0x96,0xb9,0xa3,
   0xff},
  {0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
   0x10,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
   0x0e,0x00,0x0f,0x08},
  {0x00,0x00,0x00,0x00,0x00,0x10,0x0a,0x00,
   0xff}
 },
/* MD_11 */
 {
  0x50,0x1d,0x10,0xa000,
  {0x01,0x0f,0x00,0x06},
  0xe3,
  {0x5f,0x4f,0x50,0x82,0x55,0x81,0x0b,0x3e,
   0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
   0xe9,0x8b,0xdf,0x28,0x00,0xe7,0x04,0xc3,
   0xff},
  {0x00,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
   0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
   0x01,0x00,0x0f,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x01,
   0xff}
 },
/* ExtEGATable */
 {
  0x50,0x1d,0x10,0xa000,
  {0x01,0x0f,0x00,0x06},
  0xe3,
  {0x5f,0x4f,0x50,0x82,0x55,0x81,0x0b,0x3e,
   0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
   0xe9,0x8b,0xdf,0x28,0x00,0xe7,0x04,0xe3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
   0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
   0x01,0x00,0x0f,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
   0xff}
 },
/* MD_13 */
 {
  0x28,0x18,0x08,0x2000,
  {0x01,0x0f,0x00,0x0e},
  0x63,
  {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
   0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,
   0x9c,0x8e,0x8f,0x28,0x40,0x96,0xb9,0xa3,
   0xff},
  {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
   0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
   0x41,0x00,0x0f,0x00},
  {0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,
   0xff}
 }
};

static struct XGI_TimingHStruct XGI_TimingH[] =
{{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}};

static struct XGI_TimingVStruct XGI_TimingV[] =
{{{0x00,0x00,0x00,0x00,0x00,0x00,0x00}}};

static struct XGI_XG21CRT1Struct XGI_UpdateCRT1Table[] =
{
 {0x01,0x27,0x91,0x8f,0xc0},	/* 00 */
 {0x03,0x4f,0x83,0x8f,0xc0},	/* 01 */
 {0x05,0x27,0x91,0x8f,0xc0},	/* 02 */
 {0x06,0x4f,0x83,0x8f,0xc0},	/* 03 */
 {0x07,0x4f,0x83,0x8f,0xc0},	/* 04 */
 {0x0d,0x27,0x91,0x8f,0xc0},	/* 05 */
 {0x0e,0x4f,0x83,0x8f,0xc0},	/* 06 */
 {0x0f,0x4f,0x83,0x5d,0xc0},	/* 07 */
 {0x10,0x4f,0x83,0x5d,0xc0},	/* 08 */
 {0x11,0x4f,0x83,0xdf,0x0c},	/* 09 */
 {0x12,0x4f,0x83,0xdf,0x0c},	/* 10 */
 {0x13,0x4f,0x83,0x8f,0xc0},	/* 11 */
 {0x2e,0x4f,0x83,0xdf,0x0c},	/* 12 */
 {0x2e,0x4f,0x87,0xdf,0xc0},	/* 13 */
 {0x2f,0x4f,0x83,0x8f,0xc0},	/* 14 */
 {0x50,0x27,0x91,0xdf,0x0c},	/* 15 */
 {0x59,0x27,0x91,0x8f,0xc0}	/* 16 */
};

static struct XGI_CRT1TableStruct XGI_CRT1Table[] =
{
 {{0x2d,0x28,0x90,0x2c,0x90,0x00,0x04,0x00,
    0xbf,0x1f,0x9c,0x8e,0x96,0xb9,0x30}}, /* 0x0 */
 {{0x2d,0x28,0x90,0x2c,0x90,0x00,0x04,0x00,
    0x0b,0x3e,0xe9,0x8b,0xe7,0x04,0x00}}, /* 0x1 */
 {{0x3D,0x31,0x81,0x37,0x1F,0x00,0x05,0x00,
    0x72,0xF0,0x58,0x8C,0x57,0x73,0xA0}}, /* 0x2 */
 {{0x4F,0x3F,0x93,0x45,0x0D,0x00,0x01,0x00,
    0x24,0xF5,0x02,0x88,0xFF,0x25,0x90}}, /* 0x3 */
 {{0x5F,0x50,0x82,0x55,0x81,0x00,0x05,0x00,
    0xBF,0x1F,0x9C,0x8E,0x96,0xB9,0x30}}, /* 0x4 */
 {{0x5F,0x50,0x82,0x55,0x81,0x00,0x05,0x00,
    0x0B,0x3E,0xE9,0x8B,0xE7,0x04,0x00}}, /* 0x5 */
 {{0x63,0x50,0x86,0x56,0x9B,0x00,0x01,0x00,
    0x06,0x3E,0xE8,0x8B,0xE7,0xFF,0x10}}, /* 0x6 */
 {{0x64,0x4F,0x88,0x55,0x9D,0x00,0x01,0x00,
    0xF2,0x1F,0xE0,0x83,0xDF,0xF3,0x10}}, /* 0x7 */
 {{0x63,0x4F,0x87,0x5A,0x81,0x00,0x05,0x00,
    0xFB,0x1F,0xE0,0x83,0xDF,0xFC,0x10}}, /* 0x8 */
 {{0x65,0x4F,0x89,0x58,0x80,0x00,0x05,0x60,
    0xFB,0x1F,0xE0,0x83,0xDF,0xFC,0x80}}, /* 0x9 */
 {{0x65,0x4F,0x89,0x58,0x80,0x00,0x05,0x60,
    0x01,0x3E,0xE0,0x83,0xDF,0x02,0x80}}, /* 0xa */
 {{0x67,0x4F,0x8B,0x58,0x81,0x00,0x05,0x60,
    0x0D,0x3E,0xE0,0x83,0xDF,0x0E,0x90}}, /* 0xb */
 {{0x65,0x4F,0x89,0x57,0x9F,0x00,0x01,0x00,
   0xFB,0x1F,0xE6,0x8A,0xDF,0xFC,0x10}}, /* 0xc */
 {{0x7B,0x63,0x9F,0x6A,0x93,0x00,0x05,0x00,    /* ; 0D (800x600,56Hz) */
    0x6F,0xF0,0x58,0x8A,0x57,0x70,0xA0}},         /* ; (VCLK 36.0MHz) */
 {{0x7F,0x63,0x83,0x6C,0x1C,0x00,0x06,0x00,    /* ; 0E (800x600,60Hz) */
    0x72,0xF0,0x58,0x8C,0x57,0x73,0xA0}},         /* ; (VCLK 40.0MHz) */
 {{0x7D,0x63,0x81,0x6E,0x1D,0x00,0x06,0x00,    /* ; 0F (800x600,72Hz) */
    0x98,0xF0,0x7C,0x82,0x57,0x99,0x80}},         /* ; (VCLK 50.0MHz) */
 {{0x7F,0x63,0x83,0x69,0x13,0x00,0x06,0x00,    /* ; 10 (800x600,75Hz) */
    0x6F,0xF0,0x58,0x8B,0x57,0x70,0xA0}},         /* ; (VCLK 49.5MHz) */
 {{0x7E,0x63,0x82,0x6B,0x13,0x00,0x06,0x00,    /* ; 11 (800x600,85Hz) */
    0x75,0xF0,0x58,0x8B,0x57,0x76,0xA0}},         /* ; (VCLK 56.25MHz) */
 {{0x81,0x63,0x85,0x6D,0x18,0x00,0x06,0x60,    /* ; 12 (800x600,100Hz) */
    0x7A,0xF0,0x58,0x8B,0x57,0x7B,0xA0}},         /* ; (VCLK 75.8MHz) */
 {{0x83,0x63,0x87,0x6E,0x19,0x00,0x06,0x60,    /* ; 13 (800x600,120Hz) */
    0x81,0xF0,0x58,0x8B,0x57,0x82,0xA0}},         /* ; (VCLK 79.411MHz) */
 {{0x85,0x63,0x89,0x6F,0x1A,0x00,0x06,0x60,    /* ; 14 (800x600,160Hz) */
   0x91,0xF0,0x58,0x8B,0x57,0x92,0xA0}},         /* ; (VCLK 105.822MHz) */
 {{0x99,0x7F,0x9D,0x84,0x1A,0x00,0x02,0x00,
    0x96,0x1F,0x7F,0x83,0x7F,0x97,0x10}}, /* 0x15 */
 {{0xA3,0x7F,0x87,0x86,0x97,0x00,0x02,0x00,
    0x24,0xF5,0x02,0x88,0xFF,0x25,0x90}}, /* 0x16 */
 {{0xA1,0x7F,0x85,0x86,0x97,0x00,0x02,0x00,
    0x24,0xF5,0x02,0x88,0xFF,0x25,0x90}}, /* 0x17 */
 {{0x9F,0x7F,0x83,0x85,0x91,0x00,0x02,0x00,
    0x1E,0xF5,0x00,0x83,0xFF,0x1F,0x90}}, /* 0x18 */
 {{0xA7,0x7F,0x8B,0x89,0x95,0x00,0x02,0x00,
    0x26,0xF5,0x00,0x83,0xFF,0x27,0x90}}, /* 0x19 */
 {{0xA9,0x7F,0x8D,0x8C,0x9A,0x00,0x02,0x62,
    0x2C,0xF5,0x00,0x83,0xFF,0x2D,0x14}}, /* 0x1a */
 {{0xAB,0x7F,0x8F,0x8D,0x9B,0x00,0x02,0x62,
    0x35,0xF5,0x00,0x83,0xFF,0x36,0x14}}, /* 0x1b */
 {{0xCF,0x9F,0x93,0xB2,0x01,0x00,0x03,0x00,
    0x14,0xBA,0x00,0x83,0xFF,0x15,0x00}}, /* 0x1c */
 {{0xCE,0x9F,0x92,0xA9,0x17,0x00,0x07,0x00,
    0x28,0x5A,0x00,0x83,0xFF,0x29,0x89}}, /* 0x1d */
 {{0xCE,0x9F,0x92,0xA5,0x17,0x00,0x07,0x00,
    0x28,0x5A,0x00,0x83,0xFF,0x29,0x89}}, /* 0x1e */
 {{0xD3,0x9F,0x97,0xAB,0x1F,0x00,0x07,0x00,
    0x2E,0x5A,0x00,0x83,0xFF,0x2F,0x89}}, /* 0x1f */
 {{0x09,0xC7,0x8D,0xD3,0x0B,0x01,0x04,0x00,
    0xE0,0x10,0xB0,0x83,0xAF,0xE1,0x2F}}, /* 0x20 */
 {{0x09,0xC7,0x8D,0xD3,0x0B,0x01,0x04,0x00,
    0xE0,0x10,0xB0,0x83,0xAF,0xE1,0x2F}}, /* 0x21 */
 {{0x09,0xC7,0x8D,0xD3,0x0B,0x01,0x04,0x00,
    0xE0,0x10,0xB0,0x83,0xAF,0xE1,0x2F}}, /* 0x22 */
 {{0x09,0xC7,0x8D,0xD3,0x0B,0x01,0x04,0x00,
    0xE0,0x10,0xB0,0x83,0xAF,0xE1,0x2F}}, /* 0x23 */
 {{0x09,0xC7,0x8D,0xD3,0x0B,0x01,0x04,0x00,
    0xE0,0x10,0xB0,0x83,0xAF,0xE1,0x2F}}, /* 0x24 */
 {{0x09,0xC7,0x8D,0xD3,0x0B,0x01,0x04,0x00,
    0xE0,0x10,0xB0,0x83,0xAF,0xE1,0x2F}}, /* 0x25 */
 {{0x09,0xC7,0x8D,0xD3,0x0B,0x01,0x04,0x00,
    0xE0,0x10,0xB0,0x83,0xAF,0xE1,0x2F}}, /* 0x26 */
 {{0x40,0xEF,0x84,0x03,0x1D,0x41,0x01,0x00,
    0xDA,0x1F,0xA0,0x83,0x9F,0xDB,0x1F}}, /* 0x27 */
 {{0x43,0xEF,0x87,0x06,0x00,0x41,0x05,0x62,
    0xD4,0x1F,0xA0,0x83,0x9F,0xD5,0x9F}}, /* 0x28 */
 {{0x45,0xEF,0x89,0x07,0x01,0x41,0x05,0x62,
    0xD9,0x1F,0xA0,0x83,0x9F,0xDA,0x9F}}, /* 0x29 */
 {{0x40,0xEF,0x84,0x03,0x1D,0x41,0x01,0x00,
    0xDA,0x1F,0xA0,0x83,0x9F,0xDB,0x1F}}, /* 0x2a */
 {{0x40,0xEF,0x84,0x03,0x1D,0x41,0x01,0x00,
    0xDA,0x1F,0xA0,0x83,0x9F,0xDB,0x1F}}, /* 0x2b */
 {{0x40,0xEF,0x84,0x03,0x1D,0x41,0x01,0x00,
    0xDA,0x1F,0xA0,0x83,0x9F,0xDB,0x1F}}, /* 0x2c */
 {{0x59,0xFF,0x9D,0x17,0x13,0x41,0x05,0x44,
    0x33,0xBA,0x00,0x83,0xFF,0x34,0x0F}}, /* 0x2d */
 {{0x5B,0xFF,0x9F,0x18,0x14,0x41,0x05,0x44,
    0x38,0xBA,0x00,0x83,0xFF,0x39,0x0F}}, /* 0x2e */
 {{0x5B,0xFF,0x9F,0x18,0x14,0x41,0x05,0x44,
    0x3D,0xBA,0x00,0x83,0xFF,0x3E,0x0F}}, /* 0x2f */
 {{0x5D,0xFF,0x81,0x19,0x95,0x41,0x05,0x44,
    0x41,0xBA,0x00,0x84,0xFF,0x42,0x0F}}, /* 0x30 */
 {{0x55,0xFF,0x99,0x0D,0x0C,0x41,0x05,0x00,
    0x3E,0xBA,0x00,0x84,0xFF,0x3F,0x0F}}, /* 0x31 */
 {{0x7F,0x63,0x83,0x6C,0x1C,0x00,0x06,0x00,
    0x72,0xBA,0x27,0x8B,0xDF,0x73,0x80}}, /* 0x32 */
 {{0x7F,0x63,0x83,0x69,0x13,0x00,0x06,0x00,
    0x6F,0xBA,0x26,0x89,0xDF,0x6F,0x80}}, /* 0x33 */
 {{0x7F,0x63,0x82,0x6B,0x13,0x00,0x06,0x00,
    0x75,0xBA,0x29,0x8C,0xDF,0x75,0x80}}, /* 0x34 */
 {{0xA3,0x7F,0x87,0x86,0x97,0x00,0x02,0x00,
    0x24,0xF1,0xAF,0x85,0x3F,0x25,0xB0}}, /* 0x35 */
 {{0x9F,0x7F,0x83,0x85,0x91,0x00,0x02,0x00,
    0x1E,0xF1,0xAD,0x81,0x3F,0x1F,0xB0}}, /* 0x36 */
 {{0xA7,0x7F,0x88,0x89,0x15,0x00,0x02,0x00,
    0x26,0xF1,0xB1,0x85,0x3F,0x27,0xB0}}, /* 0x37 */
 {{0xCE,0x9F,0x92,0xA9,0x17,0x00,0x07,0x00,
    0x28,0xC4,0x7A,0x8E,0xCF,0x29,0xA1}}, /* 0x38 */
 {{0xCE,0x9F,0x92,0xA5,0x17,0x00,0x07,0x00,
    0x28,0xD4,0x7A,0x8E,0xCF,0x29,0xA1}}, /* 0x39 */
 {{0xD3,0x9F,0x97,0xAB,0x1F,0x00,0x07,0x00,
    0x2E,0xD4,0x7D,0x81,0xCF,0x2F,0xA1}}, /* 0x3a */
 {{0xDC,0x9F,0x00,0xAB,0x19,0x00,0x07,0x00,
    0xE6,0xEF,0xC0,0xC3,0xBF,0xE7,0x90}}, /* 0x3b */
 {{0x6B,0x59,0x8F,0x5E,0x8C,0x00,0x05,0x00,
    0x0B,0x3E,0xE9,0x8B,0xE7,0x04,0x00}}, /* 0x3c */
 {{0x7B,0x63,0x9F,0x6A,0x93,0x00,0x05,0x00,
    0x6F,0xF0,0x58,0x8A,0x57,0x70,0xA0}}, /* 0x3d */
 {{0x86,0x6A,0x8a,0x74,0x06,0x00,0x02,0x00,
    0x8c,0x15,0x4f,0x83,0xef,0x8d,0x30}}, /* 0x3e */
 {{0x81,0x6A,0x85,0x70,0x00,0x00,0x02,0x00,
    0x0f,0x3e,0xeb,0x8e,0xdf,0x10,0x00}}, /* 0x3f */
 {{0xCE,0x9F,0x92,0xA9,0x17,0x00,0x07,0x00,
    0x20,0xF5,0x03,0x88,0xFF,0x21,0x90}}, /* 0x40 */
 {{0xE6,0xAE,0x8A,0xBD,0x90,0x00,0x03,0x00,
    0x3D,0x10,0x1A,0x8D,0x19,0x3E,0x2F}}, /* 0x41 */
 {{0xB9,0x8F,0x9D,0x9B,0x8A,0x00,0x06,0x00,
    0x7D,0xFF,0x60,0x83,0x5F,0x7E,0x90}}, /* 0x42 */
 {{0xC3,0x8F,0x87,0x9B,0x0B,0x00,0x07,0x00,
    0x82,0xFF,0x60,0x83,0x5F,0x83,0x90}},  /* 0x43 */
 {{0xAD,0x7F,0x91,0x8E,0x9C,0x00,0x02,0x82,
    0x49,0xF5,0x00,0x83,0xFF,0x4A,0x90}},  /* 0x44 */
 {{0xCD,0x9F,0x91,0xA7,0x19,0x00,0x07,0x60,
    0xE6,0xFF,0xC0,0x83,0xBF,0xE7,0x90}},  /* 0x45 */
 {{0xD3,0x9F,0x97,0xAB,0x1F,0x00,0x07,0x60,
    0xF1,0xFF,0xC0,0x83,0xBF,0xF2,0x90}},  /* 0x46 */
 {{0xD7,0x9F,0x9B,0xAC,0x1E,0x00,0x07,0x00,
    0x03,0xDE,0xC0,0x84,0xBF,0x04,0x90}}  /* 0x47 */
};

#if 0
static struct XGI330_CHTVRegDataStruct XGI_CHTVRegUNTSC[] = {
                /* Index:000h,001h,002h,004h,003h,005h,006h,007h,008h,015h,01Fh,00Ch,00Dh,00Eh,00Fh,010h */
                {{      0x4A,0x77,0xBB,0x94,0x84,0x48,0xFE,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 00 (640x200,640x400) */
                {{      0x4A,0x77,0xBB,0x94,0x84,0x48,0xFE,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 01 (640x350) */
                {{      0x4A,0x77,0xBB,0x94,0x84,0x48,0xFE,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 02 (720x400) */
                {{      0x4A,0x77,0xBB,0x94,0x84,0x48,0xFE,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 03 (720x350) */
                {{      0x6A,0x77,0xBB,0x6E,0x84,0x2E,0x02,0x5A,0x04,0x00,0x80,0x20,0x7E,0x80,0x97,0x00  }},/* 04 (640x480) ;;5/6/02 */
                {{      0xCF,0x77,0xB7,0xC8,0x84,0x3B,0x02,0x5A,0x04,0x00,0x80,0x19,0x88,0xAE,0xA3,0x00  }},/* 05 (800x600) ;;1/12/02 */
                {{      0xEE,0x77,0xBB,0x66,0x87,0x32,0x01,0x5A,0x04,0x00,0x80,0x1B,0xD4,0x2F,0x6F,0x00  }}/* 06 (1024x768) ;;5/6/02 */
          };

static struct XGI330_CHTVRegDataStruct XGI_CHTVRegONTSC[] = {
                /* Index:000h,001h,002h,004h,003h,005h,006h,007h,008h,015h,01Fh,00Ch,00Dh,00Eh,00Fh,010h */
                {{      0x49,0x77,0xBB,0x7B,0x84,0x34,0x00,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 00 (640x200,640x400) */
                {{      0x49,0x77,0xBB,0x7B,0x84,0x34,0x00,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 01 (640x350) */
                {{      0x49,0x77,0xBB,0x7B,0x84,0x34,0x00,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 02 (720x400) */
                {{      0x49,0x77,0xBB,0x7B,0x84,0x34,0x00,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 03 (720x350) */
                {{      0x69,0x77,0xBB,0x6E,0x84,0x1E,0x00,0x5A,0x04,0x00,0x80,0x25,0x1A,0x80,0x26,0x00  }},/* 04 (640x480) ;;5/6/02 */
                {{      0xCE,0x77,0xB7,0xB6,0x83,0x2C,0x02,0x5A,0x04,0x00,0x80,0x1C,0x00,0x82,0x97,0x00  }},/* 05 (800x600) ;;5/6/02 */
                {{      0xED,0x77,0xBB,0x66,0x8C,0x21,0x02,0x5A,0x04,0x00,0x80,0x1F,0xA0,0x7E,0x73,0x00  }}/* 06 (1024x768) ;;5/6/02 */
          };

static struct XGI330_CHTVRegDataStruct XGI_CHTVRegUPAL[] = {
                /* Index:000h,001h,002h,004h,003h,005h,006h,007h,008h,015h,01Fh,00Ch,00Dh,00Eh,00Fh,010h */
                {{      0x41,0x7F,0xB7,0x34,0xAD,0x50,0x34,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* ; 00 (640x200,640x400) */
                {{      0x41,0x7F,0xB7,0x80,0x85,0x50,0x00,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* ; 01 (640x350) */
                {{      0x41,0x7F,0xB7,0x34,0xAD,0x50,0x34,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* ; 02 (720x400) */
                {{      0x41,0x7F,0xB7,0x12,0x85,0x50,0x00,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* ; 03 (720x350) */
                {{      0x61,0x7F,0xB7,0x99,0x84,0x35,0x04,0x5A,0x05,0x00,0x80,0x26,0x2A,0x55,0x5D,0x00  }},/* ; 04 (640x480) */
                {{      0xC3,0x7F,0xB7,0x7A,0x84,0x40,0x02,0x5A,0x05,0x00,0x80,0x1F,0x84,0x3D,0x28,0x00  }},/* ; 05 (800x600) ;;1/12/02 */
                {{      0xE5,0x7F,0xB7,0x1D,0xA7,0x3E,0x04,0x5A,0x05,0x00,0x80,0x20,0x3E,0xE4,0x22,0x00  }}/* ; 06 (1024x768) ;;1/12/02 */
	  };

static struct XGI330_CHTVRegDataStruct XGI_CHTVRegOPAL[] = {
                /* Index:000,0x01,0x02,0x04,0x03,0x05,0x06,0x07,0x08,0x15,0x1F,0x0C,0x0D,0x0E,0x0F,0x10h */
                {{      0x41,0x7F,0xB7,0x36,0xAD,0x50,0x34,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01 }},/* 00 (640x200,640x400) */
                {{      0x41,0x7F,0xB7,0x86,0x85,0x50,0x00,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01 }},/* 01 (640x350) */
                {{      0x41,0x7F,0xB7,0x36,0xAD,0x50,0x34,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01 }},/* 02 (720x400) */
                {{      0x41,0x7F,0xB7,0x86,0x85,0x50,0x00,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01 }},/* 03 (720x350) */
                {{      0x61,0x7F,0xB7,0x99,0x84,0x35,0x04,0x5A,0x05,0x00,0x80,0x26,0x2A,0x55,0x5D,0x00 }},/* 04 (640x480) */
                {{      0xC1,0x7F,0xB7,0x4D,0x8C,0x1E,0x31,0x5A,0x05,0x00,0x80,0x26,0x78,0x19,0x34,0x00 }},/* 05 (800x600) ;;1/12/02 */
                {{      0xE4,0x7F,0xB7,0x1E,0xAF,0x29,0x37,0x5A,0x05,0x00,0x80,0x25,0x8C,0xB2,0x2A,0x00 }}/* 06 (1024x768) ;;1/12/02 */
	     };
#endif

static unsigned char XGI_CH7017LV1024x768[] = {
					0x60, 0x02, 0x00, 0x07, 0x40, 0xED, 0xA3,
					0xC8, 0xC7, 0xAC, 0xE0, 0x02};
static unsigned char XGI_CH7017LV1400x1050[] = {
					 0x60, 0x03, 0x11, 0x00, 0x40, 0xE3, 0xAD,
					 0xDB, 0xF6, 0xAC, 0xE0, 0x02};


/*add for new UNIVGABIOS*/
static struct XGI330_LCDDataStruct  XGI_StLCD1024x768Data[] =
{
 {   62,  25, 800, 546,1344, 806},
 {   32,  15, 930, 546,1344, 806},
 {   62,  25, 800, 546,1344, 806}, /* chiawen for dot9 -> dot8 */
 {  104,  45, 945, 496,1344, 806},
 {   62,  25, 800, 546,1344, 806},
 {   31,  18,1008, 624,1344, 806},
 {    1,   1,1344, 806,1344, 806}
};

static struct XGI330_LCDDataStruct  XGI_ExtLCD1024x768Data[] =
{
 {   42,  25,1536, 419,1344, 806}, /* { 12, 5, 896, 512,1344, 806}, // alan 09/12/2003 */
 {   48,  25,1536, 369,1344, 806}, /* { 12, 5, 896, 510,1344, 806}, // alan 09/12/2003 */
 {   42,  25,1536, 419,1344, 806}, /* { 32, 15,1008, 505,1344, 806}, // alan 09/12/2003 */
 {   48,  25,1536, 369,1344, 806}, /* { 32, 15,1008, 514,1344, 806}, // alan 09/12/2003 */
 {   12,   5, 896, 500,1344, 806},
 {   42,  25,1024, 625,1344, 806},
 {    1,   1,1344, 806,1344, 806},
 {   12,   5, 896, 500,1344, 806},
 {   42,  25,1024, 625,1344, 806},
 {    1,   1,1344, 806,1344, 806},
 {   12,   5, 896, 500,1344, 806},
 {   42,  25,1024, 625,1344, 806},
 {    1,   1,1344, 806,1344, 806}
};

/*struct XGI330_LCDDataStruct  XGI_St2LCD1024x768Data[] =
{
 {   62,  25, 800, 546,1344, 806},
 {   32,  15, 930, 546,1344, 806},
 {   62,  25, 800, 546,1344, 806},
 {  104,  45, 945, 496,1344, 806},
 {   62,  25, 800, 546,1344, 806},
 {   31,  18,1008, 624,1344, 806},
 {    1,   1,1344, 806,1344, 806}
};*/

static struct XGI330_LCDDataStruct  XGI_CetLCD1024x768Data[] =
{
	{         1,1,1344,806,1344,806           }, /* ; 00 (320x200,320x400,640x200,640x400) */
        {         1,1,1344,806,1344,806           }, /* 01 (320x350,640x350) */
        {         1,1,1344,806,1344,806           }, /* 02 (360x400,720x400) */
        {         1,1,1344,806,1344,806           }, /* 03 (720x350) */
        {         1,1,1344,806,1344,806           }, /* 04 (640x480x60Hz) */
        {         1,1,1344,806,1344,806           }, /* 05 (800x600x60Hz) */
        {         1,1,1344,806,1344,806           }  /* 06 (1024x768x60Hz) */
};

static struct XGI330_LCDDataStruct  XGI_StLCD1280x1024Data[] =
{
 {   22,   5, 800, 510,1650,1088},
 {   22,   5, 800, 510,1650,1088},
 {  176,  45, 900, 510,1650,1088},
 {  176,  45, 900, 510,1650,1088},
 {   22,   5, 800, 510,1650,1088},
 {   13,   5,1024, 675,1560,1152},
 {   16,   9,1266, 804,1688,1072},
 {    1,   1,1688,1066,1688,1066}
};

static struct XGI330_LCDDataStruct  XGI_ExtLCD1280x1024Data[] =
{
 {  211,  60,1024, 501,1688,1066},
 {  211,  60,1024, 508,1688,1066},
 {  211,  60,1024, 501,1688,1066},
 {  211,  60,1024, 508,1688,1066},
 {  211,  60,1024, 500,1688,1066},
 {  211,  75,1024, 625,1688,1066},
 {  211, 120,1280, 798,1688,1066},
 {    1,   1,1688,1066,1688,1066}
};

#if 0
static struct XGI330_LCDDataStruct  XGI_St2LCD1280x1024Data[] =
{
 {   22,   5, 800, 510,1650,1088},
 {   22,   5, 800, 510,1650,1088},
 {  176,  45, 900, 510,1650,1088},
 {  176,  45, 900, 510,1650,1088},
 {   22,   5, 800, 510,1650,1088},
 {   13,   5,1024, 675,1560,1152},
 {   16,   9,1266, 804,1688,1072},
 {    1,   1,1688,1066,1688,1066}
};
#endif

static struct XGI330_LCDDataStruct  XGI_CetLCD1280x1024Data[] =
{
	{         1,1,1688,1066,1688,1066         }, /* 00 (320x200,320x400,640x200,640x400) */
        {         1,1,1688,1066,1688,1066         }, /* 01 (320x350,640x350) */
        {         1,1,1688,1066,1688,1066         }, /* 02 (360x400,720x400) */
        {         1,1,1688,1066,1688,1066         }, /* 03 (720x350) */
        {         1,1,1688,1066,1688,1066         }, /* 04 (640x480x60Hz) */
        {         1,1,1688,1066,1688,1066         }, /* 05 (800x600x60Hz) */
        {         1,1,1688,1066,1688,1066         }, /* 06 (1024x768x60Hz) */
        {         1,1,1688,1066,1688,1066         }, /* 07 (1280x1024x60Hz) */
        {         1,1,1688,1066,1688,1066         } /* 08 (1400x1050x60Hz) */
};

static struct XGI330_LCDDataStruct  XGI_StLCD1400x1050Data[] =
{
	{         211,100,2100,408,1688,1066      }, /* 00 (320x200,320x400,640x200,640x400) */
        {         211,64,1536,358,1688,1066       }, /* 01 (320x350,640x350) */
        {         211,100,2100,408,1688,1066      }, /* 02 (360x400,720x400) */
        {         211,64,1536,358,1688,1066       }, /* 03 (720x350) */
        {         211,48,840,488,1688,1066        }, /* 04 (640x480x60Hz) */
        {         211,72,1008,609,1688,1066       }, /* 05 (800x600x60Hz) */
        {         211,128,1400,776,1688,1066      }, /* 06 (1024x768x60Hz) */
        {         1,1,1688,1066,1688,1066         }, /* 07 (1280x1024x60Hz w/o Scaling) */
        {         1,1,1688,1066,1688,1066         }  /* 08 (1400x1050x60Hz) */
};

static struct XGI330_LCDDataStruct  XGI_ExtLCD1400x1050Data[] =
{
	{         211,100,2100,408,1688,1066      }, /* 00 (320x200,320x400,640x200,640x400) */
        {         211,64,1536,358,1688,1066       }, /* 01 (320x350,640x350) */
        {         211,100,2100,408,1688,1066      }, /* 02 (360x400,720x400) */
        {         211,64,1536,358,1688,1066       }, /* 03 (720x350) */
        {         211,48,840,488,1688,1066        }, /* 04 (640x480x60Hz) */
        {         211,72,1008,609,1688,1066       }, /* 05 (800x600x60Hz) */
        {         211,128,1400,776,1688,1066      }, /* 06 (1024x768x60Hz) */
        {         1,1,1688,1066,1688,1066         }, /* 07 (1280x1024x60Hz w/o Scaling) */
        {         1,1,1688,1066,1688,1066         }  /* 08 (1400x1050x60Hz) */
};

static struct XGI330_LCDDataStruct  XGI_ExtLCD1600x1200Data[] =
{
        {         4,1,1620,420,2160,1250          }, /* { 3,1,2160,425,2160,1250 }, // 00 (320x200,320x400,640x200,640x400) // alan 10/14/2003 */
        {         27,7,1920,375,2160,1250         }, /* 01 (320x350,640x350) */
        {         4,1,1620,420,2160,1250          }, /* { 3,1,2160,425,2160,1250 }, // 02 (360x400,720x400) // alan 10/14/2003 */
        {         27,7,1920,375,2160,1250         }, /* 03 (720x350) */
        {         27,4,800,500,2160,1250          }, /* 04 (640x480x60Hz) */
        {         4,1,1080,625,2160,1250          }, /* 05 (800x600x60Hz) */
        {         5,2,1350,800,2160,1250          }, /* 06 (1024x768x60Hz) */
        {         27,16,1500,1064,2160,1250       }, /* 07 (1280x1024x60Hz) */
        {         9,7,1920,1106,2160,1250         }, /* 08 (1400x1050x60Hz) */
        {         1,1,2160,1250,2160,1250         }  /* 09 (1600x1200x60Hz) ;302lv */
};

static struct XGI330_LCDDataStruct  XGI_StLCD1600x1200Data[] =
{
        {         27,4,800,500,2160,1250          },/* 00 (320x200,320x400,640x200,640x400) */
        {         27,4,800,500,2160,1250          },/* 01 (320x350,640x350) */
        {         27,4,800,500,2160,1250          },/* 02 (360x400,720x400) */
        {         27,4,800,500,2160,1250          },/* 03 (720x350) */
        {         27,4,800,500,2160,1250          },/* 04 (320x240,640x480) */
        {         4,1,1080,625,2160,1250          },/* 05 (400x300,800x600) */
        {         5,2,1350,800,2160,1250          },/* 06 (512x384,1024x768) */
        {         135,88,1600,1100,2160,1250      },/* 07 (1280x1024) */
        {         1,1,1800,1500,2160,1250         },/* 08 (1400x1050) */
        {         1,1,2160,1250,2160,1250         } /* 09 (1600x1200) */
};

static struct XGI330_LCDDataStruct  XGI_CetLCD1400x1050Data[] =
{
	{         1,1,1688,1066,1688,1066         }, /* 00 (320x200,320x400,640x200,640x400) */
        {         1,1,1688,1066,1688,1066         }, /* 01 (320x350,640x350) */
        {         1,1,1688,1066,1688,1066         }, /* 02 (360x400,720x400) */
        {         1,1,1688,1066,1688,1066         }, /* 03 (720x350) */
        {         1,1,1688,1066,1688,1066         }, /* 04 (640x480x60Hz) */
        {         1,1,1688,1066,1688,1066         }, /* 05 (800x600x60Hz) */
        {         1,1,1688,1066,1688,1066         }, /* 06 (1024x768x60Hz) */
        {         1,1,1688,1066,1688,1066         }, /* 07 (1280x1024x60Hz) */
        {         1,1,1688,1066,1688,1066         }  /* 08 (1400x1050x60Hz) */
};

static struct XGI330_LCDDataStruct  XGI_NoScalingData[] =
{
 {    1,   1, 800, 449, 800, 449},
 {    1,   1, 800, 449, 800, 449},
 {    1,   1, 900, 449, 900, 449},
 {    1,   1, 900, 449, 900, 449},
 {    1,   1, 800, 525, 800, 525},
 {    1,   1,1056, 628,1056, 628},
 {    1,   1,1344, 806,1344, 806},
 {    1,   1,1688,1066,1688,1066}
};

static struct XGI330_LCDDataStruct  XGI_ExtLCD1024x768x75Data[] =
{
        {42,25,1536,419,1344,806 }, /* ; 00 (320x200,320x400,640x200,640x400) */
        {48,25,1536,369,1344,806 }, /* ; 01 (320x350,640x350) */
        {42,25,1536,419,1344,806 }, /* ; 02 (360x400,720x400) */
        {48,25,1536,369,1344,806 }, /* ; 03 (720x350) */
        {8,5,1312,500,1312,800   }, /* ; 04 (640x480x75Hz) */
        {41,25,1024,625,1312,800 }, /* ; 05 (800x600x75Hz) */
        {1,1,1312,800,1312,800   }  /* ; 06 (1024x768x75Hz) */
};

#if 0
static struct XGI330_LCDDataStruct  XGI_StLCD1024x768x75Data[] =
{
        {42,25,1536,419,1344,806 }, /* ; 00 (320x200,320x400,640x200,640x400) */
        {48,25,1536,369,1344,806 }, /* ; 01 (320x350,640x350) */
        {42,25,1536,419,1344,806 }, /* ; 02 (360x400,720x400) */
        {48,25,1536,369,1344,806 }, /* ; 03 (720x350) */
        {8,5,1312,500,1312,800   }, /* ; 04 (640x480x75Hz) */
        {41,25,1024,625,1312,800 }, /* ; 05 (800x600x75Hz) */
        {1,1,1312,800,1312,800   }  /* ; 06 (1024x768x75Hz) */
};
#endif

static struct XGI330_LCDDataStruct  XGI_CetLCD1024x768x75Data[] =
{
        {1,1,1312,800,1312,800}, /* ; 00 (320x200,320x400,640x200,640x400) */
        {1,1,1312,800,1312,800}, /* ; 01 (320x350,640x350) */
        {1,1,1312,800,1312,800}, /* ; 02 (360x400,720x400) */
        {1,1,1312,800,1312,800}, /* ; 03 (720x350) */
        {1,1,1312,800,1312,800}, /* ; 04 (640x480x75Hz) */
        {1,1,1312,800,1312,800}, /* ; 05 (800x600x75Hz) */
        {1,1,1312,800,1312,800} /* ; 06 (1024x768x75Hz) */
};

static struct XGI330_LCDDataStruct  XGI_ExtLCD1280x1024x75Data[] =
{
        {211,60,1024,501,1688,1066   }, /* ; 00 (320x200,320x400,640x200,640x400) */
        {211,60,1024,508,1688,1066   }, /* ; 01 (320x350,640x350) */
        {211,60,1024,501,1688,1066   }, /* ; 02 (360x400,720x400) */
        {211,60,1024,508,1688,1066   }, /* ; 03 (720x350) */
        {211,45,768,498,1688,1066    }, /* ; 04 (640x480x75Hz) */
        {211,75,1024,625,1688,1066   }, /* ; 05 (800x600x75Hz) */
        {211,120,1280,798,1688,1066  }, /* ; 06 (1024x768x75Hz) */
        {1,1,1688,1066,1688,1066     }  /* ; 07 (1280x1024x75Hz) */
};

static struct XGI330_LCDDataStruct  XGI_StLCD1280x1024x75Data[] =
{
        {211,60,1024,501,1688,1066 }, /* ; 00 (320x200,320x400,640x200,640x400) */
        {211,60,1024,508,1688,1066 }, /* ; 01 (320x350,640x350) */
        {211,60,1024,501,1688,1066 }, /* ; 02 (360x400,720x400) */
        {211,60,1024,508,1688,1066 }, /* ; 03 (720x350) */
        {211,45,768,498,1688,1066  }, /* ; 04 (640x480x75Hz) */
        {211,75,1024,625,1688,1066 }, /* ; 05 (800x600x75Hz) */
        {211,120,1280,798,1688,1066}, /* ; 06 (1024x768x75Hz) */
        {1,1,1688,1066,1688,1066   }  /* ; 07 (1280x1024x75Hz) */
};

static struct XGI330_LCDDataStruct  XGI_CetLCD1280x1024x75Data[] =
{
        {1,1,1688,1066,1688,1066}, /* ; 00 (320x200,320x400,640x200,640x400) */
        {1,1,1688,1066,1688,1066}, /* ; 01 (320x350,640x350) */
        {1,1,1688,1066,1688,1066}, /* ; 02 (360x400,720x400) */
        {1,1,1688,1066,1688,1066}, /* ; 03 (720x350) */
        {1,1,1688,1066,1688,1066}, /* ; 04 (640x480x75Hz) */
        {1,1,1688,1066,1688,1066}, /* ; 05 (800x600x75Hz) */
        {1,1,1688,1066,1688,1066}, /* ; 06 (1024x768x75Hz) */
        {1,1,1688,1066,1688,1066}  /* ; 07 (1280x1024x75Hz) */
};

static struct XGI330_LCDDataStruct  XGI_NoScalingDatax75[] =
{
        {1,1,800,449,800,449    }, /* ; 00 (320x200,320x400,640x200,640x400) */
        {1,1,800,449,800,449    }, /* ; 01 (320x350,640x350) */
        {1,1,900,449,900,449    }, /* ; 02 (360x400,720x400) */
        {1,1,900,449,900,449    }, /* ; 03 (720x350) */
        {1,1,840,500,840,500    }, /* ; 04 (640x480x75Hz) */
        {1,1,1056,625,1056,625  }, /* ; 05 (800x600x75Hz) */
        {1,1,1312,800,1312,800  }, /* ; 06 (1024x768x75Hz) */
        {1,1,1688,1066,1688,1066}, /* ; 07 (1280x1024x75Hz) */
        {1,1,1688,1066,1688,1066}, /* ; 08 (1400x1050x75Hz) ;;[ycchen] 12/19/02 */
        {1,1,2160,1250,2160,1250}, /* ; 09 (1600x1200x75Hz) */
        {1,1,1688,806,1688,806  }  /* ; 0A (1280x768x75Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_ExtLCDDes1024x768Data[] =
{
   {  9,1057,0, 771  }, /* ; 00 (320x200,320x400,640x200,640x400) */
   {  9,1057,0, 771  }, /* ; 01 (320x350,640x350) */
   {  9,1057,0, 771  }, /* ; 02 (360x400,720x400) */
   {  9,1057,0, 771  }, /* ; 03 (720x350) */
   {  9,1057,0, 771  }, /* ; 04 (640x480x60Hz) */
   {  9,1057,0, 771  }, /* ; 05 (800x600x60Hz) */
   {  9,1057,805, 770  }  /* ; 06 (1024x768x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_StLCDDes1024x768Data[] =
{
        { 9,1057,737,703   }, /* ; 00 (320x200,320x400,640x200,640x400) */
        { 9,1057,686,651   }, /* ; 01 (320x350,640x350) */
        { 9,1057,737,703   }, /* ; 02 (360x400,720x400) */
        { 9,1057,686,651   }, /* ; 03 (720x350) */
        { 9,1057,776,741   }, /* ; 04 (640x480x60Hz) */
        { 9,1057, 0 ,771   }, /* ; 05 (800x600x60Hz) */
        { 9,1057,805,770   }  /* ; 06 (1024x768x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_CetLCDDes1024x768Data[] =
{
       	{      1152,856,622,587   }, /* ; 00 (320x200,320x400,640x200,640x400) */
        {      1152,856,597,562   }, /* ; 01 (320x350,640x350) */
        {      1152,856,622,587   }, /* ; 02 (360x400,720x400) */
        {      1152,856,597,562   }, /* ; 03 (720x350) */
        {      1152,856,662,627   }, /* ; 04 (640x480x60Hz) */
        {      1232,936,722,687   }, /* ; 05 (800x600x60Hz) */
        {      0,1048,805,770   }  /* ; 06 (1024x768x60Hz) */
};

static struct XGI330_LCDDataDesStruct XGI_ExtLCDDLDes1280x1024Data[] =
{
        {      18,1346,981,940     },/* 00 (320x200,320x400,640x200,640x400) */
        {      18,1346,926,865     },/* 01 (320x350,640x350) */
        {      18,1346,981,940     },/* 02 (360x400,720x400) */
        {      18,1346,926,865     },/* 03 (720x350) */
        {      18,1346,0,1025     },/* 04 (640x480x60Hz) */
        {      18,1346,0,1025     },/* 05 (800x600x60Hz) */
        {      18,1346,1065,1024     },/* 06 (1024x768x60Hz) */
        {      18,1346,1065,1024     }/* 07 (1280x1024x60Hz) */
};

static struct XGI330_LCDDataDesStruct XGI_StLCDDLDes1280x1024Data[] =
{
        {      18,1346,970,907     },/* 00 (320x200,320x400,640x200,640x400) */
        {      18,1346,917,854     },/* 01 (320x350,640x350) */
        {      18,1346,970,907     },/* 02 (360x400,720x400) */
        {      18,1346,917,854     },/* 03 (720x350) */
        {      18,1346,0,1025     },/* 04 (640x480x60Hz) */
        {      18,1346,0,1025     },/* 05 (800x600x60Hz) */
        {      18,1346,1065,1024     },/* 06 (1024x768x60Hz) */
        {      18,1346,1065,1024     }/* 07 (1280x1024x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_CetLCDDLDes1280x1024Data[] =
{
        {      1368,1008,752,711    }, /* 00 (320x200,320x400,640x200,640x400) */
        {      1368,1008,729,688    }, /* 01 (320x350,640x350) */
        {      1368,1008,752,711    }, /* 02 (360x400,720x400) */
    	{      1368,1008,729,688    }, /* 03 (720x350) */
        {      1368,1008,794,753    }, /* 04 (640x480x60Hz) */
        {      1448,1068,854,813    }, /* 05 (800x600x60Hz) */
        {      1560,1200,938,897    }, /* 06 (1024x768x60Hz) */
        {      18,1346,1065,1024    }  /* 07 (1280x1024x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_ExtLCDDes1280x1024Data[] =
{
        {      9,1337,981,940    }, /* ; 00 (320x200,320x400,640x200,640x400) */
        {      9,1337,926,884    }, /* ; 01 (320x350,640x350) alan, 2003/09/30 */
        {      9,1337,981,940    }, /* ; 02 (360x400,720x400) */
        {      9,1337,926,884    }, /* ; 03 (720x350) alan, 2003/09/30 */
        {      9,1337,0,1025    }, /* ; 04 (640x480x60Hz) */
        {      9,1337,0,1025    }, /* ; 05 (800x600x60Hz) */
        {      9,1337,1065,1024    }, /* ; 06 (1024x768x60Hz) */
        {      9,1337,1065,1024    }  /* ; 07 (1280x1024x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_StLCDDes1280x1024Data[] =
{
        {      9,1337,970,907    }, /* ; 00 (320x200,320x400,640x200,640x400) */
        {      9,1337,917,854    }, /* ; 01 (320x350,640x350) */
        {      9,1337,970,907    }, /* ; 02 (360x400,720x400) */
        {      9,1337,917,854    }, /* ; 03 (720x350) */
        {      9,1337,0,1025    }, /* ; 04 (640x480x60Hz) */
        {      9,1337,0,1025    }, /* ; 05 (800x600x60Hz) */
        {      9,1337,1065,1024    }, /* ; 06 (1024x768x60Hz) */
        {      9,1337,1065,1024    }  /* ; 07 (1280x1024x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_CetLCDDes1280x1024Data[] =
{
        {      1368,1008,752,711    }, /* 00 (320x200,320x400,640x200,640x400) */
        {      1368,1008,729,688    }, /* 01 (320x350,640x350) */
        {      1368,1008,752,711    }, /* 02 (360x400,720x400) */
    	{      1368,1008,729,688    }, /* 03 (720x350) */
        {      1368,1008,794,753    }, /* 04 (640x480x60Hz) */
        {      1448,1068,854,813    }, /* 05 (800x600x60Hz) */
        {      1560,1200,938,897    }, /* 06 (1024x768x60Hz) */
        {      9,1337,1065,1024    }  /* 07 (1280x1024x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_StLCDDLDes1400x1050Data[] =
{
        {      18,1464,0,1051    }, /* 00 (320x200,320x400,640x200,640x400) */
        {      18,1464,0,1051    }, /* 01 (320x350,640x350) */
        {      18,1464,0,1051    }, /* 02 (360x400,720x400) */
        {      18,1464,0,1051    }, /* 03 (720x350) */
        {      18,1464,0,1051    }, /* 04 (640x480x60Hz) */
        {      18,1464,0,1051    }, /* 05 (800x600x60Hz) */
        {      18,1464,0,1051    }, /* 06 (1024x768x60Hz) */
        {      1646,1406,1053,1038    }, /* 07 (1280x1024x60Hz) */
        {      18,1464,0,1051    }  /* 08 (1400x1050x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_ExtLCDDLDes1400x1050Data[] =
{
        {      18,1464,0,1051    }, /* 00 (320x200,320x400,640x200,640x400) */
        {      18,1464,0,1051    }, /* 01 (320x350,640x350) */
        {      18,1464,0,1051    }, /* 02 (360x400,720x400) */
        {      18,1464,0,1051    }, /* 03 (720x350) */
        {      18,1464,0,1051    }, /* 04 (640x480x60Hz) */
        {      18,1464,0,1051    }, /* 05 (800x600x60Hz) */
        {      18,1464,0,1051    }, /* 06 (1024x768x60Hz) */
        {      1646,1406,1053,1038    }, /* 07 (1280x1024x60Hz) */
        {      18,1464,0,1051    }  /* 08 (1400x1050x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_StLCDDes1400x1050Data[] =
{
        {      9,1455,0,1051     },/* 00 (320x200,320x400,640x200,640x400) */
        {      9,1455,0,1051     },/* 01 (320x350,640x350) */
        {      9,1455,0,1051     },/* 02 (360x400,720x400) */
        {      9,1455,0,1051     },/* 03 (720x350) */
        {      9,1455,0,1051     },/* 04 (640x480x60Hz) */
        {      9,1455,0,1051     },/* 05 (800x600x60Hz) */
        {      9,1455,0,1051     },/* 06 (1024x768x60Hz) */
        {      1637,1397,1053,1038     },/* 07 (1280x1024x60Hz) */
        {      9,1455,0,1051     } /* 08 (1400x1050x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_ExtLCDDes1400x1050Data[] =
{
        {      9,1455,0,1051     },/* 00 (320x200,320x400,640x200,640x400) */
        {      9,1455,0,1051     },/* 01 (320x350,640x350) */
        {      9,1455,0,1051     },/* 02 (360x400,720x400) */
        {      9,1455,0,1051     },/* 03 (720x350) */
        {      9,1455,0,1051     },/* 04 (640x480x60Hz) */
        {      9,1455,0,1051     },/* 05 (800x600x60Hz) */
        {      9,1455,0,1051     },/* 06 (1024x768x60Hz) */
        {      1637,1397,1053,1038     },/* 07 (1280x1024x60Hz) */
        {      9,1455,0,1051     } /* 08 (1400x1050x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_CetLCDDes1400x1050Data[] =
{
        {      1308,1068,781,766    }, /* 00 (320x200,320x400,640x200,640x400) */
        {      1308,1068,781,766    }, /* 01 (320x350,640x350) */
        {      1308,1068,781,766    }, /* 02 (360x400,720x400) */
        {      1308,1068,781,766    }, /* 03 (720x350) */
        {      1308,1068,781,766    }, /* 04 (640x480x60Hz) */
        {      1388,1148,841,826    }, /* 05 (800x600x60Hz) */
        {      1490,1250,925,910    }, /* 06 (1024x768x60Hz) */
        {      1646,1406,1053,1038    }, /* 07 (1280x1024x60Hz) */
        {      18,1464,0,1051    } /* 08 (1400x1050x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_CetLCDDes1400x1050Data2[] =
{
        {      0,1448,0,1051    }, /* 00 (320x200,320x400,640x200,640x400) */
        {      0,1448,0,1051    }, /* 01 (320x350,640x350) */
        {      0,1448,0,1051    }, /* 02 (360x400,720x400) */
        {      0,1448,0,1051    }, /* 03 (720x350) */
        {      0,1448,0,1051    }  /* 04 (640x480x60Hz) */
};



static struct XGI330_LCDDataDesStruct  XGI_ExtLCDDLDes1600x1200Data[] =
{
	{      18,1682,0,1201    }, /* 00 (320x200,320x400,640x200,640x400) */
        {      18,1682,0,1201    }, /* 01 (320x350,640x350) */
        {      18,1682,0,1201    }, /* 02 (360x400,720x400) */
        {      18,1682,0,1201    }, /* 03 (720x350) */
        {      18,1682,0,1201    }, /* 04 (640x480x60Hz) */
        {      18,1682,0,1201    }, /* 05 (800x600x60Hz) */
        {      18,1682,0,1201    }, /* 06 (1024x768x60Hz) */
        {      18,1682,0,1201    }, /* 07 (1280x1024x60Hz) */
        {      18,1682,0,1201    }, /* 08 (1400x1050x60Hz) */
        {      18,1682,0,1201    }  /* 09 (1600x1200x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_StLCDDLDes1600x1200Data[] =
{
        {      18,1682,1150,1101    }, /* 00 (320x200,320x400,640x200,640x400) */
        {      18,1682,1083,1034    }, /* 01 (320x350,640x350) */
        {      18,1682,1150,1101    }, /* 02 (360x400,720x400) */
        {      18,1682,1083,1034    }, /* 03 (720x350) */
        {      18,1682,0,1201    }, /* 04 (640x480x60Hz) */
        {      18,1682,0,1201    }, /* 05 (800x600x60Hz) */
        {      18,1682,0,1201    }, /* 06 (1024x768x60Hz) */
        {      18,1682,1232,1183    }, /* 07 (1280x1024x60Hz) */
        {      18,1682,0,1201    }, /* 08 (1400x1050x60Hz) */
        {      18,1682,0,1201    } /* 09 (1600x1200x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_ExtLCDDes1600x1200Data[] =
{
        {      9,1673,0,1201     },/* 00 (320x200,320x400,640x200,640x400) */
        {      9,1673,0,1201     },/* 01 (320x350,640x350) */
        {      9,1673,0,1201     },/* 02 (360x400,720x400) */
        {      9,1673,0,1201     },/* 03 (720x350) */
        {      9,1673,0,1201     },/* 04 (640x480x60Hz) */
        {      9,1673,0,1201     },/* 05 (800x600x60Hz) */
        {      9,1673,0,1201     },/* 06 (1024x768x60Hz) */
        {      9,1673,0,1201     },/* 07 (1280x1024x60Hz) */
        {      9,1673,0,1201     },/* 08 (1400x1050x60Hz) */
        {      9,1673,0,1201     } /* 09 (1600x1200x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_StLCDDes1600x1200Data[] =
{
	{      9,1673,1150,1101     },/* 00 (320x200,320x400,640x200,640x400) */
        {      9,1673,1083,1034     },/* 01 (320x350,640x350) */
        {      9,1673,1150,1101     },/* 02 (360x400,720x400) */
        {      9,1673,1083,1034     },/* 03 (720x350) */
        {      9,1673,0,1201     },/* 04 (640x480x60Hz) */
        {      9,1673,0,1201     },/* 05 (800x600x60Hz) */
        {      9,1673,0,1201     },/* 06 (1024x768x60Hz) */
        {      9,1673,1232,1183     },/* 07 (1280x1024x60Hz) */
        {      9,1673,0,1201     },/* 08 (1400x1050x60Hz) */
        {      9,1673,0,1201     } /* 09 (1600x1200x60Hz) */
};

static struct XGI330_LCDDataDesStruct2  XGI_NoScalingDesData[] =
{
        {     9,657,448,405,96,2  }, /* 00 (320x200,320x400,640x200,640x400) */
        {     9,657,448,355,96,2  }, /* 01 (320x350,640x350) */
        {     9,657,448,405,96,2  }, /* 02 (360x400,720x400) */
        {     9,657,448,355,96,2  }, /* 03 (720x350) */
        {     9,657,1,483,96,2  }, /* 04 (640x480x60Hz) */
        {     9,849,627,600,128,4  }, /* 05 (800x600x60Hz) */
        {     9,1057,805,770,0136,6  }, /* 06 (1024x768x60Hz) */
        {     9,1337,0,1025,112,3  }, /* 07 (1280x1024x60Hz) */
        {     9,1457,0,1051,112,3  }, /* 08 (1400x1050x60Hz) }, //;[ycchen] 12/19/02 */
        {     9,1673,0,1201,192,3  }, /* 09 (1600x1200x60Hz) */
        {     9,1337,0,771,112,6  }  /* 0A (1280x768x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_ExtLCDDes1024x768x75Data[] =		/* ;;1024x768x75Hz */
{
        {9,1049,0,769},    /* ; 00 (320x200,320x400,640x200,640x400) */
        {9,1049,0,769},    /* ; 01 (320x350,640x350) */
        {9,1049,0,769},    /* ; 02 (360x400,720x400) */
        {9,1049,0,769},    /* ; 03 (720x350) */
        {9,1049,0,769},    /* ; 04 (640x480x75Hz) */
        {9,1049,0,769},    /* ; 05 (800x600x75Hz) */
        {9,1049,0,769}     /* ; 06 (1024x768x75Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_StLCDDes1024x768x75Data[] =
{
        {9,1049,0,769},    /* ; 00 (320x200,320x400,640x200,640x400) */
        {9,1049,0,769},    /* ; 01 (320x350,640x350) */
        {9,1049,0,769},    /* ; 02 (360x400,720x400) */
        {9,1049,0,769},    /* ; 03 (720x350) */
        {9,1049,0,769},    /* ; 04 (640x480x75Hz) */
        {9,1049,0,769},    /* ; 05 (800x600x75Hz) */
        {9,1049,0,769}     /* ; 06 (1024x768x75Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_CetLCDDes1024x768x75Data[] =	/* ;;1024x768x75Hz */
{
        {1152,856,622,587},     /* ; 00 (320x200,320x400,640x200,640x400) */
        {1152,856,597,562},     /* ; 01 (320x350,640x350) */
        {1192,896,622,587},     /* ; 02 (360x400,720x400) */
        {1192,896,597,562},     /* ; 03 (720x350) */
        {1129,857,656,625},     /* ; 04 (640x480x75Hz) */
        {1209,937,716,685},     /* ; 05 (800x600x75Hz) */
        {9,1049,0,769} 	   	/* ; 06 (1024x768x75Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_ExtLCDDLDes1280x1024x75Data[] =         /* ;;1280x1024x75Hz */
{
        {18,1314,0,1025     },/* ; 00 (320x200,320x400,640x200,640x400) */
        {18,1314,0,1025     },/* ; 01 (320x350,640x350) */
        {18,1314,0,1025     },/* ; 02 (360x400,720x400) */
        {18,1314,0,1025     },/* ; 03 (720x350) */
        {18,1314,0,1025     },/* ; 04 (640x480x60Hz) */
        {18,1314,0,1025     },/* ; 05 (800x600x60Hz) */
        {18,1314,0,1025     },/* ; 06 (1024x768x60Hz) */
        {18,1314,0,1025     }/* ; 07 (1280x1024x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_StLCDDLDes1280x1024x75Data[] =
{
        {18,1314,0,1025     },/* ; 00 (320x200,320x400,640x200,640x400) */
        {18,1314,0,1025     },/* ; 01 (320x350,640x350) */
        {18,1314,0,1025     },/* ; 02 (360x400,720x400) */
        {18,1314,0,1025     },/* ; 03 (720x350) */
        {18,1314,0,1025     },/* ; 04 (640x480x60Hz) */
        {18,1314,0,1025     },/* ; 05 (800x600x60Hz) */
        {18,1314,0,1025     },/* ; 06 (1024x768x60Hz) */
        {18,1314,0,1025     }/* ; 07 (1280x1024x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_CetLCDDLDes1280x1024x75Data[] =	/* 1280x1024x75Hz */
{
        {1368,1008,752,711},    /* ; 00 (320x200,320x400,640x200,640x400) */
        {1368,1008,729,688},    /* ; 01 (320x350,640x350) */
        {1408,1048,752,711},    /* ; 02 (360x400,720x400) */
        {1408,1048,729,688},    /* ; 03 (720x350) */
        {1377,985,794,753},    /* ; 04 (640x480x75Hz) */
        {1457,1065,854,813},    /* ; 05 (800x600x75Hz) */
        {1569,1177,938,897},    /* ; 06 (1024x768x75Hz) */
        {18,1314,0,1025}     	  /* ; 07 (1280x1024x75Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_ExtLCDDes1280x1024x75Data[] =         /* ;;1280x1024x75Hz */
{
	{9,1305,0,1025},/* ; 00 (320x200,320x400,640x200,640x400) */
        {9,1305,0,1025},/* ; 01 (320x350,640x350) */
        {9,1305,0,1025},/* ; 02 (360x400,720x400) */
        {9,1305,0,1025},/* ; 03 (720x350) */
        {9,1305,0,1025},/* ; 04 (640x480x60Hz) */
        {9,1305,0,1025},/* ; 05 (800x600x60Hz) */
        {9,1305,0,1025},/* ; 06 (1024x768x60Hz) */
        {9,1305,0,1025} /* ; 07 (1280x1024x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_StLCDDes1280x1024x75Data[] =
{
	{9,1305,0,1025},/* ; 00 (320x200,320x400,640x200,640x400) */
        {9,1305,0,1025},/* ; 01 (320x350,640x350) */
        {9,1305,0,1025},/* ; 02 (360x400,720x400) */
        {9,1305,0,1025},/* ; 03 (720x350) */
        {9,1305,0,1025},/* ; 04 (640x480x60Hz) */
        {9,1305,0,1025},/* ; 05 (800x600x60Hz) */
        {9,1305,0,1025},/* ; 06 (1024x768x60Hz) */
        {9,1305,0,1025} /* ; 07 (1280x1024x60Hz) */
};

static struct XGI330_LCDDataDesStruct  XGI_CetLCDDes1280x1024x75Data[] =	/* 1280x1024x75Hz */
{
        {1368,1008,752,711},    /* ; 00 (320x200,320x400,640x200,640x400) */
        {1368,1008,729,688},    /* ; 01 (320x350,640x350) */
        {1408,1048,752,711},    /* ; 02 (360x400,720x400) */
        {1408,1048,729,688},    /* ; 03 (720x350) */
        {1377,985,794,753},    /* ; 04 (640x480x75Hz) */
        {1457,1065,854,813},    /* ; 05 (800x600x75Hz) */
        {1569,1177,938,897},    /* ; 06 (1024x768x75Hz) */
        {9,1305,0,1025}     	  /* ; 07 (1280x1024x75Hz) */
};

static struct XGI330_LCDDataDesStruct2 XGI_NoScalingDesDatax75[] = /* Scaling LCD 75Hz */
{
	{9,657,448,405,96,2},   /* ; 00 (320x200,320x400,640x200,640x400) */
        {9,657,448,355,96,2},   /* ; 01 (320x350,640x350) */
        {9,738,448,405,108,2},   /* ; 02 (360x400,720x400) */
        {9,738,448,355,108,2},   /* ; 03 (720x350) */
        {9,665,0,481,64,3},   /* ; 04 (640x480x75Hz) */
        {9,825,0,601,80,3},   /* ; 05 (800x600x75Hz) */
        {9,1049,0,769,96,3},   /* ; 06 (1024x768x75Hz) */
        {9,1305,0,1025,144,3},   /* ; 07 (1280x1024x75Hz) */
        {9,1457,0,1051,112,3},   /* ; 08 (1400x1050x60Hz) ;;[ycchen] 12/19/02 */
        {9,1673,0,1201,192,3},   /* ; 09 (1600x1200x75Hz) */
        {9,1337,0,771,112,6}    /* ; 0A (1280x768x60Hz) */
};

static struct XGI330_TVDataStruct  XGI_StPALData[] =
{
 {    1,   1, 864, 525,1270, 400, 100,   0, 760},
 {    1,   1, 864, 525,1270, 350, 100,   0, 760},
 {    1,   1, 864, 525,1270, 400,   0,   0, 720},
 {    1,   1, 864, 525,1270, 350,   0,   0, 720},
 {    1,   1, 864, 525,1270, 480,  50,   0, 760},
 {    1,   1, 864, 525,1270, 600,  50,   0,   0}
};

static struct XGI330_TVDataStruct  XGI_ExtPALData[] =
{
 {    2,   1,1080, 463,1270, 500,  50,   0,  50},
 {   15,   7,1152, 413,1270, 500,  50,   0,  50},
 {    2,   1,1080, 463,1270, 500,  50,   0,  50},
 {   15,   7,1152, 413,1270, 500,  50,   0,  50},
 {    2,   1, 900, 543,1270, 500,   0,   0,  50},
 {    4,   3,1080, 663,1270, 500, 438,   0, 438},
 {    1,   1,1125, 831,1270, 500, 686,   0, 686},     /*301b*/
 {    3,   2,1080, 619,1270, 540, 438,   0, 438}
};

static struct XGI330_TVDataStruct  XGI_StNTSCData[] =
{
 {    1,   1, 858, 525,1270, 400,  50,   0, 760},
 {    1,   1, 858, 525,1270, 350,  50,   0, 640},
 {    1,   1, 858, 525,1270, 400,   0,   0, 720},
 {    1,   1, 858, 525,1270, 350,   0,   0, 720},
 {    1,   1, 858, 525,1270, 480,   0,   0, 760}
};

static struct XGI330_TVDataStruct  XGI_ExtNTSCData[] =
{
 {    9,  5, 1001, 453,1270, 420, 171,   0, 171},
 {   12,  5,  858, 403,1270, 420, 171,   0, 171},
 {    9,  5, 1001, 453,1270, 420, 171,   0, 171},
 {   12,  5,  858, 403,1270, 420, 171,   0, 171},
 {  143,  80, 836, 523,1270, 420, 224,   0,   0},
 {  143, 120,1008, 643,1270, 420,   0,   1,   0},
 {   1,    1,1120, 821,1516, 420,   0,   1,   0}, /*301b*/
 {    2,   1, 858, 503,1584, 480,   0,   1,   0},
 {    3,   2,1001, 533,1270, 420,   0,   0,   0}
};

static struct XGI330_TVDataStruct  XGI_St1HiTVData[] =
{
    	{        1,1,892,563,690,800,0,0,0               }, /* 00 (320x200,320x400,640x200,640x400) */
        {        1,1,892,563,690,700,0,0,0               }, /* 01 (320x350,640x350) */
        {        1,1,1000,563,785,800,0,0,0              }, /* 02 (360x400,720x400) */
        {        1,1,1000,563,785,700,0,0,0              }, /* 03 (720x350) */
        {        1,1,892,563,690,960,0,0,0               }, /* 04 (320x240,640x480) */
        {        8,5,1050,683,1648,960,0x150,1,0         }  /* 05 (400x300,800x600) */
};

static struct XGI330_TVDataStruct  XGI_St2HiTVData[] =
{
        {        3,1,840,483,1648,960,0x032,0,0          }, /* 00 (320x200,320x400,640x200,640x400) */
        {        1,1,892,563,690,700,0,0,0               }, /* 01 (320x350,640x350) */
        {        3,1,840,483,1648,960,0x032,0,0          }, /* 02 (360x400,720x400) */
        {        1,1,1000,563,785,700,0,0,0              }, /* 03 (720x350) */
        {        5,2,840,563,1648,960,0x08D,1,0          }, /* 04 (320x240,640x480) */
        {        8,5,1050,683,1648,960,0x17C,1,0         }  /* 05 (400x300,800x600) */

};

static struct XGI330_TVDataStruct  XGI_ExtHiTVData[] =
{
        {        6,1,840,563,1632,960,0,0,0              }, /* 00 (320x200,320x400,640x200,640x400) */
        {        3,1,960,563,1632,960,0,0,0              }, /* 01 (320x350,640x350) */
        {        3,1,840,483,1632,960,0,0,0              }, /* 02 (360x400,720x400) */
        {        3,1,960,563,1632,960,0,0,0              }, /* 03 (720x350) */
        {        5,1,840,563,1648,960,0x166,1,0          }, /* 04 (320x240,640x480) */
        {        16,5,1050,683,1648,960,0x143,1,0        }, /* 05 (400x300,800x600) */
        {        25,12,1260,851,1648,960,0x032,0,0       }, /* 06 (512x384,1024x768) */
        {        5,4,1575,1124,1648,960,0x128,0,0        }, /* 07 (1280x1024) */
        {        4,1,1050,563,1548,960,0x143,1,0         }, /* 08 (800x480) */
        {        5,2,1400,659,1648,960,0x032,0,0         }, /* 09 (1024x576) */
        {        8,5,1750,803,1648,960,0x128,0,0         }  /* 0A (1280x720) */

};

static struct XGI330_TVDataStruct  XGI_ExtYPbPr525iData[] =
{
 {    9,  5, 1001, 453,1270, 420, 171,   0, 171},
 {   12,  5,  858, 403,1270, 420, 171,   0, 171},
 {    9,  5, 1001, 453,1270, 420, 171,   0, 171},
 {   12,  5,  858, 403,1270, 420, 171,   0, 171},
 {  143,  80, 836, 523,1250, 420, 224,   0,   0},
 {  143, 120,1008, 643,1250, 420,   0,   1,   0},
 {   1,    1,1120, 821,1516, 420,   0,   1,   0}, /*301b*/
 {    2,   1, 858, 503,1584, 480,   0,   1,   0},
 {    3,   2,1001, 533,1250, 420,   0,   0,   0}
};

static struct XGI330_TVDataStruct  XGI_StYPbPr525iData[] =
{
 {    1,   1, 858, 525,1270, 400,  50,   0, 760},
 {    1,   1, 858, 525,1270, 350,  50,   0, 640},
 {    1,   1, 858, 525,1270, 400,   0,   0, 720},
 {    1,   1, 858, 525,1270, 350,   0,   0, 720},
 {    1,   1, 858, 525,1270, 480,   0,   0, 760},
};

static struct XGI330_TVDataStruct  XGI_ExtYPbPr525pData[] =
{
 {    9,  5, 1001, 453,1270, 420, 171,   0, 171},
 {   12,  5,  858, 403,1270, 420, 171,   0, 171},
 {    9,  5, 1001, 453,1270, 420, 171,   0, 171},
 {   12,  5,  858, 403,1270, 420, 171,   0, 171},
 {  143,  80, 836, 523,1270, 420, 224,   0,   0},
 {  143, 120,1008, 643,1270, 420,   0,   1,   0},
 {   1,    1,1120, 821,1516, 420,   0,   1,   0}, /*301b*/
 {    2,   1, 858, 503,1584, 480,   0,   1,   0},
 {    3,   2,1001, 533,1270, 420,   0,   0,   0}
 };

static struct XGI330_TVDataStruct  XGI_StYPbPr525pData[] =
{
 {    1,   1,1716, 525,1270, 400,  50,   0, 760},
 {    1,   1,1716, 525,1270, 350,  50,   0, 640},
 {    1,   1,1716, 525,1270, 400,   0,   0, 720},
 {    1,   1,1716, 525,1270, 350,   0,   0, 720},
 {    1,   1,1716, 525,1270, 480,   0,   0, 760},
};

static struct XGI330_TVDataStruct  XGI_ExtYPbPr750pData[] =
{
 {    3,   1, 935, 470,1130, 680,  50,   0,   0},       /* 00 (320x200,320x400,640x200,640x400) */
 {   24,   7, 935, 420,1130, 680,  50,   0,   0},       /* 01 (320x350,640x350) */
 {    3,   1, 935, 470,1130, 680,  50,   0,   0},       /* 02 (360x400,720x400) */
 {   24,   7, 935, 420,1130, 680,  50,   0,   0},       /* 03 (720x350) */
 {    2,   1,1100, 590,1130, 640,  50,   0,   0},       /* 04 (320x240,640x480) */
 {    3,   2,1210, 690,1130, 660,  50,   0,   0},       /* 05 (400x300,800x600) */
 {    1,   1,1375, 878,1130, 640, 638,   0,   0},       /* 06 (1024x768) */
 {    2,   1, 858, 503,1130, 480,   0,   1,   0},        /* 07 (720x480) */
 {    5,   4,1815, 570,1130, 660,  50,   0,   0},
 {    5,   3,1100, 686,1130, 640,  50,   1,   0},
 {   10,   9,1320, 830,1130, 640,  50,   0,   0}
};

static struct XGI330_TVDataStruct  XGI_StYPbPr750pData[] =
{
 {    1,   1,1650, 750,1280, 400,  50,   0, 760},
 {    1,   1,1650, 750,1280, 350,  50,   0, 640},
 {    1,   1,1650, 750,1280, 400,   0,   0, 720},
 {    1,   1,1650, 750,1280, 350,   0,   0, 720},
 {    1,   1,1650, 750,1280, 480,   0,   0, 760},
};

static unsigned char XGI330_NTSCTiming[] = {
  0x17,0x1d,0x03,0x09,0x05,0x06,0x0c,0x0c,
  0x94,0x49,0x01,0x0a,0x06,0x0d,0x04,0x0a,
  0x06,0x14,0x0d,0x04,0x0a,0x00,0x85,0x1b,
  0x0c,0x50,0x00,0x97,0x00,0xda,0x4a,0x17,
  0x7d,0x05,0x4b,0x00,0x00,0xe2,0x00,0x02,
  0x03,0x0a,0x65,0x9d,0x08,0x92,0x8f,0x40,
  0x60,0x80,0x14,0x90,0x8c,0x60,0x14,0x50,
  0x00,0x40,0x44,0x00,0xdb,0x02,0x3b,0x00};

static unsigned char XGI330_PALTiming[] = {
  0x21,0x5A,0x35,0x6e,0x04,0x38,0x3d,0x70,
  0x94,0x49,0x01,0x12,0x06,0x3e,0x35,0x6d,
  0x06,0x14,0x3e,0x35,0x6d,0x00,0x45,0x2b,
  0x70,0x50,0x00,0x9b,0x00,0xd9,0x5d,0x17,
  0x7d,0x05,0x45,0x00,0x00,0xe8,0x00,0x02,
  0x0d,0x00,0x68,0xb0,0x0b,0x92,0x8f,0x40,
  0x60,0x80,0x14,0x90,0x8c,0x60,0x14,0x63,
  0x00,0x40,0x3e,0x00,0xe1,0x02,0x28,0x00};

static unsigned char XGI330_HiTVExtTiming[] =
{
      0x2D,0x60,0x2C,0x5F,0x08,0x31,0x3A,0x64,
      0x28,0x02,0x01,0x3D,0x06,0x3E,0x35,0x6D,
      0x06,0x14,0x3E,0x35,0x6D,0x00,0xC5,0x3F,
      0x64,0x90,0x33,0x8C,0x18,0x36,0x3E,0x13,
      0x2A,0xDE,0x2A,0x44,0x40,0x2A,0x44,0x40,
      0x8E,0x8E,0x82,0x07,0x0B,
      0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
      0x60,0x14,0x3D,0x63,0x4F,
      0x27,0x00,0xfc,0xff,0x6a,0x00

};

static unsigned char XGI330_HiTVSt1Timing[] =
{
      0x32,0x65,0x2C,0x5F,0x08,0x31,0x3A,0x65,
      0x28,0x02,0x01,0x3D,0x06,0x3E,0x35,0x6D,
      0x06,0x14,0x3E,0x35,0x6D,0x00,0xC5,0x3F,
      0x65,0x90,0x7B,0xA8,0x03,0xF0,0x87,0x03,
      0x11,0x15,0x11,0xCF,0x10,0x11,0xCF,0x10,
      0x35,0x35,0x3B,0x69,0x1D,
      0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
      0x60,0x04,0x86,0xAF,0x5D,
      0x0E,0x00,0xfc,0xff,0x2d,0x00
};

static unsigned char XGI330_HiTVSt2Timing[] =
{
      0x32,0x65,0x2C,0x5F,0x08,0x31,0x3A,0x64,
      0x28,0x02,0x01,0x3D,0x06,0x3E,0x35,0x6D,
      0x06,0x14,0x3E,0x35,0x6D,0x00,0xC5,0x3F,
      0x64,0x90,0x33,0x8C,0x18,0x36,0x3E,0x13,
      0x2A,0xDE,0x2A,0x44,0x40,0x2A,0x44,0x40,
      0x8E,0x8E,0x82,0x07,0x0B,
      0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
      0x60,0x14,0x3D,0x63,0x4F,
      0x27,0x00,0xFC,0xff,0x6a,0x00
};

static unsigned char XGI330_HiTVTextTiming[] =
{
      0x32,0x65,0x2C,0x5F,0x08,0x31,0x3A,0x65,
      0x28,0x02,0x01,0x3D,0x06,0x3E,0x35,0x6D,
      0x06,0x14,0x3E,0x35,0x6D,0x00,0xC5,0x3F,
      0x65,0x90,0xE7,0xBC,0x03,0x0C,0x97,0x03,
      0x14,0x78,0x14,0x08,0x20,0x14,0x08,0x20,
      0xC8,0xC8,0x3B,0xD2,0x26,
      0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
      0x60,0x04,0x96,0x72,0x5C,
      0x11,0x00,0xFC,0xFF,0x32,0x00
};

static unsigned char XGI330_YPbPr750pTiming[] =
{
      0x30,0x1d,0xe8,0x09,0x09,0xed,0x0c,0x0c,
      0x98,0x0a,0x01,0x0c,0x06,0x0d,0x04,0x0a,
      0x06,0x14,0x0d,0x04,0x0a,0x00,0x85,0x3f,
      0xed,0x50,0x70,0x9f,0x16,0x59,0x60,0x13,
      0x27,0x0b,0x27,0xfc,0x30,0x27,0x1c,0xb0,
      0x4b,0x4b,0x6f,0x2f,0x63,
      0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
      0x60,0x14,0x73,0x00,0x40,
      0x11,0x00,0xfc,0xff,0x32,0x00
};

static unsigned char XGI330_YPbPr525pTiming[] =
{
      0x3E,0x11,0x06,0x09,0x0b,0x0c,0x0c,0x0c,
      0x98,0x0a,0x01,0x0d,0x06,0x0d,0x04,0x0a,
      0x06,0x14,0x0d,0x04,0x0a,0x00,0x85,0x3f,
      0x0c,0x50,0xb2,0x9f,0x16,0x59,0x4f,0x13,
      0xad,0x11,0xad,0x1d,0x40,0x8a,0x3d,0xb8,
      0x51,0x5e,0x60,0x49,0x7d,
      0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
      0x60,0x14,0x4B,0x43,0x41,
      0x11,0x00,0xFC,0xFF,0x32,0x00
};

static unsigned char XGI330_YPbPr525iTiming[] =
{
      0x1B,0x21,0x03,0x09,0x05,0x06,0x0C,0x0C,
      0x94,0x49,0x01,0x0A,0x06,0x0D,0x04,0x0A,
      0x06,0x14,0x0D,0x04,0x0A,0x00,0x85,0x1B,
      0x0C,0x50,0x00,0x97,0x00,0xDA,0x4A,0x17,
      0x7D,0x05,0x4B,0x00,0x00,0xE2,0x00,0x02,
      0x03,0x0A,0x65,0x9D,0x08,
      0x92,0x8F,0x40,0x60,0x80,0x14,0x90,0x8C,
      0x60,0x14,0x4B,0x00,0x40,
      0x44,0x00,0xDB,0x02,0x3B,0x00

};

static unsigned char XGI330_HiTVGroup3Data[] =
{
      0x00,0x1A,0x22,0x63,0x62,0x22,0x08,0x5F,
      0x05,0x21,0xB2,0xB2,0x55,0x77,0x2A,0xA6,
      0x25,0x2F,0x47,0xFA,0xC8,0xFF,0x8E,0x20,
      0x8C,0x6E,0x60,0x2E,0x58,0x48,0x72,0x44,
      0x56,0x36,0x4F,0x6E,0x3F,0x80,0x00,0x80,
      0x4F,0x7F,0x03,0xA8,0x7D,0x20,0x1A,0xA9,
      0x14,0x05,0x03,0x7E,0x64,0x31,0x14,0x75,
      0x18,0x05,0x18,0x05,0x4C,0xA8,0x01
};

static unsigned char XGI330_HiTVGroup3Simu[] =
{
      0x00,0x1A,0x22,0x63,0x62,0x22,0x08,0x95,
      0xDB,0x20,0xB8,0xB8,0x55,0x47,0x2A,0xA6,
      0x25,0x2F,0x47,0xFA,0xC8,0xFF,0x8E,0x20,
      0x8C,0x6E,0x60,0x15,0x26,0xD3,0xE4,0x11,
      0x56,0x36,0x4F,0x6E,0x3F,0x80,0x00,0x80,
      0x67,0x36,0x01,0x47,0x0E,0x10,0xBE,0xB4,
      0x01,0x05,0x03,0x7E,0x65,0x31,0x14,0x75,
      0x18,0x05,0x18,0x05,0x4C,0xA8,0x01
};

static unsigned char XGI330_HiTVGroup3Text[] =
{
      0x00,0x1A,0x22,0x63,0x62,0x22,0x08,0xA7,
      0xF5,0x20,0xCE,0xCE,0x55,0x47,0x2A,0xA6,
      0x25,0x2F,0x47,0xFA,0xC8,0xFF,0x8E,0x20,
      0x8C,0x6E,0x60,0x18,0x2C,0x0C,0x20,0x22,
      0x56,0x36,0x4F,0x6E,0x3F,0x80,0x00,0x80,
      0x93,0x3C,0x01,0x50,0x2F,0x10,0xF4,0xCA,
      0x01,0x05,0x03,0x7E,0x65,0x31,0x14,0x75,
      0x18,0x05,0x18,0x05,0x4C,0xA8,0x01
};

static unsigned char XGI330_Ren525pGroup3[] =
{
  0x00,0x14,0x15,0x25,0x55,0x15,0x0b,0x13,
  0xB1,0x41,0x62,0x62,0xFF,0xF4,0x45,0xa6,
  0x25,0x2F,0x67,0xF6,0xbf,0xFF,0x8E,0x20,
  0xAC,0xDA,0x60,0xFe,0x6A,0x9A,0x06,0x10,
  0xd1,0x04,0x18,0x0a,0xFF,0x80,0x00,0x80,
  0x3c,0x77,0x00,0xEF,0xE0,0x10,0xB0,0xE0,
  0x10,0x4F,0x0F,0x0F,0x05,0x0F,0x08,0x6E,
  0x1a,0x1F,0x25,0x2a,0x4C,0xAA,0x01
};

static unsigned char XGI330_Ren750pGroup3[] =
{
  0x00,0x14,0x15,0x25,0x55,0x15,0x0b,0x7a,
  0x54,0x41,0xE7,0xE7,0xFF,0xF4,0x45,0xa6,
  0x25,0x2F,0x67,0xF6,0xbf,0xFF,0x8E,0x20,
  0xAC,0x6A,0x60,0x2b,0x52,0xCD,0x61,0x10,
  0x51,0x04,0x18,0x0a,0x1F,0x80,0x00,0x80,
  0xFF,0xA4,0x04,0x2B,0x94,0x21,0x72,0x94,
  0x26,0x05,0x01,0x0F,0xed,0x0F,0x0A,0x64,
  0x18,0x1D,0x23,0x28,0x4C,0xAA,0x01
};

#if 0
static struct XGI_PanelDelayTblStruct XGI330_PanelDelayTbl[] =
{
{{0x00,0x00}},
{{0x00,0x00}},
{{0x00,0x00}},
{{0x00,0x00}},
{{0x00,0x00}},
{{0x00,0x00}},
{{0x00,0x00}},
{{0x00,0x00}},
{{0x00,0x00}},
{{0x00,0x00}},
{{0x00,0x00}},
{{0x00,0x00}},
{{0x00,0x00}},
{{0x00,0x00}},
{{0x00,0x00}},
{{0x00,0x00}}
};

static struct XGI330_LVDSDataStruct  XGI330_LVDS320x480Data_1[] =
{
 {848, 433,400,525},
 {848, 389,400,525},
 {848, 433,400,525},
 {848, 389,400,525},
 {848, 518,400, 525},
 {1056, 628,400,525},
 {400, 525,400,525},
 {800, 449,1000, 644},
 {800, 525,1000, 635}
};

static struct XGI330_LVDSDataStruct  XGI330_LVDS800x600Data_1[] =
{
 {848, 433,1060, 629},
 {848, 389,1060, 629},
 {848, 433,1060, 629},
 {848, 389,1060, 629},
 {848, 518,1060, 629},
 {1056, 628,1056, 628},
 {1056, 628,1056, 628},
 {800, 449,1000, 644},
 {800, 525,1000, 635}
};

static struct XGI330_LVDSDataStruct  XGI330_LVDS800x600Data_2[] =
{
 {1056, 628,1056, 628},
 {1056, 628,1056, 628},
 {1056, 628,1056, 628},
 {1056, 628,1056, 628},
 {1056, 628,1056, 628},
 {1056, 628,1056, 628},
 {1056, 628,1056, 628},
 {800, 449,1000, 644},
 {800, 525,1000, 635}
};
#endif

static struct XGI330_LVDSDataStruct  XGI_LVDS1024x768Data_1[] =
{
 { 960 , 438 , 1344 , 806 } ,	/* 00 (320x200,320x400,640x200,640x400) */
 { 960 , 388 , 1344 , 806 } ,	/* 01 (320x350,640x350) */
 { 1040, 438 , 1344 , 806 } ,	/* 02 (360x400,720x400) */
 { 1040, 388 , 1344 , 806 } ,	/* 03 (720x350) */
 { 960 , 518 , 1344 , 806 } ,	/* 04 (320x240,640x480) */
 {1120 , 638 , 1344 , 806 } ,	/* 05 (400x300,800x600) */
 {1344 , 806 , 1344 , 806 }	/* 06 (512x384,1024x768) */
};


static struct XGI330_LVDSDataStruct  XGI_LVDS1024x768Data_2[] =
{
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {800, 449,1280, 801},
 {800, 525,1280, 813}
};

static struct XGI330_LVDSDataStruct  XGI_LVDS1280x1024Data_1[] =
{
 {1048, 442,1688, 1066},
 {1048, 392,1688, 1066},
 {1048, 442,1688, 1066},
 {1048, 392,1688, 1066},
 {1048, 522,1688, 1066},
 {1208, 642,1688, 1066},
 {1432, 810,1688, 1066},
 {1688, 1066,1688, 1066}
};

static struct XGI330_LVDSDataStruct  XGI_LVDS1280x1024Data_2[] =
{
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {800, 449,1280, 801},
 {800, 525,1280, 813}
};
/*
struct XGI330_LVDSDataStruct  XGI_LVDS1280x768Data_1[] =
{
 {768,438,1408,806},
 {768,388,1408,806},
 {768,438,1408,806},
 {768,388,1408,806},
 {768,518,1408,806},
 {928,638,1408,806},
 {1408,806,1408,806},
 {1408,806,1408,806},
 {1408,806,1408,806}
};

struct XGI330_LVDSDataStruct  XGI_LVDS1280x768Data_2[] =
{
 {1408, 806,1408, 806},
 {1408, 806,1408, 806},
 {1408, 806,1408, 806},
 {1408, 806,1408, 806},
 {1408, 806,1408, 806},
 {1408, 806,1408, 806},
 {1408, 806,1408, 806},
 {1408, 806,1408, 806},
 {1408, 806,1408, 806}
};

struct XGI330_LVDSDataStruct  XGI_LVDS1280x768NData_1[] =
{
 {704, 438,1344, 806},
 {704, 388,1344, 806},
 {704, 438,1344, 806},
 {704, 388,1344, 806},
 {704, 518,1344, 806},
 {864, 638,1344, 806},
 {1088, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806}
};

struct XGI330_LVDSDataStruct  XGI_LVDS1280x768NData_2[] =
{
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806},
 {1344, 806,1344, 806}
};

struct XGI330_LVDSDataStruct  XGI_LVDS1280x768SData_1[] =
{
 {1048,438,1688,806},
 {1048,388,1688,806},
 {1148,438,1688,806},
 {1148,388,1688,806},
 {1048,518,1688,806},
 {1208,638,1688,806},
 {1432,806,1688,806},
 {1688,806,1688,806},
 {1688,806,1688,806}
};

struct XGI330_LVDSDataStruct  XGI_LVDS1280x768SData_2[] =
{
 {1688,806,1688,806},
 {1688,806,1688,806},
 {1688,806,1688,806},
 {1688,806,1688,806},
 {1688,806,1688,806},
 {1688,806,1688,806},
 {1688,806,1688,806},
 {1688,806,1688,806},
 {1688,806,1688,806}
};
*/
static struct XGI330_LVDSDataStruct  XGI_LVDS1400x1050Data_1[] =
{
 {928,416,1688,1066},
 {928,366,1688,1066},
 {928,416,1688,1066},
 {928,366,1688,1066},
 {928,496,1688,1066},
 {1088,616,1688,1066},
 {1312,784,1688,1066},
 {1568,1040,1688,1066},
 {1688,1066,1688,1066}
};

static struct XGI330_LVDSDataStruct  XGI_LVDS1400x1050Data_2[] =
{
 {1688,1066,1688,1066},
 {1688,1066,1688,1066},
 {1688,1066,1688,1066},
 {1688,1066,1688,1066},
 {1688,1066,1688,1066},
 {1688,1066,1688,1066},
 {1688,1066,1688,1066},
 {1688,1066,1688,1066},
 {1688,1066,1688,1066}
};

static struct XGI330_LVDSDataStruct XGI_LVDS1600x1200Data_1[] =
{      /* ;;[ycchen] 12/05/02 LCDHTxLCDVT=2048x1320 */
        {        1088,520,2048,1320      },/* 00 (320x200,320x400,640x200,640x400) */
        {        1088,470,2048,1320      },/* 01 (320x350,640x350) */
        {        1088,520,2048,1320      },/* 02 (360x400,720x400) */
        {        1088,470,2048,1320      },/* 03 (720x350) */
        {        1088,600,2048,1320      },/* 04 (320x240,640x480) */
        {        1248,720,2048,1320      },/* 05 (400x300,800x600) */
        {        1472,888,2048,1320      },/* 06 (512x384,1024x768) */
        {        1728,1144,2048,1320     },/* 07 (640x512,1280x1024) */
        {        1848,1170,2048,1320     },/* 08 (1400x1050) */
        {        2048,1320,2048,1320     } /* 09 (1600x1200) */
};

static struct XGI330_LVDSDataStruct XGI_LVDSNoScalingData[] =
{
        {        800,449,800,449             }, /* 00 (320x200,320x400,640x200,640x400) */
        {        800,449,800,449             }, /* 01 (320x350,640x350) */
        {        800,449,800,449             }, /* 02 (360x400,720x400) */
        {        800,449,800,449             }, /* 03 (720x350) */
        {        800,525,800,525             }, /* 04 (640x480x60Hz) */
        {        1056,628,1056,628           }, /* 05 (800x600x60Hz) */
        {        1344,806,1344,806           }, /* 06 (1024x768x60Hz) */
        {        1688,1066,1688,1066         }, /* 07 (1280x1024x60Hz) */
        {        1688,1066,1688,1066         }, /* 08 (1400x1050x60Hz) ;;[ycchen] 12/19/02 */
        {        2160,1250,2160,1250         }, /* 09 (1600x1200x60Hz) */
        {        1688,806,1688,806           }  /* 0A (1280x768x60Hz) */
};

static struct XGI330_LVDSDataStruct XGI_LVDS1024x768Data_1x75[] =
{
	{960,438,1312,800  }, /* 00 (320x200,320x400,640x200,640x400) */
        {960,388,1312,800  }, /* 01 (320x350,640x350) */
        {1040,438,1312,800 }, /* 02 (360x400,720x400) */
        {1040,388,1312,800 }, /* 03 (720x350) */
        {928,512,1312,800  }, /* 04 (320x240,640x480) */
        {1088,632,1312,800 }, /* 05 (400x300,800x600) */
        {1312,800,1312,800 }, /* 06 (512x384,1024x768) */
};


static struct XGI330_LVDSDataStruct XGI_LVDS1024x768Data_2x75[] =
{
        {1312,800,1312,800}, /* ; 00 (320x200,320x400,640x200,640x400) */
        {1312,800,1312,800}, /* ; 01 (320x350,640x350) */
        {1312,800,1312,800}, /* ; 02 (360x400,720x400) */
        {1312,800,1312,800}, /* ; 03 (720x350) */
        {1312,800,1312,800}, /* ; 04 (320x240,640x480) */
        {1312,800,1312,800}, /* ; 05 (400x300,800x600) */
        {1312,800,1312,800}, /* ; 06 (512x384,1024x768) */
};

static struct XGI330_LVDSDataStruct XGI_LVDS1280x1024Data_1x75[] =
{
        {1048,442,1688,1066  }, /* ; 00 (320x200,320x400,640x200,640x400) */
        {1048,392,1688,1066  }, /* ; 01 (320x350,640x350) */
        {1128,442,1688,1066  }, /* ; 02 (360x400,720x400) */
        {1128,392,1688,1066  }, /* ; 03 (720x350) */
        {1048,522,1688,1066  }, /* ; 04 (320x240,640x480) */
        {1208,642,1688,1066  }, /* ; 05 (400x300,800x600) */
        {1432,810,1688,1066  }, /* ; 06 (512x384,1024x768) */
        {1688,1066,1688,1066 }, /* ; 06; 07 (640x512,1280x1024) */
};

static struct XGI330_LVDSDataStruct XGI_LVDS1280x1024Data_2x75[] =
{
        {1688,1066,1688,1066 }, /* ; 00 (320x200,320x400,640x200,640x400) */
        {1688,1066,1688,1066 }, /* ; 01 (320x350,640x350) */
        {1688,1066,1688,1066 }, /* ; 02 (360x400,720x400) */
        {1688,1066,1688,1066 }, /* ; 03 (720x350) */
        {1688,1066,1688,1066 }, /* ; 04 (320x240,640x480) */
        {1688,1066,1688,1066 }, /* ; 05 (400x300,800x600) */
        {1688,1066,1688,1066 }, /* ; 06 (512x384,1024x768) */
        {1688,1066,1688,1066 }, /* ; 06; 07 (640x512,1280x1024) */
};

static struct XGI330_LVDSDataStruct XGI_LVDSNoScalingDatax75[] =
{
        {800,449,800,449     }, /* ; 00 (320x200,320x400,640x200,640x400) */
        {800,449,800,449     }, /* ; 01 (320x350,640x350) */
        {900,449,900,449     }, /* ; 02 (360x400,720x400) */
        {900,449,900,449     }, /* ; 03 (720x350) */
        {800,500,800,500     }, /* ; 04 (640x480x75Hz) */
        {1056,625,1056,625   }, /* ; 05 (800x600x75Hz) */
        {1312,800,1312,800   }, /* ; 06 (1024x768x75Hz) */
        {1688,1066,1688,1066 }, /* ; 07 (1280x1024x75Hz) */
        {1688,1066,1688,1066 }, /* ; 08 (1400x1050x75Hz) ;;[ycchen] 12/19/02 */
        {2160,1250,2160,1250 }, /* ; 09 (1600x1200x75Hz) */
        {1688,806,1688,806   }, /* ; 0A (1280x768x75Hz) */
};

static struct XGI330_LVDSDataStruct XGI_LVDS1024x768Des_1[] =
{
	{      0,1048,   0, 771     }, /* 00 (320x200,320x400,640x200,640x400) */
        {      0,1048,   0, 771     }, /* 01 (320x350,640x350) */
        {      0,1048,   0, 771     }, /* 02 (360x400,720x400) */
        {      0,1048,   0, 771     }, /* 03 (720x350) */
        {      0,1048,   0, 771     }, /* 04 (640x480x60Hz) */
        {      0,1048,   0, 771     }, /* 05 (800x600x60Hz) */
        {      0,1048, 805, 770     }  /* 06 (1024x768x60Hz) */
} ;

static struct XGI330_LVDSDataStruct XGI_LVDS1024x768Des_2[] =
{
    	{      1142, 856, 622, 587     }, /* 00 (320x200,320x400,640x200,640x400) */
        {      1142, 856, 597, 562     }, /* 01 (320x350,640x350) */
        {      1142, 856, 622, 587     }, /* 02 (360x400,720x400) */
        {      1142, 856, 597, 562     }, /* 03 (720x350) */
        {      1142,1048, 722, 687     }, /* 04 (640x480x60Hz) */
        {      1232, 936, 722, 687     }, /* 05 (800x600x60Hz) */
        {         0,1048, 805, 771     }  /* 06 (1024x768x60Hz) */
};

static struct XGI330_LVDSDataStruct XGI_LVDS1024x768Des_3[] =
{
    	{       320,  24, 622, 587     }, /* 00 (320x200,320x400,640x200,640x400) */
        {       320,  24, 597, 562     }, /* 01 (320x350,640x350) */
        {       320,  24, 622, 587     }, /* 02 (360x400,720x400) */
        {       320,  24, 597, 562     }, /* 03 (720x350) */
        {       320,  24, 722, 687     }  /* 04 (640x480x60Hz) */
};

static struct XGI330_LVDSDataStruct XGI_LVDS1280x1024Des_1[] =
{
    	{      0,1328,    0, 1025     }, /* 00 (320x200,320x400,640x200,640x400) */
        {      0,1328,    0, 1025     }, /* 01 (320x350,640x350) */
        {      0,1328,    0, 1025     }, /* 02 (360x400,720x400) */
        {      0,1328,    0, 1025     }, /* 03 (720x350) */
        {      0,1328,    0, 1025     }, /* 04 (640x480x60Hz) */
        {      0,1328,    0, 1025     }, /* 05 (800x600x60Hz) */
        {      0,1328,    0, 1025     }, /* 06 (1024x768x60Hz) */
        {      0,1328, 1065, 1024     }  /* 07 (1280x1024x60Hz) */
};

 /* The Display setting for DE Mode Panel */
static struct XGI330_LVDSDataStruct XGI_LVDS1280x1024Des_2[] =
{
    	{      1368,1008,752,711     }, /* 00 (320x200,320x400,640x200,640x400) */
        {      1368,1008,729,688     }, /* 01 (320x350,640x350) */
        {      1408,1048,752,711     }, /* 02 (360x400,720x400) */
        {      1408,1048,729,688     }, /* 03 (720x350) */
        {      1368,1008,794,753     }, /* 04 (640x480x60Hz) */
        {      1448,1068,854,813     }, /* 05 (800x600x60Hz) */
        {      1560,1200,938,897     }, /* 06 (1024x768x60Hz) */
        {      0000,1328,0,1025     }  /* 07 (1280x1024x60Hz) */
};

static struct XGI330_LVDSDataStruct XGI_LVDS1400x1050Des_1[] =
{
    	{      0,1448,0,1051     }, /* 00 (320x200,320x400,640x200,640x400) */
        {      0,1448,0,1051     }, /* 01 (320x350,640x350) */
        {      0,1448,0,1051     }, /* 02 (360x400,720x400) */
        {      0,1448,0,1051     }, /* 03 (720x350) */
        {      0,1448,0,1051     }, /* 04 (640x480x60Hz) */
        {      0,1448,0,1051     }, /* 05 (800x600x60Hz) */
        {      0,1448,0,1051     }, /* 06 (1024x768x60Hz) */
        {      0,1448,0,1051     }, /* 07 (1280x1024x60Hz) */
        {      0,1448,0,1051     }  /* 08 (1400x1050x60Hz) */
};

static struct XGI330_LVDSDataStruct XGI_LVDS1400x1050Des_2[] =
{
    	{      1308,1068, 781, 766     }, /* 00 (320x200,320x400,640x200,640x400) */
        {      1308,1068, 781, 766     }, /* 01 (320x350,640x350) */
        {      1308,1068, 781, 766     }, /* 02 (360x400,720x400) */
        {      1308,1068, 781, 766     }, /* 03 (720x350) */
        {      1308,1068, 781, 766     }, /* 04 (640x480x60Hz) */
        {      1388,1148, 841, 826     }, /* 05 (800x600x60Hz) */
        {      1490,1250, 925, 910     }, /* 06 (1024x768x60Hz) */
        {      1608,1368,1053,1038     }, /* 07 (1280x1024x60Hz) */
        {      0,1448,0,1051     }  /* 08 (1400x1050x60Hz) */
};

static struct XGI330_LVDSDataStruct XGI_LVDS1600x1200Des_1[] =
{
    	{      0,1664,0,1201     }, /* 00 (320x200,320x400,640x200,640x400) */
        {      0,1664,0,1201     }, /* 01 (320x350,640x350) */
        {      0,1664,0,1201     }, /* 02 (360x400,720x400) */
        {      0,1664,0,1201     }, /* 03 (720x350) */
        {      0,1664,0,1201     }, /* 04 (640x480x60Hz) */
        {      0,1664,0,1201     }, /* 05 (800x600x60Hz) */
        {      0,1664,0,1201     }, /* 06 (1024x768x60Hz) */
        {      0,1664,0,1201     }, /* 07 (1280x1024x60Hz) */
        {      0,1664,0,1201     }, /* 08 (1400x1050x60Hz) */
        {      0,1664,0,1201     }  /* 09 (1600x1200x60Hz) */
};



static struct XGI330_LCDDataDesStruct2  XGI_LVDSNoScalingDesData[] =
{
    	{     0, 648, 448, 405,  96,   2   }, /* 00 (320x200,320x400,640x200,640x400) */
        {     0, 648, 448, 355,  96,   2   }, /* 01 (320x350,640x350) */
        {     0, 648, 448, 405,  96,   2   }, /* 02 (360x400,720x400) */
        {     0, 648, 448, 355,  96,   2   }, /* 03 (720x350) */
        {     0, 648,  1, 483,  96,   2   }, /* 04 (640x480x60Hz) */
        {     0, 840, 627, 600, 128,   4   }, /* 05 (800x600x60Hz) */
        {     0,1048, 805, 770, 136,   6   }, /* 06 (1024x768x60Hz) */
        {     0,1328,0,1025, 112,   3   }, /* 07 (1280x1024x60Hz) */
        {     0,1438,0,1051, 112,   3   }, /* 08 (1400x1050x60Hz) ;;[ycchen] 12/19/02 */
        {     0,1664,0,1201, 192,   3   }, /* 09 (1600x1200x60Hz) */
        {     0,1328,0,0771, 112,   6   }  /* 0A (1280x768x60Hz) */
};

static struct XGI330_LVDSDataStruct XGI_LVDS1024x768Des_1x75[] =			/* ; 1024x768 Full-screen */
{
        {0,1040,0,769}, /* ; 00 (320x200,320x400,640x200,640x400) */
        {0,1040,0,769}, /* ; 01 (320x350,640x350) */
        {0,1040,0,769}, /* ; 02 (360x400,720x400) */
        {0,1040,0,769}, /* ; 03 (720x350) */
        {0,1040,0,769}, /* ; 04 (640x480x75Hz) */
        {0,1040,0,769}, /* ; 05 (800x600x75Hz) */
        {0,1040,0,769} /* ; 06 (1024x768x75Hz) */
};

static struct XGI330_LVDSDataStruct XGI_LVDS1024x768Des_2x75[] = /* ; 1024x768 center-screen (Enh. Mode) */
{
        {1142, 856,622,587 }, /* 00 (320x200,320x400,640x200,640x400) */
        {1142, 856,597,562 }, /* 01 (320x350,640x350) */
        {1142, 856,622,587 }, /* 02 (360x400,720x400) */
        {1142, 856,597,562 }, /* 03 (720x350) */
        {1142,1048,722,687 }, /* 04 (640x480x60Hz) */
        {1232, 936,722,687 }, /* 05 (800x600x60Hz) */
        {   0,1048,805,771 }  /* 06 (1024x768x60Hz) */
};

static struct XGI330_LVDSDataStruct XGI_LVDS1024x768Des_3x75[] = /* ; 1024x768 center-screen (St.Mode) */
{
        {320,24,622,587  }, /* ; 00 (320x200,320x400,640x200,640x400) */
        {320,24,597,562  }, /* ; 01 (320x350,640x350) */
        {320,24,622,587  }, /* ; 02 (360x400,720x400) */
        {320,24,597,562  }, /* ; 03 (720x350) */
        {320,24,722,687  } /* ; 04 (640x480x60Hz) */
};

static struct XGI330_LVDSDataStruct XGI_LVDS1280x1024Des_1x75[] =
{
        {0,1296,0,1025}, /* ; 00 (320x200,320x400,640x200,640x400) */
        {0,1296,0,1025}, /* ; 01 (320x350,640x350) */
        {0,1296,0,1025}, /* ; 02 (360x400,720x400) */
        {0,1296,0,1025}, /* ; 03 (720x350) */
        {0,1296,0,1025}, /* ; 04 (640x480x75Hz) */
        {0,1296,0,1025}, /* ; 05 (800x600x75Hz) */
        {0,1296,0,1025}, /* ; 06 (1024x768x75Hz) */
        {0,1296,0,1025} /* ; 07 (1280x1024x75Hz) */
};

/* The Display setting for DE Mode Panel */
static struct XGI330_LVDSDataStruct XGI_LVDS1280x1024Des_2x75[] =   /* [ycchen] 02/18/03 Set DE as default */
{
        {1368,976,752,711 }, /* ; 00 (320x200,320x400,640x200,640x400) */
        {1368,976,729,688 }, /* ; 01 (320x350,640x350) */
        {1408,976,752,711 }, /* ; 02 (360x400,720x400) */
        {1408,976,729,688 }, /* ; 03 (720x350) */
        {1368,976,794,753 }, /* ; 04 (640x480x75Hz) */
        {1448,1036,854,813}, /* ; 05 (800x600x75Hz) */
        {1560,1168,938,897}, /* ; 06 (1024x768x75Hz) */
        {0,1296,0,1025    } /* ; 07 (1280x1024x75Hz) */
};

static struct XGI330_LCDDataDesStruct2 XGI_LVDSNoScalingDesDatax75[] =  /* Scaling LCD 75Hz */
{
       { 0,648,448,405,96,2  }, /* ; 00 (320x200,320x400,640x200,640x400) */
       { 0,648,448,355,96,2  }, /* ; 01 (320x350,640x350) */
       { 0,729,448,405,108,2 }, /* ; 02 (360x400,720x400) */
       { 0,729,448,355,108,2 }, /* ; 03 (720x350) */
       { 0,656,0,481,64,3    }, /* ; 04 (640x480x75Hz) */
       { 0,816,0,601,80,3    }, /* ; 05 (800x600x75Hz) */
       { 0,1040,0,769,96,3   }, /* ; 06 (1024x768x75Hz) */
       { 0,1296,0,1025,144,3 }, /* ; 07 (1280x1024x75Hz) */
       { 0,1448,0,1051,112,3 }, /* ; 08 (1400x1050x75Hz) ;;[ycchen] 12/19/02 */
       { 0,1664,0,1201,192,3 }, /* ; 09 (1600x1200x75Hz) */
       { 0,1328,0,771,112,6  }  /* ; 0A (1280x768x75Hz) */
};

#if 0
static struct XGI330_LVDSDataStruct  XGI330_LVDS640x480Data_1[] =
{
 {800, 449, 800, 449},
 {800, 449, 800, 449},
 {800, 449, 800, 449},
 {800, 449, 800, 449},
 {800, 525, 800, 525},
 {1056, 628,1056, 628},
 {1056, 628,1056, 628},
 {1056, 628,1056, 628},
 {1056, 628,1056, 628}
};
#endif

static struct XGI330_CHTVDataStruct  XGI_CHTVUNTSCData[] =
{
 {840, 600, 840, 600},
 {840, 600, 840, 600},
 {840, 600, 840, 600},
 {840, 600, 840, 600},
 {784, 600, 784, 600},
 {1064, 750,1064, 750}
};

static struct XGI330_CHTVDataStruct  XGI_CHTVONTSCData[] =
{
 {840, 525, 840, 525},
 {840, 525, 840, 525},
 {840, 525, 840, 525},
 {840, 525, 840, 525},
 {784, 525, 784, 525},
 {1040, 700,1040, 700}
};

static struct XGI330_CHTVDataStruct  XGI_CHTVUPALData[] =
{
 {1008, 625,1008, 625},
 {1008, 625,1008, 625},
 {1008, 625,1008, 625},
 {1008, 625,1008, 625},
 {840, 750, 840, 750},
 {936, 836, 936, 836}
};

static struct XGI330_CHTVDataStruct  XGI_CHTVOPALData[] =
{
 {1008, 625,1008, 625},
 {1008, 625,1008, 625},
 {1008, 625,1008, 625},
 {1008, 625,1008, 625},
 {840, 625, 840, 625},
 {960, 750, 960, 750}
};

static struct XGI_LVDSCRT1HDataStruct  XGI_LVDSCRT11024x768_1_H[] =
{
	        /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
                {{      0x4B,0x27,0x8F,0x32,0x1B,0x00,0x45,0x00 }}, /* 00 (320x) */
                {{      0x4B,0x27,0x8F,0x2B,0x03,0x00,0x44,0x00 }}, /* 01 (360x) */
                {{      0x55,0x31,0x99,0x46,0x1D,0x00,0x55,0x00 }}, /* 02 (400x) */
                {{      0x63,0x3F,0x87,0x4A,0x93,0x00,0x01,0x00 }}, /* 03 (512x) */
                {{      0x73,0x4F,0x97,0x55,0x86,0x00,0x05,0x00 }}, /* 04 (640x) */
                {{      0x73,0x4F,0x97,0x55,0x86,0x00,0x05,0x00 }}, /* 05 (720x) */
                {{      0x87,0x63,0x8B,0x69,0x1A,0x00,0x26,0x00 }}, /* 06 (800x) */
                {{      0xA3,0x7F,0x87,0x86,0x97,0x00,0x02,0x00 }} /* 07 (1024x) */
};

static struct XGI_LVDSCRT1HDataStruct  XGI_LVDSCRT11280x1024_1_H[] =
{
		/* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
                {{      0x56,0x27,0x9A,0x30,0x1E,0x00,0x05,0x00 }}, /* 00 (320x) */
                {{      0x56,0x27,0x9A,0x30,0x1E,0x00,0x05,0x00 }}, /* 01 (360x) */
                {{      0x60,0x31,0x84,0x3A,0x88,0x00,0x01,0x00 }}, /* 02 (400x) */
                {{      0x6E,0x3F,0x92,0x48,0x96,0x00,0x01,0x00 }}, /* 03 (512x) */
                {{      0x7E,0x4F,0x82,0x58,0x06,0x00,0x06,0x00 }}, /* 04 (640x) */
                {{      0x7E,0x4F,0x82,0x58,0x06,0x00,0x06,0x00 }}, /* 05 (720x) */
                {{      0x92,0x63,0x96,0x6C,0x1A,0x00,0x06,0x00 }}, /* 06 (800x) */
                {{      0xAE,0x7F,0x92,0x88,0x96,0x00,0x02,0x00 }}, /* 07 (1024x) */
                {{      0xCE,0x9F,0x92,0xA8,0x16,0x00,0x07,0x00 }} /* 08 (1280x) */
};

static struct XGI_LVDSCRT1HDataStruct  XGI_LVDSCRT11024x768_2_H[] =
{
		/* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
                {{      0x63,0x27,0x87,0x3B,0x8C,0x00,0x01,0x00 }}, /* 00 (320x) */
                {{      0x63,0x27,0x87,0x3B,0x8C,0x00,0x01,0x00 }}, /* 01 (360x) */
                {{      0x63,0x31,0x87,0x3D,0x8E,0x00,0x01,0x00 }}, /* 02 (400x) */
                {{      0x63,0x3F,0x87,0x45,0x96,0x00,0x01,0x00 }}, /* 03 (512x) */
                {{      0xA3,0x4F,0x87,0x6E,0x9F,0x00,0x06,0x00 }}, /* 04 (640x) */
                {{      0xA3,0x4F,0x87,0x6E,0x9F,0x00,0x06,0x00 }}, /* 05 (720x) */
                {{      0xA3,0x63,0x87,0x78,0x89,0x00,0x02,0x00 }}, /* 06 (800x) */
                {{      0xA3,0x7F,0x87,0x86,0x97,0x00,0x02,0x00 }} /* 07 (1024x) */
};

static struct XGI_LVDSCRT1HDataStruct  XGI_LVDSCRT11280x1024_2_H[] =
{
                /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
                {{      0x7E,0x3B,0x9A,0x44,0x12,0x00,0x01,0x00 }}, /* 00 (320x) */
                {{      0x7E,0x3B,0x9A,0x44,0x12,0x00,0x01,0x00 }}, /* 01 (360x) */
                {{      0x7E,0x40,0x84,0x49,0x91,0x00,0x01,0x00 }}, /* 02 (400x) */
                {{      0x7E,0x47,0x93,0x50,0x9E,0x00,0x01,0x00 }}, /* 03 (512x) */
                {{      0xCE,0x77,0x8A,0x80,0x8E,0x00,0x02,0x00 }}, /* 04 (640x) */
                {{      0xCE,0x77,0x8A,0x80,0x8E,0x00,0x02,0x00 }}, /* 05 (720x) */
                {{      0xCE,0x81,0x94,0x8A,0x98,0x00,0x02,0x00 }}, /* 06 (800x) */
                {{      0xCE,0x8F,0x82,0x98,0x06,0x00,0x07,0x00 }}, /* 07 (1024x) */
                {{      0xCE,0x9F,0x92,0xA8,0x16,0x00,0x07,0x00 }} /* 08 (1280x) */
};

static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11400x1050_1_H[] =
{               /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
                {{      0x47,0x27,0x8B,0x2C,0x1A,0x00,0x05,0x00 }}, /* 00 (320x) */
                {{      0x47,0x27,0x8B,0x30,0x1E,0x00,0x05,0x00 }}, /* 01 (360x) */
                {{      0x51,0x31,0x95,0x36,0x04,0x00,0x01,0x00 }}, /* 02 (400x) */
                {{      0x5F,0x3F,0x83,0x44,0x92,0x00,0x01,0x00 }}, /* 03 (512x) */
                {{      0x6F,0x4F,0x93,0x54,0x82,0x00,0x05,0x00 }}, /* 04 (640x) */
                {{      0x6F,0x4F,0x93,0x54,0x82,0x00,0x05,0x00 }}, /* 05 (720x) */
                {{      0x83,0x63,0x87,0x68,0x16,0x00,0x06,0x00 }}, /* 06 (800x) */
                {{      0x9F,0x7F,0x83,0x84,0x92,0x00,0x02,0x00 }}, /* 07 (1024x) */
                {{      0xBF,0x9F,0x83,0xA4,0x12,0x00,0x07,0x00 }}, /* 08 (1280x) */
                {{      0xCE,0xAE,0x92,0xB3,0x01,0x00,0x03,0x00 }} /* 09 (1400x) */
};

static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11400x1050_2_H[] =
{               /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
                {{      0x76,0x3F,0x83,0x45,0x8C,0x00,0x41,0x00 }}, /* 00 (320x) */
                {{      0x76,0x3F,0x83,0x45,0x8C,0x00,0x41,0x00 }}, /* 01 (360x) */
                {{      0x76,0x31,0x9A,0x48,0x9F,0x00,0x41,0x00 }}, /* 02 (400x) */
                {{      0x76,0x3F,0x9A,0x4F,0x96,0x00,0x41,0x00 }}, /* 03 (512x) */
                {{      0xCE,0x7E,0x82,0x87,0x9E,0x00,0x02,0x00 }}, /* 04 (640x) */
                {{      0xCE,0x7E,0x82,0x87,0x9E,0x00,0x02,0x00 }}, /* 05 (720x) */
                {{      0xCE,0x63,0x92,0x96,0x04,0x00,0x07,0x00 }}, /* 06 (800x) */
                {{      0xCE,0x7F,0x92,0xA4,0x12,0x00,0x07,0x00 }}, /* 07 (1024x) */
                {{      0xCE,0x9F,0x92,0xB4,0x02,0x00,0x03,0x00 }}, /* 08 (1280x) */
                {{      0xCE,0xAE,0x92,0xBC,0x0A,0x00,0x03,0x00 }} /* 09 (1400x) */
};

static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11600x1200_1_H[] =
/* ;302lv channelA [ycchen] 12/05/02 LCDHT=2048 */
{   /* ; CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
                {{      0x5B,0x27,0x9F,0x32,0x0A,0x00,0x01,0x00 }},/* 00 (320x) */
                {{      0x5B,0x27,0x9F,0x32,0x0A,0x00,0x01,0x00 }},/* 01 (360x) */
                {{      0x65,0x31,0x89,0x3C,0x94,0x00,0x01,0x00 }},/* 02 (400x) */
                {{      0x73,0x3F,0x97,0x4A,0x82,0x00,0x05,0x00 }},/* 03 (512x) */
                {{      0x83,0x4F,0x87,0x51,0x09,0x00,0x06,0x00 }},/* 04 (640x) */
		{{      0x83,0x4F,0x87,0x51,0x09,0x00,0x06,0x00 }},/* 05 (720x) */
		{{      0x97,0x63,0x9B,0x65,0x1D,0x00,0x06,0xF0 }},/* 06 (800x) */
		{{      0xB3,0x7F,0x97,0x81,0x99,0x00,0x02,0x00 }},/* 07 (1024x) */
		{{      0xD3,0x9F,0x97,0xA1,0x19,0x00,0x07,0x00 }},/* 08 (1280x) */
		{{      0xE2,0xAE,0x86,0xB9,0x91,0x00,0x03,0x00 }},/* 09 (1400x) */
		{{      0xFB,0xC7,0x9F,0xC9,0x81,0x00,0x07,0x00 }} /* 0A (1600x) */
};

static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11024x768_1_V[] =
{               /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A+CR09(5->7) */
                {{      0x97,0x1F,0x60,0x87,0x5D,0x83,0x10      }}, /* 00 (x350) */
                {{      0xB4,0x1F,0x92,0x89,0x8F,0xB5,0x30      }}, /* 01 (x400) */
                {{      0x04,0x3E,0xE2,0x89,0xDF,0x05,0x00      }}, /* 02 (x480) */
                {{      0x7C,0xF0,0x5A,0x8F,0x57,0x7D,0xA0      }}, /* 03 (x600) */
                {{      0x24,0xF5,0x02,0x88,0xFF,0x25,0x90      }} /* 04 (x768) */
};

static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11024x768_2_V[] =
{               /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
                {{      0x24,0xBB,0x31,0x87,0x5D,0x25,0x30      }}, /* 00 (x350) */
                {{      0x24,0xBB,0x4A,0x80,0x8F,0x25,0x30      }}, /* 01 (x400) */
                {{      0x24,0xBB,0x72,0x88,0xDF,0x25,0x30      }}, /* 02 (x480) */
                {{      0x24,0xF1,0xAE,0x84,0x57,0x25,0xB0      }}, /* 03 (x600) */
                {{      0x24,0xF5,0x02,0x88,0xFF,0x25,0x90      }} /* 04 (x768) */
};

static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11280x1024_1_V[] =
{               /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
                {{       0x86,0x1F,0x5E,0x82,0x5D,0x87,0x00     }}, /* 00 (x350) */
                {{       0xB8,0x1F,0x90,0x84,0x8F,0xB9,0x30     }}, /* 01 (x400) */
                {{       0x08,0x3E,0xE0,0x84,0xDF,0x09,0x00     }}, /* 02 (x480) */
                {{       0x80,0xF0,0x58,0x8C,0x57,0x81,0xA0     }}, /* 03 (x600) */
                {{       0x28,0xF5,0x00,0x84,0xFF,0x29,0x90     }}, /* 04 (x768) */
                {{       0x28,0x5A,0x13,0x87,0xFF,0x29,0xA9     }} /* 05 (x1024) */
};

static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11280x1024_2_V[] =
{               /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
                {{      0x28,0xD2,0xAF,0x83,0xAE,0xD8,0xA1      }}, /* 00 (x350) */
                {{      0x28,0xD2,0xC8,0x8C,0xC7,0xF2,0x81      }}, /* 01 (x400) */
                {{      0x28,0xD2,0xF0,0x84,0xEF,0x1A,0xB1      }}, /* 02 (x480) */
                {{      0x28,0xDE,0x2C,0x8F,0x2B,0x56,0x91      }}, /* 03 (x600) */
                {{      0x28,0xDE,0x80,0x83,0x7F,0xAA,0x91      }}, /* 04 (x768) */
                {{      0x28,0x5A,0x13,0x87,0xFF,0x29,0xA9      }} /* 05 (x1024) */
};

static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11400x1050_1_V[] =
{               /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
                {{      0x6C,0x1F,0x60,0x84,0x5D,0x6D,0x10      }}, /* 00 (x350) */
                {{      0x9E,0x1F,0x93,0x86,0x8F,0x9F,0x30      }}, /* 01 (x400) */
                {{      0xEE,0x1F,0xE2,0x86,0xDF,0xEF,0x10      }}, /* 02 (x480) */
                {{      0x66,0xF0,0x5A,0x8e,0x57,0x67,0xA0      }}, /* 03 (x600) */
                {{      0x0E,0xF5,0x02,0x86,0xFF,0x0F,0x90      }}, /* 04 (x768) */
                {{      0x0E,0x5A,0x02,0x86,0xFF,0x0F,0x89      }}, /* 05 (x1024) */
                {{      0x28,0x10,0x1A,0x80,0x19,0x29,0x0F      }} /* 06 (x1050) */
};

static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11400x1050_2_V[] =
{              /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
                {{      0x28,0x92,0xB6,0x83,0xB5,0xCF,0x81      }}, /* 00 (x350) */
                {{      0x28,0x92,0xD5,0x82,0xD4,0xEE,0x81      }}, /* 01 (x400) */
                {{      0x28,0x92,0xFD,0x8A,0xFC,0x16,0xB1      }}, /* 02 (x480) */
                {{      0x28,0xD4,0x39,0x86,0x57,0x29,0x81      }}, /* 03 (x600) */
                {{      0x28,0xD4,0x8D,0x9A,0xFF,0x29,0xA1      }}, /* 04 (x768) */
                {{      0x28,0x5A,0x0D,0x9A,0xFF,0x29,0xA9      }}, /* 05 (x1024) */
                {{      0x28,0x10,0x1A,0x87,0x19,0x29,0x8F      }} /* 06 (x1050) */
};

static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11600x1200_1_V[] =
{
               /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A+CR09(5->7) */
                {{      0xd4,0x1F,0x81,0x84,0x5D,0xd5,0x10      }}, /* 00 (x350) */
                {{      0x06,0x3e,0xb3,0x86,0x8F,0x07,0x20      }}, /* 01 (x400) */
                {{      0x56,0xba,0x03,0x86,0xDF,0x57,0x00      }}, /* 02 (x480) */
                {{      0xce,0xF0,0x7b,0x8e,0x57,0xcf,0xa0      }}, /* 03 (x600) */
                {{      0x76,0xF5,0x23,0x86,0xFF,0x77,0x90      }}, /* 04 (x768) */
                {{      0x76,0x5A,0x23,0x86,0xFF,0x77,0x89      }}, /* 05 (x1024) */
                {{      0x90,0x10,0x1A,0x8E,0x19,0x91,0x2F      }}, /* 06 (x1050) */
                {{      0x26,0x11,0xd3,0x86,0xaF,0x27,0x3f      }} /* 07 (x1200) */
};

static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11024x768_1_Hx75[] =
{ 	/* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
    {{      0x4B,0x27,0x8F,0x32,0x1B,0x00,0x45,0x00 }},/* ; 00 (320x) */
    {{      0x4B,0x27,0x8F,0x2B,0x03,0x00,0x44,0x00 }},/* ; 01 (360x) */
    {{      0x55,0x31,0x99,0x46,0x1D,0x00,0x55,0x00 }},/* ; 02 (400x) */
    {{      0x63,0x3F,0x87,0x4A,0x93,0x00,0x01,0x00 }},/* ; 03 (512x) */
    {{      0x6F,0x4F,0x93,0x54,0x80,0x00,0x05,0x00 }},/* ; 04 (640x) */
    {{      0x6F,0x4F,0x93,0x54,0x80,0x00,0x05,0x00 }},/* ; 05 (720x) */
    {{      0x83,0x63,0x87,0x68,0x14,0x00,0x26,0x00 }},/* ; 06 (800x) */
    {{      0x9F,0x7F,0x83,0x85,0x91,0x00,0x02,0x00 }} /* ; 07 (1024x) */
};

static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11024x768_1_Vx75[] =
{	/* CR06,CR07,CR10,CR11,CR15,CR16,SR0A+CR09(5->7) */
    {{      0x97,0x1F,0x60,0x87,0x5D,0x83,0x10      }},/* ; 00 (x350) */
    {{      0xB4,0x1F,0x92,0x89,0x8F,0xB5,0x30      }},/* ; 01 (x400) */
    {{      0xFE,0x1F,0xE0,0x84,0xDF,0xFF,0x10      }},/* ; 02 (x480) */
    {{      0x76,0xF0,0x58,0x8C,0x57,0x77,0xA0      }},/* ; 03 (x600) */
    {{      0x1E,0xF5,0x00,0x83,0xFF,0x1F,0x90      }} /* ; 04 (x768) */
};

static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11024x768_2_Hx75[] =
{       /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
    {{      0x63,0x27,0x87,0x3B,0x8C,0x00,0x01,0x00 }},/* ; 00 (320x) */
    {{      0x63,0x27,0x87,0x3B,0x8C,0x00,0x01,0x00 }},/* ; 01 (360x) */
    {{      0x63,0x31,0x87,0x3D,0x8E,0x00,0x01,0x00 }},/* ; 02 (400x) */
    {{      0x63,0x3F,0x87,0x45,0x96,0x00,0x01,0x00 }},/* ; 03 (512x) */
    {{      0xA3,0x4F,0x87,0x6E,0x9F,0x00,0x06,0x00 }},/* ; 04 (640x) */
    {{      0xA3,0x4F,0x87,0x6E,0x9F,0x00,0x06,0x00 }},/* ; 05 (720x) */
    {{      0xA3,0x63,0x87,0x78,0x89,0x00,0x02,0x00 }},/* ; 06 (800x) */
    {{      0xA3,0x7F,0x87,0x86,0x97,0x00,0x02,0x00 }} /* ; 07 (1024x) */
};

static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11024x768_2_Vx75[] =
{       /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
    {{      0x24,0xBB,0x31,0x87,0x5D,0x25,0x30      }},/* ; 00 (x350) */
    {{      0x24,0xBB,0x4A,0x80,0x8F,0x25,0x30      }},/* ; 01 (x400) */
    {{      0x24,0xBB,0x72,0x88,0xDF,0x25,0x30      }},/* ; 02 (x480) */
    {{      0x24,0xF1,0xAE,0x84,0x57,0x25,0xB0      }},/* ; 03 (x600) */
    {{      0x24,0xF5,0x02,0x88,0xFF,0x25,0x90      }} /* ; 04 (x768) */
};

static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11280x1024_1_Hx75[] =
{      /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
    {{      0x56,0x27,0x9A,0x30,0x1E,0x00,0x05,0x00 }},/* ; 00 (320x) */
    {{      0x56,0x27,0x9A,0x30,0x1E,0x00,0x05,0x00 }},/* ; 01 (360x) */
    {{      0x60,0x31,0x84,0x3A,0x88,0x00,0x01,0x00 }},/* ; 02 (400x) */
    {{      0x6E,0x3F,0x92,0x48,0x96,0x00,0x01,0x00 }},/* ; 03 (512x) */
    {{      0x7E,0x4F,0x82,0x54,0x06,0x00,0x06,0x00 }},/* ; 04 (640x) */
    {{      0x7E,0x4F,0x82,0x54,0x06,0x00,0x06,0x00 }},/* ; 05 (720x) */
    {{      0x92,0x63,0x96,0x68,0x1A,0x00,0x06,0x00 }},/* ; 06 (800x) */
    {{      0xAE,0x7F,0x92,0x84,0x96,0x00,0x02,0x00 }},/* ; 07 (1024x) */
    {{      0xCE,0x9F,0x92,0xA5,0x17,0x00,0x07,0x00 }} /* ; 08 (1280x) */
};

static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11280x1024_1_Vx75[] =
{	/* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
    {{      0x86,0xD1,0xBC,0x80,0xBB,0xE5,0x00      }},/* ; 00 (x350) */
    {{      0xB8,0x1F,0x90,0x84,0x8F,0xB9,0x30      }},/* ; 01 (x400) */
    {{      0x08,0x3E,0xE0,0x84,0xDF,0x09,0x00      }},/* ; 02 (x480) */
    {{      0x80,0xF0,0x58,0x8C,0x57,0x81,0xA0      }},/* ; 03 (x600) */
    {{      0x28,0xF5,0x00,0x84,0xFF,0x29,0x90      }},/* ; 04 (x768) */
    {{      0x28,0x5A,0x13,0x87,0xFF,0x29,0xA9      }} /* ; 05 (x1024) */
};

static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11280x1024_2_Hx75[] =
{
	/* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
    {{      0x7E,0x3B,0x9A,0x44,0x12,0x00,0x01,0x00 }},/* ; 00 (320x) */
    {{      0x7E,0x3B,0x9A,0x44,0x12,0x00,0x01,0x00 }},/* ; 01 (360x) */
    {{      0x7E,0x40,0x84,0x49,0x91,0x00,0x01,0x00 }},/* ; 02 (400x) */
    {{      0x7E,0x47,0x93,0x50,0x9E,0x00,0x01,0x00 }},/* ; 03 (512x) */
    {{      0xCE,0x77,0x8A,0x80,0x8E,0x00,0x02,0x00 }},/* ; 04 (640x) */
    {{      0xCE,0x77,0x8A,0x80,0x8E,0x00,0x02,0x00 }},/* ; 05 (720x) */
    {{      0xCE,0x81,0x94,0x8A,0x98,0x00,0x02,0x00 }},/* ; 06 (800x) */
    {{      0xCE,0x8F,0x82,0x98,0x06,0x00,0x07,0x00 }},/* ; 07 (1024x) */
    {{      0xCE,0x9F,0x92,0xA8,0x16,0x00,0x07,0x00 }} /* ; 08 (1280x) */
};

static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11280x1024_2_Vx75[] =
{
        /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
     {{     0x28,0xD2,0xAF,0x83,0xAE,0xD8,0xA1     }},/* ; 00 (x350) */
     {{     0x28,0xD2,0xC8,0x8C,0xC7,0xF2,0x81     }},/* ; 01 (x400) */
     {{     0x28,0xD2,0xF0,0x84,0xEF,0x1A,0xB1     }},/* ; 02 (x480) */
     {{     0x28,0xDE,0x2C,0x8F,0x2B,0x56,0x91     }},/* ; 03 (x600) */
     {{     0x28,0xDE,0x80,0x83,0x7F,0xAA,0x91     }},/* ; 04 (x768) */
     {{     0x28,0x5A,0x13,0x87,0xFF,0x29,0xA9     }} /* ; 05 (x1024) */
};

#if 0
static struct XGI_LVDSCRT1DataStruct  XGI_CHTVCRT1UNTSC[] =
{
 {{0x64,0x4f,0x88,0x56,0x9f,0x56,0x3e,
    0xe8,0x84,0x8f,0x57,0x20,0x00,0x01,0x00 }},
 {{0x64,0x4f,0x88,0x56,0x9f,0x56,0x3e,
    0xd0,0x82,0x5d,0x57,0x00,0x00,0x01,0x00 }},
 {{0x64,0x4f,0x88,0x56,0x9f,0x56,0x3e,
    0xe8,0x84,0x8f,0x57,0x20,0x00,0x01,0x00 }},
 {{0x64,0x4f,0x88,0x56,0x9f,0x56,0x3e,
    0xd0,0x82,0x5d,0x57,0x00,0x00,0x01,0x00 }},
 {{0x5d,0x4f,0x81,0x53,0x9c,0x56,0xba,
    0x18,0x84,0xdf,0x57,0x00,0x00,0x01,0x00 }},
 {{0x80,0x63,0x84,0x6c,0x17,0xec,0xf0,
   0x90,0x8c,0x57,0xed,0x20,0x00,0x06,0x01 }}
};

static struct XGI_LVDSCRT1DataStruct  XGI_CHTVCRT1ONTSC[] =
{
 {{0x64,0x4f,0x88,0x5a,0x9f,0x0b,0x3e,
    0xc0,0x84,0x8f,0x0c,0x20,0x00,0x01,0x00 }},
 {{0x64,0x4f,0x88,0x5a,0x9f,0x0b,0x3e,
    0xb0,0x8d,0x5d,0x0c,0x00,0x00,0x01,0x00 }},
 {{0x64,0x4f,0x88,0x5a,0x9f,0x0b,0x3e,
    0xc0,0x84,0x8f,0x0c,0x20,0x00,0x01,0x00 }},
 {{0x64,0x4f,0x88,0x5a,0x9f,0x0b,0x3e,
    0xb0,0x8d,0x5d,0x0c,0x00,0x00,0x01,0x00 }},
 {{0x5d,0x4f,0x81,0x56,0x9c,0x0b,0x3e,
    0xe8,0x84,0xdf,0x0c,0x00,0x00,0x01,0x00 }},
 {{0x7d,0x63,0x81,0x6a,0x16,0xba,0xf0,
   0x7f,0x86,0x57,0xbb,0x00,0x00,0x06,0x01 }}
};

static struct XGI_LVDSCRT1DataStruct  XGI_CHTVCRT1UPAL[] =
{
 {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
    0xf8,0x83,0x8f,0x70,0x20,0x00,0x05,0x00 }},
 {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
    0xde,0x81,0x5d,0x70,0x00,0x00,0x05,0x00 }},
 {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
    0xf8,0x83,0x8f,0x70,0x20,0x00,0x05,0x00 }},
 {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
    0xde,0x81,0x5d,0x70,0x00,0x00,0x05,0x00 }},
 {{0x64,0x4f,0x88,0x55,0x80,0xec,0xba,
    0x50,0x84,0xdf,0xed,0x00,0x00,0x05,0x00 }},
 {{0x70,0x63,0x94,0x68,0x8d,0x42,0xf1,
   0xc8,0x8c,0x57,0xe9,0x20,0x00,0x05,0x01 }}
};

static struct XGI_LVDSCRT1DataStruct  XGI_CHTVCRT1OPAL[] =
{
 {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
    0xf0,0x83,0x8f,0x70,0x20,0x00,0x05,0x00 }},
 {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
    0xde,0x81,0x5d,0x70,0x00,0x00,0x05,0x00 }},
 {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
    0xf0,0x83,0x8f,0x70,0x20,0x00,0x05,0x00 }},
 {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
    0xde,0x81,0x5d,0x70,0x00,0x00,0x05,0x00 }},
 {{0x64,0x4f,0x88,0x55,0x80,0x6f,0xba,
    0x20,0x83,0xdf,0x70,0x00,0x00,0x05,0x00 }},
 {{0x73,0x63,0x97,0x69,0x8e,0xec,0xf0,
   0x90,0x8c,0x57,0xed,0x20,0x00,0x05,0x01 }}
};
#endif

/*add for new UNIVGABIOS*/
static struct XGI330_LCDDataTablStruct XGI_LCDDataTable[] =
{
  {Panel1024x768,0x0019,0x0001,0},  /* XGI_ExtLCD1024x768Data */
  {Panel1024x768,0x0019,0x0000,1},  /* XGI_StLCD1024x768Data */
  {Panel1024x768,0x0018,0x0010,2},  /* XGI_CetLCD1024x768Data */
  {Panel1280x1024,0x0019,0x0001,3},  /* XGI_ExtLCD1280x1024Data */
  {Panel1280x1024,0x0019,0x0000,4},  /* XGI_StLCD1280x1024Data */
  {Panel1280x1024,0x0018,0x0010,5},  /* XGI_CetLCD1280x1024Data */
  {Panel1400x1050,0x0019,0x0001,6},  /* XGI_ExtLCD1400x1050Data */
  {Panel1400x1050,0x0019,0x0000,7},  /* XGI_StLCD1400x1050Data */
  {Panel1400x1050,0x0018,0x0010,8},  /* XGI_CetLCD1400x1050Data */
  {Panel1600x1200,0x0019,0x0001,9},   /* XGI_ExtLCD1600x1200Data */
  {Panel1600x1200,0x0019,0x0000,10},  /* XGI_StLCD1600x1200Data */
  {PanelRef60Hz,0x0008,0x0008,11},  	/* XGI_NoScalingData */
  {Panel1024x768x75,0x0019,0x0001,12}, 	/* XGI_ExtLCD1024x768x75Data */
  {Panel1024x768x75,0x0019,0x0000,13}, 	/* XGI_StLCD1024x768x75Data */
  {Panel1024x768x75,0x0018,0x0010,14}, 	/* XGI_CetLCD1024x768x75Data */
  {Panel1280x1024x75,0x0019,0x0001,15}, /* XGI_ExtLCD1280x1024x75Data */
  {Panel1280x1024x75,0x0019,0x0000,16}, /* XGI_StLCD1280x1024x75Data */
  {Panel1280x1024x75,0x0018,0x0010,17}, /* XGI_CetLCD1280x1024x75Data */
  {PanelRef75Hz,0x0008,0x0008,18},	/* XGI_NoScalingDatax75 */
  {0xFF,0x0000,0x0000,0}   		/* End of table */
};

static struct XGI330_LCDDataTablStruct XGI_LCDDesDataTable[] =
{
  {Panel1024x768,0x0019,0x0001,0}, /* XGI_ExtLCDDes1024x768Data */
  {Panel1024x768,0x0019,0x0000,1}, /* XGI_StLCDDes1024x768Data */
  {Panel1024x768,0x0018,0x0010,2}, /* XGI_CetLCDDes1024x768Data */
  {Panel1280x1024,0x0019,0x0001,3}, /* XGI_ExtLCDDes1280x1024Data */
  {Panel1280x1024,0x0019,0x0000,4}, /* XGI_StLCDDes1280x1024Data */
  {Panel1280x1024,0x0018,0x0010,5}, /* XGI_CetLCDDes1280x1024Data */
  {Panel1400x1050,0x0019,0x0001,6}, /* XGI_ExtLCDDes1400x1050Data */
  {Panel1400x1050,0x0019,0x0000,7}, /* XGI_StLCDDes1400x1050Data */
  {Panel1400x1050,0x0418,0x0010,8}, /* XGI_CetLCDDes1400x1050Data */
  {Panel1400x1050,0x0418,0x0410,9}, /* XGI_CetLCDDes1400x1050Data2 */
  {Panel1600x1200,0x0019,0x0001,10}, /* XGI_ExtLCDDes1600x1200Data */
  {Panel1600x1200,0x0019,0x0000,11}, /* XGI_StLCDDes1600x1200Data */
  {PanelRef60Hz,0x0008,0x0008,12}, 	/* XGI_NoScalingDesData */
  {Panel1024x768x75,0x0019,0x0001,13}, 	/* XGI_ExtLCDDes1024x768x75Data */
  {Panel1024x768x75,0x0019,0x0000,14},	/* XGI_StLCDDes1024x768x75Data */
  {Panel1024x768x75,0x0018,0x0010,15},  /* XGI_CetLCDDes1024x768x75Data */
  {Panel1280x1024x75,0x0019,0x0001,16},	/* XGI_ExtLCDDes1280x1024x75Data */
  {Panel1280x1024x75,0x0019,0x0000,17}, /* XGI_StLCDDes1280x1024x75Data */
  {Panel1280x1024x75,0x0018,0x0010,18},	/* XGI_CetLCDDes1280x1024x75Data */
  {PanelRef75Hz,0x0008,0x0008,19},	/* XGI_NoScalingDesDatax75 */
  {0xFF,0x0000,0x0000,0}
};

static struct XGI330_LCDDataTablStruct XGI_EPLLCDCRT1Ptr_H[] =
{
  {Panel1024x768,0x0018,0x0000,0}, /* XGI_LVDSCRT11024x768_1_H */
  {Panel1024x768,0x0018,0x0010,1}, /* XGI_LVDSCRT11024x768_2_H */
  {Panel1280x1024,0x0018,0x0000,2}, /* XGI_LVDSCRT11280x1024_1_H */
  {Panel1280x1024,0x0018,0x0010,3}, /* XGI_LVDSCRT11280x1024_2_H */
  {Panel1400x1050,0x0018,0x0000,4}, /* XGI_LVDSCRT11400x1050_1_H */
  {Panel1400x1050,0x0018,0x0010,5}, /* XGI_LVDSCRT11400x1050_2_H */
  {Panel1600x1200,0x0018,0x0000,6},  /* XGI_LVDSCRT11600x1200_1_H */
  {Panel1024x768x75,0x0018,0x0000,7},	/* XGI_LVDSCRT11024x768_1_Hx75 */
  {Panel1024x768x75,0x0018,0x0010,8},	/* XGI_LVDSCRT11024x768_2_Hx75 */
  {Panel1280x1024x75,0x0018,0x0000,9},	/* XGI_LVDSCRT11280x1024_1_Hx75 */
  {Panel1280x1024x75,0x0018,0x0010,10},	/* XGI_LVDSCRT11280x1024_2_Hx75 */
  {0xFF,0x0000,0x0000,0}
};

static struct XGI330_LCDDataTablStruct XGI_EPLLCDCRT1Ptr_V[] =
{
  {Panel1024x768,0x0018,0x0000,0}, /* XGI_LVDSCRT11024x768_1_V */
  {Panel1024x768,0x0018,0x0010,1}, /* XGI_LVDSCRT11024x768_2_V */
  {Panel1280x1024,0x0018,0x0000,2}, /* XGI_LVDSCRT11280x1024_1_V */
  {Panel1280x1024,0x0018,0x0010,3}, /* XGI_LVDSCRT11280x1024_2_V */
  {Panel1400x1050,0x0018,0x0000,4}, /* XGI_LVDSCRT11400x1050_1_V */
  {Panel1400x1050,0x0018,0x0010,5}, /* XGI_LVDSCRT11400x1050_2_V */
  {Panel1600x1200,0x0018,0x0000,6}, /* XGI_LVDSCRT11600x1200_1_V */
  {Panel1024x768x75,0x0018,0x0000,7},	/* XGI_LVDSCRT11024x768_1_Vx75 */
  {Panel1024x768x75,0x0018,0x0010,8},	/* XGI_LVDSCRT11024x768_2_Vx75 */
  {Panel1280x1024x75,0x0018,0x0000,9},	/* XGI_LVDSCRT11280x1024_1_Vx75 */
  {Panel1280x1024x75,0x0018,0x0010,10},	/* XGI_LVDSCRT11280x1024_2_Vx75 */
  {0xFF,0x0000,0x0000,0}
};

static struct XGI330_LCDDataTablStruct XGI_EPLLCDDataPtr[] =
{
  {Panel1024x768,0x0018,0x0000,0}, /* XGI_LVDS1024x768Data_1 */
  {Panel1024x768,0x0018,0x0010,1}, /* XGI_LVDS1024x768Data_2 */
  {Panel1280x1024,0x0018,0x0000,2}, /* XGI_LVDS1280x1024Data_1 */
  {Panel1280x1024,0x0018,0x0010,3}, /* XGI_LVDS1280x1024Data_2 */
  {Panel1400x1050,0x0018,0x0000,4}, /* XGI_LVDS1400x1050Data_1 */
  {Panel1400x1050,0x0018,0x0010,5}, /* XGI_LVDS1400x1050Data_2 */
  {Panel1600x1200,0x0018,0x0000,6}, /* XGI_LVDS1600x1200Data_1 */
  {PanelRef60Hz,0x0008,0x0008,7}, /* XGI_LVDSNoScalingData */
  {Panel1024x768x75,0x0018,0x0000,8},	/* XGI_LVDS1024x768Data_1x75 */
  {Panel1024x768x75,0x0018,0x0010,9},	/* XGI_LVDS1024x768Data_2x75 */
  {Panel1280x1024x75,0x0018,0x0000,10},	/* XGI_LVDS1280x1024Data_1x75 */
  {Panel1280x1024x75,0x0018,0x0010,11}, /* XGI_LVDS1280x1024Data_2x75 */
  {PanelRef75Hz,0x0008,0x0008,12},	/* XGI_LVDSNoScalingDatax75 */
  {0xFF,0x0000,0x0000,0}
};

static struct XGI330_LCDDataTablStruct XGI_EPLLCDDesDataPtr[] =
{
  {Panel1024x768,0x0018,0x0000,0}, /* XGI_LVDS1024x768Des_1 */
  {Panel1024x768,0x0618,0x0410,1}, /* XGI_LVDS1024x768Des_3 */
  {Panel1024x768,0x0018,0x0010,2}, /* XGI_LVDS1024x768Des_2 */
  {Panel1280x1024,0x0018,0x0000,3}, /* XGI_LVDS1280x1024Des_1 */
  {Panel1280x1024,0x0018,0x0010,4}, /* XGI_LVDS1280x1024Des_2 */
  {Panel1400x1050,0x0018,0x0000,5}, /* XGI_LVDS1400x1050Des_1 */
  {Panel1400x1050,0x0018,0x0010,6}, /* XGI_LVDS1400x1050Des_2 */
  {Panel1600x1200,0x0018,0x0000,7}, /* XGI_LVDS1600x1200Des_1 */
  {PanelRef60Hz,0x0008,0x0008,8}, 	/* XGI_LVDSNoScalingDesData */
  {Panel1024x768x75,0x0018,0x0000,9},	/* XGI_LVDS1024x768Des_1x75 */
  {Panel1024x768x75,0x0618,0x0410,10},	/* XGI_LVDS1024x768Des_3x75 */
  {Panel1024x768x75,0x0018,0x0010,11},	/* XGI_LVDS1024x768Des_2x75 */
  {Panel1280x1024x75,0x0018,0x0000,12},	/* XGI_LVDS1280x1024Des_1x75 */
  {Panel1280x1024x75,0x0018,0x0010,13},	/* XGI_LVDS1280x1024Des_2x75 */
  {PanelRef75Hz,0x0008,0x0008,14},	/* XGI_LVDSNoScalingDesDatax75 */
  {0xFF,0x0000,0x0000,0}
};

static struct XGI330_LCDDataTablStruct XGI_EPLCHLCDRegPtr[] =
{
  {Panel1024x768,0x0000,0x0000,0}, /* XGI_CH7017LV1024x768 */
  {Panel1400x1050,0x0000,0x0000,1}, /* XGI_CH7017LV1400x1050 */
  {0xFF,0x0000,0x0000,0}
};

static struct XGI330_TVDataTablStruct XGI_TVDataTable[] =
{
 {0x09E1,0x0001,0},	/* XGI_ExtPALData */
 {0x09E1,0x0000,1},	/* XGI_ExtNTSCData */
 {0x09E1,0x0801,2},	/* XGI_StPALData */
 {0x09E1,0x0800,3},	/* XGI_StNTSCData */
 {0x49E0,0x0100,4},	/* XGI_ExtHiTVData */
 {0x49E0,0x4100,5},	/* XGI_St2HiTVData */
 {0x49E0,0x4900,13},	/* XGI_St1HiTVData */
 {0x09E0,0x0020,6},	/* XGI_ExtYPbPr525iData */
 {0x09E0,0x0040,7},	/* XGI_ExtYPbPr525pData */
 {0x09E0,0x0080,8},	/* XGI_ExtYPbPr750pData */
 {0x09E0,0x0820,9},	/* XGI_StYPbPr525iData */
 {0x09E0,0x0840,10},	/* XGI_StYPbPr525pData */
 {0x09E0,0x0880,11}, 	/* XGI_StYPbPr750pData */
 {0xffff,0x0000,12}  	/* END */
};

#if 0
static unsigned short TVLenList[] =
{
   LVDSCRT1Len_H,
   LVDSCRT1Len_V,
   LVDSDataLen,
   0,
   TVDataLen,
   0,
   0,
   CHTVRegLen
} ;
#endif

/* Chrontel 7017 TV CRT1 Timing List */
static struct XGI330_TVDataTablStruct XGI_EPLCHTVCRT1Ptr[] =
{
  {0x0011,0x0000,0}, /* XGI_CHTVCRT1UNTSC */
  {0x0011,0x0010,1}, /* XGI_CHTVCRT1ONTSC */
  {0x0011,0x0001,2}, /* XGI_CHTVCRT1UPAL */
  {0x0011,0x0011,3}, /* XGI_CHTVCRT1OPAL */
  {0xFFFF,0x0000,4}
};

/* ;;Chrontel 7017 TV Timing List */
static struct XGI330_TVDataTablStruct XGI_EPLCHTVDataPtr[] =
{
  {0x0011,0x0000,0}, /* XGI_CHTVUNTSCData */
  {0x0011,0x0010,1}, /* XGI_CHTVONTSCData */
  {0x0011,0x0001,2}, /* XGI_CHTVUPALData */
  {0x0011,0x0011,3}, /* XGI_CHTVOPALData */
  {0xFFFF,0x0000,4}
};

/* ;;Chrontel 7017 TV Reg. List */
static struct XGI330_TVDataTablStruct XGI_EPLCHTVRegPtr[] =
{
  {0x0011,0x0000,0}, /* XGI_CHTVRegUNTSC */
  {0x0011,0x0010,1}, /* XGI_CHTVRegONTSC */
  {0x0011,0x0001,2}, /* XGI_CHTVRegUPAL */
  {0x0011,0x0011,3}, /* XGI_CHTVRegOPAL */
  {0xFFFF,0x0000,4}
};

static unsigned short LCDLenList[] =
{
   LVDSCRT1Len_H,
   LVDSCRT1Len_V,
   LVDSDataLen,
   LCDDesDataLen,
   LCDDataLen,
   LCDDesDataLen,
   0,
   LCDDesDataLen,
   LCDDesDataLen,
   0
} ;

#if 0
static struct XGI330_LCDCapStruct  XGI660_LCDDLCapList[] =  /* 660, Dual link */
{
/* LCDCap1024x768 */
		{Panel1024x768, DefaultLCDCap, 0, 0x014, 0x88, 0x06, VCLK65,
		 0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
/* LCDCap1280x1024 */
                {Panel1280x1024, LCDDualLink+DefaultLCDCap, StLCDBToA, 0x053, 0x70, 0x03, VCLK108_2,
		 0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCap1400x1050 */
                {Panel1400x1050, LCDDualLink+DefaultLCDCap, StLCDBToA, 0x053, 0x70, 0x03, VCLK108_2,
		 0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCap1600x1200 */
                {Panel1600x1200, LCDDualLink+DefaultLCDCap, LCDToFull, 0x053, 0xC0, 0x03, VCLK162,
		 0x43, 0x22, 0x70, 0x24, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCap1024x768x75 */
		{Panel1024x768x75, DefaultLCDCap, 0, 0x014, 0x60, 0, VCLK78_75,
		 0x2B, 0x61, 0x2B, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
/* LCDCap1280x1024x75 */
                {Panel1280x1024x75, LCDDualLink+DefaultLCDCap, StLCDBToA, 0x053, 0x90, 0x03, VCLK135_5,
		 0x54, 0x42, 0x4A, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCapDefault */
                {0xFF, DefaultLCDCap, 0, 0x053, 0x88, 0x06, VCLK65,
		0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
		0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10}
};
#endif

static struct XGI330_LCDCapStruct  XGI_LCDDLCapList[] =  /* Dual link only */
{
/* LCDCap1024x768 */
		{Panel1024x768, DefaultLCDCap, 0, 0x012, 0x88, 0x06, VCLK65,
		0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
		0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
/* LCDCap1280x1024 */
		{Panel1280x1024, LCDDualLink+DefaultLCDCap, StLCDBToA, 0x012, 0x70, 0x03, VCLK108_2,
		0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
		0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCap1400x1050 */
		{Panel1400x1050, LCDDualLink+DefaultLCDCap, StLCDBToA, 0x012, 0x70, 0x03, VCLK108_2,
		 0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCap1600x1200 */
		{Panel1600x1200, LCDDualLink+DefaultLCDCap, LCDToFull, 0x012, 0xC0, 0x03, VCLK162,
		 0x43, 0x22, 0x70, 0x24, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCap1024x768x75 */
		{Panel1024x768x75, DefaultLCDCap, 0, 0x012, 0x60, 0, VCLK78_75,
		 0x2B, 0x61, 0x2B, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
/* LCDCap1280x1024x75 */
		{Panel1280x1024x75, LCDDualLink+DefaultLCDCap, StLCDBToA, 0x012, 0x90, 0x03, VCLK135_5,
		 0x54, 0x42, 0x4A, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCapDefault */
		{0xFF, DefaultLCDCap, 0, 0x012, 0x88, 0x06, VCLK65,
		0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
		0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10}
};

#if 0
static struct XGI330_LCDCapStruct  XGI660_LCDCapList[] =
{
/* LCDCap1024x768 */
                {Panel1024x768, DefaultLCDCap, 0, 0x014, 0x88, 0x06, VCLK65,
		0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
		0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
/* LCDCap1280x1024 */
                {Panel1280x1024, DefaultLCDCap, StLCDBToA, 0x053, 0x70, 0x03, VCLK108_2,
		0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
		0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCap1400x1050 */
                {Panel1400x1050, DefaultLCDCap, StLCDBToA, 0x053, 0x70, 0x03, VCLK108_2,
		 0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCap1600x1200 */
                {Panel1600x1200, DefaultLCDCap, LCDToFull, 0x053, 0xC0, 0x03, VCLK162,
		 0x5A, 0x23, 0x5A, 0x23, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCap1024x768x75 */
		{Panel1024x768x75, DefaultLCDCap, 0, 0x014, 0x60, 0, VCLK78_75,
		 0x2B, 0x61, 0x2B, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
/* LCDCap1280x1024x75 */
                {Panel1280x1024x75,+DefaultLCDCap, StLCDBToA, 0x053, 0x90, 0x03, VCLK135_5,
		 0x54, 0x42, 0x4A, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCapDefault */
                {0xFF, DefaultLCDCap, 0, 0x053, 0x88, 0x06, VCLK65,
		0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
		0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10}
};
#endif

static struct XGI330_LCDCapStruct  XGI_LCDCapList[] =
{
/* LCDCap1024x768 */
		{Panel1024x768, DefaultLCDCap, 0, 0x012, 0x88, 0x06, VCLK65,
		0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
		0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
/* LCDCap1280x1024 */
		{Panel1280x1024, DefaultLCDCap, StLCDBToA, 0x012, 0x70, 0x03, VCLK108_2,
		0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
		0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCap1400x1050 */
		{Panel1400x1050, DefaultLCDCap, StLCDBToA, 0x012, 0x70, 0x03, VCLK108_2,
		 0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCap1600x1200 */
		{Panel1600x1200, DefaultLCDCap, LCDToFull, 0x012, 0xC0, 0x03, VCLK162,
		 0x5A, 0x23, 0x5A, 0x23, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCap1024x768x75 */
		{Panel1024x768x75, DefaultLCDCap, 0, 0x012, 0x60, 0, VCLK78_75,
		 0x2B, 0x61, 0x2B, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
/* LCDCap1280x1024x75 */
		{Panel1280x1024x75, DefaultLCDCap, StLCDBToA, 0x012, 0x90, 0x03, VCLK135_5,
		 0x54, 0x42, 0x4A, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
		 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
/* LCDCapDefault */
		{0xFF, DefaultLCDCap, 0, 0x012, 0x88, 0x06, VCLK65,
		0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
		0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10}
};

struct XGI21_LVDSCapStruct XGI21_LCDCapList[] =
{
    {DisableLCD24bpp + LCDPolarity,
     2160,1250,1600,1200,  64,  1,  192,   3,
     0x70,0x24,0x20,0x04,0x0A,0x02,0xC8
    },
    {DisableLCD24bpp + LCDPolarity,
     1688,1066,1280,1024,  48,  1,  112,   3,
     0x70,0x44,0x20,0x04,0x0A,0x02,0xC8
    },
    {DisableLCD24bpp + LCDPolarity + (LCDPolarity << 8),
     1344, 806,1024, 768,  24,  3,  136,   6,
     0x6C,0x65,0x20,0x04,0x0A,0x02,0xC8
    },
    {DisableLCD24bpp + LCDPolarity,
     1056, 628, 800, 600,  40,   1, 128,   4,
     0x42,0xE2,0x20,0x14,0x0A,0x02,0x00
    },
    {DisableLCD24bpp + LCDPolarity,
      928, 525, 800, 480,  40,  13,  48,   3,
     0x52,0xC5,0x20,0x14,0x0A,0x02,0x00
    },
    {DisableLCD24bpp + LCDPolarity + (LCDPolarity << 8),
      800, 525, 640, 480,  16,  10,  96,   2,
     0x1B,0xE1,0x20,0x04,0x0A,0x02,0xC8
    }

};

static struct XGI_Ext2Struct XGI330_RefIndex[] =
{
{Support32Bpp + SupportAllCRT2 + SyncPN,			RES320x200,	 VCLK25_175, 0x00,0x10,0x59, 320, 200},/* 00 */
{Support32Bpp + SupportAllCRT2 + SyncPN,			RES320x200,	 VCLK25_175, 0x00,0x10,0x00, 320, 400},/* 01 */
{Support32Bpp + SupportAllCRT2 + SyncNN,			RES320x240,	 VCLK25_175, 0x04,0x20,0x50, 320, 240},/* 02 */
{Support32Bpp + SupportAllCRT2 + SyncPP,			RES400x300,	 VCLK40,     0x05,0x32,0x51, 400, 300},/* 03 */
{Support32Bpp + NoSupportTV + SyncNN + SupportTV1024,		RES512x384,	 VCLK65,     0x06,0x43,0x52, 512, 384},/* 04 */
{Support32Bpp + SupportAllCRT2 + SyncPN,			RES640x400,	 VCLK25_175, 0x00,0x14,0x2f, 640, 400},/* 05 */
{Support32Bpp + SupportAllCRT2 + SyncNN,			RES640x480x60,	 VCLK25_175, 0x04,0x24,0x2e, 640, 480},/* 06 640x480x60Hz (LCD 640x480x60z) */
{Support32Bpp + NoSupportHiVisionTV + SyncNN,			RES640x480x72,	 VCLK31_5,   0x04,0x24,0x2e, 640, 480},/* 07 640x480x72Hz (LCD 640x480x70Hz) */
{Support32Bpp + NoSupportHiVisionTV + SyncNN,			RES640x480x75,	 VCLK31_5,   0x47,0x24,0x2e, 640, 480},/* 08 640x480x75Hz (LCD 640x480x75Hz) */
{Support32Bpp + SupportRAMDAC2 + SyncNN,			RES640x480x85,	 VCLK36,     0x8A,0x24,0x2e, 640, 480},/* 09 640x480x85Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPN,			RES640x480x100,	 VCLK43_163, 0x00,0x24,0x2e, 640, 480},/* 0a 640x480x100Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPN,			RES640x480x120,	 VCLK52_406, 0x00,0x24,0x2e, 640, 480},/* 0b 640x480x120Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPN,			RES640x480x160,	 VCLK72_852, 0x00,0x24,0x2e, 640, 480},/* 0c 640x480x160Hz */
{Support32Bpp + SupportRAMDAC2 + SyncNN,			RES640x480x200,	 VCLK86_6,   0x00,0x24,0x2e, 640, 480},/* 0d 640x480x200Hz */
{Support32Bpp + NoSupportLCD + SyncPP,				RES800x600x56,	 VCLK36,     0x05,0x36,0x6a, 800, 600},/* 0e 800x600x56Hz */
{Support32Bpp + NoSupportTV + SyncPP,				RES800x600x60,	 VCLK40,     0x05,0x36,0x6a, 800, 600},/* 0f 800x600x60Hz (LCD 800x600x60Hz) */
{Support32Bpp + NoSupportHiVisionTV + SyncPP,			RES800x600x72,	 VCLK50,     0x48,0x36,0x6a, 800, 600},/* 10 800x600x72Hz (LCD 800x600x70Hz) */
{Support32Bpp + NoSupportHiVisionTV + SyncPP,			RES800x600x75,	 VCLK49_5,   0x8B,0x36,0x6a, 800, 600},/* 11 800x600x75Hz (LCD 800x600x75Hz) */
{Support32Bpp + SupportRAMDAC2 + SyncPP,			RES800x600x85,	 VCLK56_25,  0x00,0x36,0x6a, 800, 600},/* 12 800x600x85Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPN,			RES800x600x100,	 VCLK68_179, 0x00,0x36,0x6a, 800, 600},/* 13 800x600x100Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPN,			RES800x600x120,	 VCLK83_95,  0x00,0x36,0x6a, 800, 600},/* 14 800x600x120Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPN,			RES800x600x160,	 VCLK116_406,0x00,0x36,0x6a, 800, 600},/* 15 800x600x160Hz */
{Support32Bpp + InterlaceMode + SyncPP,				RES1024x768x43,	 VCLK44_9,   0x00,0x47,0x37,1024, 768},/* 16 1024x768x43Hz */
{Support32Bpp + NoSupportTV + SyncNN + SupportTV1024,		RES1024x768x60,	 VCLK65,     0x06,0x47,0x37,1024, 768},/* 17 1024x768x60Hz (LCD 1024x768x60Hz) */
{Support32Bpp + NoSupportHiVisionTV + SyncNN,			RES1024x768x70,	 VCLK75,     0x49,0x47,0x37,1024, 768},/* 18 1024x768x70Hz (LCD 1024x768x70Hz) */
{Support32Bpp + NoSupportHiVisionTV + SyncPP,			RES1024x768x75,	 VCLK78_75,  0x00,0x47,0x37,1024, 768},/* 19 1024x768x75Hz (LCD 1024x768x75Hz) */
{Support32Bpp + SupportRAMDAC2 + SyncPP,			RES1024x768x85,	 VCLK94_5,   0x8C,0x47,0x37,1024, 768},/* 1a 1024x768x85Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPN,			RES1024x768x100, VCLK113_309,0x00,0x47,0x37,1024, 768},/* 1b 1024x768x100Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPN,			RES1024x768x120, VCLK139_054,0x00,0x47,0x37,1024, 768},/* 1c 1024x768x120Hz */
{Support32Bpp + SupportLCD + SyncPP,				RES1280x960x60,	 VCLK108_2,  0x08,0x58,0x7b,1280, 960},/* 1d 1280x960x60Hz */
{Support32Bpp + InterlaceMode + SyncPP,				RES1280x1024x43, VCLK78_75,  0x00,0x58,0x3a,1280,1024},/* 1e 1280x1024x43Hz */
{Support32Bpp + NoSupportTV + SyncPP,				RES1280x1024x60, VCLK108_2,  0x07,0x58,0x3a,1280,1024},/* 1f 1280x1024x60Hz (LCD 1280x1024x60Hz) */
{Support32Bpp + NoSupportTV + SyncPP,				RES1280x1024x75, VCLK135_5,  0x00,0x58,0x3a,1280,1024},/* 20 1280x1024x75Hz (LCD 1280x1024x75Hz) */
{Support32Bpp + SyncPP,						RES1280x1024x85, VCLK157_5,  0x00,0x58,0x3a,1280,1024},/* 21 1280x1024x85Hz */
{Support32Bpp + SupportLCD + SyncPP + SupportCRT2in301C,	RES1600x1200x60, VCLK162,    0x09,0x7A,0x3c,1600,1200},/* 22 1600x1200x60Hz */
{Support32Bpp + SyncPP + SupportCRT2in301C,			RES1600x1200x65, VCLK175,    0x00,0x69,0x3c,1600,1200},/* 23 1600x1200x65Hz */
{Support32Bpp + SyncPP + SupportCRT2in301C,			RES1600x1200x70, VCLK189,    0x00,0x69,0x3c,1600,1200},/* 24 1600x1200x70Hz */
{Support32Bpp + SyncPP + SupportCRT2in301C,			RES1600x1200x75, VCLK202_5,  0x00,0x69,0x3c,1600,1200},/* 25 1600x1200x75Hz */
{Support32Bpp + SyncPP,						RES1600x1200x85, VCLK229_5,  0x00,0x69,0x3c,1600,1200},/* 26 1600x1200x85Hz */
{Support32Bpp + SyncPP,						RES1600x1200x100,VCLK269_655,0x00,0x69,0x3c,1600,1200},/* 27 1600x1200x100Hz */
{Support32Bpp + SyncPP,						RES1600x1200x120,VCLK323_586,0x00,0x69,0x3c,1600,1200},/* 28 1600x1200x120Hz */
{Support32Bpp + SupportLCD + SyncNP,				RES1920x1440x60, VCLK234,    0x00,0x00,0x68,1920,1440},/* 29 1920x1440x60Hz */
{Support32Bpp + SyncPN,						RES1920x1440x65, VCLK254_817,0x00,0x00,0x68,1920,1440},/* 2a 1920x1440x65Hz */
{Support32Bpp + SyncPN,						RES1920x1440x70, VCLK277_015,0x00,0x00,0x68,1920,1440},/* 2b 1920x1440x70Hz */
{Support32Bpp + SyncPN,						RES1920x1440x75, VCLK291_132,0x00,0x00,0x68,1920,1440},/* 2c 1920x1440x75Hz */
{Support32Bpp + SyncPN,						RES1920x1440x85, VCLK330_615,0x00,0x00,0x68,1920,1440},/* 2d 1920x1440x85Hz */
{Support16Bpp + SyncPN,						RES1920x1440x100,VCLK388_631,0x00,0x00,0x68,1920,1440},/* 2e 1920x1440x100Hz */
{Support32Bpp + SupportLCD + SyncPN,				RES2048x1536x60, VCLK266_952,0x00,0x00,0x6c,2048,1536},/* 2f 2048x1536x60Hz */
{Support32Bpp + SyncPN,						RES2048x1536x65, VCLK291_766,0x00,0x00,0x6c,2048,1536},/* 30 2048x1536x65Hz */
{Support32Bpp + SyncPN,						RES2048x1536x70, VCLK315_195,0x00,0x00,0x6c,2048,1536},/* 31 2048x1536x70Hz */
{Support32Bpp + SyncPN,						RES2048x1536x75, VCLK340_477,0x00,0x00,0x6c,2048,1536},/* 32 2048x1536x75Hz */
{Support16Bpp + SyncPN,						RES2048x1536x85, VCLK375_847,0x00,0x00,0x6c,2048,1536},/* 33 2048x1536x85Hz */
{Support32Bpp + SupportHiVisionTV + SupportRAMDAC2 + SyncPP + SupportYPbPr,	RES800x480x60,	 VCLK39_77,  0x08,0x00,0x70, 800, 480},/* 34 800x480x60Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPP,			RES800x480x75,	 VCLK49_5,   0x08,0x00,0x70, 800, 480},/* 35 800x480x75Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPP,			RES800x480x85,	 VCLK56_25,  0x08,0x00,0x70, 800, 480},/* 36 800x480x85Hz */
{Support32Bpp + SupportHiVisionTV + SupportRAMDAC2 + SyncPP + SupportYPbPr,	RES1024x576x60,	 VCLK65,     0x09,0x00,0x71,1024, 576},/* 37 1024x576x60Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPP,			RES1024x576x75,	 VCLK78_75,  0x09,0x00,0x71,1024, 576},/* 38 1024x576x75Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPP,			RES1024x576x85,	 VCLK94_5,   0x09,0x00,0x71,1024, 576},/* 39 1024x576x85Hz */
{Support32Bpp + SupportHiVisionTV + SupportRAMDAC2 + SyncPP + SupportYPbPr,	RES1280x720x60,	 VCLK108_2,  0x0A,0x00,0x75,1280, 720},/* 3a 1280x720x60Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPP,			RES1280x720x75,	 VCLK135_5,  0x0A,0x00,0x75,1280, 720},/* 3b 1280x720x75Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPP,			RES1280x720x85,	 VCLK157_5,  0x0A,0x00,0x75,1280, 720},/* 3c 1280x720x85Hz */
{Support32Bpp + SupportTV + SyncNN,				RES720x480x60,	 VCLK28_322, 0x06,0x00,0x31, 720, 480},/* 3d 720x480x60Hz */
{Support32Bpp + SupportTV + SyncPP,				RES720x576x56,	 VCLK36,     0x06,0x00,0x32, 720, 576},/* 3e 720x576x56Hz */
{Support32Bpp + InterlaceMode + NoSupportLCD + SyncPP,		RES856x480x79I,	 VCLK35_2,   0x00,0x00,0x00, 856, 480},/* 3f 856x480x79I */
{Support32Bpp + NoSupportLCD + SyncNN,				RES856x480x60,	 VCLK35_2,   0x00,0x00,0x00, 856, 480},/* 40 856x480x60Hz */
{Support32Bpp + NoSupportHiVisionTV + SyncPP,			RES1280x768x60,	 VCLK79_411, 0x08,0x48,0x23,1280, 768},/* 41 1280x768x60Hz */
{Support32Bpp + NoSupportHiVisionTV + SyncPP,			RES1400x1050x60, VCLK122_61, 0x08,0x69,0x26,1400,1050},/* 42 1400x1050x60Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPP,			RES1152x864x60,	 VCLK80_350, 0x37,0x00,0x20,1152, 864},/* 43 1152x864x60Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPP,			RES1152x864x75,	 VCLK107_385,0x37,0x00,0x20,1152, 864},/* 44 1152x864x75Hz */
{Support32Bpp + SupportLCD + SupportRAMDAC2 + SyncPP,		RES1280x960x75,	 VCLK125_999,0x3A,0x88,0x7b,1280, 960},/* 45 1280x960x75Hz */
{Support32Bpp + SupportLCD + SupportRAMDAC2 + SyncPP,		RES1280x960x85,	 VCLK148_5,  0x0A,0x88,0x7b,1280, 960},/* 46 1280x960x85Hz */
{Support32Bpp + SupportLCD + SupportRAMDAC2 + SyncPP,		RES1280x960x120, VCLK217_325,0x3A,0x88,0x7b,1280, 960},/* 47 1280x960x120Hz */
{Support32Bpp + SupportRAMDAC2 + SyncPN,			RES1024x768x160, VCLK139_054,0x30,0x47,0x37,1024, 768},/* 48 1024x768x160Hz */
};


#if 0
static struct XGI330_VCLKDataStruct XGI330_VCLKData[] =
{
 { 0x1b,0xe1, 25}, /* 0x0 */
 { 0x4e,0xe4, 28}, /* 0x1 */
 { 0x57,0xe4, 31}, /* 0x2 */
 { 0xc3,0xc8, 36}, /* 0x3 */
 { 0x42,0xe2, 40}, /* 0x4 */
 { 0xfe,0xcd, 43}, /* 0x5 */
 { 0x5d,0xc4, 44}, /* 0x6 */
 { 0x52,0xe2, 49}, /* 0x7 */
 { 0x53,0xe2, 50}, /* 0x8 */
 { 0x74,0x67, 52}, /* 0x9 */
 { 0x6d,0x66, 56}, /* 0xa */
 { 0x6c,0xc3, 65}, /* 0xb */
 { 0x46,0x44, 67}, /* 0xc */
 { 0xb1,0x46, 68}, /* 0xd */
 { 0xd3,0x4a, 72}, /* 0xe */
 { 0x29,0x61, 75}, /* 0xf */
 { 0x6e,0x46, 76}, /* 0x10 */
 { 0x2b,0x61, 78}, /* 0x11 */
 { 0x31,0x42, 79}, /* 0x12 */
 { 0xab,0x44, 83}, /* 0x13 */
 { 0x46,0x25, 84}, /* 0x14 */
 { 0x78,0x29, 86}, /* 0x15 */
 { 0x62,0x44, 94}, /* 0x16 */
 { 0x2b,0x41,104}, /* 0x17 */
 { 0x3a,0x23,105}, /* 0x18 */
 { 0x70,0x44,108}, /* 0x19 */
 { 0x3c,0x23,109}, /* 0x1a */
 { 0x5e,0x43,113}, /* 0x1b */
 { 0xbc,0x44,116}, /* 0x1c */
 { 0xe0,0x46,132}, /* 0x1d */
 { 0x54,0x42,135}, /* 0x1e */
 { 0xea,0x2a,139}, /* 0x1f */
 { 0x41,0x22,157}, /* 0x20 */
 { 0x70,0x24,162}, /* 0x21 */
 { 0x30,0x21,175}, /* 0x22 */
 { 0x4e,0x22,189}, /* 0x23 */
 { 0xde,0x26,194}, /* 0x24 */
 { 0x62,0x06,202}, /* 0x25 */
 { 0x3f,0x03,229}, /* 0x26 */
 { 0xb8,0x06,234}, /* 0x27 */
 { 0x34,0x02,253}, /* 0x28 */
 { 0x58,0x04,255}, /* 0x29 */
 { 0x24,0x01,265}, /* 0x2a */
 { 0x9b,0x02,267}, /* 0x2b */
 { 0x70,0x05,270}, /* 0x2c */
 { 0x25,0x01,272}, /* 0x2d */
 { 0x9c,0x02,277}, /* 0x2e */
 { 0x27,0x01,286}, /* 0x2f */
 { 0x3c,0x02,291}, /* 0x30 */
 { 0xef,0x0a,292}, /* 0x31 */
 { 0xf6,0x0a,310}, /* 0x32 */
 { 0x95,0x01,315}, /* 0x33 */
 { 0xf0,0x09,324}, /* 0x34 */
 { 0xfe,0x0a,331}, /* 0x35 */
 { 0xf3,0x09,332}, /* 0x36 */
 { 0xea,0x08,340}, /* 0x37 */
 { 0xe8,0x07,376}, /* 0x38 */
 { 0xde,0x06,389}, /* 0x39 */
 { 0x52,0x2a, 54}, /* 0x3a */
 { 0x52,0x6a, 27}, /* 0x3b */
 { 0x62,0x24, 70}, /* 0x3c */
 { 0x62,0x64, 70}, /* 0x3d */
 { 0xa8,0x4c, 30}, /* 0x3e */
 { 0x20,0x26, 33}, /* 0x3f */
 { 0x31,0xc2, 39}, /* 0x40 */
 { 0x60,0x36, 30}, /* 0x41 */
 { 0x40,0x4A, 28}, /* 0x42 */
 { 0x9F,0x46, 44}, /* 0x43 */
 { 0x97,0x2C, 26}, /* 0x44 */
 { 0x44,0xE4, 25}, /* 0x45 */
 { 0x7E,0x32, 47}, /* 0x46 */
 { 0x08,0x24, 31}, /* 0x47 */
 { 0x97,0x2c, 26}, /* 0x48 */
 { 0xCE,0x3c, 39}, /* 0x49 */
 { 0x52,0x4A, 36}, /* 0x4a */
 { 0x2C,0x61, 95}, /* 0x4b */
 { 0x78,0x27,108}, /* 0x4c */
 { 0x66,0x43,123},  /* 0x4d */
 { 0x2c,0x61, 80},  /* 0x4e */
 { 0x3b,0x61,108}  /* 0x4f */
};

static struct XGI_VBVCLKDataStruct XGI330_VBVCLKData[] =
{
 { 0x1b,0xe1, 25}, /* 0x0 */
 { 0x4e,0xe4, 28}, /* 0x1 */
 { 0x57,0xe4, 31}, /* 0x2 */
 { 0xc3,0xc8, 36}, /* 0x3 */
 { 0x42,0x47, 40}, /* 0x4 */
 { 0xfe,0xcd, 43}, /* 0x5 */
 { 0x5d,0xc4, 44}, /* 0x6 */
 { 0x52,0x47, 49}, /* 0x7 */
 { 0x53,0x47, 50}, /* 0x8 */
 { 0x74,0x67, 52}, /* 0x9 */
 { 0x6d,0x66, 56}, /* 0xa */
 { 0x5a,0x64, 65}, /* 0xb */
 { 0x46,0x44, 67}, /* 0xc */
 { 0xb1,0x46, 68}, /* 0xd */
 { 0xd3,0x4a, 72}, /* 0xe */
 { 0x29,0x61, 75}, /* 0xf */
 { 0x6d,0x46, 75}, /* 0x10 */
 { 0x41,0x43, 78}, /* 0x11 */
 { 0x31,0x42, 79}, /* 0x12 */
 { 0xab,0x44, 83}, /* 0x13 */
 { 0x46,0x25, 84}, /* 0x14 */
 { 0x78,0x29, 86}, /* 0x15 */
 { 0x62,0x44, 94}, /* 0x16 */
 { 0x2b,0x22,104}, /* 0x17 */
 { 0x49,0x24,105}, /* 0x18 */
 { 0xf8,0x2f,108}, /* 0x19 */
 { 0x3c,0x23,109}, /* 0x1a */
 { 0x5e,0x43,113}, /* 0x1b */
 { 0xbc,0x44,116}, /* 0x1c */
 { 0xe0,0x46,132}, /* 0x1d */
 { 0xd4,0x28,135}, /* 0x1e */
 { 0xea,0x2a,139}, /* 0x1f */
 { 0x41,0x22,157}, /* 0x20 */
 { 0x70,0x24,162}, /* 0x21 */
 { 0x30,0x21,175}, /* 0x22 */
 { 0x4e,0x22,189}, /* 0x23 */
 { 0xde,0x26,194}, /* 0x24 */
 { 0x70,0x07,202}, /* 0x25 */
 { 0x3f,0x03,229}, /* 0x26 */
 { 0xb8,0x06,234}, /* 0x27 */
 { 0x34,0x02,253}, /* 0x28 */
 { 0x58,0x04,255}, /* 0x29 */
 { 0x24,0x01,265}, /* 0x2a */
 { 0x9b,0x02,267}, /* 0x2b */
 { 0x70,0x05,270}, /* 0x2c */
 { 0x25,0x01,272}, /* 0x2d */
 { 0x9c,0x02,277}, /* 0x2e */
 { 0x27,0x01,286}, /* 0x2f */
 { 0x3c,0x02,291}, /* 0x30 */
 { 0xef,0x0a,292}, /* 0x31 */
 { 0xf6,0x0a,310}, /* 0x32 */
 { 0x95,0x01,315}, /* 0x33 */
 { 0xf0,0x09,324}, /* 0x34 */
 { 0xfe,0x0a,331}, /* 0x35 */
 { 0xf3,0x09,332}, /* 0x36 */
 { 0xea,0x08,340}, /* 0x37 */
 { 0xe8,0x07,376}, /* 0x38 */
 { 0xde,0x06,389}, /* 0x39 */
 { 0x52,0x2a, 54}, /* 0x3a */
 { 0x52,0x6a, 27}, /* 0x3b */
 { 0x62,0x24, 70}, /* 0x3c */
 { 0x62,0x64, 70}, /* 0x3d */
 { 0xa8,0x4c, 30}, /* 0x3e */
 { 0x20,0x26, 33}, /* 0x3f */
 { 0x31,0xc2, 39}, /* 0x40 */
 { 0x2e,0x48, 25}, /* 0x41 */
 { 0x24,0x46, 25}, /* 0x42 */
 { 0x26,0x64, 28}, /* 0x43 */
 { 0x37,0x64, 40}, /* 0x44 */
 { 0xa1,0x42,108}, /* 0x45 */
 { 0x37,0x61,100}, /* 0x46 */
 { 0x78,0x27,108}, /* 0x47 */
 { 0x5e,0x64,68},  /* 0x48 chiawen for fuj1280x768*/
 { 0x70,0x44,108}, /* 0x49 chiawen for 1400x1050*/
};
#endif

static unsigned char XGI330_ScreenOffset[] = {
					0x14, 0x19, 0x20, 0x28, 0x32, 0x40,
					0x50, 0x64, 0x78, 0x80, 0x2d, 0x35,
					0x57, 0x48};

static struct XGI_StResInfoStruct XGI330_StResInfo[] =
{
 { 640,400},
 { 640,350},
 { 720,400},
 { 720,350},
 { 640,480}
};

static struct XGI_ModeResInfoStruct XGI330_ModeResInfo[] =
{
 {  320, 200, 8, 8},
 {  320, 240, 8, 8},
 {  320, 400, 8, 8},
 {  400, 300, 8, 8},
 {  512, 384, 8, 8},
 {  640, 400, 8,16},
 {  640, 480, 8,16},
 {  800, 600, 8,16},
 { 1024, 768, 8,16},
 { 1280,1024, 8,16},
 { 1600,1200, 8,16},
 { 1920,1440, 8,16},
 { 2048,1536, 8,16},
 {  720, 480, 8,16},
 {  720, 576, 8,16},
 { 1280, 960, 8,16},
 {  800, 480, 8,16},
 { 1024, 576, 8,16},
 { 1280, 720, 8,16},
 {  856, 480, 8,16},
 { 1280, 768, 8,16},
 { 1400,1050, 8,16},
 { 1152, 864, 8,16}
};

static unsigned char XGI330_OutputSelect = 0x40;
static unsigned char XGI330_SoftSetting = 0x30;
static unsigned char XGI330_SR07 = 0x18;

#if 0
static unsigned char XGI330New_SR15[8][8] = {
{0x0,0x4,0x60,0x60},
{0xf,0xf,0xf,0xf},
{0xba,0xba,0xba,0xba},
{0xa9,0xa9,0xac,0xac},
{0xa0,0xa0,0xa0,0xa8},
{0x0,0x0,0x2,0x2},
{0x30,0x30,0x40,0x40},
{0x0,0xa5,0xfb,0xf6}
};

static unsigned char XGI330New_CR40[5][8] = {
{0x77,0x77,0x44,0x44},
{0x77,0x77,0x44,0x44},
{0x0,0x0,0x0,0x0},
{0x5b,0x5b,0xab,0xab},
{0x0,0x0,0xf0,0xf8}
};
#endif

static unsigned char XGI330_CR49[] = {0xaa, 0x88};
static unsigned char XGI330_SR1F = 0x0;
static unsigned char XGI330_SR21 = 0xa3;
#if 0
static unsigned char XGI330_650_SR21 = 0xa7;
#endif
static unsigned char XGI330_SR22 = 0xfb;
static unsigned char XGI330_SR23 = 0xf6;
static unsigned char XGI330_SR24 = 0xd;

#if 0
static unsigned char XGI660_SR21 = 0xa3;/* 2003.0312 */
static unsigned char XGI660_SR22 = 0xf3;/* 2003.0312 */

static unsigned char XGI330_LVDS_SR32 = 0x00;   /* ynlai for 650 LVDS */
static unsigned char XGI330_LVDS_SR33 = 0x00;	/* chiawen for 650 LVDS */
static unsigned char XGI330_650_SR31 = 0x40;
static unsigned char XGI330_650_SR33 = 0x04;
#endif
static unsigned char XGI330_CRT2Data_1_2 = 0x0;
static unsigned char XGI330_CRT2Data_4_D = 0x0;
static unsigned char XGI330_CRT2Data_4_E = 0x0;
static unsigned char XGI330_CRT2Data_4_10 = 0x80;
static unsigned short XGI330_RGBSenseData = 0xd1;
static unsigned short XGI330_VideoSenseData = 0xb9;
static unsigned short XGI330_YCSenseData = 0xb3;
static unsigned short XGI330_RGBSenseData2 = 0x0190;     /*301b*/
static unsigned short XGI330_VideoSenseData2 = 0x0110;
static unsigned short XGI330_YCSenseData2 = 0x016B;
#if 0
static unsigned char XGI330_NTSCPhase[] = {0x21, 0xed, 0x8a, 0x8};
static unsigned char XGI330_PALPhase[] = {0x2a, 0x5, 0xd3, 0x0};
static unsigned char XGI330_NTSCPhase2[] = {0x21, 0xF0, 0x7B, 0xD6};/*301b*/
static unsigned char XGI330_PALPhase2[] = {0x2a, 0x09, 0x86, 0xe9};
static unsigned char XGI330_PALMPhase[] = {0x21, 0xE4, 0x2E, 0x9B};   /*palmn*/
static unsigned char XGI330_PALNPhase[] = {0x21, 0xF4, 0x3E, 0xBA};
#endif
static unsigned char XG40_I2CDefinition = 0x00 ;
static unsigned char XG20_CR97 = 0x10 ;

static unsigned char XG21_DVOSetting = 0x00 ;
static unsigned char XG21_CR2E = 0x00 ;
static unsigned char XG21_CR2F = 0x00 ;
static unsigned char XG21_CR46 = 0x00 ;
static unsigned char XG21_CR47 = 0x00 ;

static unsigned char XG27_CR97 = 0xC1 ;
static unsigned char XG27_SR36 = 0x30 ;
static unsigned char XG27_CR8F = 0x0C ;
static unsigned char XG27_CRD0[] = {0, 0, 0, 0, 0, 0, 0, 0x82, 0x00, 0x66, 0x01, 0x00};
static unsigned char XG27_CRDE[] = {0, 0};
static unsigned char XG27_SR40 = 0x04 ;
static unsigned char XG27_SR41 = 0x00 ;

static unsigned char XGI330_CHTVVCLKUNTSC[] = {0x00};

static unsigned char XGI330_CHTVVCLKONTSC[] = {0x00};

static unsigned char XGI330_CHTVVCLKUPAL[] = {0x00};

static unsigned char XGI330_CHTVVCLKOPAL[] = {0x00};

static unsigned char XGI7007_CHTVVCLKUNTSC[] = {CH7007TVVCLK30_2,
                               CH7007TVVCLK30_2,
                               CH7007TVVCLK30_2,
                               CH7007TVVCLK30_2,
                               CH7007TVVCLK28_1,
                               CH7007TVVCLK47_8
                              };

static unsigned char XGI7007_CHTVVCLKONTSC[] = {CH7007TVVCLK26_4,
                               CH7007TVVCLK26_4,
                               CH7007TVVCLK26_4,
                               CH7007TVVCLK26_4,
                               CH7007TVVCLK24_6,
                               CH7007TVVCLK43_6
                              };

static unsigned char XGI7007_CHTVVCLKUPAL[] = {CH7007TVVCLK31_5,
                              CH7007TVVCLK31_5,
                              CH7007TVVCLK31_5,
                              CH7007TVVCLK31_5,
                              CH7007TVVCLK26_2,
                              CH7007TVVCLK39
                             };

static unsigned char XGI7007_CHTVVCLKOPAL[] = {CH7007TVVCLK31_5,
                              CH7007TVVCLK31_5,
                              CH7007TVVCLK31_5,
                              CH7007TVVCLK31_5,
                              CH7007TVVCLK26_2,
                              CH7007TVVCLK36
                             };

static struct XGI330_VCLKDataStruct XGI_CH7007VCLKData[] =
{
 { 0x60,0x36,30},  /* 0 30.2 MHZ */
 { 0x40,0x4A,28},  /* 1 28.19 MHZ */
 { 0x9F,0x46,44},  /* 2 43.6 MHZ */
 { 0x97,0x2C,26},  /* 3 26.4 MHZ */
 { 0x44,0xE4,25},  /* 4 24.6 MHZ */
 { 0x7E,0x32,47},  /* 5 47.832 MHZ */
 { 0x8A,0x24,31},  /* 6 31.5 MHZ */
 { 0x97,0x2C,26},  /* 7 26.2 MHZ */
 { 0xCE,0x3C,39},  /* 8 39 MHZ   */
 { 0x52,0x4A,36},  /* 9 36 MHZ   */
 { 0xFF,0x00,0 }   /* End mark      */
};

static struct XGI330_VCLKDataStruct XGI_VCLKData[] =
{
               	/* SR2B,SR2C,SR2D */
 		{      0x1B,0xE1,25               },/* 00 (25.175MHz) */

		{      0x4E,0xE4,28               },/* 01 (28.322MHz) */

                {      0x57,0xE4,31               },/* 02 (31.500MHz) */

                {      0xC3,0xC8,36               },/* 03 (36.000MHz) */

                {      0x42,0xE2,40               },/* 04 (40.000MHz) */

                {      0xFE,0xCD,43               },/* 05 (43.163MHz) */

                {      0x5D,0xC4,44               },/* 06 (44.900MHz) */

                {      0x52,0xE2,49               },/* 07 (49.500MHz) */

                {      0x53,0xE2,50               },/* 08 (50.000MHz) */

                {      0x74,0x67,52               },/* 09 (52.406MHz) */

                {      0x6D,0x66,56               },/* 0A (56.250MHz) */

                {      0x6C,0xC3,65               },/* 0B (65.000MHz) */

                {      0x46,0x44,67               },/* 0C (67.765MHz) */

                {      0xB1,0x46,68               },/* 0D (68.179MHz) */

                {      0xD3,0x4A,72               },/* 0E (72.852MHz) */

                {      0x29,0x61,75              },/* 0F (75.000MHz) */

                {      0x6E,0x46,76               },/* 10 (75.800MHz) */

                {      0x2B,0x61,78               },/* 11 (78.750MHz) */

                {      0x31,0x42,79               },/* 12 (79.411MHz) */

                {      0xAB,0x44,83               },/* 13 (83.950MHz) */

                {      0x46,0x25,84               },/* 14 (84.800MHz) */

                {      0x78,0x29,86               },/* 15 (86.600MHz) */

                {      0x62,0x44,94               },/* 16 (94.500MHz) */

                {      0x2B,0x41,104               },/* 17 (104.998MHz) */

                {      0x3A,0x23,105               },/* 18 (105.882MHz) */

                {      0x70,0x44,108               },/* 19 (107.862MHz) */

                {      0x3C,0x23,109               },/* 1A (109.175MHz) */

                {      0x5E,0x43,113              },/* 1B (113.309MHz) */

                {      0xBC,0x44,116              },/* 1C (116.406MHz) */

                {      0xE0,0x46,132              },/* 1D (132.258MHz) */

                {      0x54,0x42,135               },/* 1E (135.500MHz) */

                {      0x9C,0x22,139               },/* 1F (139.275MHz) */

                {      0x41,0x22,157               },/* 20 (157.500MHz) */

                {      0x70,0x24,162               },/* 21 (161.793MHz) */

                {      0x30,0x21,175               },/* 22 (175.000MHz) */

                {      0x4E,0x22,189              },/* 23 (188.520MHz) */

                {      0xDE,0x26,194              },/* 24 (194.400MHz) */

                {      0x62,0x06,202               },/* 25 (202.500MHz) */

                {      0x3F,0x03,229               },/* 26 (229.500MHz) */

                {      0xB8,0x06,234               },/* 27 (233.178MHz) */

                {      0x34,0x02,253               },/* 28 (252.699MHz) */

                {      0x58,0x04,255               },/* 29 (254.817MHz) */

                {      0x24,0x01,265              },/* 2A (265.728MHz) */

                {      0x9B,0x02,267               },/* 2B (266.952MHz) */

                {      0x70,0x05,270               },/* 2C (269.65567MHz) */

                {      0x25,0x01,272               },/* 2D (272.04199MHz) */

                {      0x9C,0x02,277               },/* 2E (277.015MHz) */

                {      0x27,0x01,286               },/* 2F (286.359985MHz) */

                {      0xB3,0x04,291               },/* 30 (291.13266MHz) */

                {      0xBC,0x05,292               },/* 31 (291.766MHz) */

                {      0xF6,0x0A,310               },/* 32 (309.789459MHz) */

                {      0x95,0x01,315               },/* 33 (315.195MHz) */

                {      0xF0,0x09,324               },/* 34 (323.586792MHz) */

                {      0xFE,0x0A,331               },/* 35 (330.615631MHz) */

                {      0xF3,0x09,332              },/* 36 (332.177612MHz) */

                {      0x5E,0x03,340              },/* 37 (340.477MHz) */

                {      0xE8,0x07,376              },/* 38 (375.847504MHz) */

                {      0xDE, 0x06,389             },/* 39 (388.631439MHz) */

                {      0x52,0x2A,54               },/* 3A (54.000MHz) */

                {      0x52,0x6A,27              },/* 3B (27.000MHz) */

                {      0x62,0x24,70               },/* 3C (70.874991MHz) */

                {      0x62,0x64,70               },/* 3D (70.1048912MHz) */

                {      0xA8,0x4C,30               },/* 3E (30.1048912MHz) */

                {      0x20,0x26,33               },/* 3F (33.7499957MHz) */

                {      0x31,0xc2,39               },/* 40 (39.77MHz) */

                {      0x11,0x21,30               },/* 41 (30MHz) }// NTSC 1024X768 */

                {      0x2E,0x48,25               },/* 42 (25.175MHz) }// ScaleLCD */

                {      0x24,0x46,25               },/* 43 (25.175MHz) */

                {      0x26,0x64,28               },/* 44 (28.322MHz) */

                {      0x37,0x64,40               },/* 45 (40.000MHz) */

                {      0xA1,0x42,108               },/* 46 (95.000MHz) }// QVGA */

                {      0x37,0x61,100               },/* 47 (100.00MHz) */

                {      0x78,0x27,108               },/* 48 (108.200MHz) */

                {      0xBF,0xC8,35               },/* 49 (35.2MHz) */

                {      0x66,0x43,123               },/* 4A (122.61Mhz) */

                {      0x2C,0x61,80               },/* 4B (80.350Mhz) */

                {      0x3B,0x61,108               },/* 4C (107.385Mhz) */


/*                {      0x60,0x36,30               },// 4D (30.200MHz)   }// No use

                {      0x60,0x36,30               },// 4E (30.200MHz)   }// No use

                {      0x60,0x36,30               },// 4F (30.200MHz)   }// No use

                {      0x60,0x36,30               },// 50 (30.200MHz)   }// CHTV

                {      0x40,0x4A,28               },// 51 (28.190MHz)

                {      0x9F,0x46,44               },// 52 (43.600MHz)

                {      0x97,0x2C,26               },// 53 (26.400MHz)

                {      0x44,0xE4,25               },// 54 (24.600MHz)

                {      0x7E,0x32,47               },// 55 (47.832MHz)

                {      0x8A,0x24,31               },// 56 (31.500MHz)

                {      0x97,0x2C,26               },// 57 (26.200MHz)

                {      0xCE,0x3C,39               },// 58 (39.000MHz)

                {      0x52,0x4A,36               },// 59 (36.000MHz)

*/
		{      0x69,0x61,191		  }, /* 4D (190.96MHz ) */
		{      0x4F,0x22,192		  }, /* 4E (192.069MHz) */
		{      0x28,0x26,322		  }, /* 4F (322.273MHz) */
		{      0x5C,0x6B,27		  }, /* 50 (27.74HMz) */
		{      0x57,0x24,126		  }, /* 51 (125.999MHz) */
		{      0x5C,0x42,148		  }, /* 52 (148.5MHz) */
		{      0x42,0x61,120		  }, /* 53 (120.839MHz) */
		{      0x62,0x61,178		  }, /* 54 (178.992MHz) */
		{      0x59,0x22,217		  }, /* 55 (217.325MHz) */
		{      0x29,0x01,300		  }, /* 56 (299.505Mhz) */
		{      0x52,0x63,74		  }, /* 57 (74.25MHz) */


                {      0xFF,0x00,0                }/* End mark */
 }  ;

static struct XGI330_VCLKDataStruct XGI_VBVCLKData[] =
{
                {      0x1B,0xE1,25               },/* 00 (25.175MHz) */

                {      0x4E,0xE4,28               },/* 01 (28.322MHz) */

                {      0x57,0xE4,31               },/* 02 (31.500MHz) */

                {      0xC3,0xC8,36               },/* 03 (36.000MHz) */

                {      0x42,0x47,40               },/* 04 (40.000MHz) */

                {      0xFE,0xCD,43               },/* 05 (43.163MHz) */

                {      0x5D,0xC4,44               },/* 06 (44.900MHz) */

                {      0x52,0x47,49               },/* 07 (49.500MHz) */

                {      0x53,0x47,50               },/* 08 (50.000MHz) */

                {      0x74,0x67,52               },/* 09 (52.406MHz) */

                {      0x6D,0x66,56               },/* 0A (56.250MHz) */

                {      0x35,0x62,65               },/* 0B (65.000MHz) */

                {      0x46,0x44,67               },/* 0C (67.765MHz) */

                {      0xB1,0x46,68               },/* 0D (68.179MHz) */

                {      0xD3,0x4A,72               },/* 0E (72.852MHz) */

                {      0x29,0x61,75               },/* 0F (75.000MHz) */

                {      0x6D,0x46,75               },/* 10 (75.800MHz) */

                {      0x41,0x43,78               },/* 11 (78.750MHz) */

                {      0x31,0x42,79               },/* 12 (79.411MHz) */

                {      0xAB,0x44,83               },/* 13 (83.950MHz) */

                {      0x46,0x25,84               },/* 14 (84.800MHz) */

                {      0x78,0x29,86               },/* 15 (86.600MHz) */

                {      0x62,0x44,94               },/* 16 (94.500MHz) */

                {      0x2B,0x22,104               },/* 17 (104.998MHz) */

                {      0x49,0x24,105               },/* 18 (105.882MHz) */

                {      0xF8,0x2F,108               },/* 19 (108.279MHz) */

                {      0x3C,0x23,109               },/* 1A (109.175MHz) */

                {      0x5E,0x43,113               },/* 1B (113.309MHz) */

                {      0xBC,0x44,116               },/* 1C (116.406MHz) */

                {      0xE0,0x46,132               },/* 1D (132.258MHz) */

                {      0xD4,0x28,135               },/* 1E (135.220MHz) */

                {      0xEA,0x2A,139               },/* 1F (139.275MHz) */

                {      0x41,0x22,157               },/* 20 (157.500MHz) */

                {      0x70,0x24,162               },/* 21 (161.793MHz) */

                {      0x30,0x21,175               },/* 22 (175.000MHz) */

                {      0x4E,0x22,189               },/* 23 (188.520MHz) */

                {      0xDE,0x26,194               },/* 24 (194.400MHz) */

                {      0x70,0x07,202               },/* 25 (202.500MHz) */

                {      0x3F,0x03,229               },/* 26 (229.500MHz) */

                {      0xB8,0x06,234               },/* 27 (233.178MHz) */

                {      0x34,0x02,253               },/* 28 (252.699997 MHz) */

                {      0x58,0x04,255               },/* 29 (254.817MHz) */

                {      0x24,0x01,265               },/* 2A (265.728MHz) */

                {      0x9B,0x02,267               },/* 2B (266.952MHz) */

                {      0x70,0x05,270               },/* 2C (269.65567 MHz) */

                {      0x25,0x01,272               },/* 2D (272.041992 MHz) */

                {      0x9C,0x02,277               },/* 2E (277.015MHz) */

                {      0x27,0x01,286               },/* 2F (286.359985 MHz) */

                {      0x3C,0x02,291               },/* 30 (291.132660 MHz) */

                {      0xEF,0x0A,292               },/* 31 (291.766MHz) */

                {      0xF6,0x0A,310               },/* 32 (309.789459 MHz) */

                {      0x95,0x01,315               },/* 33 (315.195MHz) */

                {      0xF0,0x09,324               },/* 34 (323.586792 MHz) */

                {      0xFE,0x0A,331               },/* 35 (330.615631 MHz) */

                {      0xF3,0x09,332               },/* 36 (332.177612 MHz) */

                {      0xEA,0x08,340               },/* 37 (340.477MHz) */

                {      0xE8,0x07,376               },/* 38 (375.847504 MHz) */

                {      0xDE,0x06,389               },/* 39 (388.631439 MHz) */

                {      0x52,0x2A,54                },/* 3A (54.000MHz) */

                {      0x52,0x6A,27                },/* 3B (27.000MHz) */


                {      0x62,0x24,70                },/* 3C (70.874991MHz) */


                {      0x62,0x64,70                },/* 3D (70.1048912MHz) */

                {      0xA8,0x4C,30                },/* 3E (30.1048912MHz) */

                {      0x20,0x26,33                },/* 3F (33.7499957MHz) */

                {      0x31,0xc2,39                },/* 40 (39.77MHz) */

                {      0x11,0x21,30                },/* 41 (30MHz) }// NTSC 1024X768 */

                {      0x2E,0x48,25                },/* 42 (25.175MHz) }// ScaleLCD */

                {      0x24,0x46,25                },/* 43 (25.175MHz) */

                {      0x26,0x64,28                },/* 44 (28.322MHz) */

                {      0x37,0x64,40                },/* 45 (40.000MHz) */

                {      0xA1,0x42,108               },/* 46 (95.000MHz) }// QVGA */

                {      0x37,0x61,100               },/* 47 (100.00MHz) */

                {      0x78,0x27,108               },/* 48 (108.200MHz) */

                {      0xBF,0xC8,35                },/* 49 (35.2MHz) */

                {      0x66,0x43,123               },/* 4A (122.61Mhz) */

                {      0x2C,0x61,80                },/* 4B (80.350Mhz) */

                {      0x3B,0x61,108               },/* 4C (107.385Mhz) */

/*
                {      0x60,0x36,30               },// 4D (30.200MHz)   }// No use

                {      0x60,0x36,30               },// 4E (30.200MHz)   }// No use

                {      0x60,0x36,30               },// 4F (30.200MHz)   }// No use

                {      0x60,0x36,30               },// 50 (30.200MHz)   }// CHTV

                {      0x40,0x4A,28               },// 51 (28.190MHz)

                {      0x9F,0x46,44               },// 52 (43.600MHz)

                {      0x97,0x2C,26               },// 53 (26.400MHz)

                {      0x44,0xE4,25               },// 54 (24.600MHz)

                {      0x7E,0x32,47               },// 55 (47.832MHz)

                {      0x8A,0x24,31               },// 56 (31.500MHz)

                {      0x97,0x2C,26               },// 57 (26.200MHz)

                {      0xCE,0x3C,39               },// 58 (39.000MHz)

                {      0x52,0x4A,36               },// 59 (36.000MHz)
*/
		{      0x69,0x61,191		  }, /* 4D (190.96MHz ) */
		{      0x4F,0x22,192		  }, /* 4E (192.069MHz) */
		{      0x28,0x26,322		  }, /* 4F (322.273MHz) */
		{      0x5C,0x6B,27		  }, /* 50 (27.74HMz) */
		{      0x57,0x24,126		  }, /* 51 (125.999MHz) */
		{      0x5C,0x42,148		  }, /* 52 (148.5MHz) */
		{      0x42,0x61,120		  }, /* 53 (120.839MHz) */
		{      0x62,0x61,178		  }, /* 54 (178.992MHz) */
		{      0x59,0x22,217		  }, /* 55 (217.325MHz) */
		{      0x29,0x01,300		  }, /* 56 (299.505Mhz) */
		{      0x52,0x63,74		  }, /* 57 (74.25MHz) */


                {      0xFF,0x00,0                }      /* End mark */
};

#if 0
static unsigned char XGI660_TVDelayList[] =
{
          0x44,            /* ; 0 ExtNTSCDelay */
          0x44,            /* ; 1 StNTSCDelay */
          0x44,            /* ; 2 ExtPALDelay */
          0x44,            /* ; 3 StPALDelay */
          0x44,            /* ; 4 ExtHiTVDelay(1080i) */
          0x44,            /* ; 5 StHiTVDelay(1080i) */
          0x44,            /* ; 6 ExtYPbPrDelay(525i) */
          0x44,            /* ; 7 StYPbPrDealy(525i) */
          0x44,            /* ; 8 ExtYPbPrDelay(525p) */
          0x44,            /* ; 9 StYPbPrDealy(525p) */
          0x44,            /* ; A ExtYPbPrDelay(750p) */
          0x44             /* ; B StYPbPrDealy(750p) */
};

static unsigned char XGI660_TVDelayList2[] =
{
          0x44,           /* ; 0 ExtNTSCDelay */
          0x44,           /* ; 1 StNTSCDelay */
          0x44,           /* ; 2 ExtPALDelay */
          0x44,           /* ; 3 StPALDelay */
          0x44,           /* ; 4 ExtHiTVDelay */
          0x44,           /* ; 5 StHiTVDelay */
          0x44,           /* ; 6 ExtYPbPrDelay(525i) */
          0x44,           /* ; 7 StYPbPrDealy(525i) */
          0x44,           /* ; 8 ExtYPbPrDelay(525p) */
          0x44,           /* ; 9 StYPbPrDealy(525p) */
          0x44,           /* ; A ExtYPbPrDelay(750p) */
          0x44            /* ; B StYPbPrDealy(750p) */
};
#endif

static unsigned char XGI301TVDelayList[] =
{
	0x22,            /* ; 0 ExtNTSCDelay */
	0x22,            /* ; 1 StNTSCDelay */
	0x22,            /* ; 2 ExtPALDelay */
	0x22,            /* ; 3 StPALDelay */
	0x88,            /* ; 4 ExtHiTVDelay(1080i) */
	0xBB,            /* ; 5 StHiTVDelay(1080i) */
	0x22,            /* ; 6 ExtYPbPrDelay(525i) */
	0x22,            /* ; 7 StYPbPrDealy(525i) */
	0x22,            /* ; 8 ExtYPbPrDelay(525p) */
	0x22,            /* ; 9 StYPbPrDealy(525p) */
	0x22,            /* ; A ExtYPbPrDelay(750p) */
	0x22            /* B StYPbPrDealy(750p) */
};

static unsigned char XGI301TVDelayList2[] =
{
	0x22,           /* ; 0 ExtNTSCDelay */
	0x22,           /* ; 1 StNTSCDelay */
	0x22,           /* ; 2 ExtPALDelay */
	0x22,           /* ; 3 StPALDelay */
	0x22,           /* ; 4 ExtHiTVDelay */
	0x22,           /* ; 5 StHiTVDelay */
	0x22,           /* ; 6 ExtYPbPrDelay(525i) */
	0x22,           /* ; 7 StYPbPrDealy(525i) */
	0x22,           /* ; 8 ExtYPbPrDelay(525p) */
	0x22,           /* ; 9 StYPbPrDealy(525p) */
	0x22,           /* ; A ExtYPbPrDelay(750p) */
	0x22            /* ; B StYPbPrDealy(750p) */
};


static unsigned char TVAntiFlickList[] =
{/* NTSCAntiFlicker */
                      0x04,           /* ; 0 Adaptive */
                      0x00,           /* ; 1 new anti-flicker ? */
/* PALAntiFlicker */
                      0x04,           /* ; 0 Adaptive */
                      0x08,           /* ; 1 new anti-flicker ? */
/* HiTVAntiFlicker */
                      0x04,           /* ; 0 ? */
                      0x00            /* ; 1 new anti-flicker ? */
};


static unsigned char TVEdgeList[] =
{
      0x00,            /* ; 0 NTSC No Edge enhance */
      0x04,            /* ; 1 NTSC Adaptive Edge enhance */
      0x00,            /* ; 0 PAL No Edge enhance */
      0x04,            /* ; 1 PAL Adaptive Edge enhance */
      0x00,            /* ; 0 HiTV */
      0x00             /* ; 1 HiTV */
};

static unsigned long TVPhaseList[] =
{      0x08BAED21, /* ; 0 NTSC phase */
       0x00E3052A, /* ; 1 PAL phase */
       0x9B2EE421, /* ; 2 PAL-M phase */
       0xBA3EF421, /* ; 3 PAL-N phase */
       0xA7A28B1E, /* ; 4 NTSC 1024x768 */
       0xE00A831E, /* ; 5 PAL-M 1024x768 */
       0x00000000, /* ; 6 reserved */
       0x00000000, /* ; 7 reserved */
       0xD67BF021, /* ; 8 NTSC phase */
       0xE986092A, /* ; 9 PAL phase */
       0xA4EFE621, /* ; A PAL-M phase */
       0x4694F621, /* ; B PAL-N phase */
       0x8BDE711C, /* ; C NTSC 1024x768 */
       0xE00A831E  /* ; D PAL-M 1024x768 */
};

static unsigned char NTSCYFilter1[] =
{
		      0x00,0xF4,0x10,0x38     ,/* 0 : 320x text mode */
                      0x00,0xF4,0x10,0x38     ,/* 1 : 360x text mode */
                      0xEB,0x04,0x25,0x18     ,/* 2 : 640x text mode */
                      0xF1,0x04,0x1F,0x18     ,/* 3 : 720x text mode */
                      0x00,0xF4,0x10,0x38     ,/* 4 : 320x gra. mode */
                      0xEB,0x04,0x25,0x18     ,/* 5 : 640x gra. mode */
                      0xEB,0x15,0x25,0xF6     /* 6 : 800x gra. mode */
};

static unsigned char PALYFilter1[] =
{
		      0x00,0xF4,0x10,0x38, /* 0 : 320x text mode */
                      0x00,0xF4,0x10,0x38     ,/* 1 : 360x text mode */
                      0xF1,0xF7,0x1F,0x32     ,/* 2 : 640x text mode */
                      0xF3,0x00,0x1D,0x20     ,/* 3 : 720x text mode */
                      0x00,0xF4,0x10,0x38     ,/* 4 : 320x gra. mode */
                      0xF1,0xF7,0x1F,0x32     ,/* 5 : 640x gra. mode */
                      0xFC,0xFB,0x14,0x2A     /* 6 : 800x gra. mode */
};

static unsigned char PALMYFilter1[] =
{
		      0x00,0xF4,0x10,0x38, /* 0 : 320x text mode */
                      0x00,0xF4,0x10,0x38, /* 1 : 360x text mode */
                      0xEB,0x04,0x10,0x18, /* 2 : 640x text mode */
                      0xF7,0x06,0x19,0x14, /* 3 : 720x text mode */
                      0x00,0xF4,0x10,0x38, /* 4 : 320x gra. mode */
                      0xEB,0x04,0x25,0x18, /* 5 : 640x gra. mode */
                      0xEB,0x15,0x25,0xF6, /* 6 : 800x gra. mode */
                      0xFF,0xFF,0xFF,0xFF  /* End of Table */
};

static unsigned char PALNYFilter1[] =
{
		      0x00,0xF4,0x10,0x38, /* 0 : 320x text mode */
                      0x00,0xF4,0x10,0x38, /* 1 : 360x text mode */
                      0xEB,0x04,0x10,0x18, /* 2 : 640x text mode */
                      0xF7,0x06,0x19,0x14, /* 3 : 720x text mode */
                      0x00,0xF4,0x10,0x38, /* 4 : 320x gra. mode */
                      0xEB,0x04,0x25,0x18, /* 5 : 640x gra. mode */
                      0xEB,0x15,0x25,0xF6, /* 6 : 800x gra. mode */
                      0xFF,0xFF,0xFF,0xFF  /* End of Table */
};

static unsigned char NTSCYFilter2[] =
{
		      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 0 : 320x text mode */
                      0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 1 : 360x text mode */
                      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 2 : 640x text mode */
                      0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 3 : 720x text mode */
                      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 4 : 320x gra. mode */
                      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 5 : 640x gra. mode */
                      0x01,0x01,0xFC,0xF8,0x08,0x26,0x38, /* 6 : 800x gra. mode */
                      0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28  /* 7 : 1024xgra. mode */
};

static unsigned char PALYFilter2[] =
{
		      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 0 : 320x text mode */
                      0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 1 : 360x text mode */
                      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 2 : 640x text mode */
                      0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 3 : 720x text mode */
                      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 4 : 320x gra. mode */
                      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 5 : 640x gra. mode */
                      0x01,0x01,0xFC,0xF8,0x08,0x26,0x38, /* 6 : 800x gra. mode */
                      0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28  /* 7 : 1024xgra. mode */
};

static unsigned char PALMYFilter2[] =
{
		      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 0 : 320x text mode */
                      0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 1 : 360x text mode */
                      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 2 : 640x text mode */
                      0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 3 : 720x text mode */
                      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 4 : 320x gra. mode */
                      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 5 : 640x gra. mode */
                      0x01,0x01,0xFC,0xF8,0x08,0x26,0x38, /* 6 : 800x gra. mode */
                      0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28  /* 7 : 1024xgra. mode */
};

static unsigned char PALNYFilter2[] =
{
		      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 0 : 320x text mode */
                      0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 1 : 360x text mode */
                      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 2 : 640x text mode */
                      0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 3 : 720x text mode */
                      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 4 : 320x gra. mode */
                      0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 5 : 640x gra. mode */
                      0x01,0x01,0xFC,0xF8,0x08,0x26,0x38, /* 6 : 800x gra. mode */
                      0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28  /* 7 : 1024xgra. mode */
};

static unsigned char XGI_NTSC1024AdjTime[] =
{
      0xa7,0x07,0xf2,0x6e,0x17,0x8b,0x73,0x53,
      0x13,0x40,0x34,0xF4,0x63,0xBB,0xCC,0x7A,
      0x58,0xe4,0x73,0xd0,0x13
};

static struct XGI301C_Tap4TimingStruct HiTVTap4Timing[] =
{
	{0,{
	0x00,0x20,0x00,0x00,0x7F,0x20,0x02,0x7F, /* ; C0-C7 */
	0x7D,0x20,0x04,0x7F,0x7D,0x1F,0x06,0x7E, /* ; C8-CF */
	0x7C,0x1D,0x09,0x7E,0x7C,0x1B,0x0B,0x7E, /* ; D0-D7 */
	0x7C,0x19,0x0E,0x7D,0x7C,0x17,0x11,0x7C, /* ; D8-DF */
	0x7C,0x14,0x14,0x7C,0x7C,0x11,0x17,0x7C, /* ; E0-E7 */
	0x7D,0x0E,0x19,0x7C,0x7E,0x0B,0x1B,0x7C, /* ; EA-EF */
	0x7E,0x09,0x1D,0x7C,0x7F,0x06,0x1F,0x7C, /* ; F0-F7 */
	0x7F,0x04,0x20,0x7D,0x00,0x02,0x20,0x7E  /* ; F8-FF */
	}
	}
};

static struct XGI301C_Tap4TimingStruct EnlargeTap4Timing[] =
{
	{0,{
	0x00,0x20,0x00,0x00,0x7F,0x20,0x02,0x7F, /* ; C0-C7 */
	0x7D,0x20,0x04,0x7F,0x7D,0x1F,0x06,0x7E, /* ; C8-CF */
	0x7C,0x1D,0x09,0x7E,0x7C,0x1B,0x0B,0x7E, /* ; D0-D7 */
	0x7C,0x19,0x0E,0x7D,0x7C,0x17,0x11,0x7C, /* ; D8-DF */
	0x7C,0x14,0x14,0x7C,0x7C,0x11,0x17,0x7C, /* ; E0-E7 */
	0x7D,0x0E,0x19,0x7C,0x7E,0x0B,0x1B,0x7C, /* ; EA-EF */
	0x7E,0x09,0x1D,0x7C,0x7F,0x06,0x1F,0x7C, /* ; F0-F7 */
	0x7F,0x04,0x20,0x7D,0x00,0x02,0x20,0x7E   /* ; F8-FF */
	}
	}
};

static struct XGI301C_Tap4TimingStruct NoScaleTap4Timing[] =
{
	{0,{
	0x00,0x20,0x00,0x00,0x7F,0x20,0x02,0x7F, /* ; C0-C7 */
	0x7D,0x20,0x04,0x7F,0x7D,0x1F,0x06,0x7E, /* ; C8-CF */
	0x7C,0x1D,0x09,0x7E,0x7C,0x1B,0x0B,0x7E, /* ; D0-D7 */
	0x7C,0x19,0x0E,0x7D,0x7C,0x17,0x11,0x7C, /* ; D8-DF */
	0x7C,0x14,0x14,0x7C,0x7C,0x11,0x17,0x7C, /* ; E0-E7 */
	0x7D,0x0E,0x19,0x7C,0x7E,0x0B,0x1B,0x7C, /* ; EA-EF */
	0x7E,0x09,0x1D,0x7C,0x7F,0x06,0x1F,0x7C, /* ; F0-F7 */
	0x7F,0x04,0x20,0x7D,0x00,0x02,0x20,0x7E  /* ; F8-FF */
	}
	}
};

static struct XGI301C_Tap4TimingStruct PALTap4Timing[] =
{
	{600,  {
                0x05,0x19,0x05,0x7D,0x03,0x19,0x06,0x7E, /* ; C0-C7 */
                0x02,0x19,0x08,0x7D,0x01,0x18,0x0A,0x7D, /* ; C8-CF */
                0x00,0x18,0x0C,0x7C,0x7F,0x17,0x0E,0x7C, /* ; D0-D7 */
                0x7E,0x16,0x0F,0x7D,0x7E,0x14,0x11,0x7D, /* ; D8-DF */
                0x7D,0x13,0x13,0x7D,0x7D,0x11,0x14,0x7E, /* ; E0-E7 */
                0x7D,0x0F,0x16,0x7E,0x7D,0x0E,0x17,0x7E, /* ; EA-EF */
                0x7D,0x0C,0x18,0x7F,0x7D,0x0A,0x18,0x01, /* ; F0-F7 */
                0x7D,0x08,0x19,0x02,0x7D,0x06,0x19,0x04  /* ; F8-FF */
                }
 	},
        {768,	{
                0x08,0x12,0x08,0x7E,0x07,0x12,0x09,0x7E, /* ; C0-C7 */
                0x06,0x12,0x0A,0x7E,0x05,0x11,0x0B,0x7F, /* ; C8-CF */
                0x04,0x11,0x0C,0x7F,0x03,0x11,0x0C,0x00, /* ; D0-D7 */
                0x03,0x10,0x0D,0x00,0x02,0x0F,0x0E,0x01, /* ; D8-DF */
                0x01,0x0F,0x0F,0x01,0x01,0x0E,0x0F,0x02, /* ; E0-E7 */
                0x00,0x0D,0x10,0x03,0x7F,0x0C,0x11,0x04, /* ; EA-EF */
                0x7F,0x0C,0x11,0x04,0x7F,0x0B,0x11,0x05, /* ; F0-F7 */
                0x7E,0x0A,0x12,0x06,0x7E,0x09,0x12,0x07  /* ; F8-FF */
                }
        },
        {0xFFFF,
        	{
                0x04,0x1A,0x04,0x7E,0x02,0x1B,0x05,0x7E, /* ; C0-C7 */
                0x01,0x1A,0x07,0x7E,0x00,0x1A,0x09,0x7D, /* ; C8-CF */
                0x7F,0x19,0x0B,0x7D,0x7E,0x18,0x0D,0x7D, /* ; D0-D7 */
                0x7D,0x17,0x10,0x7C,0x7D,0x15,0x12,0x7C, /* ; D8-DF */
                0x7C,0x14,0x14,0x7C,0x7C,0x12,0x15,0x7D, /* ; E0-E7 */
                0x7C,0x10,0x17,0x7D,0x7C,0x0D,0x18,0x7F, /* ; EA-EF */
                0x7D,0x0B,0x19,0x7F,0x7D,0x09,0x1A,0x00, /* ; F0-F7 */
                0x7D,0x07,0x1A,0x02,0x7E,0x05,0x1B,0x02  /* ; F8-FF */
                }
        }
};

static struct XGI301C_Tap4TimingStruct NTSCTap4Timing[] =
{
	{480,	{
              	0x04,0x1A,0x04,0x7E,0x03,0x1A,0x06,0x7D, /* ; C0-C7 */
              	0x01,0x1A,0x08,0x7D,0x00,0x19,0x0A,0x7D, /* ; C8-CF */
              	0x7F,0x19,0x0C,0x7C,0x7E,0x18,0x0E,0x7C, /* ; D0-D7 */
              	0x7E,0x17,0x10,0x7B,0x7D,0x15,0x12,0x7C, /* ; D8-DF */
              	0x7D,0x13,0x13,0x7D,0x7C,0x12,0x15,0x7D, /* ; E0-E7 */
              	0x7C,0x10,0x17,0x7D,0x7C,0x0E,0x18,0x7E, /* ; EA-EF */
              	0x7D,0x0C,0x19,0x7E,0x7D,0x0A,0x19,0x00, /* ; F0-F7 */
              	0x7D,0x08,0x1A,0x01,0x7E,0x06,0x1A,0x02  /* ; F8-FF */
        	}
        },
        {600,	{
              	0x07,0x14,0x07,0x7E,0x06,0x14,0x09,0x7D, /* ; C0-C7 */
              	0x05,0x14,0x0A,0x7D,0x04,0x13,0x0B,0x7E, /* ; C8-CF */
              	0x03,0x13,0x0C,0x7E,0x02,0x12,0x0D,0x7F, /* ; D0-D7 */
              	0x01,0x12,0x0E,0x7F,0x01,0x11,0x0F,0x7F, /* ; D8-DF */
              	0x01,0x10,0x10,0x00,0x7F,0x0F,0x11,0x01, /* ; E0-E7 */
              	0x7F,0x0E,0x12,0x01,0x7E,0x0D,0x12,0x03, /* ; EA-EF */
              	0x7E,0x0C,0x13,0x03,0x7E,0x0B,0x13,0x04, /* ; F0-F7 */
              	0x7E,0x0A,0x14,0x04,0x7D,0x09,0x14,0x06  /* ; F8-FF */
        	}
        },
        {0xFFFF,
        	{
              	0x09,0x0F,0x09,0x7F,0x08,0x0F,0x09,0x00, /* ; C0-C7 */
              	0x07,0x0F,0x0A,0x00,0x06,0x0F,0x0A,0x01, /* ; C8-CF */
              	0x06,0x0E,0x0B,0x01,0x05,0x0E,0x0B,0x02, /* ; D0-D7 */
              	0x04,0x0E,0x0C,0x02,0x04,0x0D,0x0C,0x03, /* ; D8-DF */
              	0x03,0x0D,0x0D,0x03,0x02,0x0C,0x0D,0x05, /* ; E0-E7 */
              	0x02,0x0C,0x0E,0x04,0x01,0x0B,0x0E,0x06, /* ; EA-EF */
              	0x01,0x0B,0x0E,0x06,0x00,0x0A,0x0F,0x07, /* ; F0-F7 */
              	0x00,0x0A,0x0F,0x07,0x00,0x09,0x0F,0x08  /* ; F8-FF */
        	}
        }
};

static struct XGI301C_Tap4TimingStruct YPbPr525pTap4Timing[] =
{
	{480,	{
              	0x04,0x1A,0x04,0x7E,0x03,0x1A,0x06,0x7D, /* ; C0-C7 */
              	0x01,0x1A,0x08,0x7D,0x00,0x19,0x0A,0x7D, /* ; C8-CF */
              	0x7F,0x19,0x0C,0x7C,0x7E,0x18,0x0E,0x7C, /* ; D0-D7 */
              	0x7E,0x17,0x10,0x7B,0x7D,0x15,0x12,0x7C, /* ; D8-DF */
              	0x7D,0x13,0x13,0x7D,0x7C,0x12,0x15,0x7D, /* ; E0-E7 */
              	0x7C,0x10,0x17,0x7D,0x7C,0x0E,0x18,0x7E, /* ; EA-EF */
              	0x7D,0x0C,0x19,0x7E,0x7D,0x0A,0x19,0x00, /* ; F0-F7 */
              	0x7D,0x08,0x1A,0x01,0x7E,0x06,0x1A,0x02  /* ; F8-FF */
        	}
        },
        {600,	{
              	0x07,0x14,0x07,0x7E,0x06,0x14,0x09,0x7D, /* ; C0-C7 */
              	0x05,0x14,0x0A,0x7D,0x04,0x13,0x0B,0x7E, /* ; C8-CF */
              	0x03,0x13,0x0C,0x7E,0x02,0x12,0x0D,0x7F, /* ; D0-D7 */
              	0x01,0x12,0x0E,0x7F,0x01,0x11,0x0F,0x7F, /* ; D8-DF */
              	0x01,0x10,0x10,0x00,0x7F,0x0F,0x11,0x01, /* ; E0-E7 */
              	0x7F,0x0E,0x12,0x01,0x7E,0x0D,0x12,0x03, /* ; EA-EF */
              	0x7E,0x0C,0x13,0x03,0x7E,0x0B,0x13,0x04, /* ; F0-F7 */
              	0x7E,0x0A,0x14,0x04,0x7D,0x09,0x14,0x06  /* ; F8-FF */
        	}
        },
        {0xFFFF,
        	{
              	0x09,0x0F,0x09,0x7F,0x08,0x0F,0x09,0x00, /* ; C0-C7 */
              	0x07,0x0F,0x0A,0x00,0x06,0x0F,0x0A,0x01, /* ; C8-CF */
              	0x06,0x0E,0x0B,0x01,0x05,0x0E,0x0B,0x02, /* ; D0-D7 */
              	0x04,0x0E,0x0C,0x02,0x04,0x0D,0x0C,0x03, /* ; D8-DF */
              	0x03,0x0D,0x0D,0x03,0x02,0x0C,0x0D,0x05, /* ; E0-E7 */
              	0x02,0x0C,0x0E,0x04,0x01,0x0B,0x0E,0x06, /* ; EA-EF */
              	0x01,0x0B,0x0E,0x06,0x00,0x0A,0x0F,0x07, /* ; F0-F7 */
              	0x00,0x0A,0x0F,0x07,0x00,0x09,0x0F,0x08  /* ; F8-FF */
        	}
        }
};

static struct XGI301C_Tap4TimingStruct YPbPr525iTap4Timing[] =
{
	{480,	{
              	0x04,0x1A,0x04,0x7E,0x03,0x1A,0x06,0x7D, /* ; C0-C7 */
              	0x01,0x1A,0x08,0x7D,0x00,0x19,0x0A,0x7D, /* ; C8-CF */
              	0x7F,0x19,0x0C,0x7C,0x7E,0x18,0x0E,0x7C, /* ; D0-D7 */
              	0x7E,0x17,0x10,0x7B,0x7D,0x15,0x12,0x7C, /* ; D8-DF */
              	0x7D,0x13,0x13,0x7D,0x7C,0x12,0x15,0x7D, /* ; E0-E7 */
              	0x7C,0x10,0x17,0x7D,0x7C,0x0E,0x18,0x7E, /* ; EA-EF */
              	0x7D,0x0C,0x19,0x7E,0x7D,0x0A,0x19,0x00, /* ; F0-F7 */
              	0x7D,0x08,0x1A,0x01,0x7E,0x06,0x1A,0x02  /* ; F8-FF */
        	}
        },
        {600,	{
              	0x07,0x14,0x07,0x7E,0x06,0x14,0x09,0x7D, /* ; C0-C7 */
              	0x05,0x14,0x0A,0x7D,0x04,0x13,0x0B,0x7E, /* ; C8-CF */
              	0x03,0x13,0x0C,0x7E,0x02,0x12,0x0D,0x7F, /* ; D0-D7 */
              	0x01,0x12,0x0E,0x7F,0x01,0x11,0x0F,0x7F, /* ; D8-DF */
              	0x01,0x10,0x10,0x00,0x7F,0x0F,0x11,0x01, /* ; E0-E7 */
              	0x7F,0x0E,0x12,0x01,0x7E,0x0D,0x12,0x03, /* ; EA-EF */
              	0x7E,0x0C,0x13,0x03,0x7E,0x0B,0x13,0x04, /* ; F0-F7 */
              	0x7E,0x0A,0x14,0x04,0x7D,0x09,0x14,0x06  /* ; F8-FF */
        	}
        },
        {0xFFFF,
        	{
              	0x09,0x0F,0x09,0x7F,0x08,0x0F,0x09,0x00, /* ; C0-C7 */
              	0x07,0x0F,0x0A,0x00,0x06,0x0F,0x0A,0x01, /* ; C8-CF */
              	0x06,0x0E,0x0B,0x01,0x05,0x0E,0x0B,0x02, /* ; D0-D7 */
              	0x04,0x0E,0x0C,0x02,0x04,0x0D,0x0C,0x03, /* ; D8-DF */
              	0x03,0x0D,0x0D,0x03,0x02,0x0C,0x0D,0x05, /* ; E0-E7 */
              	0x02,0x0C,0x0E,0x04,0x01,0x0B,0x0E,0x06, /* ; EA-EF */
              	0x01,0x0B,0x0E,0x06,0x00,0x0A,0x0F,0x07, /* ; F0-F7 */
              	0x00,0x0A,0x0F,0x07,0x00,0x09,0x0F,0x08  /* ; F8-FF */
        	}
        }
};

static struct XGI301C_Tap4TimingStruct YPbPr750pTap4Timing[] =
{        {0xFFFF,
               {
               0x05,0x19,0x05,0x7D,0x03,0x19,0x06,0x7E, /* ; C0-C7 */
               0x02,0x19,0x08,0x7D,0x01,0x18,0x0A,0x7D, /* ; C8-CF */
               0x00,0x18,0x0C,0x7C,0x7F,0x17,0x0E,0x7C, /* ; D0-D7 */
               0x7E,0x16,0x0F,0x7D,0x7E,0x14,0x11,0x7D, /* ; D8-DF */
               0x7D,0x13,0x13,0x7D,0x7D,0x11,0x14,0x7E, /* ; E0-E7 */
               0x7D,0x0F,0x16,0x7E,0x7D,0x0E,0x17,0x7E, /* ; EA-EF */
               0x7D,0x0C,0x18,0x7F,0x7D,0x0A,0x18,0x01, /* ; F0-F7 */
               0x7D,0x08,0x19,0x02,0x7D,0x06,0x19,0x04 /* F8-FF */
               }
        }
};