/* 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]; static unsigned char XGI340_CR6F[8][32]; static unsigned char XGI340_CR89[8][2]; /* 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}; static unsigned char XGI330_sr25[2]; static unsigned char XGI330_sr31 = 0xc0; static unsigned char XGI330_sr32 = 0x11; static unsigned char XGI330_SR33; 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[1]; static struct XGI_TimingVStruct XGI_TimingV[1]; 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 */ }; 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}, /*chiawenfordot9->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[] = { /* { 12, 5, 896, 512,1344, 806}, // alan 09/12/2003 */ {42, 25, 1536, 419, 1344, 806}, /* { 12, 5, 896, 510,1344, 806}, // alan 09/12/2003 */ {48, 25, 1536, 369, 1344, 806}, /* { 32, 15,1008, 505,1344, 806}, // alan 09/12/2003 */ {42, 25, 1536, 419, 1344, 806}, /* { 32, 15,1008, 514,1344, 806}, // alan 09/12/2003 */ {48, 25, 1536, 369, 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}, {12, 5, 896, 500, 1344, 806}, {42, 25, 1024, 625, 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} }; 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 xgifb_lcd_1400x1050[] = { {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) */ }; 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 xgifb_lcd_1280x1024x75[] = { {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 xgifb_lcddldes_1400x1050[] = { {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 xgifb_lcddes_1400x1050[] = { {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) */ }; /* ;;1024x768x75Hz */ static struct XGI330_LCDDataDesStruct xgifb_lcddes_1024x768x75[] = { {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) */ }; /* ;;1024x768x75Hz */ static struct XGI330_LCDDataDesStruct XGI_CetLCDDes1024x768x75Data[] = { {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) */ }; /* ;;1280x1024x75Hz */ static struct XGI330_LCDDataDesStruct xgifb_lcddldes_1280x1024x75[] = { {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) */ }; /* 1280x1024x75Hz */ static struct XGI330_LCDDataDesStruct XGI_CetLCDDLDes1280x1024x75Data[] = { {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) */ }; /* ;;1280x1024x75Hz */ static struct XGI330_LCDDataDesStruct xgifb_lcddes_1280x1024x75[] = { {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) */ }; /* 1280x1024x75Hz */ static struct XGI330_LCDDataDesStruct XGI_CetLCDDes1280x1024x75Data[] = { {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) */ }; /* Scaling LCD 75Hz */ static struct XGI330_LCDDataDesStruct2 XGI_NoScalingDesDatax75[] = { {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 }; 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} }; 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} }; /* ;;[ycchen] 12/05/02 LCDHTxLCDVT=2048x1320 */ static struct XGI330_LVDSDataStruct XGI_LVDS1600x1200Data_1[] = { {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) */ }; /* ; 1024x768 Full-screen */ static struct XGI330_LVDSDataStruct XGI_LVDS1024x768Des_1x75[] = { {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) */ }; /* ; 1024x768 center-screen (Enh. Mode) */ static struct XGI330_LVDSDataStruct XGI_LVDS1024x768Des_2x75[] = { {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) */ }; /* ; 1024x768 center-screen (St.Mode) */ static struct XGI330_LVDSDataStruct XGI_LVDS1024x768Des_3x75[] = { {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 */ /* [ycchen] 02/18/03 Set DE as default */ static struct XGI330_LVDSDataStruct XGI_LVDS1280x1024Des_2x75[] = { {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) */ }; /* Scaling LCD 75Hz */ static struct XGI330_LCDDataDesStruct2 XGI_LVDSNoScalingDesDatax75[] = { {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) */ }; 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} }; /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */ static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11024x768_1_H[] = { { {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) */ }; /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */ static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11280x1024_1_H[] = { { {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) */ }; /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */ static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11024x768_2_H[] = { { {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) */ }; /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */ static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11280x1024_2_H[] = { { {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) */ }; /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */ static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11400x1050_1_H[] = { { {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) */ }; /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */ static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11400x1050_2_H[] = { { {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) */ }; /* ;302lv channelA [ycchen] 12/05/02 LCDHT=2048 */ /* ; CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */ static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11600x1200_1_H[] = { { {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) */ }; /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A+CR09(5->7) */ static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11024x768_1_V[] = { { {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) */ }; /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */ static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11024x768_2_V[] = { { {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) */ }; /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */ static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11280x1024_1_V[] = { { {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) */ }; /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */ static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11280x1024_2_V[] = { { {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) */ }; /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */ static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11400x1050_1_V[] = { { {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) */ }; /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */ static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11400x1050_2_V[] = { { {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) */ }; /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A+CR09(5->7) */ static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11600x1200_1_V[] = { { {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) */ }; /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */ static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11024x768_1_Hx75[] = { { {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) */ }; /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A+CR09(5->7) */ static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11024x768_1_Vx75[] = { { {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) */ }; /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */ static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11024x768_2_Hx75[] = { { {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) */ }; /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */ static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11024x768_2_Vx75[] = { { {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) */ }; /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */ static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11280x1024_1_Hx75[] = { { {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) */ }; /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */ static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11280x1024_1_Vx75[] = { { {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) */ }; /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */ static struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11280x1024_2_Hx75[] = { { {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) */ }; /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */ static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11280x1024_2_Vx75[] = { { {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) */ }; /*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*/ /* XGI_ExtLCDDes1280x1024x75Data */ {Panel1280x1024x75, 0x0019, 0x0001, 16}, /* XGI_StLCDDes1280x1024x75Data */ {Panel1280x1024x75, 0x0019, 0x0000, 17}, /* XGI_CetLCDDes1280x1024x75Data */ {Panel1280x1024x75, 0x0018, 0x0010, 18}, {PanelRef75Hz, 0x0008, 0x0008, 19}, /* XGI_NoScalingDesDatax75 */ {0xFF, 0x0000, 0x0000, 0} }; static struct XGI330_LCDDataTablStruct xgifb_epllcd_crt1[] = { {Panel1024x768, 0x0018, 0x0000, 0}, /* XGI_LVDSCRT11024x768_1 */ {Panel1024x768, 0x0018, 0x0010, 1}, /* XGI_LVDSCRT11024x768_2 */ {Panel1280x1024, 0x0018, 0x0000, 2}, /* XGI_LVDSCRT11280x1024_1 */ {Panel1280x1024, 0x0018, 0x0010, 3}, /* XGI_LVDSCRT11280x1024_2 */ {Panel1400x1050, 0x0018, 0x0000, 4}, /* XGI_LVDSCRT11400x1050_1 */ {Panel1400x1050, 0x0018, 0x0010, 5}, /* XGI_LVDSCRT11400x1050_2 */ {Panel1600x1200, 0x0018, 0x0000, 6}, /* XGI_LVDSCRT11600x1200_1 */ {Panel1024x768x75, 0x0018, 0x0000, 7}, /* XGI_LVDSCRT11024x768_1x75 */ {Panel1024x768x75, 0x0018, 0x0010, 8}, /* XGI_LVDSCRT11024x768_2x75 */ {Panel1280x1024x75, 0x0018, 0x0000, 9}, /*XGI_LVDSCRT11280x1024_1x75*/ {Panel1280x1024x75, 0x0018, 0x0010, 10},/*XGI_LVDSCRT11280x1024_2x75*/ {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 */ }; /* Chrontel 7017 TV List */ static struct XGI330_TVDataTablStruct xgifb_chrontel_tv[] = { {0x0011, 0x0000, 0}, /* UNTSC */ {0x0011, 0x0010, 1}, /* ONTSC */ {0x0011, 0x0001, 2}, /* UPAL */ {0x0011, 0x0011, 3}, /* OPAL */ {0xFFFF, 0x0000, 4} }; static unsigned short LCDLenList[] = { LVDSCRT1Len_H, LVDSCRT1Len_V, LVDSDataLen, LCDDesDataLen, LCDDataLen, LCDDesDataLen, 0, LCDDesDataLen, LCDDesDataLen, 0 }; /* Dual link only */ static struct XGI330_LCDCapStruct XGI_LCDDLCapList[] = { /* 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} }; 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} }; 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 */ /* 17 1024x768x60Hz (LCD 1024x768x60Hz) */ {Support32Bpp + NoSupportTV + SyncNN + SupportTV1024, RES1024x768x60, VCLK65, 0x06, 0x47, 0x37, 1024, 768}, {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 */ /* 22 1600x1200x60Hz */ {Support32Bpp + SupportLCD + SyncPP + SupportCRT2in301C, RES1600x1200x60, VCLK162, 0x09, 0x7A, 0x3c, 1600, 1200}, {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 */ }; 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; static unsigned char XGI330_CR49[] = {0xaa, 0x88}; static unsigned char XGI330_SR1F; static unsigned char XGI330_SR21 = 0xa3; static unsigned char XGI330_SR22 = 0xfb; static unsigned char XGI330_SR23 = 0xf6; static unsigned char XGI330_SR24 = 0xd; static unsigned char XGI330_CRT2Data_1_2; static unsigned char XGI330_CRT2Data_4_D; static unsigned char XGI330_CRT2Data_4_E; 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; static unsigned char XG40_I2CDefinition; static unsigned char XG20_CR97 = 0x10 ; static unsigned char XG21_DVOSetting; static unsigned char XG21_CR2E; static unsigned char XG21_CR2F; static unsigned char XG21_CR46; static unsigned char XG21_CR47; 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[2]; static unsigned char XG27_SR40 = 0x04 ; static unsigned char XG27_SR41 = 0x00 ; 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) */ {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) */ {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 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 ? */ 0x04, /* ; 0 Adaptive */ 0x08, /* ; 1 new anti-flicker ? */ 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 xgifb_palmn_yfilter1[] = { 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 xgifb_yfilter2[] = { 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 xgifb_tap4_timing[] = { {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 xgifb_ntsc_525_tap4_timing[] = { {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 */ } } };