Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm
[cascardo/linux.git] / drivers / staging / xgifb / vb_table.h
1 #define  Tap4
2
3
4 struct XGI_MCLKDataStruct XGI330New_MCLKData[] =
5 {
6  { 0x5c,0x23,0x01,166},
7  { 0x5c,0x23,0x01,166},
8  { 0x7C,0x08,0x80,200},
9  { 0x79,0x06,0x80,250},
10  { 0x29,0x01,0x81,300},
11  { 0x29,0x01,0x81,300},
12  { 0x29,0x01,0x81,300},
13  { 0x29,0x01,0x81,300}
14 };
15 //yilin modify for xgi20
16 struct XGI_MCLKDataStruct XGI340New_MCLKData[] =
17 {
18  { 0x16,0x01,0x01,166},
19  { 0x19,0x02,0x01,124},
20  { 0x7C,0x08,0x01,200},
21  { 0x79,0x06,0x01,250},
22  { 0x29,0x01,0x81,301},
23  { 0x5c,0x23,0x01,166},
24  { 0x5c,0x23,0x01,166},
25  { 0x5c,0x23,0x01,166}
26 };
27
28 struct XGI_MCLKDataStruct XGI27New_MCLKData[] =
29 {
30  { 0x5c,0x23,0x01,166},
31  { 0x19,0x02,0x01,124},
32  { 0x7C,0x08,0x80,200},
33  { 0x79,0x06,0x80,250},
34  { 0x29,0x01,0x81,300},
35  { 0x5c,0x23,0x01,166},
36  { 0x5c,0x23,0x01,166},
37  { 0x5c,0x23,0x01,166}
38 };
39
40 struct XGI_ECLKDataStruct XGI330_ECLKData[] =
41 {
42  { 0x7c,0x08,0x01,200},
43  { 0x7c,0x08,0x01,200},
44  { 0x7C,0x08,0x80,200},
45  { 0x79,0x06,0x80,250},
46  { 0x29,0x01,0x81,300},
47  { 0x29,0x01,0x81,300},
48  { 0x29,0x01,0x81,300},
49  { 0x29,0x01,0x81,300}
50 };
51 //yilin modify for xgi20
52 struct XGI_ECLKDataStruct XGI340_ECLKData[] =
53 {
54  { 0x5c,0x23,0x01,166},
55  { 0x55,0x84,0x01,123},
56  { 0x7C,0x08,0x01,200},
57  { 0x79,0x06,0x01,250},
58  { 0x29,0x01,0x81,301},
59  { 0x5c,0x23,0x01,166},
60  { 0x5c,0x23,0x01,166},
61  { 0x5c,0x23,0x01,166}
62 };
63
64
65
66 unsigned char XGI340_SR13[4][8] = {
67 {0x35,0x45,0xb1,0x00,0x00,0x00,0x00,0x00},/* SR13 */
68 {0x41,0x51,0x5c,0x00,0x00,0x00,0x00,0x00},/* SR14 */
69 {0x31,0x42,0x42,0x00,0x00,0x00,0x00,0x00},/* SR18 */
70 {0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00}/* SR1B */
71 };
72
73 unsigned char XGI340_cr41[24][8] =
74 {{0x20,0x50,0x60,0x00,0x00,0x00,0x00,0x00},/* 0 CR41 */
75 {0xc4,0x40,0x84,0x00,0x00,0x00,0x00,0x00},/* 1 CR8A */
76 {0xc4,0x40,0x84,0x00,0x00,0x00,0x00,0x00},/* 2 CR8B */
77 {0xb5,0xa4,0xa4,0x00,0x00,0x00,0x00,0x00},
78 {0xf0,0xf0,0xf0,0x00,0x00,0x00,0x00,0x00},
79 {0x90,0x90,0x24,0x00,0x00,0x00,0x00,0x00},/* 5 CR68 */
80 {0x77,0x77,0x44,0x00,0x00,0x00,0x00,0x00},/* 6 CR69 */
81 {0x77,0x77,0x44,0x00,0x00,0x00,0x00,0x00},/* 7 CR6A */
82 {0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00},/* 8 CR6D */
83 {0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00},/* 9 CR80 */
84 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/* 10 CR81 */
85 {0x88,0xa8,0x48,0x00,0x00,0x00,0x00,0x00},/* 11 CR82 */
86 {0x44,0x44,0x77,0x00,0x00,0x00,0x00,0x00},/* 12 CR85 */
87 {0x48,0x48,0x88,0x00,0x00,0x00,0x00,0x00},/* 13 CR86 */
88 {0x54,0x54,0x44,0x00,0x00,0x00,0x00,0x00},/* 14 CR90 */
89 {0x54,0x54,0x44,0x00,0x00,0x00,0x00,0x00},/* 15 CR91 */
90 {0x0a,0x0a,0x07,0x00,0x00,0x00,0x00,0x00},/* 16 CR92 */
91 {0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00},/* 17 CR93 */
92 {0x10,0x10,0x0A,0x00,0x00,0x00,0x00,0x00},/* 18 CR94 */
93 {0x11,0x11,0x0a,0x00,0x00,0x00,0x00,0x00},/* 19 CR95 */
94 {0x05,0x05,0x05,0x00,0x00,0x00,0x00,0x00},/* 20 CR96 */
95 {0xf0,0xf0,0xf0,0x00,0x00,0x00,0x00,0x00},/* 21 CRC3 */
96 {0x05,0x00,0x02,0x00,0x00,0x00,0x00,0x00},/* 22 CRC4 */
97 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}/* 23 CRC5 */
98 };
99
100
101 unsigned char XGI27_cr41[24][8] =
102 {
103 {0x20,0x40,0x60,0x00,0x00,0x00,0x00,0x00},/* 0 CR41 */
104 {0xC4,0x40,0x84,0x00,0x00,0x00,0x00,0x00},/* 1 CR8A */
105 {0xC4,0x40,0x84,0x00,0x00,0x00,0x00,0x00},/* 2 CR8B */
106 {0xB5,0x13,0xa4,0x00,0x00,0x00,0x00,0x00},/* 3 CR40[7],CR99[2:0],CR45[3:0]*/
107 {0xf0,0xf5,0xf0,0x00,0x00,0x00,0x00,0x00},/* 4 CR59 */
108 {0x90,0x90,0x24,0x00,0x00,0x00,0x00,0x00},/* 5 CR68 */
109 {0x77,0x67,0x44,0x00,0x00,0x00,0x00,0x00},/* 6 CR69 */
110 {0x77,0x77,0x44,0x00,0x00,0x00,0x00,0x00},/* 7 CR6A */
111 {0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00},/* 8 CR6D */
112 {0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00},/* 9 CR80 */
113 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/* 10 CR81 */
114 {0x88,0xcc,0x48,0x00,0x00,0x00,0x00,0x00},/* 11 CR82 */
115 {0x44,0x88,0x77,0x00,0x00,0x00,0x00,0x00},/* 12 CR85 */
116 {0x48,0x88,0x88,0x00,0x00,0x00,0x00,0x00},/* 13 CR86 */
117 {0x54,0x32,0x44,0x00,0x00,0x00,0x00,0x00},/* 14 CR90 */
118 {0x54,0x33,0x44,0x00,0x00,0x00,0x00,0x00},/* 15 CR91 */
119 {0x0a,0x07,0x07,0x00,0x00,0x00,0x00,0x00},/* 16 CR92 */
120 {0x44,0x63,0x44,0x00,0x00,0x00,0x00,0x00},/* 17 CR93 */
121 {0x10,0x14,0x0A,0x00,0x00,0x00,0x00,0x00},/* 18 CR94 */
122 {0x11,0x0B,0x0C,0x00,0x00,0x00,0x00,0x00},/* 19 CR95 */
123 {0x05,0x22,0x05,0x00,0x00,0x00,0x00,0x00},/* 20 CR96 */
124 {0xf0,0xf0,0x00,0x00,0x00,0x00,0x00,0x00},/* 21 CRC3 */
125 {0x05,0x00,0x02,0x00,0x00,0x00,0x00,0x00},/* 22 CRC4 */
126 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}/* 23 CRC5 */
127 };
128
129 unsigned char XGI340_CR6B[8][4] = {
130 {0xaa,0xaa,0xaa,0xaa},
131 {0xaa,0xaa,0xaa,0xaa},
132 {0xaa,0xaa,0xaa,0xaa},
133 {0x00,0x00,0x00,0x00},
134 {0x00,0x00,0x00,0x00},
135 {0x00,0x00,0x00,0x00},
136 {0x00,0x00,0x00,0x00},
137 {0x00,0x00,0x00,0x00}
138 };
139
140 unsigned char XGI340_CR6E[8][4] = {
141 {0x00,0x00,0x00,0x00},
142 {0x00,0x00,0x00,0x00},
143 {0x00,0x00,0x00,0x00},
144 {0x00,0x00,0x00,0x00},
145 {0x00,0x00,0x00,0x00},
146 {0x00,0x00,0x00,0x00},
147 {0x00,0x00,0x00,0x00},
148 {0x00,0x00,0x00,0x00}
149 };
150
151 unsigned char XGI340_CR6F[8][32] = {
152 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
153 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
154 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
155 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
156 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
157 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
158 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
159 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
160 };
161
162 unsigned char XGI340_CR89[8][2] = {
163 {0x00,0x00},
164 {0x00,0x00},
165 {0x00,0x00},
166 {0x00,0x00},
167 {0x00,0x00},
168 {0x00,0x00},
169 {0x00,0x00},
170 {0x00,0x00}
171 };
172                          /* CR47,CR48,CR49,CR4A,CR4B,CR4C,CR70,CR71,CR74,CR75,CR76,CR77 */
173 unsigned char XGI340_AGPReg[12] = {0x28, 0x23, 0x00, 0x20, 0x00, 0x20, 0x00,
174                                    0x05, 0xd0, 0x10, 0x10, 0x00};
175
176 unsigned char XGI340_SR16[4] = {0x03, 0x83, 0x03, 0x83};
177
178 unsigned char XGI330_SR15_1[8][8] = {
179 {0x0,0x0,0x00,0x00,0x20,0x20,0x00,0x00},
180 {0x5,0x15,0x15,0x15,0x15,0x15,0x00,0x00},
181 {0xba,0xba,0xba,0xba,0xBA,0xBA,0x00,0x00},
182 {0x55,0x57,0x57,0xAB,0xAB,0xAB,0x00,0x00},
183 {0x60,0x34,0x34,0x34,0x34,0x34,0x00,0x00},
184 {0x0,0x80,0x80,0x80,0x83,0x83,0x00,0x00},
185 {0x50,0x50,0x50,0x3C,0x3C,0x3C,0x00,0x00},
186 {0x0,0xa5,0xfb,0xf6,0xF6,0xF6,0x00,0x00}
187 };
188
189 unsigned char XGI330_cr40_1[15][8] = {
190 {0x66,0x40,0x40,0x28,0x24,0x24,0x00,0x00},
191 {0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
192 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
193 {0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00},
194 {0x00,0xf0,0xf0,0xf0,0xF0,0xF0,0x00,0x00},
195 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
196 {0x10,0x10,0x10,0x10,0x20,0x20,0x00,0x00},
197 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
198 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
199 {0x88,0x88,0x88,0xAA,0xAC,0xAC,0x00,0x00},
200 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
201 {0x00,0x00,0x00,0x00,0x77,0x77,0x00,0x00},
202 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
203 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
204 {0x00,0xA2,0x00,0x00,0xA2,0xA2,0x00,0x00},
205 };
206
207 unsigned char XGI330_sr25[] = {0x00, 0x0};
208 unsigned char XGI330_sr31 = 0xc0;
209 unsigned char XGI330_sr32 = 0x11;
210 unsigned char XGI330_SR33 = 0x00;
211 unsigned char XG40_CRCF = 0x13;
212 unsigned char XG40_DRAMTypeDefinition = 0xFF ;
213
214 struct XGI_StStruct XGI330_SModeIDTable[] =
215 {
216  {0x01,0x9208,0x01,0x00,0x10,0x00,0x00,0x01,0x00},
217  {0x01,0x1210,0x14,0x01,0x00,0x01,0x00,0x01,0x00},
218  {0x01,0x1010,0x17,0x02,0x11,0x00,0x00,0x01,0x01},
219  {0x03,0x8208,0x03,0x00,0x14,0x00,0x00,0x01,0x02},
220  {0x03,0x0210,0x16,0x01,0x04,0x01,0x00,0x01,0x02},
221  {0x03,0x0010,0x18,0x02,0x15,0x00,0x00,0x01,0x03},
222  {0x05,0x9209,0x05,0x00,0x10,0x00,0x00,0x00,0x04},
223  {0x06,0x8209,0x06,0x00,0x14,0x00,0x00,0x00,0x05},
224  {0x07,0x0000,0x07,0x03,0x05,0x03,0x00,0x01,0x03},
225  {0x07,0x0000,0x19,0x02,0x15,0x02,0x00,0x01,0x03},
226  {0x0d,0x920a,0x0d,0x00,0x10,0x00,0x00,0x00,0x04},
227  {0x0e,0x820a,0x0e,0x00,0x14,0x00,0x00,0x00,0x05},
228  {0x0f,0x0202,0x11,0x01,0x04,0x01,0x00,0x00,0x05},
229  {0x10,0x0212,0x12,0x01,0x04,0x01,0x00,0x00,0x05},
230  {0x11,0x0212,0x1a,0x04,0x24,0x04,0x00,0x00,0x05},
231  {0x12,0x0212,0x1b,0x04,0x24,0x04,0x00,0x00,0x05},
232  {0x13,0x021b,0x1c,0x00,0x14,0x00,0x00,0x00,0x04},
233  {0x12,0x0010,0x18,0x02,0x24,0x02,0x00,0x00,0x05},/* St_CRT2CRTC2 not sure */
234  {0x12,0x0210,0x18,0x01,0x24,0x01,0x00,0x00,0x05},/* St_CRT2CRTC2 not sure */
235  {0xff,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
236 };
237
238
239 struct XGI_ExtStruct  XGI330_EModeIDTable[] =
240 {
241  {0x6a,0x2212,0x0407,0x3a81,0x0102,0x08,0x07,0x00,0x00,0x07,0x0e},
242  {0x2e,0x0a1b,0x0306,0x3a57,0x0101,0x08,0x06,0x00,0x00,0x05,0x06},
243  {0x2f,0x0a1b,0x0305,0x3a50,0x0100,0x08,0x05,0x00,0x00,0x05,0x05},
244  {0x30,0x2a1b,0x0407,0x3a81,0x0103,0x08,0x07,0x00,0x00,0x07,0x0e},
245  {0x31,0x0a1b,0x030d,0x3b85,0x0000,0x08,0x0d,0x00,0x00,0x06,0x3d},
246  {0x32,0x0a1b,0x0a0e,0x3b8c,0x0000,0x08,0x0e,0x00,0x00,0x06,0x3e},
247  {0x33,0x0a1d,0x0a0d,0x3b85,0x0000,0x08,0x0d,0x00,0x00,0x06,0x3d},
248  {0x34,0x2a1d,0x0a0e,0x3b8c,0x0000,0x08,0x0e,0x00,0x00,0x06,0x3e},
249  {0x35,0x0a1f,0x0a0d,0x3b85,0x0000,0x08,0x0d,0x00,0x00,0x06,0x3d},
250  {0x36,0x2a1f,0x0a0e,0x3b8c,0x0000,0x08,0x0e,0x00,0x00,0x06,0x3e},
251  {0x37,0x0212,0x0508,0x3aab,0x0104,0x08,0x08,0x00,0x00,0x00,0x16},
252  {0x38,0x0a1b,0x0508,0x3aab,0x0105,0x08,0x08,0x00,0x00,0x00,0x16},
253  {0x3a,0x0e3b,0x0609,0x3adc,0x0107,0x08,0x09,0x00,0x00,0x00,0x1e},
254  {0x3c,0x0e3b,0x070a,0x3af2,0x0130,0x08,0x0a,0x00,0x00,0x00,0x22},      /* mode 1600x1200 add CRT2MODE [2003/10/07] */
255  {0x3d,0x0e7d,0x070a,0x3af2,0x0131,0x08,0x0a,0x00,0x00,0x00,0x22},      /* mode 1600x1200 add CRT2MODE */
256  {0x40,0x9a1c,0x0000,0x3a34,0x010d,0x08,0x00,0x00,0x00,0x04,0x00},
257  {0x41,0x9a1d,0x0000,0x3a34,0x010e,0x08,0x00,0x00,0x00,0x04,0x00},      /* ModeIdIndex = 0x10 */
258  {0x43,0x0a1c,0x0306,0x3a57,0x0110,0x08,0x06,0x00,0x00,0x05,0x06},
259  {0x44,0x0a1d,0x0306,0x3a57,0x0111,0x08,0x06,0x00,0x00,0x05,0x06},
260  {0x46,0x2a1c,0x0407,0x3a81,0x0113,0x08,0x07,0x00,0x00,0x07,0x0e},
261  {0x47,0x2a1d,0x0407,0x3a81,0x0114,0x08,0x07,0x00,0x00,0x07,0x0e},
262  {0x49,0x0a3c,0x0508,0x3aab,0x0116,0x08,0x08,0x00,0x00,0x00,0x16},
263  {0x4a,0x0a3d,0x0508,0x3aab,0x0117,0x08,0x08,0x00,0x00,0x00,0x16},
264  {0x4c,0x0e7c,0x0609,0x3adc,0x0119,0x08,0x09,0x00,0x00,0x00,0x1e},
265  {0x4d,0x0e7d,0x0609,0x3adc,0x011a,0x08,0x09,0x00,0x00,0x00,0x1e},
266  {0x50,0x9a1b,0x0001,0x3a3b,0x0132,0x08,0x01,0x00,0x00,0x04,0x02},
267  {0x51,0xba1b,0x0103,0x3a42,0x0133,0x08,0x03,0x00,0x00,0x07,0x03},
268  {0x52,0x9a1b,0x0204,0x3a49,0x0134,0x08,0x04,0x00,0x00,0x00,0x04},
269  {0x56,0x9a1d,0x0001,0x3a3b,0x0135,0x08,0x01,0x00,0x00,0x04,0x02},
270  {0x57,0xba1d,0x0103,0x3a42,0x0136,0x08,0x03,0x00,0x00,0x07,0x03},
271  {0x58,0x9a1d,0x0204,0x3a49,0x0137,0x08,0x04,0x00,0x00,0x00,0x04},
272  {0x59,0x9a1b,0x0000,0x3a34,0x0138,0x08,0x00,0x00,0x00,0x04,0x00},
273  {0x5A,0x021b,0x0014,0x3b83,0x0138,0x08,0x01,0x00,0x00,0x04,0x3f},      /* ModeIdIndex = 0x20 */
274  {0x5B,0x0a1d,0x0014,0x3b83,0x0135,0x08,0x01,0x00,0x00,0x04,0x3f},
275  {0x5d,0x0a1d,0x0305,0x3a50,0x0139,0x08,0x05,0x00,0x00,0x07,0x05},
276  {0x62,0x0a3f,0x0306,0x3a57,0x013a,0x08,0x06,0x00,0x00,0x05,0x06},
277  {0x63,0x2a3f,0x0407,0x3a81,0x013b,0x08,0x07,0x00,0x00,0x07,0x0e},
278  {0x64,0x0a7f,0x0508,0x3aab,0x013c,0x08,0x08,0x00,0x00,0x00,0x16},
279  {0x65,0x0eff,0x0609,0x3adc,0x013d,0x08,0x09,0x00,0x00,0x00,0x1e},
280  {0x66,0x0eff,0x070a,0x3af2,0x013e,0x08,0x0a,0x00,0x00,0x00,0x22},      /* mode 1600x1200 add CRT2MODE */
281  {0x68,0x067b,0x080b,0x3b17,0x013f,0x08,0x0b,0x00,0x00,0x00,0x29},
282  {0x69,0x06fd,0x080b,0x3b17,0x0140,0x08,0x0b,0x00,0x00,0x00,0x29},
283  {0x6b,0x07ff,0x080b,0x3b17,0x0141,0x10,0x0b,0x00,0x00,0x00,0x29},
284  {0x6c,0x067b,0x090c,0x3b37,0x0000,0x08,0x0c,0x00,0x00,0x00,0x2f},
285  {0x6d,0x06fd,0x090c,0x3b37,0x0000,0x10,0x0c,0x00,0x00,0x00,0x2f},
286  {0x6e,0x07ff,0x090c,0x3b37,0x0000,0x10,0x0c,0x00,0x00,0x00,0x2f},
287  {0x70,0x2a1b,0x0410,0x3b52,0x0000,0x08,0x10,0x00,0x00,0x07,0x34},
288  {0x71,0x0a1b,0x0511,0x3b63,0x0000,0x08,0x11,0x00,0x00,0x00,0x37},
289  {0x74,0x0a1d,0x0511,0x3b63,0x0000,0x08,0x11,0x00,0x00,0x00,0x37},      /* ModeIdIndex = 0x30 */
290  {0x75,0x0a3d,0x0612,0x3b74,0x0000,0x08,0x12,0x00,0x00,0x00,0x3a},
291  {0x76,0x2a1f,0x0410,0x3b52,0x0000,0x08,0x10,0x00,0x00,0x07,0x34},
292  {0x77,0x0a1f,0x0511,0x3b63,0x0000,0x08,0x11,0x00,0x00,0x00,0x37},
293  {0x78,0x0a3f,0x0612,0x3b74,0x0000,0x08,0x12,0x00,0x00,0x00,0x3a},
294  {0x79,0x0a3b,0x0612,0x3b74,0x0000,0x08,0x12,0x00,0x00,0x00,0x3a},
295  {0x7a,0x2a1d,0x0410,0x3b52,0x0000,0x08,0x10,0x00,0x00,0x07,0x34},
296  {0x7b,0x0e3b,0x060f,0x3ad0,0x0000,0x08,0x0f,0x00,0x00,0x00,0x1d},
297  {0x7c,0x0e7d,0x060f,0x3ad0,0x0000,0x08,0x0f,0x00,0x00,0x00,0x1d},
298  {0x7d,0x0eff,0x060f,0x3ad0,0x0000,0x08,0x0f,0x00,0x00,0x00,0x1d},
299  {0x20,0x0e3b,0x0D16,0x49e0,0x0000,0x08,0x16,0x00,0x00,0x00,0x43},
300  {0x21,0x0e7d,0x0D16,0x49e0,0x0000,0x08,0x16,0x00,0x00,0x00,0x43},
301  {0x22,0x0eff,0x0D16,0x49e0,0x0000,0x08,0x16,0x00,0x00,0x00,0x43},
302  {0x23,0x0e3b,0x0614,0x49d5,0x0000,0x08,0x14,0x00,0x00,0x00,0x41},
303  {0x24,0x0e7d,0x0614,0x49d5,0x0000,0x08,0x14,0x00,0x00,0x00,0x41},
304  {0x25,0x0eff,0x0614,0x49d5,0x0000,0x08,0x14,0x00,0x00,0x00,0x41},
305  {0x26,0x063b,0x0c15,0x49dc,0x0000,0x08,0x15,0x00,0x00,0x00,0x42},      /* ModeIdIndex = 0x40 */
306  {0x27,0x067d,0x0c15,0x49dc,0x0000,0x08,0x15,0x00,0x00,0x00,0x42},
307  {0x28,0x06ff,0x0c15,0x49dc,0x0000,0x08,0x15,0x00,0x00,0x00,0x42},
308  {0xff,0x0000,0x0000,0x0000,0x0000,0x00,0x00,0x00,0x00,0x00,0x00}
309 };
310
311 struct XGI_StandTableStruct XGI330_StandTable[] =
312 {
313 /* MD_0_200 */
314  {
315   0x28,0x18,0x08,0x0800,
316   {0x09,0x03,0x00,0x02},
317   0x63,
318   {0x2d,0x27,0x28,0x90,0x2b,0xa0,0xbf,0x1f,
319    0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,
320    0x9c,0x8e,0x8f,0x14,0x1f,0x96,0xb9,0xa3,
321    0xff},
322   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
323    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
324    0x08,0x00,0x0f,0x00},
325   {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
326    0xff}
327  },
328 /* MD_1_200 */
329  {
330   0x28,0x18,0x08,0x0800,
331   {0x09,0x03,0x00,0x02},
332   0x63,
333   {0x2d,0x27,0x28,0x90,0x2b,0xa0,0xbf,0x1f,
334    0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,
335    0x9c,0x8e,0x8f,0x14,0x1f,0x96,0xb9,0xa3,
336    0xff},
337   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
338    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
339    0x08,0x00,0x0f,0x00},
340   {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
341    0xff}
342  },
343 /* MD_2_200 */
344  {
345   0x50,0x18,0x08,0x1000,
346   {0x01,0x03,0x00,0x02},
347   0x63,
348   {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
349    0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,
350    0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,
351    0xff},
352   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
353    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
354    0x08,0x00,0x0f,0x00},
355   {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
356    0xff}
357  },
358 /* MD_3_200 */
359  {
360   0x50,0x18,0x08,0x1000,
361   {0x01,0x03,0x00,0x02},
362   0x63,
363   {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
364    0x00,0xc7,0x06,0x07,0x00,0x00,0x00,0x00,
365    0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,
366    0xff},
367   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
368    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
369    0x08,0x00,0x0f,0x00},
370   {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
371    0xff}
372  },
373 /* MD_4 */
374  {
375   0x28,0x18,0x08,0x4000,
376   {0x09,0x03,0x00,0x02},
377   0x63,
378   {0x2d,0x27,0x28,0x90,0x2c,0x80,0xbf,0x1f,
379    0x00,0xc1,0x00,0x00,0x00,0x00,0x00,0x00,
380    0x9c,0x8e,0x8f,0x14,0x00,0x96,0xb9,0xa2,
381    0xff},
382   {0x00,0x13,0x15,0x17,0x02,0x04,0x06,0x07,
383    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
384    0x01,0x00,0x03,0x00},
385   {0x00,0x00,0x00,0x00,0x00,0x30,0x0f,0x00,
386    0xff}
387  },
388 /* MD_5 */
389  {
390   0x28,0x18,0x08,0x4000,
391   {0x09,0x03,0x00,0x02},
392   0x63,
393   {0x2d,0x27,0x28,0x90,0x2c,0x80,0xbf,0x1f,
394    0x00,0xc1,0x00,0x00,0x00,0x00,0x00,0x00,
395    0x9c,0x8e,0x8f,0x14,0x00,0x96,0xb9,0xa2,
396    0xff},
397   {0x00,0x13,0x15,0x17,0x02,0x04,0x06,0x07,
398    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
399    0x01,0x00,0x03,0x00},
400   {0x00,0x00,0x00,0x00,0x00,0x30,0x0f,0x00,
401    0xff}
402  },
403 /* MD_6 */
404  {
405   0x50,0x18,0x08,0x4000,
406   {0x01,0x01,0x00,0x06},
407   0x63,
408   {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
409    0x00,0xc1,0x00,0x00,0x00,0x00,0x00,0x00,
410    0x9c,0x8e,0x8f,0x28,0x00,0x96,0xb9,0xc2,
411    0xff},
412   {0x00,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
413    0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
414    0x01,0x00,0x01,0x00},
415   {0x00,0x00,0x00,0x00,0x00,0x00,0x0d,0x00,
416    0xff}
417  },
418 /* MD_7 */
419  {
420   0x50,0x18,0x0e,0x1000,
421   {0x00,0x03,0x00,0x03},
422   0xa6,
423   {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
424    0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,
425    0x83,0x85,0x5d,0x28,0x0d,0x63,0xba,0xa3,
426    0xff},
427   {0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
428    0x10,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
429    0x0e,0x00,0x0f,0x08},
430   {0x00,0x00,0x00,0x00,0x00,0x10,0x0a,0x00,
431    0xff}
432  },
433 /* MDA_DAC */
434  {
435   0x00,0x00,0x00,0x0000,
436   {0x00,0x00,0x00,0x15},
437   0x15,
438   {0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
439    0x15,0x15,0x15,0x15,0x15,0x15,0x3f,0x3f,
440    0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x00,0x00,
441    0x00},
442   {0x00,0x00,0x00,0x00,0x00,0x15,0x15,0x15,
443    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
444    0x15,0x15,0x15,0x15},
445   {0x15,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
446    0x3f}
447  },
448 /* CGA_DAC */
449  {
450   0x00,0x10,0x04,0x0114,
451   {0x11,0x09,0x15,0x00},
452   0x10,
453   {0x04,0x14,0x01,0x11,0x09,0x15,0x2a,0x3a,
454    0x2e,0x3e,0x2b,0x3b,0x2f,0x3f,0x2a,0x3a,
455    0x2e,0x3e,0x2b,0x3b,0x2f,0x3f,0x00,0x10,
456    0x04},
457   {0x14,0x01,0x11,0x09,0x15,0x00,0x10,0x04,
458    0x14,0x01,0x11,0x09,0x15,0x2a,0x3a,0x2e,
459    0x3e,0x2b,0x3b,0x2f},
460   {0x3f,0x2a,0x3a,0x2e,0x3e,0x2b,0x3b,0x2f,
461    0x3f}
462  },
463 /* EGA_DAC */
464  {
465   0x00,0x10,0x04,0x0114,
466   {0x11,0x05,0x15,0x20},
467   0x30,
468   {0x24,0x34,0x21,0x31,0x25,0x35,0x08,0x18,
469    0x0c,0x1c,0x09,0x19,0x0d,0x1d,0x28,0x38,
470    0x2c,0x3c,0x29,0x39,0x2d,0x3d,0x02,0x12,
471    0x06},
472   {0x16,0x03,0x13,0x07,0x17,0x22,0x32,0x26,
473    0x36,0x23,0x33,0x27,0x37,0x0a,0x1a,0x0e,
474    0x1e,0x0b,0x1b,0x0f},
475   {0x1f,0x2a,0x3a,0x2e,0x3e,0x2b,0x3b,0x2f,
476    0x3f}
477  },
478 /* VGA_DAC */
479  {
480   0x00,0x10,0x04,0x0114,
481   {0x11,0x09,0x15,0x2a},
482   0x3a,
483   {0x2e,0x3e,0x2b,0x3b,0x2f,0x3f,0x00,0x05,
484    0x08,0x0b,0x0e,0x11,0x14,0x18,0x1c,0x20,
485    0x24,0x28,0x2d,0x32,0x38,0x3f,0x00,0x10,
486    0x1f},
487   {0x2f,0x3f,0x1f,0x27,0x2f,0x37,0x3f,0x2d,
488    0x31,0x36,0x3a,0x3f,0x00,0x07,0x0e,0x15,
489    0x1c,0x0e,0x11,0x15},
490   {0x18,0x1c,0x14,0x16,0x18,0x1a,0x1c,0x00,
491    0x04}
492  },
493  {
494   0x08,0x0c,0x10,0x0a08,
495   {0x0c,0x0e,0x10,0x0b},
496   0x0c,
497   {0x0d,0x0f,0x10,0x10,0x01,0x08,0x00,0x00,
498    0x00,0x00,0x01,0x00,0x02,0x02,0x01,0x00,
499    0x04,0x04,0x01,0x00,0x05,0x02,0x05,0x00,
500    0x06},
501   {0x01,0x06,0x05,0x06,0x00,0x08,0x01,0x08,
502    0x00,0x07,0x02,0x07,0x06,0x07,0x00,0x00,
503    0x00,0x00,0x00,0x00},
504   {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
505    0x00}
506  },
507 /* MD_D */
508  {
509   0x28,0x18,0x08,0x2000,
510   {0x09,0x0f,0x00,0x06},
511   0x63,
512   {0x2d,0x27,0x28,0x90,0x2c,0x80,0xbf,0x1f,
513    0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
514    0x9c,0x8e,0x8f,0x14,0x00,0x96,0xb9,0xe3,
515    0xff},
516   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
517    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
518    0x01,0x00,0x0f,0x00},
519   {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
520    0xff}
521  },
522 /* MD_E */
523  {
524   0x50,0x18,0x08,0x4000,
525   {0x01,0x0f,0x00,0x06},
526   0x63,
527   {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
528    0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
529    0x9c,0x8e,0x8f,0x28,0x00,0x96,0xb9,0xe3,
530    0xff},
531   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
532    0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
533    0x01,0x00,0x0f,0x00},
534   {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
535    0xff}
536  },
537 /* ExtVGATable */
538  {
539   0x00,0x00,0x00,0x0000,
540   {0x01,0x0f,0x00,0x0e},
541   0x23,
542   {0x5f,0x4f,0x50,0x82,0x54,0x80,0x0b,0x3e,
543    0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
544    0xea,0x8c,0xdf,0x28,0x40,0xe7,0x04,0xa3,
545    0xff},
546   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
547    0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
548    0x01,0x00,0x00,0x00},
549   {0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,
550    0xff}
551  },
552 /* ROM_SAVEPTR */
553  {
554   0x9f,0x3b,0x00,0x00c0,
555   {0x00,0x00,0x00,0x00},
556   0x00,
557   {0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x3f,
558    0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
559    0x00,0x00,0x1a,0x00,0xac,0x3e,0x00,0xc0,
560    0x00},
561   {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
562    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
563    0x00,0x00,0x00,0x00},
564   {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
565    0x00}
566  },
567 /* MD_F */
568  {
569   0x50,0x18,0x0e,0x8000,
570   {0x01,0x0f,0x00,0x06},
571   0xa2,
572   {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
573    0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
574    0x82,0x84,0x5d,0x28,0x0f,0x63,0xba,0xe3,
575    0xff},
576   {0x00,0x08,0x00,0x00,0x18,0x18,0x00,0x00,
577    0x00,0x08,0x00,0x00,0x00,0x18,0x00,0x00,
578    0x0b,0x00,0x05,0x00},
579   {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x05,
580    0xff}
581  },
582 /* MD_10 */
583  {
584   0x50,0x18,0x0e,0x8000,
585   {0x01,0x0f,0x00,0x06},
586   0xa3,
587   {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
588    0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
589    0x82,0x84,0x5d,0x28,0x0f,0x63,0xba,0xe3,
590    0xff},
591   {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
592    0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
593    0x01,0x00,0x0f,0x00},
594   {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
595    0xff}
596  },
597 /* MD_0_350 */
598  {
599   0x28,0x18,0x0e,0x0800,
600   {0x09,0x03,0x00,0x02},
601   0xa3,
602   {0x2d,0x27,0x28,0x90,0x2b,0xb1,0xbf,0x1f,
603    0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,
604    0x83,0x85,0x5d,0x14,0x1f,0x63,0xba,0xa3,
605    0xff},
606   {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
607    0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
608    0x08,0x00,0x0f,0x00},
609   {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
610    0xff}
611  },
612 /* MD_1_350 */
613  {
614   0x28,0x18,0x0e,0x0800,
615   {0x09,0x03,0x00,0x02},
616   0xa3,
617   {0x2d,0x27,0x28,0x90,0x2b,0xa0,0xbf,0x1f,
618    0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,
619    0x83,0x85,0x5d,0x14,0x1f,0x63,0xba,0xa3,
620    0xff},
621   {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
622    0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
623    0x08,0x00,0x0f,0x00},
624   {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
625    0xff}
626  },
627 /* MD_2_350 */
628  {
629   0x50,0x18,0x0e,0x1000,
630   {0x01,0x03,0x00,0x02},
631   0xa3,
632   {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
633    0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,
634    0x83,0x85,0x5d,0x28,0x1f,0x63,0xba,0xa3,
635    0xff},
636   {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
637    0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
638    0x08,0x00,0x0f,0x00},
639   {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
640    0xff}
641  },
642 /* MD_3_350 */
643  {
644   0x50,0x18,0x0e,0x1000,
645   {0x01,0x03,0x00,0x02},
646   0xa3,
647   {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
648    0x00,0x4d,0x0b,0x0c,0x00,0x00,0x00,0x00,
649    0x83,0x85,0x5d,0x28,0x1f,0x63,0xba,0xa3,
650    0xff},
651   {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
652    0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
653    0x08,0x00,0x0f,0x00},
654   {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
655    0xff}
656  },
657 /* MD_0_1_400 */
658  {
659   0x28,0x18,0x10,0x0800,
660   {0x08,0x03,0x00,0x02},
661   0x67,
662   {0x2d,0x27,0x28,0x90,0x2b,0xb1,0xbf,0x1f,
663    0x00,0x4f,0x0d,0x0e,0x00,0x00,0x00,0x00,
664    0x9c,0x8e,0x8f,0x14,0x1f,0x96,0xb9,0xa3,
665    0xff},
666   {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
667    0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
668    0x0c,0x00,0x0f,0x08},
669   {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
670    0xff}
671  },
672 /* MD_2_3_400 */
673  {
674   0x50,0x18,0x10,0x1000,
675   {0x00,0x03,0x00,0x02},
676   0x67,
677   {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
678    0x00,0x4f,0x0d,0x0e,0x00,0x00,0x00,0x00,
679    0x9c,0x8e,0x8f,0x28,0x1f,0x96,0xb9,0xa3,
680    0xff},
681   {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
682    0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
683    0x0c,0x00,0x0f,0x08},
684   {0x00,0x00,0x00,0x00,0x00,0x10,0x0e,0x00,
685    0xff}
686  },
687 /* MD_7_400 */
688  {
689   0x50,0x18,0x10,0x1000,
690   {0x00,0x03,0x00,0x02},
691   0x66,
692   {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
693    0x00,0x4f,0x0d,0x0e,0x00,0x00,0x00,0x00,
694    0x9c,0x8e,0x8f,0x28,0x0f,0x96,0xb9,0xa3,
695    0xff},
696   {0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
697    0x10,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
698    0x0e,0x00,0x0f,0x08},
699   {0x00,0x00,0x00,0x00,0x00,0x10,0x0a,0x00,
700    0xff}
701  },
702 /* MD_11 */
703  {
704   0x50,0x1d,0x10,0xa000,
705   {0x01,0x0f,0x00,0x06},
706   0xe3,
707   {0x5f,0x4f,0x50,0x82,0x55,0x81,0x0b,0x3e,
708    0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
709    0xe9,0x8b,0xdf,0x28,0x00,0xe7,0x04,0xc3,
710    0xff},
711   {0x00,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
712    0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,
713    0x01,0x00,0x0f,0x00},
714   {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x01,
715    0xff}
716  },
717 /* ExtEGATable */
718  {
719   0x50,0x1d,0x10,0xa000,
720   {0x01,0x0f,0x00,0x06},
721   0xe3,
722   {0x5f,0x4f,0x50,0x82,0x55,0x81,0x0b,0x3e,
723    0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
724    0xe9,0x8b,0xdf,0x28,0x00,0xe7,0x04,0xe3,
725    0xff},
726   {0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,
727    0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
728    0x01,0x00,0x0f,0x00},
729   {0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0f,
730    0xff}
731  },
732 /* MD_13 */
733  {
734   0x28,0x18,0x08,0x2000,
735   {0x01,0x0f,0x00,0x0e},
736   0x63,
737   {0x5f,0x4f,0x50,0x82,0x55,0x81,0xbf,0x1f,
738    0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,
739    0x9c,0x8e,0x8f,0x28,0x40,0x96,0xb9,0xa3,
740    0xff},
741   {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
742    0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
743    0x41,0x00,0x0f,0x00},
744   {0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0f,
745    0xff}
746  }
747 };
748
749 struct XGI_TimingHStruct XGI_TimingH[] =
750 {{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}};
751
752 struct XGI_TimingVStruct XGI_TimingV[] =
753 {{{0x00,0x00,0x00,0x00,0x00,0x00,0x00}}};
754
755 struct XGI_XG21CRT1Struct XGI_UpdateCRT1Table[] =
756 {
757  {0x01,0x27,0x91,0x8f,0xc0},    /* 00 */
758  {0x03,0x4f,0x83,0x8f,0xc0},    /* 01 */
759  {0x05,0x27,0x91,0x8f,0xc0},    /* 02 */
760  {0x06,0x4f,0x83,0x8f,0xc0},    /* 03 */
761  {0x07,0x4f,0x83,0x8f,0xc0},    /* 04 */
762  {0x0d,0x27,0x91,0x8f,0xc0},    /* 05 */
763  {0x0e,0x4f,0x83,0x8f,0xc0},    /* 06 */
764  {0x0f,0x4f,0x83,0x5d,0xc0},    /* 07 */
765  {0x10,0x4f,0x83,0x5d,0xc0},    /* 08 */
766  {0x11,0x4f,0x83,0xdf,0x0c},    /* 09 */
767  {0x12,0x4f,0x83,0xdf,0x0c},    /* 10 */
768  {0x13,0x4f,0x83,0x8f,0xc0},    /* 11 */
769  {0x2e,0x4f,0x83,0xdf,0x0c},    /* 12 */
770  {0x2e,0x4f,0x87,0xdf,0xc0},    /* 13 */
771  {0x2f,0x4f,0x83,0x8f,0xc0},    /* 14 */
772  {0x50,0x27,0x91,0xdf,0x0c},    /* 15 */
773  {0x59,0x27,0x91,0x8f,0xc0}     /* 16 */
774 };
775
776 struct XGI_CRT1TableStruct XGI_CRT1Table[] =
777 {
778  {{0x2d,0x28,0x90,0x2c,0x90,0x00,0x04,0x00,
779     0xbf,0x1f,0x9c,0x8e,0x96,0xb9,0x30}}, /* 0x0 */
780  {{0x2d,0x28,0x90,0x2c,0x90,0x00,0x04,0x00,
781     0x0b,0x3e,0xe9,0x8b,0xe7,0x04,0x00}}, /* 0x1 */
782  {{0x3D,0x31,0x81,0x37,0x1F,0x00,0x05,0x00,
783     0x72,0xF0,0x58,0x8C,0x57,0x73,0xA0}}, /* 0x2 */
784  {{0x4F,0x3F,0x93,0x45,0x0D,0x00,0x01,0x00,
785     0x24,0xF5,0x02,0x88,0xFF,0x25,0x90}}, /* 0x3 */
786  {{0x5F,0x50,0x82,0x55,0x81,0x00,0x05,0x00,
787     0xBF,0x1F,0x9C,0x8E,0x96,0xB9,0x30}}, /* 0x4 */
788  {{0x5F,0x50,0x82,0x55,0x81,0x00,0x05,0x00,
789     0x0B,0x3E,0xE9,0x8B,0xE7,0x04,0x00}}, /* 0x5 */
790  {{0x63,0x50,0x86,0x56,0x9B,0x00,0x01,0x00,
791     0x06,0x3E,0xE8,0x8B,0xE7,0xFF,0x10}}, /* 0x6 */
792  {{0x64,0x4F,0x88,0x55,0x9D,0x00,0x01,0x00,
793     0xF2,0x1F,0xE0,0x83,0xDF,0xF3,0x10}}, /* 0x7 */
794  {{0x63,0x4F,0x87,0x5A,0x81,0x00,0x05,0x00,
795     0xFB,0x1F,0xE0,0x83,0xDF,0xFC,0x10}}, /* 0x8 */
796  {{0x65,0x4F,0x89,0x58,0x80,0x00,0x05,0x60,
797     0xFB,0x1F,0xE0,0x83,0xDF,0xFC,0x80}}, /* 0x9 */
798  {{0x65,0x4F,0x89,0x58,0x80,0x00,0x05,0x60,
799     0x01,0x3E,0xE0,0x83,0xDF,0x02,0x80}}, /* 0xa */
800  {{0x67,0x4F,0x8B,0x58,0x81,0x00,0x05,0x60,
801     0x0D,0x3E,0xE0,0x83,0xDF,0x0E,0x90}}, /* 0xb */
802  {{0x65,0x4F,0x89,0x57,0x9F,0x00,0x01,0x00,
803    0xFB,0x1F,0xE6,0x8A,0xDF,0xFC,0x10}}, /* 0xc */
804  {{0x7B,0x63,0x9F,0x6A,0x93,0x00,0x05,0x00,    /* ; 0D (800x600,56Hz) */
805     0x6F,0xF0,0x58,0x8A,0x57,0x70,0xA0}},         /* ; (VCLK 36.0MHz) */
806  {{0x7F,0x63,0x83,0x6C,0x1C,0x00,0x06,0x00,    /* ; 0E (800x600,60Hz) */
807     0x72,0xF0,0x58,0x8C,0x57,0x73,0xA0}},         /* ; (VCLK 40.0MHz) */
808  {{0x7D,0x63,0x81,0x6E,0x1D,0x00,0x06,0x00,    /* ; 0F (800x600,72Hz) */
809     0x98,0xF0,0x7C,0x82,0x57,0x99,0x80}},         /* ; (VCLK 50.0MHz) */
810  {{0x7F,0x63,0x83,0x69,0x13,0x00,0x06,0x00,    /* ; 10 (800x600,75Hz) */
811     0x6F,0xF0,0x58,0x8B,0x57,0x70,0xA0}},         /* ; (VCLK 49.5MHz) */
812  {{0x7E,0x63,0x82,0x6B,0x13,0x00,0x06,0x00,    /* ; 11 (800x600,85Hz) */
813     0x75,0xF0,0x58,0x8B,0x57,0x76,0xA0}},         /* ; (VCLK 56.25MHz) */
814  {{0x81,0x63,0x85,0x6D,0x18,0x00,0x06,0x60,    /* ; 12 (800x600,100Hz) */
815     0x7A,0xF0,0x58,0x8B,0x57,0x7B,0xA0}},         /* ; (VCLK 75.8MHz) */
816  {{0x83,0x63,0x87,0x6E,0x19,0x00,0x06,0x60,    /* ; 13 (800x600,120Hz) */
817     0x81,0xF0,0x58,0x8B,0x57,0x82,0xA0}},         /* ; (VCLK 79.411MHz) */
818  {{0x85,0x63,0x89,0x6F,0x1A,0x00,0x06,0x60,    /* ; 14 (800x600,160Hz) */
819    0x91,0xF0,0x58,0x8B,0x57,0x92,0xA0}},         /* ; (VCLK 105.822MHz) */
820  {{0x99,0x7F,0x9D,0x84,0x1A,0x00,0x02,0x00,
821     0x96,0x1F,0x7F,0x83,0x7F,0x97,0x10}}, /* 0x15 */
822  {{0xA3,0x7F,0x87,0x86,0x97,0x00,0x02,0x00,
823     0x24,0xF5,0x02,0x88,0xFF,0x25,0x90}}, /* 0x16 */
824  {{0xA1,0x7F,0x85,0x86,0x97,0x00,0x02,0x00,
825     0x24,0xF5,0x02,0x88,0xFF,0x25,0x90}}, /* 0x17 */
826  {{0x9F,0x7F,0x83,0x85,0x91,0x00,0x02,0x00,
827     0x1E,0xF5,0x00,0x83,0xFF,0x1F,0x90}}, /* 0x18 */
828  {{0xA7,0x7F,0x8B,0x89,0x95,0x00,0x02,0x00,
829     0x26,0xF5,0x00,0x83,0xFF,0x27,0x90}}, /* 0x19 */
830  {{0xA9,0x7F,0x8D,0x8C,0x9A,0x00,0x02,0x62,
831     0x2C,0xF5,0x00,0x83,0xFF,0x2D,0x14}}, /* 0x1a */
832  {{0xAB,0x7F,0x8F,0x8D,0x9B,0x00,0x02,0x62,
833     0x35,0xF5,0x00,0x83,0xFF,0x36,0x14}}, /* 0x1b */
834  {{0xCF,0x9F,0x93,0xB2,0x01,0x00,0x03,0x00,
835     0x14,0xBA,0x00,0x83,0xFF,0x15,0x00}}, /* 0x1c */
836  {{0xCE,0x9F,0x92,0xA9,0x17,0x00,0x07,0x00,
837     0x28,0x5A,0x00,0x83,0xFF,0x29,0x89}}, /* 0x1d */
838  {{0xCE,0x9F,0x92,0xA5,0x17,0x00,0x07,0x00,
839     0x28,0x5A,0x00,0x83,0xFF,0x29,0x89}}, /* 0x1e */
840  {{0xD3,0x9F,0x97,0xAB,0x1F,0x00,0x07,0x00,
841     0x2E,0x5A,0x00,0x83,0xFF,0x2F,0x89}}, /* 0x1f */
842  {{0x09,0xC7,0x8D,0xD3,0x0B,0x01,0x04,0x00,
843     0xE0,0x10,0xB0,0x83,0xAF,0xE1,0x2F}}, /* 0x20 */
844  {{0x09,0xC7,0x8D,0xD3,0x0B,0x01,0x04,0x00,
845     0xE0,0x10,0xB0,0x83,0xAF,0xE1,0x2F}}, /* 0x21 */
846  {{0x09,0xC7,0x8D,0xD3,0x0B,0x01,0x04,0x00,
847     0xE0,0x10,0xB0,0x83,0xAF,0xE1,0x2F}}, /* 0x22 */
848  {{0x09,0xC7,0x8D,0xD3,0x0B,0x01,0x04,0x00,
849     0xE0,0x10,0xB0,0x83,0xAF,0xE1,0x2F}}, /* 0x23 */
850  {{0x09,0xC7,0x8D,0xD3,0x0B,0x01,0x04,0x00,
851     0xE0,0x10,0xB0,0x83,0xAF,0xE1,0x2F}}, /* 0x24 */
852  {{0x09,0xC7,0x8D,0xD3,0x0B,0x01,0x04,0x00,
853     0xE0,0x10,0xB0,0x83,0xAF,0xE1,0x2F}}, /* 0x25 */
854  {{0x09,0xC7,0x8D,0xD3,0x0B,0x01,0x04,0x00,
855     0xE0,0x10,0xB0,0x83,0xAF,0xE1,0x2F}}, /* 0x26 */
856  {{0x40,0xEF,0x84,0x03,0x1D,0x41,0x01,0x00,
857     0xDA,0x1F,0xA0,0x83,0x9F,0xDB,0x1F}}, /* 0x27 */
858  {{0x43,0xEF,0x87,0x06,0x00,0x41,0x05,0x62,
859     0xD4,0x1F,0xA0,0x83,0x9F,0xD5,0x9F}}, /* 0x28 */
860  {{0x45,0xEF,0x89,0x07,0x01,0x41,0x05,0x62,
861     0xD9,0x1F,0xA0,0x83,0x9F,0xDA,0x9F}}, /* 0x29 */
862  {{0x40,0xEF,0x84,0x03,0x1D,0x41,0x01,0x00,
863     0xDA,0x1F,0xA0,0x83,0x9F,0xDB,0x1F}}, /* 0x2a */
864  {{0x40,0xEF,0x84,0x03,0x1D,0x41,0x01,0x00,
865     0xDA,0x1F,0xA0,0x83,0x9F,0xDB,0x1F}}, /* 0x2b */
866  {{0x40,0xEF,0x84,0x03,0x1D,0x41,0x01,0x00,
867     0xDA,0x1F,0xA0,0x83,0x9F,0xDB,0x1F}}, /* 0x2c */
868  {{0x59,0xFF,0x9D,0x17,0x13,0x41,0x05,0x44,
869     0x33,0xBA,0x00,0x83,0xFF,0x34,0x0F}}, /* 0x2d */
870  {{0x5B,0xFF,0x9F,0x18,0x14,0x41,0x05,0x44,
871     0x38,0xBA,0x00,0x83,0xFF,0x39,0x0F}}, /* 0x2e */
872  {{0x5B,0xFF,0x9F,0x18,0x14,0x41,0x05,0x44,
873     0x3D,0xBA,0x00,0x83,0xFF,0x3E,0x0F}}, /* 0x2f */
874  {{0x5D,0xFF,0x81,0x19,0x95,0x41,0x05,0x44,
875     0x41,0xBA,0x00,0x84,0xFF,0x42,0x0F}}, /* 0x30 */
876  {{0x55,0xFF,0x99,0x0D,0x0C,0x41,0x05,0x00,
877     0x3E,0xBA,0x00,0x84,0xFF,0x3F,0x0F}}, /* 0x31 */
878  {{0x7F,0x63,0x83,0x6C,0x1C,0x00,0x06,0x00,
879     0x72,0xBA,0x27,0x8B,0xDF,0x73,0x80}}, /* 0x32 */
880  {{0x7F,0x63,0x83,0x69,0x13,0x00,0x06,0x00,
881     0x6F,0xBA,0x26,0x89,0xDF,0x6F,0x80}}, /* 0x33 */
882  {{0x7F,0x63,0x82,0x6B,0x13,0x00,0x06,0x00,
883     0x75,0xBA,0x29,0x8C,0xDF,0x75,0x80}}, /* 0x34 */
884  {{0xA3,0x7F,0x87,0x86,0x97,0x00,0x02,0x00,
885     0x24,0xF1,0xAF,0x85,0x3F,0x25,0xB0}}, /* 0x35 */
886  {{0x9F,0x7F,0x83,0x85,0x91,0x00,0x02,0x00,
887     0x1E,0xF1,0xAD,0x81,0x3F,0x1F,0xB0}}, /* 0x36 */
888  {{0xA7,0x7F,0x88,0x89,0x15,0x00,0x02,0x00,
889     0x26,0xF1,0xB1,0x85,0x3F,0x27,0xB0}}, /* 0x37 */
890  {{0xCE,0x9F,0x92,0xA9,0x17,0x00,0x07,0x00,
891     0x28,0xC4,0x7A,0x8E,0xCF,0x29,0xA1}}, /* 0x38 */
892  {{0xCE,0x9F,0x92,0xA5,0x17,0x00,0x07,0x00,
893     0x28,0xD4,0x7A,0x8E,0xCF,0x29,0xA1}}, /* 0x39 */
894  {{0xD3,0x9F,0x97,0xAB,0x1F,0x00,0x07,0x00,
895     0x2E,0xD4,0x7D,0x81,0xCF,0x2F,0xA1}}, /* 0x3a */
896  {{0xDC,0x9F,0x00,0xAB,0x19,0x00,0x07,0x00,
897     0xE6,0xEF,0xC0,0xC3,0xBF,0xE7,0x90}}, /* 0x3b */
898  {{0x6B,0x59,0x8F,0x5E,0x8C,0x00,0x05,0x00,
899     0x0B,0x3E,0xE9,0x8B,0xE7,0x04,0x00}}, /* 0x3c */
900  {{0x7B,0x63,0x9F,0x6A,0x93,0x00,0x05,0x00,
901     0x6F,0xF0,0x58,0x8A,0x57,0x70,0xA0}}, /* 0x3d */
902  {{0x86,0x6A,0x8a,0x74,0x06,0x00,0x02,0x00,
903     0x8c,0x15,0x4f,0x83,0xef,0x8d,0x30}}, /* 0x3e */
904  {{0x81,0x6A,0x85,0x70,0x00,0x00,0x02,0x00,
905     0x0f,0x3e,0xeb,0x8e,0xdf,0x10,0x00}}, /* 0x3f */
906  {{0xCE,0x9F,0x92,0xA9,0x17,0x00,0x07,0x00,
907     0x20,0xF5,0x03,0x88,0xFF,0x21,0x90}}, /* 0x40 */
908  {{0xE6,0xAE,0x8A,0xBD,0x90,0x00,0x03,0x00,
909     0x3D,0x10,0x1A,0x8D,0x19,0x3E,0x2F}}, /* 0x41 */
910  {{0xB9,0x8F,0x9D,0x9B,0x8A,0x00,0x06,0x00,
911     0x7D,0xFF,0x60,0x83,0x5F,0x7E,0x90}}, /* 0x42 */
912  {{0xC3,0x8F,0x87,0x9B,0x0B,0x00,0x07,0x00,
913     0x82,0xFF,0x60,0x83,0x5F,0x83,0x90}},  /* 0x43 */
914  {{0xAD,0x7F,0x91,0x8E,0x9C,0x00,0x02,0x82,
915     0x49,0xF5,0x00,0x83,0xFF,0x4A,0x90}},  /* 0x44 */
916  {{0xCD,0x9F,0x91,0xA7,0x19,0x00,0x07,0x60,
917     0xE6,0xFF,0xC0,0x83,0xBF,0xE7,0x90}},  /* 0x45 */
918  {{0xD3,0x9F,0x97,0xAB,0x1F,0x00,0x07,0x60,
919     0xF1,0xFF,0xC0,0x83,0xBF,0xF2,0x90}},  /* 0x46 */
920  {{0xD7,0x9F,0x9B,0xAC,0x1E,0x00,0x07,0x00,
921     0x03,0xDE,0xC0,0x84,0xBF,0x04,0x90}}  /* 0x47 */
922 };
923
924 struct XGI330_CHTVRegDataStruct XGI_CHTVRegUNTSC[] = {
925                 /* Index:000h,001h,002h,004h,003h,005h,006h,007h,008h,015h,01Fh,00Ch,00Dh,00Eh,00Fh,010h */
926                 {{      0x4A,0x77,0xBB,0x94,0x84,0x48,0xFE,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 00 (640x200,640x400) */
927                 {{      0x4A,0x77,0xBB,0x94,0x84,0x48,0xFE,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 01 (640x350) */
928                 {{      0x4A,0x77,0xBB,0x94,0x84,0x48,0xFE,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 02 (720x400) */
929                 {{      0x4A,0x77,0xBB,0x94,0x84,0x48,0xFE,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 03 (720x350) */
930                 {{      0x6A,0x77,0xBB,0x6E,0x84,0x2E,0x02,0x5A,0x04,0x00,0x80,0x20,0x7E,0x80,0x97,0x00  }},/* 04 (640x480) ;;5/6/02 */
931                 {{      0xCF,0x77,0xB7,0xC8,0x84,0x3B,0x02,0x5A,0x04,0x00,0x80,0x19,0x88,0xAE,0xA3,0x00  }},/* 05 (800x600) ;;1/12/02 */
932                 {{      0xEE,0x77,0xBB,0x66,0x87,0x32,0x01,0x5A,0x04,0x00,0x80,0x1B,0xD4,0x2F,0x6F,0x00  }}/* 06 (1024x768) ;;5/6/02 */
933           };
934
935 struct XGI330_CHTVRegDataStruct XGI_CHTVRegONTSC[] = {
936                 /* Index:000h,001h,002h,004h,003h,005h,006h,007h,008h,015h,01Fh,00Ch,00Dh,00Eh,00Fh,010h */
937                 {{      0x49,0x77,0xBB,0x7B,0x84,0x34,0x00,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 00 (640x200,640x400) */
938                 {{      0x49,0x77,0xBB,0x7B,0x84,0x34,0x00,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 01 (640x350) */
939                 {{      0x49,0x77,0xBB,0x7B,0x84,0x34,0x00,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 02 (720x400) */
940                 {{      0x49,0x77,0xBB,0x7B,0x84,0x34,0x00,0x50,0x04,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* 03 (720x350) */
941                 {{      0x69,0x77,0xBB,0x6E,0x84,0x1E,0x00,0x5A,0x04,0x00,0x80,0x25,0x1A,0x80,0x26,0x00  }},/* 04 (640x480) ;;5/6/02 */
942                 {{      0xCE,0x77,0xB7,0xB6,0x83,0x2C,0x02,0x5A,0x04,0x00,0x80,0x1C,0x00,0x82,0x97,0x00  }},/* 05 (800x600) ;;5/6/02 */
943                 {{      0xED,0x77,0xBB,0x66,0x8C,0x21,0x02,0x5A,0x04,0x00,0x80,0x1F,0xA0,0x7E,0x73,0x00  }}/* 06 (1024x768) ;;5/6/02 */
944           };
945
946 struct XGI330_CHTVRegDataStruct XGI_CHTVRegUPAL[] = {
947                 /* Index:000h,001h,002h,004h,003h,005h,006h,007h,008h,015h,01Fh,00Ch,00Dh,00Eh,00Fh,010h */
948                 {{      0x41,0x7F,0xB7,0x34,0xAD,0x50,0x34,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* ; 00 (640x200,640x400) */
949                 {{      0x41,0x7F,0xB7,0x80,0x85,0x50,0x00,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* ; 01 (640x350) */
950                 {{      0x41,0x7F,0xB7,0x34,0xAD,0x50,0x34,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* ; 02 (720x400) */
951                 {{      0x41,0x7F,0xB7,0x12,0x85,0x50,0x00,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01  }},/* ; 03 (720x350) */
952                 {{      0x61,0x7F,0xB7,0x99,0x84,0x35,0x04,0x5A,0x05,0x00,0x80,0x26,0x2A,0x55,0x5D,0x00  }},/* ; 04 (640x480) */
953                 {{      0xC3,0x7F,0xB7,0x7A,0x84,0x40,0x02,0x5A,0x05,0x00,0x80,0x1F,0x84,0x3D,0x28,0x00  }},/* ; 05 (800x600) ;;1/12/02 */
954                 {{      0xE5,0x7F,0xB7,0x1D,0xA7,0x3E,0x04,0x5A,0x05,0x00,0x80,0x20,0x3E,0xE4,0x22,0x00  }}/* ; 06 (1024x768) ;;1/12/02 */
955           };
956
957 struct XGI330_CHTVRegDataStruct XGI_CHTVRegOPAL[] = {
958                 /* Index:000,0x01,0x02,0x04,0x03,0x05,0x06,0x07,0x08,0x15,0x1F,0x0C,0x0D,0x0E,0x0F,0x10h */
959                 {{      0x41,0x7F,0xB7,0x36,0xAD,0x50,0x34,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01 }},/* 00 (640x200,640x400) */
960                 {{      0x41,0x7F,0xB7,0x86,0x85,0x50,0x00,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01 }},/* 01 (640x350) */
961                 {{      0x41,0x7F,0xB7,0x36,0xAD,0x50,0x34,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01 }},/* 02 (720x400) */
962                 {{      0x41,0x7F,0xB7,0x86,0x85,0x50,0x00,0x83,0x05,0x00,0x80,0x00,0x00,0x00,0x00,0x01 }},/* 03 (720x350) */
963                 {{      0x61,0x7F,0xB7,0x99,0x84,0x35,0x04,0x5A,0x05,0x00,0x80,0x26,0x2A,0x55,0x5D,0x00 }},/* 04 (640x480) */
964                 {{      0xC1,0x7F,0xB7,0x4D,0x8C,0x1E,0x31,0x5A,0x05,0x00,0x80,0x26,0x78,0x19,0x34,0x00 }},/* 05 (800x600) ;;1/12/02 */
965                 {{      0xE4,0x7F,0xB7,0x1E,0xAF,0x29,0x37,0x5A,0x05,0x00,0x80,0x25,0x8C,0xB2,0x2A,0x00 }}/* 06 (1024x768) ;;1/12/02 */
966              };
967
968 unsigned char XGI_CH7017LV1024x768[] = {0x60, 0x02, 0x00, 0x07, 0x40, 0xED, 0xA3,
969                                         0xC8, 0xC7, 0xAC, 0xE0, 0x02};
970 unsigned char XGI_CH7017LV1400x1050[] = {0x60, 0x03, 0x11, 0x00, 0x40, 0xE3, 0xAD,
971                                          0xDB, 0xF6, 0xAC, 0xE0, 0x02};
972
973
974 /*add for new UNIVGABIOS*/
975 struct XGI330_LCDDataStruct  XGI_StLCD1024x768Data[] =
976 {
977  {   62,  25, 800, 546,1344, 806},
978  {   32,  15, 930, 546,1344, 806},
979  {   62,  25, 800, 546,1344, 806}, /* chiawen for dot9 -> dot8 */
980  {  104,  45, 945, 496,1344, 806},
981  {   62,  25, 800, 546,1344, 806},
982  {   31,  18,1008, 624,1344, 806},
983  {    1,   1,1344, 806,1344, 806}
984 };
985
986 struct XGI330_LCDDataStruct  XGI_ExtLCD1024x768Data[] =
987 {
988  {   42,  25,1536, 419,1344, 806}, /* { 12, 5, 896, 512,1344, 806}, // alan 09/12/2003 */
989  {   48,  25,1536, 369,1344, 806}, /* { 12, 5, 896, 510,1344, 806}, // alan 09/12/2003 */
990  {   42,  25,1536, 419,1344, 806}, /* { 32, 15,1008, 505,1344, 806}, // alan 09/12/2003 */
991  {   48,  25,1536, 369,1344, 806}, /* { 32, 15,1008, 514,1344, 806}, // alan 09/12/2003 */
992  {   12,   5, 896, 500,1344, 806},
993  {   42,  25,1024, 625,1344, 806},
994  {    1,   1,1344, 806,1344, 806},
995  {   12,   5, 896, 500,1344, 806},
996  {   42,  25,1024, 625,1344, 806},
997  {    1,   1,1344, 806,1344, 806},
998  {   12,   5, 896, 500,1344, 806},
999  {   42,  25,1024, 625,1344, 806},
1000  {    1,   1,1344, 806,1344, 806}
1001 };
1002
1003 /*struct XGI330_LCDDataStruct  XGI_St2LCD1024x768Data[] =
1004 {
1005  {   62,  25, 800, 546,1344, 806},
1006  {   32,  15, 930, 546,1344, 806},
1007  {   62,  25, 800, 546,1344, 806},
1008  {  104,  45, 945, 496,1344, 806},
1009  {   62,  25, 800, 546,1344, 806},
1010  {   31,  18,1008, 624,1344, 806},
1011  {    1,   1,1344, 806,1344, 806}
1012 };*/
1013
1014 struct XGI330_LCDDataStruct  XGI_CetLCD1024x768Data[] =
1015 {
1016         {         1,1,1344,806,1344,806           }, /* ; 00 (320x200,320x400,640x200,640x400) */
1017         {         1,1,1344,806,1344,806           }, /* 01 (320x350,640x350) */
1018         {         1,1,1344,806,1344,806           }, /* 02 (360x400,720x400) */
1019         {         1,1,1344,806,1344,806           }, /* 03 (720x350) */
1020         {         1,1,1344,806,1344,806           }, /* 04 (640x480x60Hz) */
1021         {         1,1,1344,806,1344,806           }, /* 05 (800x600x60Hz) */
1022         {         1,1,1344,806,1344,806           }  /* 06 (1024x768x60Hz) */
1023 };
1024
1025 struct XGI330_LCDDataStruct  XGI_StLCD1280x1024Data[] =
1026 {
1027  {   22,   5, 800, 510,1650,1088},
1028  {   22,   5, 800, 510,1650,1088},
1029  {  176,  45, 900, 510,1650,1088},
1030  {  176,  45, 900, 510,1650,1088},
1031  {   22,   5, 800, 510,1650,1088},
1032  {   13,   5,1024, 675,1560,1152},
1033  {   16,   9,1266, 804,1688,1072},
1034  {    1,   1,1688,1066,1688,1066}
1035 };
1036
1037 struct XGI330_LCDDataStruct  XGI_ExtLCD1280x1024Data[] =
1038 {
1039  {  211,  60,1024, 501,1688,1066},
1040  {  211,  60,1024, 508,1688,1066},
1041  {  211,  60,1024, 501,1688,1066},
1042  {  211,  60,1024, 508,1688,1066},
1043  {  211,  60,1024, 500,1688,1066},
1044  {  211,  75,1024, 625,1688,1066},
1045  {  211, 120,1280, 798,1688,1066},
1046  {    1,   1,1688,1066,1688,1066}
1047 };
1048
1049 struct XGI330_LCDDataStruct  XGI_St2LCD1280x1024Data[] =
1050 {
1051  {   22,   5, 800, 510,1650,1088},
1052  {   22,   5, 800, 510,1650,1088},
1053  {  176,  45, 900, 510,1650,1088},
1054  {  176,  45, 900, 510,1650,1088},
1055  {   22,   5, 800, 510,1650,1088},
1056  {   13,   5,1024, 675,1560,1152},
1057  {   16,   9,1266, 804,1688,1072},
1058  {    1,   1,1688,1066,1688,1066}
1059 };
1060
1061 struct XGI330_LCDDataStruct  XGI_CetLCD1280x1024Data[] =
1062 {
1063         {         1,1,1688,1066,1688,1066         }, /* 00 (320x200,320x400,640x200,640x400) */
1064         {         1,1,1688,1066,1688,1066         }, /* 01 (320x350,640x350) */
1065         {         1,1,1688,1066,1688,1066         }, /* 02 (360x400,720x400) */
1066         {         1,1,1688,1066,1688,1066         }, /* 03 (720x350) */
1067         {         1,1,1688,1066,1688,1066         }, /* 04 (640x480x60Hz) */
1068         {         1,1,1688,1066,1688,1066         }, /* 05 (800x600x60Hz) */
1069         {         1,1,1688,1066,1688,1066         }, /* 06 (1024x768x60Hz) */
1070         {         1,1,1688,1066,1688,1066         }, /* 07 (1280x1024x60Hz) */
1071         {         1,1,1688,1066,1688,1066         } /* 08 (1400x1050x60Hz) */
1072 };
1073
1074 struct XGI330_LCDDataStruct  XGI_StLCD1400x1050Data[] =
1075 {
1076         {         211,100,2100,408,1688,1066      }, /* 00 (320x200,320x400,640x200,640x400) */
1077         {         211,64,1536,358,1688,1066       }, /* 01 (320x350,640x350) */
1078         {         211,100,2100,408,1688,1066      }, /* 02 (360x400,720x400) */
1079         {         211,64,1536,358,1688,1066       }, /* 03 (720x350) */
1080         {         211,48,840,488,1688,1066        }, /* 04 (640x480x60Hz) */
1081         {         211,72,1008,609,1688,1066       }, /* 05 (800x600x60Hz) */
1082         {         211,128,1400,776,1688,1066      }, /* 06 (1024x768x60Hz) */
1083         {         1,1,1688,1066,1688,1066         }, /* 07 (1280x1024x60Hz w/o Scaling) */
1084         {         1,1,1688,1066,1688,1066         }  /* 08 (1400x1050x60Hz) */
1085 };
1086
1087 struct XGI330_LCDDataStruct  XGI_ExtLCD1400x1050Data[] =
1088 {
1089         {         211,100,2100,408,1688,1066      }, /* 00 (320x200,320x400,640x200,640x400) */
1090         {         211,64,1536,358,1688,1066       }, /* 01 (320x350,640x350) */
1091         {         211,100,2100,408,1688,1066      }, /* 02 (360x400,720x400) */
1092         {         211,64,1536,358,1688,1066       }, /* 03 (720x350) */
1093         {         211,48,840,488,1688,1066        }, /* 04 (640x480x60Hz) */
1094         {         211,72,1008,609,1688,1066       }, /* 05 (800x600x60Hz) */
1095         {         211,128,1400,776,1688,1066      }, /* 06 (1024x768x60Hz) */
1096         {         1,1,1688,1066,1688,1066         }, /* 07 (1280x1024x60Hz w/o Scaling) */
1097         {         1,1,1688,1066,1688,1066         }  /* 08 (1400x1050x60Hz) */
1098 };
1099
1100 struct XGI330_LCDDataStruct  XGI_ExtLCD1600x1200Data[] =
1101 {
1102         {         4,1,1620,420,2160,1250          }, /* { 3,1,2160,425,2160,1250 }, // 00 (320x200,320x400,640x200,640x400) // alan 10/14/2003 */
1103         {         27,7,1920,375,2160,1250         }, /* 01 (320x350,640x350) */
1104         {         4,1,1620,420,2160,1250          }, /* { 3,1,2160,425,2160,1250 }, // 02 (360x400,720x400) // alan 10/14/2003 */
1105         {         27,7,1920,375,2160,1250         }, /* 03 (720x350) */
1106         {         27,4,800,500,2160,1250          }, /* 04 (640x480x60Hz) */
1107         {         4,1,1080,625,2160,1250          }, /* 05 (800x600x60Hz) */
1108         {         5,2,1350,800,2160,1250          }, /* 06 (1024x768x60Hz) */
1109         {         27,16,1500,1064,2160,1250       }, /* 07 (1280x1024x60Hz) */
1110         {         9,7,1920,1106,2160,1250         }, /* 08 (1400x1050x60Hz) */
1111         {         1,1,2160,1250,2160,1250         }  /* 09 (1600x1200x60Hz) ;302lv */
1112 };
1113
1114 struct XGI330_LCDDataStruct  XGI_StLCD1600x1200Data[] =
1115 {
1116         {         27,4,800,500,2160,1250          },/* 00 (320x200,320x400,640x200,640x400) */
1117         {         27,4,800,500,2160,1250          },/* 01 (320x350,640x350) */
1118         {         27,4,800,500,2160,1250          },/* 02 (360x400,720x400) */
1119         {         27,4,800,500,2160,1250          },/* 03 (720x350) */
1120         {         27,4,800,500,2160,1250          },/* 04 (320x240,640x480) */
1121         {         4,1,1080,625,2160,1250          },/* 05 (400x300,800x600) */
1122         {         5,2,1350,800,2160,1250          },/* 06 (512x384,1024x768) */
1123         {         135,88,1600,1100,2160,1250      },/* 07 (1280x1024) */
1124         {         1,1,1800,1500,2160,1250         },/* 08 (1400x1050) */
1125         {         1,1,2160,1250,2160,1250         } /* 09 (1600x1200) */
1126 };
1127
1128 struct XGI330_LCDDataStruct  XGI_CetLCD1400x1050Data[] =
1129 {
1130         {         1,1,1688,1066,1688,1066         }, /* 00 (320x200,320x400,640x200,640x400) */
1131         {         1,1,1688,1066,1688,1066         }, /* 01 (320x350,640x350) */
1132         {         1,1,1688,1066,1688,1066         }, /* 02 (360x400,720x400) */
1133         {         1,1,1688,1066,1688,1066         }, /* 03 (720x350) */
1134         {         1,1,1688,1066,1688,1066         }, /* 04 (640x480x60Hz) */
1135         {         1,1,1688,1066,1688,1066         }, /* 05 (800x600x60Hz) */
1136         {         1,1,1688,1066,1688,1066         }, /* 06 (1024x768x60Hz) */
1137         {         1,1,1688,1066,1688,1066         }, /* 07 (1280x1024x60Hz) */
1138         {         1,1,1688,1066,1688,1066         }  /* 08 (1400x1050x60Hz) */
1139 };
1140
1141 struct XGI330_LCDDataStruct  XGI_NoScalingData[] =
1142 {
1143  {    1,   1, 800, 449, 800, 449},
1144  {    1,   1, 800, 449, 800, 449},
1145  {    1,   1, 900, 449, 900, 449},
1146  {    1,   1, 900, 449, 900, 449},
1147  {    1,   1, 800, 525, 800, 525},
1148  {    1,   1,1056, 628,1056, 628},
1149  {    1,   1,1344, 806,1344, 806},
1150  {    1,   1,1688,1066,1688,1066}
1151 };
1152
1153 struct XGI330_LCDDataStruct  XGI_ExtLCD1024x768x75Data[] =
1154 {
1155         {42,25,1536,419,1344,806 }, /* ; 00 (320x200,320x400,640x200,640x400) */
1156         {48,25,1536,369,1344,806 }, /* ; 01 (320x350,640x350) */
1157         {42,25,1536,419,1344,806 }, /* ; 02 (360x400,720x400) */
1158         {48,25,1536,369,1344,806 }, /* ; 03 (720x350) */
1159         {8,5,1312,500,1312,800   }, /* ; 04 (640x480x75Hz) */
1160         {41,25,1024,625,1312,800 }, /* ; 05 (800x600x75Hz) */
1161         {1,1,1312,800,1312,800   }  /* ; 06 (1024x768x75Hz) */
1162 };
1163
1164 struct XGI330_LCDDataStruct  XGI_StLCD1024x768x75Data[] =
1165 {
1166         {42,25,1536,419,1344,806 }, /* ; 00 (320x200,320x400,640x200,640x400) */
1167         {48,25,1536,369,1344,806 }, /* ; 01 (320x350,640x350) */
1168         {42,25,1536,419,1344,806 }, /* ; 02 (360x400,720x400) */
1169         {48,25,1536,369,1344,806 }, /* ; 03 (720x350) */
1170         {8,5,1312,500,1312,800   }, /* ; 04 (640x480x75Hz) */
1171         {41,25,1024,625,1312,800 }, /* ; 05 (800x600x75Hz) */
1172         {1,1,1312,800,1312,800   }  /* ; 06 (1024x768x75Hz) */
1173 };
1174
1175 struct XGI330_LCDDataStruct  XGI_CetLCD1024x768x75Data[] =
1176 {
1177         {1,1,1312,800,1312,800}, /* ; 00 (320x200,320x400,640x200,640x400) */
1178         {1,1,1312,800,1312,800}, /* ; 01 (320x350,640x350) */
1179         {1,1,1312,800,1312,800}, /* ; 02 (360x400,720x400) */
1180         {1,1,1312,800,1312,800}, /* ; 03 (720x350) */
1181         {1,1,1312,800,1312,800}, /* ; 04 (640x480x75Hz) */
1182         {1,1,1312,800,1312,800}, /* ; 05 (800x600x75Hz) */
1183         {1,1,1312,800,1312,800} /* ; 06 (1024x768x75Hz) */
1184 };
1185
1186 struct XGI330_LCDDataStruct  XGI_ExtLCD1280x1024x75Data[] =
1187 {
1188         {211,60,1024,501,1688,1066   }, /* ; 00 (320x200,320x400,640x200,640x400) */
1189         {211,60,1024,508,1688,1066   }, /* ; 01 (320x350,640x350) */
1190         {211,60,1024,501,1688,1066   }, /* ; 02 (360x400,720x400) */
1191         {211,60,1024,508,1688,1066   }, /* ; 03 (720x350) */
1192         {211,45,768,498,1688,1066    }, /* ; 04 (640x480x75Hz) */
1193         {211,75,1024,625,1688,1066   }, /* ; 05 (800x600x75Hz) */
1194         {211,120,1280,798,1688,1066  }, /* ; 06 (1024x768x75Hz) */
1195         {1,1,1688,1066,1688,1066     }  /* ; 07 (1280x1024x75Hz) */
1196 };
1197
1198 struct XGI330_LCDDataStruct  XGI_StLCD1280x1024x75Data[] =
1199 {
1200         {211,60,1024,501,1688,1066 }, /* ; 00 (320x200,320x400,640x200,640x400) */
1201         {211,60,1024,508,1688,1066 }, /* ; 01 (320x350,640x350) */
1202         {211,60,1024,501,1688,1066 }, /* ; 02 (360x400,720x400) */
1203         {211,60,1024,508,1688,1066 }, /* ; 03 (720x350) */
1204         {211,45,768,498,1688,1066  }, /* ; 04 (640x480x75Hz) */
1205         {211,75,1024,625,1688,1066 }, /* ; 05 (800x600x75Hz) */
1206         {211,120,1280,798,1688,1066}, /* ; 06 (1024x768x75Hz) */
1207         {1,1,1688,1066,1688,1066   }  /* ; 07 (1280x1024x75Hz) */
1208 };
1209
1210 struct XGI330_LCDDataStruct  XGI_CetLCD1280x1024x75Data[] =
1211 {
1212         {1,1,1688,1066,1688,1066}, /* ; 00 (320x200,320x400,640x200,640x400) */
1213         {1,1,1688,1066,1688,1066}, /* ; 01 (320x350,640x350) */
1214         {1,1,1688,1066,1688,1066}, /* ; 02 (360x400,720x400) */
1215         {1,1,1688,1066,1688,1066}, /* ; 03 (720x350) */
1216         {1,1,1688,1066,1688,1066}, /* ; 04 (640x480x75Hz) */
1217         {1,1,1688,1066,1688,1066}, /* ; 05 (800x600x75Hz) */
1218         {1,1,1688,1066,1688,1066}, /* ; 06 (1024x768x75Hz) */
1219         {1,1,1688,1066,1688,1066}  /* ; 07 (1280x1024x75Hz) */
1220 };
1221
1222 struct XGI330_LCDDataStruct  XGI_NoScalingDatax75[] =
1223 {
1224         {1,1,800,449,800,449    }, /* ; 00 (320x200,320x400,640x200,640x400) */
1225         {1,1,800,449,800,449    }, /* ; 01 (320x350,640x350) */
1226         {1,1,900,449,900,449    }, /* ; 02 (360x400,720x400) */
1227         {1,1,900,449,900,449    }, /* ; 03 (720x350) */
1228         {1,1,840,500,840,500    }, /* ; 04 (640x480x75Hz) */
1229         {1,1,1056,625,1056,625  }, /* ; 05 (800x600x75Hz) */
1230         {1,1,1312,800,1312,800  }, /* ; 06 (1024x768x75Hz) */
1231         {1,1,1688,1066,1688,1066}, /* ; 07 (1280x1024x75Hz) */
1232         {1,1,1688,1066,1688,1066}, /* ; 08 (1400x1050x75Hz) ;;[ycchen] 12/19/02 */
1233         {1,1,2160,1250,2160,1250}, /* ; 09 (1600x1200x75Hz) */
1234         {1,1,1688,806,1688,806  }  /* ; 0A (1280x768x75Hz) */
1235 };
1236
1237 struct XGI330_LCDDataDesStruct  XGI_ExtLCDDes1024x768Data[] =
1238 {
1239    {  9,1057,0, 771  }, /* ; 00 (320x200,320x400,640x200,640x400) */
1240    {  9,1057,0, 771  }, /* ; 01 (320x350,640x350) */
1241    {  9,1057,0, 771  }, /* ; 02 (360x400,720x400) */
1242    {  9,1057,0, 771  }, /* ; 03 (720x350) */
1243    {  9,1057,0, 771  }, /* ; 04 (640x480x60Hz) */
1244    {  9,1057,0, 771  }, /* ; 05 (800x600x60Hz) */
1245    {  9,1057,805, 770  }  /* ; 06 (1024x768x60Hz) */
1246 };
1247
1248 struct XGI330_LCDDataDesStruct  XGI_StLCDDes1024x768Data[] =
1249 {
1250         { 9,1057,737,703   }, /* ; 00 (320x200,320x400,640x200,640x400) */
1251         { 9,1057,686,651   }, /* ; 01 (320x350,640x350) */
1252         { 9,1057,737,703   }, /* ; 02 (360x400,720x400) */
1253         { 9,1057,686,651   }, /* ; 03 (720x350) */
1254         { 9,1057,776,741   }, /* ; 04 (640x480x60Hz) */
1255         { 9,1057, 0 ,771   }, /* ; 05 (800x600x60Hz) */
1256         { 9,1057,805,770   }  /* ; 06 (1024x768x60Hz) */
1257 };
1258
1259 struct XGI330_LCDDataDesStruct  XGI_CetLCDDes1024x768Data[] =
1260 {
1261         {      1152,856,622,587   }, /* ; 00 (320x200,320x400,640x200,640x400) */
1262         {      1152,856,597,562   }, /* ; 01 (320x350,640x350) */
1263         {      1152,856,622,587   }, /* ; 02 (360x400,720x400) */
1264         {      1152,856,597,562   }, /* ; 03 (720x350) */
1265         {      1152,856,662,627   }, /* ; 04 (640x480x60Hz) */
1266         {      1232,936,722,687   }, /* ; 05 (800x600x60Hz) */
1267         {      0,1048,805,770   }  /* ; 06 (1024x768x60Hz) */
1268 };
1269
1270 struct XGI330_LCDDataDesStruct XGI_ExtLCDDLDes1280x1024Data[] =
1271 {
1272         {      18,1346,981,940     },/* 00 (320x200,320x400,640x200,640x400) */
1273         {      18,1346,926,865     },/* 01 (320x350,640x350) */
1274         {      18,1346,981,940     },/* 02 (360x400,720x400) */
1275         {      18,1346,926,865     },/* 03 (720x350) */
1276         {      18,1346,0,1025     },/* 04 (640x480x60Hz) */
1277         {      18,1346,0,1025     },/* 05 (800x600x60Hz) */
1278         {      18,1346,1065,1024     },/* 06 (1024x768x60Hz) */
1279         {      18,1346,1065,1024     }/* 07 (1280x1024x60Hz) */
1280 };
1281
1282 struct XGI330_LCDDataDesStruct XGI_StLCDDLDes1280x1024Data[] =
1283 {
1284         {      18,1346,970,907     },/* 00 (320x200,320x400,640x200,640x400) */
1285         {      18,1346,917,854     },/* 01 (320x350,640x350) */
1286         {      18,1346,970,907     },/* 02 (360x400,720x400) */
1287         {      18,1346,917,854     },/* 03 (720x350) */
1288         {      18,1346,0,1025     },/* 04 (640x480x60Hz) */
1289         {      18,1346,0,1025     },/* 05 (800x600x60Hz) */
1290         {      18,1346,1065,1024     },/* 06 (1024x768x60Hz) */
1291         {      18,1346,1065,1024     }/* 07 (1280x1024x60Hz) */
1292 };
1293
1294 struct XGI330_LCDDataDesStruct  XGI_CetLCDDLDes1280x1024Data[] =
1295 {
1296         {      1368,1008,752,711    }, /* 00 (320x200,320x400,640x200,640x400) */
1297         {      1368,1008,729,688    }, /* 01 (320x350,640x350) */
1298         {      1368,1008,752,711    }, /* 02 (360x400,720x400) */
1299         {      1368,1008,729,688    }, /* 03 (720x350) */
1300         {      1368,1008,794,753    }, /* 04 (640x480x60Hz) */
1301         {      1448,1068,854,813    }, /* 05 (800x600x60Hz) */
1302         {      1560,1200,938,897    }, /* 06 (1024x768x60Hz) */
1303         {      18,1346,1065,1024    }  /* 07 (1280x1024x60Hz) */
1304 };
1305
1306 struct XGI330_LCDDataDesStruct  XGI_ExtLCDDes1280x1024Data[] =
1307 {
1308         {      9,1337,981,940    }, /* ; 00 (320x200,320x400,640x200,640x400) */
1309         {      9,1337,926,884    }, /* ; 01 (320x350,640x350) alan, 2003/09/30 */
1310         {      9,1337,981,940    }, /* ; 02 (360x400,720x400) */
1311         {      9,1337,926,884    }, /* ; 03 (720x350) alan, 2003/09/30 */
1312         {      9,1337,0,1025    }, /* ; 04 (640x480x60Hz) */
1313         {      9,1337,0,1025    }, /* ; 05 (800x600x60Hz) */
1314         {      9,1337,1065,1024    }, /* ; 06 (1024x768x60Hz) */
1315         {      9,1337,1065,1024    }  /* ; 07 (1280x1024x60Hz) */
1316 };
1317
1318 struct XGI330_LCDDataDesStruct  XGI_StLCDDes1280x1024Data[] =
1319 {
1320         {      9,1337,970,907    }, /* ; 00 (320x200,320x400,640x200,640x400) */
1321         {      9,1337,917,854    }, /* ; 01 (320x350,640x350) */
1322         {      9,1337,970,907    }, /* ; 02 (360x400,720x400) */
1323         {      9,1337,917,854    }, /* ; 03 (720x350) */
1324         {      9,1337,0,1025    }, /* ; 04 (640x480x60Hz) */
1325         {      9,1337,0,1025    }, /* ; 05 (800x600x60Hz) */
1326         {      9,1337,1065,1024    }, /* ; 06 (1024x768x60Hz) */
1327         {      9,1337,1065,1024    }  /* ; 07 (1280x1024x60Hz) */
1328 };
1329
1330 struct XGI330_LCDDataDesStruct  XGI_CetLCDDes1280x1024Data[] =
1331 {
1332         {      1368,1008,752,711    }, /* 00 (320x200,320x400,640x200,640x400) */
1333         {      1368,1008,729,688    }, /* 01 (320x350,640x350) */
1334         {      1368,1008,752,711    }, /* 02 (360x400,720x400) */
1335         {      1368,1008,729,688    }, /* 03 (720x350) */
1336         {      1368,1008,794,753    }, /* 04 (640x480x60Hz) */
1337         {      1448,1068,854,813    }, /* 05 (800x600x60Hz) */
1338         {      1560,1200,938,897    }, /* 06 (1024x768x60Hz) */
1339         {      9,1337,1065,1024    }  /* 07 (1280x1024x60Hz) */
1340 };
1341
1342 struct XGI330_LCDDataDesStruct  XGI_StLCDDLDes1400x1050Data[] =
1343 {
1344         {      18,1464,0,1051    }, /* 00 (320x200,320x400,640x200,640x400) */
1345         {      18,1464,0,1051    }, /* 01 (320x350,640x350) */
1346         {      18,1464,0,1051    }, /* 02 (360x400,720x400) */
1347         {      18,1464,0,1051    }, /* 03 (720x350) */
1348         {      18,1464,0,1051    }, /* 04 (640x480x60Hz) */
1349         {      18,1464,0,1051    }, /* 05 (800x600x60Hz) */
1350         {      18,1464,0,1051    }, /* 06 (1024x768x60Hz) */
1351         {      1646,1406,1053,1038    }, /* 07 (1280x1024x60Hz) */
1352         {      18,1464,0,1051    }  /* 08 (1400x1050x60Hz) */
1353 };
1354
1355 struct XGI330_LCDDataDesStruct  XGI_ExtLCDDLDes1400x1050Data[] =
1356 {
1357         {      18,1464,0,1051    }, /* 00 (320x200,320x400,640x200,640x400) */
1358         {      18,1464,0,1051    }, /* 01 (320x350,640x350) */
1359         {      18,1464,0,1051    }, /* 02 (360x400,720x400) */
1360         {      18,1464,0,1051    }, /* 03 (720x350) */
1361         {      18,1464,0,1051    }, /* 04 (640x480x60Hz) */
1362         {      18,1464,0,1051    }, /* 05 (800x600x60Hz) */
1363         {      18,1464,0,1051    }, /* 06 (1024x768x60Hz) */
1364         {      1646,1406,1053,1038    }, /* 07 (1280x1024x60Hz) */
1365         {      18,1464,0,1051    }  /* 08 (1400x1050x60Hz) */
1366 };
1367
1368 struct XGI330_LCDDataDesStruct  XGI_StLCDDes1400x1050Data[] =
1369 {
1370         {      9,1455,0,1051     },/* 00 (320x200,320x400,640x200,640x400) */
1371         {      9,1455,0,1051     },/* 01 (320x350,640x350) */
1372         {      9,1455,0,1051     },/* 02 (360x400,720x400) */
1373         {      9,1455,0,1051     },/* 03 (720x350) */
1374         {      9,1455,0,1051     },/* 04 (640x480x60Hz) */
1375         {      9,1455,0,1051     },/* 05 (800x600x60Hz) */
1376         {      9,1455,0,1051     },/* 06 (1024x768x60Hz) */
1377         {      1637,1397,1053,1038     },/* 07 (1280x1024x60Hz) */
1378         {      9,1455,0,1051     } /* 08 (1400x1050x60Hz) */
1379 };
1380
1381 struct XGI330_LCDDataDesStruct  XGI_ExtLCDDes1400x1050Data[] =
1382 {
1383         {      9,1455,0,1051     },/* 00 (320x200,320x400,640x200,640x400) */
1384         {      9,1455,0,1051     },/* 01 (320x350,640x350) */
1385         {      9,1455,0,1051     },/* 02 (360x400,720x400) */
1386         {      9,1455,0,1051     },/* 03 (720x350) */
1387         {      9,1455,0,1051     },/* 04 (640x480x60Hz) */
1388         {      9,1455,0,1051     },/* 05 (800x600x60Hz) */
1389         {      9,1455,0,1051     },/* 06 (1024x768x60Hz) */
1390         {      1637,1397,1053,1038     },/* 07 (1280x1024x60Hz) */
1391         {      9,1455,0,1051     } /* 08 (1400x1050x60Hz) */
1392 };
1393
1394 struct XGI330_LCDDataDesStruct  XGI_CetLCDDes1400x1050Data[] =
1395 {
1396         {      1308,1068,781,766    }, /* 00 (320x200,320x400,640x200,640x400) */
1397         {      1308,1068,781,766    }, /* 01 (320x350,640x350) */
1398         {      1308,1068,781,766    }, /* 02 (360x400,720x400) */
1399         {      1308,1068,781,766    }, /* 03 (720x350) */
1400         {      1308,1068,781,766    }, /* 04 (640x480x60Hz) */
1401         {      1388,1148,841,826    }, /* 05 (800x600x60Hz) */
1402         {      1490,1250,925,910    }, /* 06 (1024x768x60Hz) */
1403         {      1646,1406,1053,1038    }, /* 07 (1280x1024x60Hz) */
1404         {      18,1464,0,1051    } /* 08 (1400x1050x60Hz) */
1405 };
1406
1407 struct XGI330_LCDDataDesStruct  XGI_CetLCDDes1400x1050Data2[] =
1408 {
1409         {      0,1448,0,1051    }, /* 00 (320x200,320x400,640x200,640x400) */
1410         {      0,1448,0,1051    }, /* 01 (320x350,640x350) */
1411         {      0,1448,0,1051    }, /* 02 (360x400,720x400) */
1412         {      0,1448,0,1051    }, /* 03 (720x350) */
1413         {      0,1448,0,1051    }  /* 04 (640x480x60Hz) */
1414 };
1415
1416
1417
1418 struct XGI330_LCDDataDesStruct  XGI_ExtLCDDLDes1600x1200Data[] =
1419 {
1420         {      18,1682,0,1201    }, /* 00 (320x200,320x400,640x200,640x400) */
1421         {      18,1682,0,1201    }, /* 01 (320x350,640x350) */
1422         {      18,1682,0,1201    }, /* 02 (360x400,720x400) */
1423         {      18,1682,0,1201    }, /* 03 (720x350) */
1424         {      18,1682,0,1201    }, /* 04 (640x480x60Hz) */
1425         {      18,1682,0,1201    }, /* 05 (800x600x60Hz) */
1426         {      18,1682,0,1201    }, /* 06 (1024x768x60Hz) */
1427         {      18,1682,0,1201    }, /* 07 (1280x1024x60Hz) */
1428         {      18,1682,0,1201    }, /* 08 (1400x1050x60Hz) */
1429         {      18,1682,0,1201    }  /* 09 (1600x1200x60Hz) */
1430 };
1431
1432 struct XGI330_LCDDataDesStruct  XGI_StLCDDLDes1600x1200Data[] =
1433 {
1434         {      18,1682,1150,1101    }, /* 00 (320x200,320x400,640x200,640x400) */
1435         {      18,1682,1083,1034    }, /* 01 (320x350,640x350) */
1436         {      18,1682,1150,1101    }, /* 02 (360x400,720x400) */
1437         {      18,1682,1083,1034    }, /* 03 (720x350) */
1438         {      18,1682,0,1201    }, /* 04 (640x480x60Hz) */
1439         {      18,1682,0,1201    }, /* 05 (800x600x60Hz) */
1440         {      18,1682,0,1201    }, /* 06 (1024x768x60Hz) */
1441         {      18,1682,1232,1183    }, /* 07 (1280x1024x60Hz) */
1442         {      18,1682,0,1201    }, /* 08 (1400x1050x60Hz) */
1443         {      18,1682,0,1201    } /* 09 (1600x1200x60Hz) */
1444 };
1445
1446 struct XGI330_LCDDataDesStruct  XGI_ExtLCDDes1600x1200Data[] =
1447 {
1448         {      9,1673,0,1201     },/* 00 (320x200,320x400,640x200,640x400) */
1449         {      9,1673,0,1201     },/* 01 (320x350,640x350) */
1450         {      9,1673,0,1201     },/* 02 (360x400,720x400) */
1451         {      9,1673,0,1201     },/* 03 (720x350) */
1452         {      9,1673,0,1201     },/* 04 (640x480x60Hz) */
1453         {      9,1673,0,1201     },/* 05 (800x600x60Hz) */
1454         {      9,1673,0,1201     },/* 06 (1024x768x60Hz) */
1455         {      9,1673,0,1201     },/* 07 (1280x1024x60Hz) */
1456         {      9,1673,0,1201     },/* 08 (1400x1050x60Hz) */
1457         {      9,1673,0,1201     } /* 09 (1600x1200x60Hz) */
1458 };
1459
1460 struct XGI330_LCDDataDesStruct  XGI_StLCDDes1600x1200Data[] =
1461 {
1462         {      9,1673,1150,1101     },/* 00 (320x200,320x400,640x200,640x400) */
1463         {      9,1673,1083,1034     },/* 01 (320x350,640x350) */
1464         {      9,1673,1150,1101     },/* 02 (360x400,720x400) */
1465         {      9,1673,1083,1034     },/* 03 (720x350) */
1466         {      9,1673,0,1201     },/* 04 (640x480x60Hz) */
1467         {      9,1673,0,1201     },/* 05 (800x600x60Hz) */
1468         {      9,1673,0,1201     },/* 06 (1024x768x60Hz) */
1469         {      9,1673,1232,1183     },/* 07 (1280x1024x60Hz) */
1470         {      9,1673,0,1201     },/* 08 (1400x1050x60Hz) */
1471         {      9,1673,0,1201     } /* 09 (1600x1200x60Hz) */
1472 };
1473
1474 struct XGI330_LCDDataDesStruct2  XGI_NoScalingDesData[] =
1475 {
1476         {     9,657,448,405,96,2  }, /* 00 (320x200,320x400,640x200,640x400) */
1477         {     9,657,448,355,96,2  }, /* 01 (320x350,640x350) */
1478         {     9,657,448,405,96,2  }, /* 02 (360x400,720x400) */
1479         {     9,657,448,355,96,2  }, /* 03 (720x350) */
1480         {     9,657,1,483,96,2  }, /* 04 (640x480x60Hz) */
1481         {     9,849,627,600,128,4  }, /* 05 (800x600x60Hz) */
1482         {     9,1057,805,770,0136,6  }, /* 06 (1024x768x60Hz) */
1483         {     9,1337,0,1025,112,3  }, /* 07 (1280x1024x60Hz) */
1484         {     9,1457,0,1051,112,3  }, /* 08 (1400x1050x60Hz) }, //;[ycchen] 12/19/02 */
1485         {     9,1673,0,1201,192,3  }, /* 09 (1600x1200x60Hz) */
1486         {     9,1337,0,771,112,6  }  /* 0A (1280x768x60Hz) */
1487 };
1488
1489 struct XGI330_LCDDataDesStruct  XGI_ExtLCDDes1024x768x75Data[] =                /* ;;1024x768x75Hz */
1490 {
1491         {9,1049,0,769},    /* ; 00 (320x200,320x400,640x200,640x400) */
1492         {9,1049,0,769},    /* ; 01 (320x350,640x350) */
1493         {9,1049,0,769},    /* ; 02 (360x400,720x400) */
1494         {9,1049,0,769},    /* ; 03 (720x350) */
1495         {9,1049,0,769},    /* ; 04 (640x480x75Hz) */
1496         {9,1049,0,769},    /* ; 05 (800x600x75Hz) */
1497         {9,1049,0,769}     /* ; 06 (1024x768x75Hz) */
1498 };
1499
1500 struct XGI330_LCDDataDesStruct  XGI_StLCDDes1024x768x75Data[] =
1501 {
1502         {9,1049,0,769},    /* ; 00 (320x200,320x400,640x200,640x400) */
1503         {9,1049,0,769},    /* ; 01 (320x350,640x350) */
1504         {9,1049,0,769},    /* ; 02 (360x400,720x400) */
1505         {9,1049,0,769},    /* ; 03 (720x350) */
1506         {9,1049,0,769},    /* ; 04 (640x480x75Hz) */
1507         {9,1049,0,769},    /* ; 05 (800x600x75Hz) */
1508         {9,1049,0,769}     /* ; 06 (1024x768x75Hz) */
1509 };
1510
1511 struct XGI330_LCDDataDesStruct  XGI_CetLCDDes1024x768x75Data[] =        /* ;;1024x768x75Hz */
1512 {
1513         {1152,856,622,587},     /* ; 00 (320x200,320x400,640x200,640x400) */
1514         {1152,856,597,562},     /* ; 01 (320x350,640x350) */
1515         {1192,896,622,587},     /* ; 02 (360x400,720x400) */
1516         {1192,896,597,562},     /* ; 03 (720x350) */
1517         {1129,857,656,625},     /* ; 04 (640x480x75Hz) */
1518         {1209,937,716,685},     /* ; 05 (800x600x75Hz) */
1519         {9,1049,0,769}          /* ; 06 (1024x768x75Hz) */
1520 };
1521
1522 struct XGI330_LCDDataDesStruct  XGI_ExtLCDDLDes1280x1024x75Data[] =         /* ;;1280x1024x75Hz */
1523 {
1524         {18,1314,0,1025     },/* ; 00 (320x200,320x400,640x200,640x400) */
1525         {18,1314,0,1025     },/* ; 01 (320x350,640x350) */
1526         {18,1314,0,1025     },/* ; 02 (360x400,720x400) */
1527         {18,1314,0,1025     },/* ; 03 (720x350) */
1528         {18,1314,0,1025     },/* ; 04 (640x480x60Hz) */
1529         {18,1314,0,1025     },/* ; 05 (800x600x60Hz) */
1530         {18,1314,0,1025     },/* ; 06 (1024x768x60Hz) */
1531         {18,1314,0,1025     }/* ; 07 (1280x1024x60Hz) */
1532 };
1533
1534 struct XGI330_LCDDataDesStruct  XGI_StLCDDLDes1280x1024x75Data[] =
1535 {
1536         {18,1314,0,1025     },/* ; 00 (320x200,320x400,640x200,640x400) */
1537         {18,1314,0,1025     },/* ; 01 (320x350,640x350) */
1538         {18,1314,0,1025     },/* ; 02 (360x400,720x400) */
1539         {18,1314,0,1025     },/* ; 03 (720x350) */
1540         {18,1314,0,1025     },/* ; 04 (640x480x60Hz) */
1541         {18,1314,0,1025     },/* ; 05 (800x600x60Hz) */
1542         {18,1314,0,1025     },/* ; 06 (1024x768x60Hz) */
1543         {18,1314,0,1025     }/* ; 07 (1280x1024x60Hz) */
1544 };
1545
1546 struct XGI330_LCDDataDesStruct  XGI_CetLCDDLDes1280x1024x75Data[] =     /* 1280x1024x75Hz */
1547 {
1548         {1368,1008,752,711},    /* ; 00 (320x200,320x400,640x200,640x400) */
1549         {1368,1008,729,688},    /* ; 01 (320x350,640x350) */
1550         {1408,1048,752,711},    /* ; 02 (360x400,720x400) */
1551         {1408,1048,729,688},    /* ; 03 (720x350) */
1552         {1377,985,794,753},    /* ; 04 (640x480x75Hz) */
1553         {1457,1065,854,813},    /* ; 05 (800x600x75Hz) */
1554         {1569,1177,938,897},    /* ; 06 (1024x768x75Hz) */
1555         {18,1314,0,1025}          /* ; 07 (1280x1024x75Hz) */
1556 };
1557
1558 struct XGI330_LCDDataDesStruct  XGI_ExtLCDDes1280x1024x75Data[] =         /* ;;1280x1024x75Hz */
1559 {
1560         {9,1305,0,1025},/* ; 00 (320x200,320x400,640x200,640x400) */
1561         {9,1305,0,1025},/* ; 01 (320x350,640x350) */
1562         {9,1305,0,1025},/* ; 02 (360x400,720x400) */
1563         {9,1305,0,1025},/* ; 03 (720x350) */
1564         {9,1305,0,1025},/* ; 04 (640x480x60Hz) */
1565         {9,1305,0,1025},/* ; 05 (800x600x60Hz) */
1566         {9,1305,0,1025},/* ; 06 (1024x768x60Hz) */
1567         {9,1305,0,1025} /* ; 07 (1280x1024x60Hz) */
1568 };
1569
1570 struct XGI330_LCDDataDesStruct  XGI_StLCDDes1280x1024x75Data[] =
1571 {
1572         {9,1305,0,1025},/* ; 00 (320x200,320x400,640x200,640x400) */
1573         {9,1305,0,1025},/* ; 01 (320x350,640x350) */
1574         {9,1305,0,1025},/* ; 02 (360x400,720x400) */
1575         {9,1305,0,1025},/* ; 03 (720x350) */
1576         {9,1305,0,1025},/* ; 04 (640x480x60Hz) */
1577         {9,1305,0,1025},/* ; 05 (800x600x60Hz) */
1578         {9,1305,0,1025},/* ; 06 (1024x768x60Hz) */
1579         {9,1305,0,1025} /* ; 07 (1280x1024x60Hz) */
1580 };
1581
1582 struct XGI330_LCDDataDesStruct  XGI_CetLCDDes1280x1024x75Data[] =       /* 1280x1024x75Hz */
1583 {
1584         {1368,1008,752,711},    /* ; 00 (320x200,320x400,640x200,640x400) */
1585         {1368,1008,729,688},    /* ; 01 (320x350,640x350) */
1586         {1408,1048,752,711},    /* ; 02 (360x400,720x400) */
1587         {1408,1048,729,688},    /* ; 03 (720x350) */
1588         {1377,985,794,753},    /* ; 04 (640x480x75Hz) */
1589         {1457,1065,854,813},    /* ; 05 (800x600x75Hz) */
1590         {1569,1177,938,897},    /* ; 06 (1024x768x75Hz) */
1591         {9,1305,0,1025}           /* ; 07 (1280x1024x75Hz) */
1592 };
1593
1594 struct XGI330_LCDDataDesStruct2 XGI_NoScalingDesDatax75[] = /* Scaling LCD 75Hz */
1595 {
1596         {9,657,448,405,96,2},   /* ; 00 (320x200,320x400,640x200,640x400) */
1597         {9,657,448,355,96,2},   /* ; 01 (320x350,640x350) */
1598         {9,738,448,405,108,2},   /* ; 02 (360x400,720x400) */
1599         {9,738,448,355,108,2},   /* ; 03 (720x350) */
1600         {9,665,0,481,64,3},   /* ; 04 (640x480x75Hz) */
1601         {9,825,0,601,80,3},   /* ; 05 (800x600x75Hz) */
1602         {9,1049,0,769,96,3},   /* ; 06 (1024x768x75Hz) */
1603         {9,1305,0,1025,144,3},   /* ; 07 (1280x1024x75Hz) */
1604         {9,1457,0,1051,112,3},   /* ; 08 (1400x1050x60Hz) ;;[ycchen] 12/19/02 */
1605         {9,1673,0,1201,192,3},   /* ; 09 (1600x1200x75Hz) */
1606         {9,1337,0,771,112,6}    /* ; 0A (1280x768x60Hz) */
1607 };
1608
1609 struct XGI330_TVDataStruct  XGI_StPALData[] =
1610 {
1611  {    1,   1, 864, 525,1270, 400, 100,   0, 760},
1612  {    1,   1, 864, 525,1270, 350, 100,   0, 760},
1613  {    1,   1, 864, 525,1270, 400,   0,   0, 720},
1614  {    1,   1, 864, 525,1270, 350,   0,   0, 720},
1615  {    1,   1, 864, 525,1270, 480,  50,   0, 760},
1616  {    1,   1, 864, 525,1270, 600,  50,   0,   0}
1617 };
1618
1619 struct XGI330_TVDataStruct  XGI_ExtPALData[] =
1620 {
1621  {    2,   1,1080, 463,1270, 500,  50,   0,  50},
1622  {   15,   7,1152, 413,1270, 500,  50,   0,  50},
1623  {    2,   1,1080, 463,1270, 500,  50,   0,  50},
1624  {   15,   7,1152, 413,1270, 500,  50,   0,  50},
1625  {    2,   1, 900, 543,1270, 500,   0,   0,  50},
1626  {    4,   3,1080, 663,1270, 500, 438,   0, 438},
1627  {    1,   1,1125, 831,1270, 500, 686,   0, 686},     /*301b*/
1628  {    3,   2,1080, 619,1270, 540, 438,   0, 438}
1629 };
1630
1631 struct XGI330_TVDataStruct  XGI_StNTSCData[] =
1632 {
1633  {    1,   1, 858, 525,1270, 400,  50,   0, 760},
1634  {    1,   1, 858, 525,1270, 350,  50,   0, 640},
1635  {    1,   1, 858, 525,1270, 400,   0,   0, 720},
1636  {    1,   1, 858, 525,1270, 350,   0,   0, 720},
1637  {    1,   1, 858, 525,1270, 480,   0,   0, 760}
1638 };
1639
1640 struct XGI330_TVDataStruct  XGI_ExtNTSCData[] =
1641 {
1642  {    9,  5, 1001, 453,1270, 420, 171,   0, 171},
1643  {   12,  5,  858, 403,1270, 420, 171,   0, 171},
1644  {    9,  5, 1001, 453,1270, 420, 171,   0, 171},
1645  {   12,  5,  858, 403,1270, 420, 171,   0, 171},
1646  {  143,  80, 836, 523,1270, 420, 224,   0,   0},
1647  {  143, 120,1008, 643,1270, 420,   0,   1,   0},
1648  {   1,    1,1120, 821,1516, 420,   0,   1,   0}, /*301b*/
1649  {    2,   1, 858, 503,1584, 480,   0,   1,   0},
1650  {    3,   2,1001, 533,1270, 420,   0,   0,   0}
1651 };
1652
1653 struct XGI330_TVDataStruct  XGI_St1HiTVData[] =
1654 {
1655         {        1,1,892,563,690,800,0,0,0               }, /* 00 (320x200,320x400,640x200,640x400) */
1656         {        1,1,892,563,690,700,0,0,0               }, /* 01 (320x350,640x350) */
1657         {        1,1,1000,563,785,800,0,0,0              }, /* 02 (360x400,720x400) */
1658         {        1,1,1000,563,785,700,0,0,0              }, /* 03 (720x350) */
1659         {        1,1,892,563,690,960,0,0,0               }, /* 04 (320x240,640x480) */
1660         {        8,5,1050,683,1648,960,0x150,1,0         }  /* 05 (400x300,800x600) */
1661 };
1662
1663 struct XGI330_TVDataStruct  XGI_St2HiTVData[] =
1664 {
1665         {        3,1,840,483,1648,960,0x032,0,0          }, /* 00 (320x200,320x400,640x200,640x400) */
1666         {        1,1,892,563,690,700,0,0,0               }, /* 01 (320x350,640x350) */
1667         {        3,1,840,483,1648,960,0x032,0,0          }, /* 02 (360x400,720x400) */
1668         {        1,1,1000,563,785,700,0,0,0              }, /* 03 (720x350) */
1669         {        5,2,840,563,1648,960,0x08D,1,0          }, /* 04 (320x240,640x480) */
1670         {        8,5,1050,683,1648,960,0x17C,1,0         }  /* 05 (400x300,800x600) */
1671
1672 };
1673
1674 struct XGI330_TVDataStruct  XGI_ExtHiTVData[] =
1675 {
1676         {        6,1,840,563,1632,960,0,0,0              }, /* 00 (320x200,320x400,640x200,640x400) */
1677         {        3,1,960,563,1632,960,0,0,0              }, /* 01 (320x350,640x350) */
1678         {        3,1,840,483,1632,960,0,0,0              }, /* 02 (360x400,720x400) */
1679         {        3,1,960,563,1632,960,0,0,0              }, /* 03 (720x350) */
1680         {        5,1,840,563,1648,960,0x166,1,0          }, /* 04 (320x240,640x480) */
1681         {        16,5,1050,683,1648,960,0x143,1,0        }, /* 05 (400x300,800x600) */
1682         {        25,12,1260,851,1648,960,0x032,0,0       }, /* 06 (512x384,1024x768) */
1683         {        5,4,1575,1124,1648,960,0x128,0,0        }, /* 07 (1280x1024) */
1684         {        4,1,1050,563,1548,960,0x143,1,0         }, /* 08 (800x480) */
1685         {        5,2,1400,659,1648,960,0x032,0,0         }, /* 09 (1024x576) */
1686         {        8,5,1750,803,1648,960,0x128,0,0         }  /* 0A (1280x720) */
1687
1688 };
1689
1690 struct XGI330_TVDataStruct  XGI_ExtYPbPr525iData[] =
1691 {
1692  {    9,  5, 1001, 453,1270, 420, 171,   0, 171},
1693  {   12,  5,  858, 403,1270, 420, 171,   0, 171},
1694  {    9,  5, 1001, 453,1270, 420, 171,   0, 171},
1695  {   12,  5,  858, 403,1270, 420, 171,   0, 171},
1696  {  143,  80, 836, 523,1250, 420, 224,   0,   0},
1697  {  143, 120,1008, 643,1250, 420,   0,   1,   0},
1698  {   1,    1,1120, 821,1516, 420,   0,   1,   0}, /*301b*/
1699  {    2,   1, 858, 503,1584, 480,   0,   1,   0},
1700  {    3,   2,1001, 533,1250, 420,   0,   0,   0}
1701 };
1702
1703 struct XGI330_TVDataStruct  XGI_StYPbPr525iData[] =
1704 {
1705  {    1,   1, 858, 525,1270, 400,  50,   0, 760},
1706  {    1,   1, 858, 525,1270, 350,  50,   0, 640},
1707  {    1,   1, 858, 525,1270, 400,   0,   0, 720},
1708  {    1,   1, 858, 525,1270, 350,   0,   0, 720},
1709  {    1,   1, 858, 525,1270, 480,   0,   0, 760},
1710 };
1711
1712 struct XGI330_TVDataStruct  XGI_ExtYPbPr525pData[] =
1713 {
1714  {    9,  5, 1001, 453,1270, 420, 171,   0, 171},
1715  {   12,  5,  858, 403,1270, 420, 171,   0, 171},
1716  {    9,  5, 1001, 453,1270, 420, 171,   0, 171},
1717  {   12,  5,  858, 403,1270, 420, 171,   0, 171},
1718  {  143,  80, 836, 523,1270, 420, 224,   0,   0},
1719  {  143, 120,1008, 643,1270, 420,   0,   1,   0},
1720  {   1,    1,1120, 821,1516, 420,   0,   1,   0}, /*301b*/
1721  {    2,   1, 858, 503,1584, 480,   0,   1,   0},
1722  {    3,   2,1001, 533,1270, 420,   0,   0,   0}
1723  };
1724
1725 struct XGI330_TVDataStruct  XGI_StYPbPr525pData[] =
1726 {
1727  {    1,   1,1716, 525,1270, 400,  50,   0, 760},
1728  {    1,   1,1716, 525,1270, 350,  50,   0, 640},
1729  {    1,   1,1716, 525,1270, 400,   0,   0, 720},
1730  {    1,   1,1716, 525,1270, 350,   0,   0, 720},
1731  {    1,   1,1716, 525,1270, 480,   0,   0, 760},
1732 };
1733
1734 struct XGI330_TVDataStruct  XGI_ExtYPbPr750pData[] =
1735 {
1736  {    3,   1, 935, 470,1130, 680,  50,   0,   0},       /* 00 (320x200,320x400,640x200,640x400) */
1737  {   24,   7, 935, 420,1130, 680,  50,   0,   0},       /* 01 (320x350,640x350) */
1738  {    3,   1, 935, 470,1130, 680,  50,   0,   0},       /* 02 (360x400,720x400) */
1739  {   24,   7, 935, 420,1130, 680,  50,   0,   0},       /* 03 (720x350) */
1740  {    2,   1,1100, 590,1130, 640,  50,   0,   0},       /* 04 (320x240,640x480) */
1741  {    3,   2,1210, 690,1130, 660,  50,   0,   0},       /* 05 (400x300,800x600) */
1742  {    1,   1,1375, 878,1130, 640, 638,   0,   0},       /* 06 (1024x768) */
1743  {    2,   1, 858, 503,1130, 480,   0,   1,   0},        /* 07 (720x480) */
1744  {    5,   4,1815, 570,1130, 660,  50,   0,   0},
1745  {    5,   3,1100, 686,1130, 640,  50,   1,   0},
1746  {   10,   9,1320, 830,1130, 640,  50,   0,   0}
1747 };
1748
1749 struct XGI330_TVDataStruct  XGI_StYPbPr750pData[] =
1750 {
1751  {    1,   1,1650, 750,1280, 400,  50,   0, 760},
1752  {    1,   1,1650, 750,1280, 350,  50,   0, 640},
1753  {    1,   1,1650, 750,1280, 400,   0,   0, 720},
1754  {    1,   1,1650, 750,1280, 350,   0,   0, 720},
1755  {    1,   1,1650, 750,1280, 480,   0,   0, 760},
1756 };
1757
1758 unsigned char XGI330_NTSCTiming[] = {
1759   0x17,0x1d,0x03,0x09,0x05,0x06,0x0c,0x0c,
1760   0x94,0x49,0x01,0x0a,0x06,0x0d,0x04,0x0a,
1761   0x06,0x14,0x0d,0x04,0x0a,0x00,0x85,0x1b,
1762   0x0c,0x50,0x00,0x97,0x00,0xda,0x4a,0x17,
1763   0x7d,0x05,0x4b,0x00,0x00,0xe2,0x00,0x02,
1764   0x03,0x0a,0x65,0x9d,0x08,0x92,0x8f,0x40,
1765   0x60,0x80,0x14,0x90,0x8c,0x60,0x14,0x50,
1766   0x00,0x40,0x44,0x00,0xdb,0x02,0x3b,0x00};
1767
1768 unsigned char XGI330_PALTiming[] = {
1769   0x21,0x5A,0x35,0x6e,0x04,0x38,0x3d,0x70,
1770   0x94,0x49,0x01,0x12,0x06,0x3e,0x35,0x6d,
1771   0x06,0x14,0x3e,0x35,0x6d,0x00,0x45,0x2b,
1772   0x70,0x50,0x00,0x9b,0x00,0xd9,0x5d,0x17,
1773   0x7d,0x05,0x45,0x00,0x00,0xe8,0x00,0x02,
1774   0x0d,0x00,0x68,0xb0,0x0b,0x92,0x8f,0x40,
1775   0x60,0x80,0x14,0x90,0x8c,0x60,0x14,0x63,
1776   0x00,0x40,0x3e,0x00,0xe1,0x02,0x28,0x00};
1777
1778 unsigned char XGI330_HiTVExtTiming[] =
1779 {
1780       0x2D,0x60,0x2C,0x5F,0x08,0x31,0x3A,0x64,
1781       0x28,0x02,0x01,0x3D,0x06,0x3E,0x35,0x6D,
1782       0x06,0x14,0x3E,0x35,0x6D,0x00,0xC5,0x3F,
1783       0x64,0x90,0x33,0x8C,0x18,0x36,0x3E,0x13,
1784       0x2A,0xDE,0x2A,0x44,0x40,0x2A,0x44,0x40,
1785       0x8E,0x8E,0x82,0x07,0x0B,
1786       0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
1787       0x60,0x14,0x3D,0x63,0x4F,
1788       0x27,0x00,0xfc,0xff,0x6a,0x00
1789
1790 };
1791
1792 unsigned char XGI330_HiTVSt1Timing[] =
1793 {
1794       0x32,0x65,0x2C,0x5F,0x08,0x31,0x3A,0x65,
1795       0x28,0x02,0x01,0x3D,0x06,0x3E,0x35,0x6D,
1796       0x06,0x14,0x3E,0x35,0x6D,0x00,0xC5,0x3F,
1797       0x65,0x90,0x7B,0xA8,0x03,0xF0,0x87,0x03,
1798       0x11,0x15,0x11,0xCF,0x10,0x11,0xCF,0x10,
1799       0x35,0x35,0x3B,0x69,0x1D,
1800       0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
1801       0x60,0x04,0x86,0xAF,0x5D,
1802       0x0E,0x00,0xfc,0xff,0x2d,0x00
1803 };
1804
1805 unsigned char XGI330_HiTVSt2Timing[] =
1806 {
1807       0x32,0x65,0x2C,0x5F,0x08,0x31,0x3A,0x64,
1808       0x28,0x02,0x01,0x3D,0x06,0x3E,0x35,0x6D,
1809       0x06,0x14,0x3E,0x35,0x6D,0x00,0xC5,0x3F,
1810       0x64,0x90,0x33,0x8C,0x18,0x36,0x3E,0x13,
1811       0x2A,0xDE,0x2A,0x44,0x40,0x2A,0x44,0x40,
1812       0x8E,0x8E,0x82,0x07,0x0B,
1813       0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
1814       0x60,0x14,0x3D,0x63,0x4F,
1815       0x27,0x00,0xFC,0xff,0x6a,0x00
1816 };
1817
1818 unsigned char XGI330_HiTVTextTiming[] =
1819 {
1820       0x32,0x65,0x2C,0x5F,0x08,0x31,0x3A,0x65,
1821       0x28,0x02,0x01,0x3D,0x06,0x3E,0x35,0x6D,
1822       0x06,0x14,0x3E,0x35,0x6D,0x00,0xC5,0x3F,
1823       0x65,0x90,0xE7,0xBC,0x03,0x0C,0x97,0x03,
1824       0x14,0x78,0x14,0x08,0x20,0x14,0x08,0x20,
1825       0xC8,0xC8,0x3B,0xD2,0x26,
1826       0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
1827       0x60,0x04,0x96,0x72,0x5C,
1828       0x11,0x00,0xFC,0xFF,0x32,0x00
1829 };
1830
1831 unsigned char XGI330_YPbPr750pTiming[] =
1832 {
1833       0x30,0x1d,0xe8,0x09,0x09,0xed,0x0c,0x0c,
1834       0x98,0x0a,0x01,0x0c,0x06,0x0d,0x04,0x0a,
1835       0x06,0x14,0x0d,0x04,0x0a,0x00,0x85,0x3f,
1836       0xed,0x50,0x70,0x9f,0x16,0x59,0x60,0x13,
1837       0x27,0x0b,0x27,0xfc,0x30,0x27,0x1c,0xb0,
1838       0x4b,0x4b,0x6f,0x2f,0x63,
1839       0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
1840       0x60,0x14,0x73,0x00,0x40,
1841       0x11,0x00,0xfc,0xff,0x32,0x00
1842 };
1843
1844 unsigned char XGI330_YPbPr525pTiming[] =
1845 {
1846       0x3E,0x11,0x06,0x09,0x0b,0x0c,0x0c,0x0c,
1847       0x98,0x0a,0x01,0x0d,0x06,0x0d,0x04,0x0a,
1848       0x06,0x14,0x0d,0x04,0x0a,0x00,0x85,0x3f,
1849       0x0c,0x50,0xb2,0x9f,0x16,0x59,0x4f,0x13,
1850       0xad,0x11,0xad,0x1d,0x40,0x8a,0x3d,0xb8,
1851       0x51,0x5e,0x60,0x49,0x7d,
1852       0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
1853       0x60,0x14,0x4B,0x43,0x41,
1854       0x11,0x00,0xFC,0xFF,0x32,0x00
1855 };
1856
1857 unsigned char XGI330_YPbPr525iTiming[] =
1858 {
1859       0x1B,0x21,0x03,0x09,0x05,0x06,0x0C,0x0C,
1860       0x94,0x49,0x01,0x0A,0x06,0x0D,0x04,0x0A,
1861       0x06,0x14,0x0D,0x04,0x0A,0x00,0x85,0x1B,
1862       0x0C,0x50,0x00,0x97,0x00,0xDA,0x4A,0x17,
1863       0x7D,0x05,0x4B,0x00,0x00,0xE2,0x00,0x02,
1864       0x03,0x0A,0x65,0x9D,0x08,
1865       0x92,0x8F,0x40,0x60,0x80,0x14,0x90,0x8C,
1866       0x60,0x14,0x4B,0x00,0x40,
1867       0x44,0x00,0xDB,0x02,0x3B,0x00
1868
1869 };
1870
1871 unsigned char XGI330_HiTVGroup3Data[] =
1872 {
1873       0x00,0x1A,0x22,0x63,0x62,0x22,0x08,0x5F,
1874       0x05,0x21,0xB2,0xB2,0x55,0x77,0x2A,0xA6,
1875       0x25,0x2F,0x47,0xFA,0xC8,0xFF,0x8E,0x20,
1876       0x8C,0x6E,0x60,0x2E,0x58,0x48,0x72,0x44,
1877       0x56,0x36,0x4F,0x6E,0x3F,0x80,0x00,0x80,
1878       0x4F,0x7F,0x03,0xA8,0x7D,0x20,0x1A,0xA9,
1879       0x14,0x05,0x03,0x7E,0x64,0x31,0x14,0x75,
1880       0x18,0x05,0x18,0x05,0x4C,0xA8,0x01
1881 };
1882
1883 unsigned char XGI330_HiTVGroup3Simu[] =
1884 {
1885       0x00,0x1A,0x22,0x63,0x62,0x22,0x08,0x95,
1886       0xDB,0x20,0xB8,0xB8,0x55,0x47,0x2A,0xA6,
1887       0x25,0x2F,0x47,0xFA,0xC8,0xFF,0x8E,0x20,
1888       0x8C,0x6E,0x60,0x15,0x26,0xD3,0xE4,0x11,
1889       0x56,0x36,0x4F,0x6E,0x3F,0x80,0x00,0x80,
1890       0x67,0x36,0x01,0x47,0x0E,0x10,0xBE,0xB4,
1891       0x01,0x05,0x03,0x7E,0x65,0x31,0x14,0x75,
1892       0x18,0x05,0x18,0x05,0x4C,0xA8,0x01
1893 };
1894
1895 unsigned char XGI330_HiTVGroup3Text[] =
1896 {
1897       0x00,0x1A,0x22,0x63,0x62,0x22,0x08,0xA7,
1898       0xF5,0x20,0xCE,0xCE,0x55,0x47,0x2A,0xA6,
1899       0x25,0x2F,0x47,0xFA,0xC8,0xFF,0x8E,0x20,
1900       0x8C,0x6E,0x60,0x18,0x2C,0x0C,0x20,0x22,
1901       0x56,0x36,0x4F,0x6E,0x3F,0x80,0x00,0x80,
1902       0x93,0x3C,0x01,0x50,0x2F,0x10,0xF4,0xCA,
1903       0x01,0x05,0x03,0x7E,0x65,0x31,0x14,0x75,
1904       0x18,0x05,0x18,0x05,0x4C,0xA8,0x01
1905 };
1906
1907 unsigned char XGI330_Ren525pGroup3[] =
1908 {
1909   0x00,0x14,0x15,0x25,0x55,0x15,0x0b,0x13,
1910   0xB1,0x41,0x62,0x62,0xFF,0xF4,0x45,0xa6,
1911   0x25,0x2F,0x67,0xF6,0xbf,0xFF,0x8E,0x20,
1912   0xAC,0xDA,0x60,0xFe,0x6A,0x9A,0x06,0x10,
1913   0xd1,0x04,0x18,0x0a,0xFF,0x80,0x00,0x80,
1914   0x3c,0x77,0x00,0xEF,0xE0,0x10,0xB0,0xE0,
1915   0x10,0x4F,0x0F,0x0F,0x05,0x0F,0x08,0x6E,
1916   0x1a,0x1F,0x25,0x2a,0x4C,0xAA,0x01
1917 };
1918
1919 unsigned char XGI330_Ren750pGroup3[] =
1920 {
1921   0x00,0x14,0x15,0x25,0x55,0x15,0x0b,0x7a,
1922   0x54,0x41,0xE7,0xE7,0xFF,0xF4,0x45,0xa6,
1923   0x25,0x2F,0x67,0xF6,0xbf,0xFF,0x8E,0x20,
1924   0xAC,0x6A,0x60,0x2b,0x52,0xCD,0x61,0x10,
1925   0x51,0x04,0x18,0x0a,0x1F,0x80,0x00,0x80,
1926   0xFF,0xA4,0x04,0x2B,0x94,0x21,0x72,0x94,
1927   0x26,0x05,0x01,0x0F,0xed,0x0F,0x0A,0x64,
1928   0x18,0x1D,0x23,0x28,0x4C,0xAA,0x01
1929 };
1930
1931 struct XGI_PanelDelayTblStruct XGI330_PanelDelayTbl[] =
1932 {
1933 {{0x00,0x00}},
1934 {{0x00,0x00}},
1935 {{0x00,0x00}},
1936 {{0x00,0x00}},
1937 {{0x00,0x00}},
1938 {{0x00,0x00}},
1939 {{0x00,0x00}},
1940 {{0x00,0x00}},
1941 {{0x00,0x00}},
1942 {{0x00,0x00}},
1943 {{0x00,0x00}},
1944 {{0x00,0x00}},
1945 {{0x00,0x00}},
1946 {{0x00,0x00}},
1947 {{0x00,0x00}},
1948 {{0x00,0x00}}
1949 };
1950
1951 struct XGI330_LVDSDataStruct  XGI330_LVDS320x480Data_1[] =
1952 {
1953  {848, 433,400,525},
1954  {848, 389,400,525},
1955  {848, 433,400,525},
1956  {848, 389,400,525},
1957  {848, 518,400, 525},
1958  {1056, 628,400,525},
1959  {400, 525,400,525},
1960  {800, 449,1000, 644},
1961  {800, 525,1000, 635}
1962 };
1963
1964 struct XGI330_LVDSDataStruct  XGI330_LVDS800x600Data_1[] =
1965 {
1966  {848, 433,1060, 629},
1967  {848, 389,1060, 629},
1968  {848, 433,1060, 629},
1969  {848, 389,1060, 629},
1970  {848, 518,1060, 629},
1971  {1056, 628,1056, 628},
1972  {1056, 628,1056, 628},
1973  {800, 449,1000, 644},
1974  {800, 525,1000, 635}
1975 };
1976
1977 struct XGI330_LVDSDataStruct  XGI330_LVDS800x600Data_2[] =
1978 {
1979  {1056, 628,1056, 628},
1980  {1056, 628,1056, 628},
1981  {1056, 628,1056, 628},
1982  {1056, 628,1056, 628},
1983  {1056, 628,1056, 628},
1984  {1056, 628,1056, 628},
1985  {1056, 628,1056, 628},
1986  {800, 449,1000, 644},
1987  {800, 525,1000, 635}
1988 };
1989
1990 struct XGI330_LVDSDataStruct  XGI_LVDS1024x768Data_1[] =
1991 {
1992  { 960 , 438 , 1344 , 806 } ,   /* 00 (320x200,320x400,640x200,640x400) */
1993  { 960 , 388 , 1344 , 806 } ,   /* 01 (320x350,640x350) */
1994  { 1040, 438 , 1344 , 806 } ,   /* 02 (360x400,720x400) */
1995  { 1040, 388 , 1344 , 806 } ,   /* 03 (720x350) */
1996  { 960 , 518 , 1344 , 806 } ,   /* 04 (320x240,640x480) */
1997  {1120 , 638 , 1344 , 806 } ,   /* 05 (400x300,800x600) */
1998  {1344 , 806 , 1344 , 806 }     /* 06 (512x384,1024x768) */
1999 };
2000
2001
2002 struct XGI330_LVDSDataStruct  XGI_LVDS1024x768Data_2[] =
2003 {
2004  {1344, 806,1344, 806},
2005  {1344, 806,1344, 806},
2006  {1344, 806,1344, 806},
2007  {1344, 806,1344, 806},
2008  {1344, 806,1344, 806},
2009  {1344, 806,1344, 806},
2010  {1344, 806,1344, 806},
2011  {800, 449,1280, 801},
2012  {800, 525,1280, 813}
2013 };
2014
2015 struct XGI330_LVDSDataStruct  XGI_LVDS1280x1024Data_1[] =
2016 {
2017  {1048, 442,1688, 1066},
2018  {1048, 392,1688, 1066},
2019  {1048, 442,1688, 1066},
2020  {1048, 392,1688, 1066},
2021  {1048, 522,1688, 1066},
2022  {1208, 642,1688, 1066},
2023  {1432, 810,1688, 1066},
2024  {1688, 1066,1688, 1066}
2025 };
2026
2027 struct XGI330_LVDSDataStruct  XGI_LVDS1280x1024Data_2[] =
2028 {
2029  {1344, 806,1344, 806},
2030  {1344, 806,1344, 806},
2031  {1344, 806,1344, 806},
2032  {1344, 806,1344, 806},
2033  {1344, 806,1344, 806},
2034  {1344, 806,1344, 806},
2035  {1344, 806,1344, 806},
2036  {800, 449,1280, 801},
2037  {800, 525,1280, 813}
2038 };
2039 /*
2040 struct XGI330_LVDSDataStruct  XGI_LVDS1280x768Data_1[] =
2041 {
2042  {768,438,1408,806},
2043  {768,388,1408,806},
2044  {768,438,1408,806},
2045  {768,388,1408,806},
2046  {768,518,1408,806},
2047  {928,638,1408,806},
2048  {1408,806,1408,806},
2049  {1408,806,1408,806},
2050  {1408,806,1408,806}
2051 };
2052
2053 struct XGI330_LVDSDataStruct  XGI_LVDS1280x768Data_2[] =
2054 {
2055  {1408, 806,1408, 806},
2056  {1408, 806,1408, 806},
2057  {1408, 806,1408, 806},
2058  {1408, 806,1408, 806},
2059  {1408, 806,1408, 806},
2060  {1408, 806,1408, 806},
2061  {1408, 806,1408, 806},
2062  {1408, 806,1408, 806},
2063  {1408, 806,1408, 806}
2064 };
2065
2066 struct XGI330_LVDSDataStruct  XGI_LVDS1280x768NData_1[] =
2067 {
2068  {704, 438,1344, 806},
2069  {704, 388,1344, 806},
2070  {704, 438,1344, 806},
2071  {704, 388,1344, 806},
2072  {704, 518,1344, 806},
2073  {864, 638,1344, 806},
2074  {1088, 806,1344, 806},
2075  {1344, 806,1344, 806},
2076  {1344, 806,1344, 806}
2077 };
2078
2079 struct XGI330_LVDSDataStruct  XGI_LVDS1280x768NData_2[] =
2080 {
2081  {1344, 806,1344, 806},
2082  {1344, 806,1344, 806},
2083  {1344, 806,1344, 806},
2084  {1344, 806,1344, 806},
2085  {1344, 806,1344, 806},
2086  {1344, 806,1344, 806},
2087  {1344, 806,1344, 806},
2088  {1344, 806,1344, 806},
2089  {1344, 806,1344, 806}
2090 };
2091
2092 struct XGI330_LVDSDataStruct  XGI_LVDS1280x768SData_1[] =
2093 {
2094  {1048,438,1688,806},
2095  {1048,388,1688,806},
2096  {1148,438,1688,806},
2097  {1148,388,1688,806},
2098  {1048,518,1688,806},
2099  {1208,638,1688,806},
2100  {1432,806,1688,806},
2101  {1688,806,1688,806},
2102  {1688,806,1688,806}
2103 };
2104
2105 struct XGI330_LVDSDataStruct  XGI_LVDS1280x768SData_2[] =
2106 {
2107  {1688,806,1688,806},
2108  {1688,806,1688,806},
2109  {1688,806,1688,806},
2110  {1688,806,1688,806},
2111  {1688,806,1688,806},
2112  {1688,806,1688,806},
2113  {1688,806,1688,806},
2114  {1688,806,1688,806},
2115  {1688,806,1688,806}
2116 };
2117 */
2118 struct XGI330_LVDSDataStruct  XGI_LVDS1400x1050Data_1[] =
2119 {
2120  {928,416,1688,1066},
2121  {928,366,1688,1066},
2122  {928,416,1688,1066},
2123  {928,366,1688,1066},
2124  {928,496,1688,1066},
2125  {1088,616,1688,1066},
2126  {1312,784,1688,1066},
2127  {1568,1040,1688,1066},
2128  {1688,1066,1688,1066}
2129 };
2130
2131 struct XGI330_LVDSDataStruct  XGI_LVDS1400x1050Data_2[] =
2132 {
2133  {1688,1066,1688,1066},
2134  {1688,1066,1688,1066},
2135  {1688,1066,1688,1066},
2136  {1688,1066,1688,1066},
2137  {1688,1066,1688,1066},
2138  {1688,1066,1688,1066},
2139  {1688,1066,1688,1066},
2140  {1688,1066,1688,1066},
2141  {1688,1066,1688,1066}
2142 };
2143
2144 struct XGI330_LVDSDataStruct XGI_LVDS1600x1200Data_1[] =
2145 {      /* ;;[ycchen] 12/05/02 LCDHTxLCDVT=2048x1320 */
2146         {        1088,520,2048,1320      },/* 00 (320x200,320x400,640x200,640x400) */
2147         {        1088,470,2048,1320      },/* 01 (320x350,640x350) */
2148         {        1088,520,2048,1320      },/* 02 (360x400,720x400) */
2149         {        1088,470,2048,1320      },/* 03 (720x350) */
2150         {        1088,600,2048,1320      },/* 04 (320x240,640x480) */
2151         {        1248,720,2048,1320      },/* 05 (400x300,800x600) */
2152         {        1472,888,2048,1320      },/* 06 (512x384,1024x768) */
2153         {        1728,1144,2048,1320     },/* 07 (640x512,1280x1024) */
2154         {        1848,1170,2048,1320     },/* 08 (1400x1050) */
2155         {        2048,1320,2048,1320     } /* 09 (1600x1200) */
2156 };
2157
2158 struct XGI330_LVDSDataStruct XGI_LVDSNoScalingData[] =
2159 {
2160         {        800,449,800,449             }, /* 00 (320x200,320x400,640x200,640x400) */
2161         {        800,449,800,449             }, /* 01 (320x350,640x350) */
2162         {        800,449,800,449             }, /* 02 (360x400,720x400) */
2163         {        800,449,800,449             }, /* 03 (720x350) */
2164         {        800,525,800,525             }, /* 04 (640x480x60Hz) */
2165         {        1056,628,1056,628           }, /* 05 (800x600x60Hz) */
2166         {        1344,806,1344,806           }, /* 06 (1024x768x60Hz) */
2167         {        1688,1066,1688,1066         }, /* 07 (1280x1024x60Hz) */
2168         {        1688,1066,1688,1066         }, /* 08 (1400x1050x60Hz) ;;[ycchen] 12/19/02 */
2169         {        2160,1250,2160,1250         }, /* 09 (1600x1200x60Hz) */
2170         {        1688,806,1688,806           }  /* 0A (1280x768x60Hz) */
2171 };
2172
2173 struct XGI330_LVDSDataStruct XGI_LVDS1024x768Data_1x75[] =
2174 {
2175         {960,438,1312,800  }, /* 00 (320x200,320x400,640x200,640x400) */
2176         {960,388,1312,800  }, /* 01 (320x350,640x350) */
2177         {1040,438,1312,800 }, /* 02 (360x400,720x400) */
2178         {1040,388,1312,800 }, /* 03 (720x350) */
2179         {928,512,1312,800  }, /* 04 (320x240,640x480) */
2180         {1088,632,1312,800 }, /* 05 (400x300,800x600) */
2181         {1312,800,1312,800 }, /* 06 (512x384,1024x768) */
2182 };
2183
2184
2185 struct XGI330_LVDSDataStruct XGI_LVDS1024x768Data_2x75[] =
2186 {
2187         {1312,800,1312,800}, /* ; 00 (320x200,320x400,640x200,640x400) */
2188         {1312,800,1312,800}, /* ; 01 (320x350,640x350) */
2189         {1312,800,1312,800}, /* ; 02 (360x400,720x400) */
2190         {1312,800,1312,800}, /* ; 03 (720x350) */
2191         {1312,800,1312,800}, /* ; 04 (320x240,640x480) */
2192         {1312,800,1312,800}, /* ; 05 (400x300,800x600) */
2193         {1312,800,1312,800}, /* ; 06 (512x384,1024x768) */
2194 };
2195
2196 struct XGI330_LVDSDataStruct XGI_LVDS1280x1024Data_1x75[] =
2197 {
2198         {1048,442,1688,1066  }, /* ; 00 (320x200,320x400,640x200,640x400) */
2199         {1048,392,1688,1066  }, /* ; 01 (320x350,640x350) */
2200         {1128,442,1688,1066  }, /* ; 02 (360x400,720x400) */
2201         {1128,392,1688,1066  }, /* ; 03 (720x350) */
2202         {1048,522,1688,1066  }, /* ; 04 (320x240,640x480) */
2203         {1208,642,1688,1066  }, /* ; 05 (400x300,800x600) */
2204         {1432,810,1688,1066  }, /* ; 06 (512x384,1024x768) */
2205         {1688,1066,1688,1066 }, /* ; 06; 07 (640x512,1280x1024) */
2206 };
2207
2208 struct XGI330_LVDSDataStruct XGI_LVDS1280x1024Data_2x75[] =
2209 {
2210         {1688,1066,1688,1066 }, /* ; 00 (320x200,320x400,640x200,640x400) */
2211         {1688,1066,1688,1066 }, /* ; 01 (320x350,640x350) */
2212         {1688,1066,1688,1066 }, /* ; 02 (360x400,720x400) */
2213         {1688,1066,1688,1066 }, /* ; 03 (720x350) */
2214         {1688,1066,1688,1066 }, /* ; 04 (320x240,640x480) */
2215         {1688,1066,1688,1066 }, /* ; 05 (400x300,800x600) */
2216         {1688,1066,1688,1066 }, /* ; 06 (512x384,1024x768) */
2217         {1688,1066,1688,1066 }, /* ; 06; 07 (640x512,1280x1024) */
2218 };
2219
2220 struct XGI330_LVDSDataStruct XGI_LVDSNoScalingDatax75[] =
2221 {
2222         {800,449,800,449     }, /* ; 00 (320x200,320x400,640x200,640x400) */
2223         {800,449,800,449     }, /* ; 01 (320x350,640x350) */
2224         {900,449,900,449     }, /* ; 02 (360x400,720x400) */
2225         {900,449,900,449     }, /* ; 03 (720x350) */
2226         {800,500,800,500     }, /* ; 04 (640x480x75Hz) */
2227         {1056,625,1056,625   }, /* ; 05 (800x600x75Hz) */
2228         {1312,800,1312,800   }, /* ; 06 (1024x768x75Hz) */
2229         {1688,1066,1688,1066 }, /* ; 07 (1280x1024x75Hz) */
2230         {1688,1066,1688,1066 }, /* ; 08 (1400x1050x75Hz) ;;[ycchen] 12/19/02 */
2231         {2160,1250,2160,1250 }, /* ; 09 (1600x1200x75Hz) */
2232         {1688,806,1688,806   }, /* ; 0A (1280x768x75Hz) */
2233 };
2234
2235 struct XGI330_LVDSDataStruct XGI_LVDS1024x768Des_1[] =
2236 {
2237         {      0,1048,   0, 771     }, /* 00 (320x200,320x400,640x200,640x400) */
2238         {      0,1048,   0, 771     }, /* 01 (320x350,640x350) */
2239         {      0,1048,   0, 771     }, /* 02 (360x400,720x400) */
2240         {      0,1048,   0, 771     }, /* 03 (720x350) */
2241         {      0,1048,   0, 771     }, /* 04 (640x480x60Hz) */
2242         {      0,1048,   0, 771     }, /* 05 (800x600x60Hz) */
2243         {      0,1048, 805, 770     }  /* 06 (1024x768x60Hz) */
2244 } ;
2245
2246 struct XGI330_LVDSDataStruct XGI_LVDS1024x768Des_2[] =
2247 {
2248         {      1142, 856, 622, 587     }, /* 00 (320x200,320x400,640x200,640x400) */
2249         {      1142, 856, 597, 562     }, /* 01 (320x350,640x350) */
2250         {      1142, 856, 622, 587     }, /* 02 (360x400,720x400) */
2251         {      1142, 856, 597, 562     }, /* 03 (720x350) */
2252         {      1142,1048, 722, 687     }, /* 04 (640x480x60Hz) */
2253         {      1232, 936, 722, 687     }, /* 05 (800x600x60Hz) */
2254         {         0,1048, 805, 771     }  /* 06 (1024x768x60Hz) */
2255 };
2256
2257 struct XGI330_LVDSDataStruct XGI_LVDS1024x768Des_3[] =
2258 {
2259         {       320,  24, 622, 587     }, /* 00 (320x200,320x400,640x200,640x400) */
2260         {       320,  24, 597, 562     }, /* 01 (320x350,640x350) */
2261         {       320,  24, 622, 587     }, /* 02 (360x400,720x400) */
2262         {       320,  24, 597, 562     }, /* 03 (720x350) */
2263         {       320,  24, 722, 687     }  /* 04 (640x480x60Hz) */
2264 };
2265
2266 struct XGI330_LVDSDataStruct XGI_LVDS1280x1024Des_1[] =
2267 {
2268         {      0,1328,    0, 1025     }, /* 00 (320x200,320x400,640x200,640x400) */
2269         {      0,1328,    0, 1025     }, /* 01 (320x350,640x350) */
2270         {      0,1328,    0, 1025     }, /* 02 (360x400,720x400) */
2271         {      0,1328,    0, 1025     }, /* 03 (720x350) */
2272         {      0,1328,    0, 1025     }, /* 04 (640x480x60Hz) */
2273         {      0,1328,    0, 1025     }, /* 05 (800x600x60Hz) */
2274         {      0,1328,    0, 1025     }, /* 06 (1024x768x60Hz) */
2275         {      0,1328, 1065, 1024     }  /* 07 (1280x1024x60Hz) */
2276 };
2277
2278  /* The Display setting for DE Mode Panel */
2279 struct XGI330_LVDSDataStruct XGI_LVDS1280x1024Des_2[] =
2280 {
2281         {      1368,1008,752,711     }, /* 00 (320x200,320x400,640x200,640x400) */
2282         {      1368,1008,729,688     }, /* 01 (320x350,640x350) */
2283         {      1408,1048,752,711     }, /* 02 (360x400,720x400) */
2284         {      1408,1048,729,688     }, /* 03 (720x350) */
2285         {      1368,1008,794,753     }, /* 04 (640x480x60Hz) */
2286         {      1448,1068,854,813     }, /* 05 (800x600x60Hz) */
2287         {      1560,1200,938,897     }, /* 06 (1024x768x60Hz) */
2288         {      0000,1328,0,1025     }  /* 07 (1280x1024x60Hz) */
2289 };
2290
2291 struct XGI330_LVDSDataStruct XGI_LVDS1400x1050Des_1[] =
2292 {
2293         {      0,1448,0,1051     }, /* 00 (320x200,320x400,640x200,640x400) */
2294         {      0,1448,0,1051     }, /* 01 (320x350,640x350) */
2295         {      0,1448,0,1051     }, /* 02 (360x400,720x400) */
2296         {      0,1448,0,1051     }, /* 03 (720x350) */
2297         {      0,1448,0,1051     }, /* 04 (640x480x60Hz) */
2298         {      0,1448,0,1051     }, /* 05 (800x600x60Hz) */
2299         {      0,1448,0,1051     }, /* 06 (1024x768x60Hz) */
2300         {      0,1448,0,1051     }, /* 07 (1280x1024x60Hz) */
2301         {      0,1448,0,1051     }  /* 08 (1400x1050x60Hz) */
2302 };
2303
2304 struct XGI330_LVDSDataStruct XGI_LVDS1400x1050Des_2[] =
2305 {
2306         {      1308,1068, 781, 766     }, /* 00 (320x200,320x400,640x200,640x400) */
2307         {      1308,1068, 781, 766     }, /* 01 (320x350,640x350) */
2308         {      1308,1068, 781, 766     }, /* 02 (360x400,720x400) */
2309         {      1308,1068, 781, 766     }, /* 03 (720x350) */
2310         {      1308,1068, 781, 766     }, /* 04 (640x480x60Hz) */
2311         {      1388,1148, 841, 826     }, /* 05 (800x600x60Hz) */
2312         {      1490,1250, 925, 910     }, /* 06 (1024x768x60Hz) */
2313         {      1608,1368,1053,1038     }, /* 07 (1280x1024x60Hz) */
2314         {      0,1448,0,1051     }  /* 08 (1400x1050x60Hz) */
2315 };
2316
2317 struct XGI330_LVDSDataStruct XGI_LVDS1600x1200Des_1[] =
2318 {
2319         {      0,1664,0,1201     }, /* 00 (320x200,320x400,640x200,640x400) */
2320         {      0,1664,0,1201     }, /* 01 (320x350,640x350) */
2321         {      0,1664,0,1201     }, /* 02 (360x400,720x400) */
2322         {      0,1664,0,1201     }, /* 03 (720x350) */
2323         {      0,1664,0,1201     }, /* 04 (640x480x60Hz) */
2324         {      0,1664,0,1201     }, /* 05 (800x600x60Hz) */
2325         {      0,1664,0,1201     }, /* 06 (1024x768x60Hz) */
2326         {      0,1664,0,1201     }, /* 07 (1280x1024x60Hz) */
2327         {      0,1664,0,1201     }, /* 08 (1400x1050x60Hz) */
2328         {      0,1664,0,1201     }  /* 09 (1600x1200x60Hz) */
2329 };
2330
2331
2332
2333 struct XGI330_LCDDataDesStruct2  XGI_LVDSNoScalingDesData[] =
2334 {
2335         {     0, 648, 448, 405,  96,   2   }, /* 00 (320x200,320x400,640x200,640x400) */
2336         {     0, 648, 448, 355,  96,   2   }, /* 01 (320x350,640x350) */
2337         {     0, 648, 448, 405,  96,   2   }, /* 02 (360x400,720x400) */
2338         {     0, 648, 448, 355,  96,   2   }, /* 03 (720x350) */
2339         {     0, 648,  1, 483,  96,   2   }, /* 04 (640x480x60Hz) */
2340         {     0, 840, 627, 600, 128,   4   }, /* 05 (800x600x60Hz) */
2341         {     0,1048, 805, 770, 136,   6   }, /* 06 (1024x768x60Hz) */
2342         {     0,1328,0,1025, 112,   3   }, /* 07 (1280x1024x60Hz) */
2343         {     0,1438,0,1051, 112,   3   }, /* 08 (1400x1050x60Hz) ;;[ycchen] 12/19/02 */
2344         {     0,1664,0,1201, 192,   3   }, /* 09 (1600x1200x60Hz) */
2345         {     0,1328,0,0771, 112,   6   }  /* 0A (1280x768x60Hz) */
2346 };
2347
2348 struct XGI330_LVDSDataStruct XGI_LVDS1024x768Des_1x75[] =                       /* ; 1024x768 Full-screen */
2349 {
2350         {0,1040,0,769}, /* ; 00 (320x200,320x400,640x200,640x400) */
2351         {0,1040,0,769}, /* ; 01 (320x350,640x350) */
2352         {0,1040,0,769}, /* ; 02 (360x400,720x400) */
2353         {0,1040,0,769}, /* ; 03 (720x350) */
2354         {0,1040,0,769}, /* ; 04 (640x480x75Hz) */
2355         {0,1040,0,769}, /* ; 05 (800x600x75Hz) */
2356         {0,1040,0,769} /* ; 06 (1024x768x75Hz) */
2357 };
2358
2359 struct XGI330_LVDSDataStruct XGI_LVDS1024x768Des_2x75[] = /* ; 1024x768 center-screen (Enh. Mode) */
2360 {
2361         {1142, 856,622,587 }, /* 00 (320x200,320x400,640x200,640x400) */
2362         {1142, 856,597,562 }, /* 01 (320x350,640x350) */
2363         {1142, 856,622,587 }, /* 02 (360x400,720x400) */
2364         {1142, 856,597,562 }, /* 03 (720x350) */
2365         {1142,1048,722,687 }, /* 04 (640x480x60Hz) */
2366         {1232, 936,722,687 }, /* 05 (800x600x60Hz) */
2367         {   0,1048,805,771 }  /* 06 (1024x768x60Hz) */
2368 };
2369
2370 struct XGI330_LVDSDataStruct XGI_LVDS1024x768Des_3x75[] = /* ; 1024x768 center-screen (St.Mode) */
2371 {
2372         {320,24,622,587  }, /* ; 00 (320x200,320x400,640x200,640x400) */
2373         {320,24,597,562  }, /* ; 01 (320x350,640x350) */
2374         {320,24,622,587  }, /* ; 02 (360x400,720x400) */
2375         {320,24,597,562  }, /* ; 03 (720x350) */
2376         {320,24,722,687  } /* ; 04 (640x480x60Hz) */
2377 };
2378
2379 struct XGI330_LVDSDataStruct XGI_LVDS1280x1024Des_1x75[] =
2380 {
2381         {0,1296,0,1025}, /* ; 00 (320x200,320x400,640x200,640x400) */
2382         {0,1296,0,1025}, /* ; 01 (320x350,640x350) */
2383         {0,1296,0,1025}, /* ; 02 (360x400,720x400) */
2384         {0,1296,0,1025}, /* ; 03 (720x350) */
2385         {0,1296,0,1025}, /* ; 04 (640x480x75Hz) */
2386         {0,1296,0,1025}, /* ; 05 (800x600x75Hz) */
2387         {0,1296,0,1025}, /* ; 06 (1024x768x75Hz) */
2388         {0,1296,0,1025} /* ; 07 (1280x1024x75Hz) */
2389 };
2390
2391 /* The Display setting for DE Mode Panel */
2392 struct XGI330_LVDSDataStruct XGI_LVDS1280x1024Des_2x75[] =   /* [ycchen] 02/18/03 Set DE as default */
2393 {
2394         {1368,976,752,711 }, /* ; 00 (320x200,320x400,640x200,640x400) */
2395         {1368,976,729,688 }, /* ; 01 (320x350,640x350) */
2396         {1408,976,752,711 }, /* ; 02 (360x400,720x400) */
2397         {1408,976,729,688 }, /* ; 03 (720x350) */
2398         {1368,976,794,753 }, /* ; 04 (640x480x75Hz) */
2399         {1448,1036,854,813}, /* ; 05 (800x600x75Hz) */
2400         {1560,1168,938,897}, /* ; 06 (1024x768x75Hz) */
2401         {0,1296,0,1025    } /* ; 07 (1280x1024x75Hz) */
2402 };
2403
2404 struct XGI330_LCDDataDesStruct2 XGI_LVDSNoScalingDesDatax75[] =  /* Scaling LCD 75Hz */
2405 {
2406        { 0,648,448,405,96,2  }, /* ; 00 (320x200,320x400,640x200,640x400) */
2407        { 0,648,448,355,96,2  }, /* ; 01 (320x350,640x350) */
2408        { 0,729,448,405,108,2 }, /* ; 02 (360x400,720x400) */
2409        { 0,729,448,355,108,2 }, /* ; 03 (720x350) */
2410        { 0,656,0,481,64,3    }, /* ; 04 (640x480x75Hz) */
2411        { 0,816,0,601,80,3    }, /* ; 05 (800x600x75Hz) */
2412        { 0,1040,0,769,96,3   }, /* ; 06 (1024x768x75Hz) */
2413        { 0,1296,0,1025,144,3 }, /* ; 07 (1280x1024x75Hz) */
2414        { 0,1448,0,1051,112,3 }, /* ; 08 (1400x1050x75Hz) ;;[ycchen] 12/19/02 */
2415        { 0,1664,0,1201,192,3 }, /* ; 09 (1600x1200x75Hz) */
2416        { 0,1328,0,771,112,6  }  /* ; 0A (1280x768x75Hz) */
2417 };
2418
2419 struct XGI330_LVDSDataStruct  XGI330_LVDS640x480Data_1[] =
2420 {
2421  {800, 449, 800, 449},
2422  {800, 449, 800, 449},
2423  {800, 449, 800, 449},
2424  {800, 449, 800, 449},
2425  {800, 525, 800, 525},
2426  {1056, 628,1056, 628},
2427  {1056, 628,1056, 628},
2428  {1056, 628,1056, 628},
2429  {1056, 628,1056, 628}
2430 };
2431
2432 struct XGI330_CHTVDataStruct  XGI_CHTVUNTSCData[] =
2433 {
2434  {840, 600, 840, 600},
2435  {840, 600, 840, 600},
2436  {840, 600, 840, 600},
2437  {840, 600, 840, 600},
2438  {784, 600, 784, 600},
2439  {1064, 750,1064, 750}
2440 };
2441
2442 struct XGI330_CHTVDataStruct  XGI_CHTVONTSCData[] =
2443 {
2444  {840, 525, 840, 525},
2445  {840, 525, 840, 525},
2446  {840, 525, 840, 525},
2447  {840, 525, 840, 525},
2448  {784, 525, 784, 525},
2449  {1040, 700,1040, 700}
2450 };
2451
2452 struct XGI330_CHTVDataStruct  XGI_CHTVUPALData[] =
2453 {
2454  {1008, 625,1008, 625},
2455  {1008, 625,1008, 625},
2456  {1008, 625,1008, 625},
2457  {1008, 625,1008, 625},
2458  {840, 750, 840, 750},
2459  {936, 836, 936, 836}
2460 };
2461
2462 struct XGI330_CHTVDataStruct  XGI_CHTVOPALData[] =
2463 {
2464  {1008, 625,1008, 625},
2465  {1008, 625,1008, 625},
2466  {1008, 625,1008, 625},
2467  {1008, 625,1008, 625},
2468  {840, 625, 840, 625},
2469  {960, 750, 960, 750}
2470 };
2471
2472 struct XGI_LVDSCRT1HDataStruct  XGI_LVDSCRT11024x768_1_H[] =
2473 {
2474                 /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
2475                 {{      0x4B,0x27,0x8F,0x32,0x1B,0x00,0x45,0x00 }}, /* 00 (320x) */
2476                 {{      0x4B,0x27,0x8F,0x2B,0x03,0x00,0x44,0x00 }}, /* 01 (360x) */
2477                 {{      0x55,0x31,0x99,0x46,0x1D,0x00,0x55,0x00 }}, /* 02 (400x) */
2478                 {{      0x63,0x3F,0x87,0x4A,0x93,0x00,0x01,0x00 }}, /* 03 (512x) */
2479                 {{      0x73,0x4F,0x97,0x55,0x86,0x00,0x05,0x00 }}, /* 04 (640x) */
2480                 {{      0x73,0x4F,0x97,0x55,0x86,0x00,0x05,0x00 }}, /* 05 (720x) */
2481                 {{      0x87,0x63,0x8B,0x69,0x1A,0x00,0x26,0x00 }}, /* 06 (800x) */
2482                 {{      0xA3,0x7F,0x87,0x86,0x97,0x00,0x02,0x00 }} /* 07 (1024x) */
2483 };
2484
2485 struct XGI_LVDSCRT1HDataStruct  XGI_LVDSCRT11280x1024_1_H[] =
2486 {
2487                 /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
2488                 {{      0x56,0x27,0x9A,0x30,0x1E,0x00,0x05,0x00 }}, /* 00 (320x) */
2489                 {{      0x56,0x27,0x9A,0x30,0x1E,0x00,0x05,0x00 }}, /* 01 (360x) */
2490                 {{      0x60,0x31,0x84,0x3A,0x88,0x00,0x01,0x00 }}, /* 02 (400x) */
2491                 {{      0x6E,0x3F,0x92,0x48,0x96,0x00,0x01,0x00 }}, /* 03 (512x) */
2492                 {{      0x7E,0x4F,0x82,0x58,0x06,0x00,0x06,0x00 }}, /* 04 (640x) */
2493                 {{      0x7E,0x4F,0x82,0x58,0x06,0x00,0x06,0x00 }}, /* 05 (720x) */
2494                 {{      0x92,0x63,0x96,0x6C,0x1A,0x00,0x06,0x00 }}, /* 06 (800x) */
2495                 {{      0xAE,0x7F,0x92,0x88,0x96,0x00,0x02,0x00 }}, /* 07 (1024x) */
2496                 {{      0xCE,0x9F,0x92,0xA8,0x16,0x00,0x07,0x00 }} /* 08 (1280x) */
2497 };
2498
2499 struct XGI_LVDSCRT1HDataStruct  XGI_LVDSCRT11024x768_2_H[] =
2500 {
2501                 /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
2502                 {{      0x63,0x27,0x87,0x3B,0x8C,0x00,0x01,0x00 }}, /* 00 (320x) */
2503                 {{      0x63,0x27,0x87,0x3B,0x8C,0x00,0x01,0x00 }}, /* 01 (360x) */
2504                 {{      0x63,0x31,0x87,0x3D,0x8E,0x00,0x01,0x00 }}, /* 02 (400x) */
2505                 {{      0x63,0x3F,0x87,0x45,0x96,0x00,0x01,0x00 }}, /* 03 (512x) */
2506                 {{      0xA3,0x4F,0x87,0x6E,0x9F,0x00,0x06,0x00 }}, /* 04 (640x) */
2507                 {{      0xA3,0x4F,0x87,0x6E,0x9F,0x00,0x06,0x00 }}, /* 05 (720x) */
2508                 {{      0xA3,0x63,0x87,0x78,0x89,0x00,0x02,0x00 }}, /* 06 (800x) */
2509                 {{      0xA3,0x7F,0x87,0x86,0x97,0x00,0x02,0x00 }} /* 07 (1024x) */
2510 };
2511
2512 struct XGI_LVDSCRT1HDataStruct  XGI_LVDSCRT11280x1024_2_H[] =
2513 {
2514                 /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
2515                 {{      0x7E,0x3B,0x9A,0x44,0x12,0x00,0x01,0x00 }}, /* 00 (320x) */
2516                 {{      0x7E,0x3B,0x9A,0x44,0x12,0x00,0x01,0x00 }}, /* 01 (360x) */
2517                 {{      0x7E,0x40,0x84,0x49,0x91,0x00,0x01,0x00 }}, /* 02 (400x) */
2518                 {{      0x7E,0x47,0x93,0x50,0x9E,0x00,0x01,0x00 }}, /* 03 (512x) */
2519                 {{      0xCE,0x77,0x8A,0x80,0x8E,0x00,0x02,0x00 }}, /* 04 (640x) */
2520                 {{      0xCE,0x77,0x8A,0x80,0x8E,0x00,0x02,0x00 }}, /* 05 (720x) */
2521                 {{      0xCE,0x81,0x94,0x8A,0x98,0x00,0x02,0x00 }}, /* 06 (800x) */
2522                 {{      0xCE,0x8F,0x82,0x98,0x06,0x00,0x07,0x00 }}, /* 07 (1024x) */
2523                 {{      0xCE,0x9F,0x92,0xA8,0x16,0x00,0x07,0x00 }} /* 08 (1280x) */
2524 };
2525
2526 struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11400x1050_1_H[] =
2527 {               /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
2528                 {{      0x47,0x27,0x8B,0x2C,0x1A,0x00,0x05,0x00 }}, /* 00 (320x) */
2529                 {{      0x47,0x27,0x8B,0x30,0x1E,0x00,0x05,0x00 }}, /* 01 (360x) */
2530                 {{      0x51,0x31,0x95,0x36,0x04,0x00,0x01,0x00 }}, /* 02 (400x) */
2531                 {{      0x5F,0x3F,0x83,0x44,0x92,0x00,0x01,0x00 }}, /* 03 (512x) */
2532                 {{      0x6F,0x4F,0x93,0x54,0x82,0x00,0x05,0x00 }}, /* 04 (640x) */
2533                 {{      0x6F,0x4F,0x93,0x54,0x82,0x00,0x05,0x00 }}, /* 05 (720x) */
2534                 {{      0x83,0x63,0x87,0x68,0x16,0x00,0x06,0x00 }}, /* 06 (800x) */
2535                 {{      0x9F,0x7F,0x83,0x84,0x92,0x00,0x02,0x00 }}, /* 07 (1024x) */
2536                 {{      0xBF,0x9F,0x83,0xA4,0x12,0x00,0x07,0x00 }}, /* 08 (1280x) */
2537                 {{      0xCE,0xAE,0x92,0xB3,0x01,0x00,0x03,0x00 }} /* 09 (1400x) */
2538 };
2539
2540 struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11400x1050_2_H[] =
2541 {               /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
2542                 {{      0x76,0x3F,0x83,0x45,0x8C,0x00,0x41,0x00 }}, /* 00 (320x) */
2543                 {{      0x76,0x3F,0x83,0x45,0x8C,0x00,0x41,0x00 }}, /* 01 (360x) */
2544                 {{      0x76,0x31,0x9A,0x48,0x9F,0x00,0x41,0x00 }}, /* 02 (400x) */
2545                 {{      0x76,0x3F,0x9A,0x4F,0x96,0x00,0x41,0x00 }}, /* 03 (512x) */
2546                 {{      0xCE,0x7E,0x82,0x87,0x9E,0x00,0x02,0x00 }}, /* 04 (640x) */
2547                 {{      0xCE,0x7E,0x82,0x87,0x9E,0x00,0x02,0x00 }}, /* 05 (720x) */
2548                 {{      0xCE,0x63,0x92,0x96,0x04,0x00,0x07,0x00 }}, /* 06 (800x) */
2549                 {{      0xCE,0x7F,0x92,0xA4,0x12,0x00,0x07,0x00 }}, /* 07 (1024x) */
2550                 {{      0xCE,0x9F,0x92,0xB4,0x02,0x00,0x03,0x00 }}, /* 08 (1280x) */
2551                 {{      0xCE,0xAE,0x92,0xBC,0x0A,0x00,0x03,0x00 }} /* 09 (1400x) */
2552 };
2553
2554 struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11600x1200_1_H[] =
2555 /* ;302lv channelA [ycchen] 12/05/02 LCDHT=2048 */
2556 {   /* ; CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
2557                 {{      0x5B,0x27,0x9F,0x32,0x0A,0x00,0x01,0x00 }},/* 00 (320x) */
2558                 {{      0x5B,0x27,0x9F,0x32,0x0A,0x00,0x01,0x00 }},/* 01 (360x) */
2559                 {{      0x65,0x31,0x89,0x3C,0x94,0x00,0x01,0x00 }},/* 02 (400x) */
2560                 {{      0x73,0x3F,0x97,0x4A,0x82,0x00,0x05,0x00 }},/* 03 (512x) */
2561                 {{      0x83,0x4F,0x87,0x51,0x09,0x00,0x06,0x00 }},/* 04 (640x) */
2562                 {{      0x83,0x4F,0x87,0x51,0x09,0x00,0x06,0x00 }},/* 05 (720x) */
2563                 {{      0x97,0x63,0x9B,0x65,0x1D,0x00,0x06,0xF0 }},/* 06 (800x) */
2564                 {{      0xB3,0x7F,0x97,0x81,0x99,0x00,0x02,0x00 }},/* 07 (1024x) */
2565                 {{      0xD3,0x9F,0x97,0xA1,0x19,0x00,0x07,0x00 }},/* 08 (1280x) */
2566                 {{      0xE2,0xAE,0x86,0xB9,0x91,0x00,0x03,0x00 }},/* 09 (1400x) */
2567                 {{      0xFB,0xC7,0x9F,0xC9,0x81,0x00,0x07,0x00 }} /* 0A (1600x) */
2568 };
2569
2570 struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11024x768_1_V[] =
2571 {               /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A+CR09(5->7) */
2572                 {{      0x97,0x1F,0x60,0x87,0x5D,0x83,0x10      }}, /* 00 (x350) */
2573                 {{      0xB4,0x1F,0x92,0x89,0x8F,0xB5,0x30      }}, /* 01 (x400) */
2574                 {{      0x04,0x3E,0xE2,0x89,0xDF,0x05,0x00      }}, /* 02 (x480) */
2575                 {{      0x7C,0xF0,0x5A,0x8F,0x57,0x7D,0xA0      }}, /* 03 (x600) */
2576                 {{      0x24,0xF5,0x02,0x88,0xFF,0x25,0x90      }} /* 04 (x768) */
2577 };
2578
2579 struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11024x768_2_V[] =
2580 {               /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
2581                 {{      0x24,0xBB,0x31,0x87,0x5D,0x25,0x30      }}, /* 00 (x350) */
2582                 {{      0x24,0xBB,0x4A,0x80,0x8F,0x25,0x30      }}, /* 01 (x400) */
2583                 {{      0x24,0xBB,0x72,0x88,0xDF,0x25,0x30      }}, /* 02 (x480) */
2584                 {{      0x24,0xF1,0xAE,0x84,0x57,0x25,0xB0      }}, /* 03 (x600) */
2585                 {{      0x24,0xF5,0x02,0x88,0xFF,0x25,0x90      }} /* 04 (x768) */
2586 };
2587
2588 struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11280x1024_1_V[] =
2589 {               /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
2590                 {{       0x86,0x1F,0x5E,0x82,0x5D,0x87,0x00     }}, /* 00 (x350) */
2591                 {{       0xB8,0x1F,0x90,0x84,0x8F,0xB9,0x30     }}, /* 01 (x400) */
2592                 {{       0x08,0x3E,0xE0,0x84,0xDF,0x09,0x00     }}, /* 02 (x480) */
2593                 {{       0x80,0xF0,0x58,0x8C,0x57,0x81,0xA0     }}, /* 03 (x600) */
2594                 {{       0x28,0xF5,0x00,0x84,0xFF,0x29,0x90     }}, /* 04 (x768) */
2595                 {{       0x28,0x5A,0x13,0x87,0xFF,0x29,0xA9     }} /* 05 (x1024) */
2596 };
2597
2598 struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11280x1024_2_V[] =
2599 {               /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
2600                 {{      0x28,0xD2,0xAF,0x83,0xAE,0xD8,0xA1      }}, /* 00 (x350) */
2601                 {{      0x28,0xD2,0xC8,0x8C,0xC7,0xF2,0x81      }}, /* 01 (x400) */
2602                 {{      0x28,0xD2,0xF0,0x84,0xEF,0x1A,0xB1      }}, /* 02 (x480) */
2603                 {{      0x28,0xDE,0x2C,0x8F,0x2B,0x56,0x91      }}, /* 03 (x600) */
2604                 {{      0x28,0xDE,0x80,0x83,0x7F,0xAA,0x91      }}, /* 04 (x768) */
2605                 {{      0x28,0x5A,0x13,0x87,0xFF,0x29,0xA9      }} /* 05 (x1024) */
2606 };
2607
2608 struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11400x1050_1_V[] =
2609 {               /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
2610                 {{      0x6C,0x1F,0x60,0x84,0x5D,0x6D,0x10      }}, /* 00 (x350) */
2611                 {{      0x9E,0x1F,0x93,0x86,0x8F,0x9F,0x30      }}, /* 01 (x400) */
2612                 {{      0xEE,0x1F,0xE2,0x86,0xDF,0xEF,0x10      }}, /* 02 (x480) */
2613                 {{      0x66,0xF0,0x5A,0x8e,0x57,0x67,0xA0      }}, /* 03 (x600) */
2614                 {{      0x0E,0xF5,0x02,0x86,0xFF,0x0F,0x90      }}, /* 04 (x768) */
2615                 {{      0x0E,0x5A,0x02,0x86,0xFF,0x0F,0x89      }}, /* 05 (x1024) */
2616                 {{      0x28,0x10,0x1A,0x80,0x19,0x29,0x0F      }} /* 06 (x1050) */
2617 };
2618
2619 struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11400x1050_2_V[] =
2620 {              /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
2621                 {{      0x28,0x92,0xB6,0x83,0xB5,0xCF,0x81      }}, /* 00 (x350) */
2622                 {{      0x28,0x92,0xD5,0x82,0xD4,0xEE,0x81      }}, /* 01 (x400) */
2623                 {{      0x28,0x92,0xFD,0x8A,0xFC,0x16,0xB1      }}, /* 02 (x480) */
2624                 {{      0x28,0xD4,0x39,0x86,0x57,0x29,0x81      }}, /* 03 (x600) */
2625                 {{      0x28,0xD4,0x8D,0x9A,0xFF,0x29,0xA1      }}, /* 04 (x768) */
2626                 {{      0x28,0x5A,0x0D,0x9A,0xFF,0x29,0xA9      }}, /* 05 (x1024) */
2627                 {{      0x28,0x10,0x1A,0x87,0x19,0x29,0x8F      }} /* 06 (x1050) */
2628 };
2629
2630 struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11600x1200_1_V[] =
2631 {
2632                /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A+CR09(5->7) */
2633                 {{      0xd4,0x1F,0x81,0x84,0x5D,0xd5,0x10      }}, /* 00 (x350) */
2634                 {{      0x06,0x3e,0xb3,0x86,0x8F,0x07,0x20      }}, /* 01 (x400) */
2635                 {{      0x56,0xba,0x03,0x86,0xDF,0x57,0x00      }}, /* 02 (x480) */
2636                 {{      0xce,0xF0,0x7b,0x8e,0x57,0xcf,0xa0      }}, /* 03 (x600) */
2637                 {{      0x76,0xF5,0x23,0x86,0xFF,0x77,0x90      }}, /* 04 (x768) */
2638                 {{      0x76,0x5A,0x23,0x86,0xFF,0x77,0x89      }}, /* 05 (x1024) */
2639                 {{      0x90,0x10,0x1A,0x8E,0x19,0x91,0x2F      }}, /* 06 (x1050) */
2640                 {{      0x26,0x11,0xd3,0x86,0xaF,0x27,0x3f      }} /* 07 (x1200) */
2641 };
2642
2643 struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11024x768_1_Hx75[] =
2644 {       /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
2645     {{      0x4B,0x27,0x8F,0x32,0x1B,0x00,0x45,0x00 }},/* ; 00 (320x) */
2646     {{      0x4B,0x27,0x8F,0x2B,0x03,0x00,0x44,0x00 }},/* ; 01 (360x) */
2647     {{      0x55,0x31,0x99,0x46,0x1D,0x00,0x55,0x00 }},/* ; 02 (400x) */
2648     {{      0x63,0x3F,0x87,0x4A,0x93,0x00,0x01,0x00 }},/* ; 03 (512x) */
2649     {{      0x6F,0x4F,0x93,0x54,0x80,0x00,0x05,0x00 }},/* ; 04 (640x) */
2650     {{      0x6F,0x4F,0x93,0x54,0x80,0x00,0x05,0x00 }},/* ; 05 (720x) */
2651     {{      0x83,0x63,0x87,0x68,0x14,0x00,0x26,0x00 }},/* ; 06 (800x) */
2652     {{      0x9F,0x7F,0x83,0x85,0x91,0x00,0x02,0x00 }} /* ; 07 (1024x) */
2653 };
2654
2655 struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11024x768_1_Vx75[] =
2656 {       /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A+CR09(5->7) */
2657     {{      0x97,0x1F,0x60,0x87,0x5D,0x83,0x10      }},/* ; 00 (x350) */
2658     {{      0xB4,0x1F,0x92,0x89,0x8F,0xB5,0x30      }},/* ; 01 (x400) */
2659     {{      0xFE,0x1F,0xE0,0x84,0xDF,0xFF,0x10      }},/* ; 02 (x480) */
2660     {{      0x76,0xF0,0x58,0x8C,0x57,0x77,0xA0      }},/* ; 03 (x600) */
2661     {{      0x1E,0xF5,0x00,0x83,0xFF,0x1F,0x90      }} /* ; 04 (x768) */
2662 };
2663
2664 struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11024x768_2_Hx75[] =
2665 {       /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
2666     {{      0x63,0x27,0x87,0x3B,0x8C,0x00,0x01,0x00 }},/* ; 00 (320x) */
2667     {{      0x63,0x27,0x87,0x3B,0x8C,0x00,0x01,0x00 }},/* ; 01 (360x) */
2668     {{      0x63,0x31,0x87,0x3D,0x8E,0x00,0x01,0x00 }},/* ; 02 (400x) */
2669     {{      0x63,0x3F,0x87,0x45,0x96,0x00,0x01,0x00 }},/* ; 03 (512x) */
2670     {{      0xA3,0x4F,0x87,0x6E,0x9F,0x00,0x06,0x00 }},/* ; 04 (640x) */
2671     {{      0xA3,0x4F,0x87,0x6E,0x9F,0x00,0x06,0x00 }},/* ; 05 (720x) */
2672     {{      0xA3,0x63,0x87,0x78,0x89,0x00,0x02,0x00 }},/* ; 06 (800x) */
2673     {{      0xA3,0x7F,0x87,0x86,0x97,0x00,0x02,0x00 }} /* ; 07 (1024x) */
2674 };
2675
2676 struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11024x768_2_Vx75[] =
2677 {       /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
2678     {{      0x24,0xBB,0x31,0x87,0x5D,0x25,0x30      }},/* ; 00 (x350) */
2679     {{      0x24,0xBB,0x4A,0x80,0x8F,0x25,0x30      }},/* ; 01 (x400) */
2680     {{      0x24,0xBB,0x72,0x88,0xDF,0x25,0x30      }},/* ; 02 (x480) */
2681     {{      0x24,0xF1,0xAE,0x84,0x57,0x25,0xB0      }},/* ; 03 (x600) */
2682     {{      0x24,0xF5,0x02,0x88,0xFF,0x25,0x90      }} /* ; 04 (x768) */
2683 };
2684
2685 struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11280x1024_1_Hx75[] =
2686 {      /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
2687     {{      0x56,0x27,0x9A,0x30,0x1E,0x00,0x05,0x00 }},/* ; 00 (320x) */
2688     {{      0x56,0x27,0x9A,0x30,0x1E,0x00,0x05,0x00 }},/* ; 01 (360x) */
2689     {{      0x60,0x31,0x84,0x3A,0x88,0x00,0x01,0x00 }},/* ; 02 (400x) */
2690     {{      0x6E,0x3F,0x92,0x48,0x96,0x00,0x01,0x00 }},/* ; 03 (512x) */
2691     {{      0x7E,0x4F,0x82,0x54,0x06,0x00,0x06,0x00 }},/* ; 04 (640x) */
2692     {{      0x7E,0x4F,0x82,0x54,0x06,0x00,0x06,0x00 }},/* ; 05 (720x) */
2693     {{      0x92,0x63,0x96,0x68,0x1A,0x00,0x06,0x00 }},/* ; 06 (800x) */
2694     {{      0xAE,0x7F,0x92,0x84,0x96,0x00,0x02,0x00 }},/* ; 07 (1024x) */
2695     {{      0xCE,0x9F,0x92,0xA5,0x17,0x00,0x07,0x00 }} /* ; 08 (1280x) */
2696 };
2697
2698 struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11280x1024_1_Vx75[] =
2699 {       /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
2700     {{      0x86,0xD1,0xBC,0x80,0xBB,0xE5,0x00      }},/* ; 00 (x350) */
2701     {{      0xB8,0x1F,0x90,0x84,0x8F,0xB9,0x30      }},/* ; 01 (x400) */
2702     {{      0x08,0x3E,0xE0,0x84,0xDF,0x09,0x00      }},/* ; 02 (x480) */
2703     {{      0x80,0xF0,0x58,0x8C,0x57,0x81,0xA0      }},/* ; 03 (x600) */
2704     {{      0x28,0xF5,0x00,0x84,0xFF,0x29,0x90      }},/* ; 04 (x768) */
2705     {{      0x28,0x5A,0x13,0x87,0xFF,0x29,0xA9      }} /* ; 05 (x1024) */
2706 };
2707
2708 struct XGI_LVDSCRT1HDataStruct XGI_LVDSCRT11280x1024_2_Hx75[] =
2709 {
2710         /* CR00,CR02,CR03,CR04,CR05,SR0B,SR0C,SR0E */
2711     {{      0x7E,0x3B,0x9A,0x44,0x12,0x00,0x01,0x00 }},/* ; 00 (320x) */
2712     {{      0x7E,0x3B,0x9A,0x44,0x12,0x00,0x01,0x00 }},/* ; 01 (360x) */
2713     {{      0x7E,0x40,0x84,0x49,0x91,0x00,0x01,0x00 }},/* ; 02 (400x) */
2714     {{      0x7E,0x47,0x93,0x50,0x9E,0x00,0x01,0x00 }},/* ; 03 (512x) */
2715     {{      0xCE,0x77,0x8A,0x80,0x8E,0x00,0x02,0x00 }},/* ; 04 (640x) */
2716     {{      0xCE,0x77,0x8A,0x80,0x8E,0x00,0x02,0x00 }},/* ; 05 (720x) */
2717     {{      0xCE,0x81,0x94,0x8A,0x98,0x00,0x02,0x00 }},/* ; 06 (800x) */
2718     {{      0xCE,0x8F,0x82,0x98,0x06,0x00,0x07,0x00 }},/* ; 07 (1024x) */
2719     {{      0xCE,0x9F,0x92,0xA8,0x16,0x00,0x07,0x00 }} /* ; 08 (1280x) */
2720 };
2721
2722 struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11280x1024_2_Vx75[] =
2723 {
2724         /* CR06,CR07,CR10,CR11,CR15,CR16,SR0A */
2725      {{     0x28,0xD2,0xAF,0x83,0xAE,0xD8,0xA1     }},/* ; 00 (x350) */
2726      {{     0x28,0xD2,0xC8,0x8C,0xC7,0xF2,0x81     }},/* ; 01 (x400) */
2727      {{     0x28,0xD2,0xF0,0x84,0xEF,0x1A,0xB1     }},/* ; 02 (x480) */
2728      {{     0x28,0xDE,0x2C,0x8F,0x2B,0x56,0x91     }},/* ; 03 (x600) */
2729      {{     0x28,0xDE,0x80,0x83,0x7F,0xAA,0x91     }},/* ; 04 (x768) */
2730      {{     0x28,0x5A,0x13,0x87,0xFF,0x29,0xA9     }} /* ; 05 (x1024) */
2731 };
2732
2733 struct XGI_LVDSCRT1DataStruct  XGI_CHTVCRT1UNTSC[] =
2734 {
2735  {{0x64,0x4f,0x88,0x56,0x9f,0x56,0x3e,
2736     0xe8,0x84,0x8f,0x57,0x20,0x00,0x01,0x00 }},
2737  {{0x64,0x4f,0x88,0x56,0x9f,0x56,0x3e,
2738     0xd0,0x82,0x5d,0x57,0x00,0x00,0x01,0x00 }},
2739  {{0x64,0x4f,0x88,0x56,0x9f,0x56,0x3e,
2740     0xe8,0x84,0x8f,0x57,0x20,0x00,0x01,0x00 }},
2741  {{0x64,0x4f,0x88,0x56,0x9f,0x56,0x3e,
2742     0xd0,0x82,0x5d,0x57,0x00,0x00,0x01,0x00 }},
2743  {{0x5d,0x4f,0x81,0x53,0x9c,0x56,0xba,
2744     0x18,0x84,0xdf,0x57,0x00,0x00,0x01,0x00 }},
2745  {{0x80,0x63,0x84,0x6c,0x17,0xec,0xf0,
2746    0x90,0x8c,0x57,0xed,0x20,0x00,0x06,0x01 }}
2747 };
2748
2749 struct XGI_LVDSCRT1DataStruct  XGI_CHTVCRT1ONTSC[] =
2750 {
2751  {{0x64,0x4f,0x88,0x5a,0x9f,0x0b,0x3e,
2752     0xc0,0x84,0x8f,0x0c,0x20,0x00,0x01,0x00 }},
2753  {{0x64,0x4f,0x88,0x5a,0x9f,0x0b,0x3e,
2754     0xb0,0x8d,0x5d,0x0c,0x00,0x00,0x01,0x00 }},
2755  {{0x64,0x4f,0x88,0x5a,0x9f,0x0b,0x3e,
2756     0xc0,0x84,0x8f,0x0c,0x20,0x00,0x01,0x00 }},
2757  {{0x64,0x4f,0x88,0x5a,0x9f,0x0b,0x3e,
2758     0xb0,0x8d,0x5d,0x0c,0x00,0x00,0x01,0x00 }},
2759  {{0x5d,0x4f,0x81,0x56,0x9c,0x0b,0x3e,
2760     0xe8,0x84,0xdf,0x0c,0x00,0x00,0x01,0x00 }},
2761  {{0x7d,0x63,0x81,0x6a,0x16,0xba,0xf0,
2762    0x7f,0x86,0x57,0xbb,0x00,0x00,0x06,0x01 }}
2763 };
2764
2765 struct XGI_LVDSCRT1DataStruct  XGI_CHTVCRT1UPAL[] =
2766 {
2767  {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
2768     0xf8,0x83,0x8f,0x70,0x20,0x00,0x05,0x00 }},
2769  {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
2770     0xde,0x81,0x5d,0x70,0x00,0x00,0x05,0x00 }},
2771  {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
2772     0xf8,0x83,0x8f,0x70,0x20,0x00,0x05,0x00 }},
2773  {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
2774     0xde,0x81,0x5d,0x70,0x00,0x00,0x05,0x00 }},
2775  {{0x64,0x4f,0x88,0x55,0x80,0xec,0xba,
2776     0x50,0x84,0xdf,0xed,0x00,0x00,0x05,0x00 }},
2777  {{0x70,0x63,0x94,0x68,0x8d,0x42,0xf1,
2778    0xc8,0x8c,0x57,0xe9,0x20,0x00,0x05,0x01 }}
2779 };
2780
2781 struct XGI_LVDSCRT1DataStruct  XGI_CHTVCRT1OPAL[] =
2782 {
2783  {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
2784     0xf0,0x83,0x8f,0x70,0x20,0x00,0x05,0x00 }},
2785  {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
2786     0xde,0x81,0x5d,0x70,0x00,0x00,0x05,0x00 }},
2787  {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
2788     0xf0,0x83,0x8f,0x70,0x20,0x00,0x05,0x00 }},
2789  {{0x79,0x4f,0x9d,0x5a,0x90,0x6f,0x3e,
2790     0xde,0x81,0x5d,0x70,0x00,0x00,0x05,0x00 }},
2791  {{0x64,0x4f,0x88,0x55,0x80,0x6f,0xba,
2792     0x20,0x83,0xdf,0x70,0x00,0x00,0x05,0x00 }},
2793  {{0x73,0x63,0x97,0x69,0x8e,0xec,0xf0,
2794    0x90,0x8c,0x57,0xed,0x20,0x00,0x05,0x01 }}
2795 };
2796
2797 /*add for new UNIVGABIOS*/
2798 struct XGI330_LCDDataTablStruct XGI_LCDDataTable[] =
2799 {
2800   {Panel1024x768,0x0019,0x0001,0},  /* XGI_ExtLCD1024x768Data */
2801   {Panel1024x768,0x0019,0x0000,1},  /* XGI_StLCD1024x768Data */
2802   {Panel1024x768,0x0018,0x0010,2},  /* XGI_CetLCD1024x768Data */
2803   {Panel1280x1024,0x0019,0x0001,3},  /* XGI_ExtLCD1280x1024Data */
2804   {Panel1280x1024,0x0019,0x0000,4},  /* XGI_StLCD1280x1024Data */
2805   {Panel1280x1024,0x0018,0x0010,5},  /* XGI_CetLCD1280x1024Data */
2806   {Panel1400x1050,0x0019,0x0001,6},  /* XGI_ExtLCD1400x1050Data */
2807   {Panel1400x1050,0x0019,0x0000,7},  /* XGI_StLCD1400x1050Data */
2808   {Panel1400x1050,0x0018,0x0010,8},  /* XGI_CetLCD1400x1050Data */
2809   {Panel1600x1200,0x0019,0x0001,9},   /* XGI_ExtLCD1600x1200Data */
2810   {Panel1600x1200,0x0019,0x0000,10},  /* XGI_StLCD1600x1200Data */
2811   {PanelRef60Hz,0x0008,0x0008,11},      /* XGI_NoScalingData */
2812   {Panel1024x768x75,0x0019,0x0001,12},  /* XGI_ExtLCD1024x768x75Data */
2813   {Panel1024x768x75,0x0019,0x0000,13},  /* XGI_StLCD1024x768x75Data */
2814   {Panel1024x768x75,0x0018,0x0010,14},  /* XGI_CetLCD1024x768x75Data */
2815   {Panel1280x1024x75,0x0019,0x0001,15}, /* XGI_ExtLCD1280x1024x75Data */
2816   {Panel1280x1024x75,0x0019,0x0000,16}, /* XGI_StLCD1280x1024x75Data */
2817   {Panel1280x1024x75,0x0018,0x0010,17}, /* XGI_CetLCD1280x1024x75Data */
2818   {PanelRef75Hz,0x0008,0x0008,18},      /* XGI_NoScalingDatax75 */
2819   {0xFF,0x0000,0x0000,0}                /* End of table */
2820 };
2821
2822 struct XGI330_LCDDataTablStruct XGI_LCDDesDataTable[] =
2823 {
2824   {Panel1024x768,0x0019,0x0001,0}, /* XGI_ExtLCDDes1024x768Data */
2825   {Panel1024x768,0x0019,0x0000,1}, /* XGI_StLCDDes1024x768Data */
2826   {Panel1024x768,0x0018,0x0010,2}, /* XGI_CetLCDDes1024x768Data */
2827   {Panel1280x1024,0x0019,0x0001,3}, /* XGI_ExtLCDDes1280x1024Data */
2828   {Panel1280x1024,0x0019,0x0000,4}, /* XGI_StLCDDes1280x1024Data */
2829   {Panel1280x1024,0x0018,0x0010,5}, /* XGI_CetLCDDes1280x1024Data */
2830   {Panel1400x1050,0x0019,0x0001,6}, /* XGI_ExtLCDDes1400x1050Data */
2831   {Panel1400x1050,0x0019,0x0000,7}, /* XGI_StLCDDes1400x1050Data */
2832   {Panel1400x1050,0x0418,0x0010,8}, /* XGI_CetLCDDes1400x1050Data */
2833   {Panel1400x1050,0x0418,0x0410,9}, /* XGI_CetLCDDes1400x1050Data2 */
2834   {Panel1600x1200,0x0019,0x0001,10}, /* XGI_ExtLCDDes1600x1200Data */
2835   {Panel1600x1200,0x0019,0x0000,11}, /* XGI_StLCDDes1600x1200Data */
2836   {PanelRef60Hz,0x0008,0x0008,12},      /* XGI_NoScalingDesData */
2837   {Panel1024x768x75,0x0019,0x0001,13},  /* XGI_ExtLCDDes1024x768x75Data */
2838   {Panel1024x768x75,0x0019,0x0000,14},  /* XGI_StLCDDes1024x768x75Data */
2839   {Panel1024x768x75,0x0018,0x0010,15},  /* XGI_CetLCDDes1024x768x75Data */
2840   {Panel1280x1024x75,0x0019,0x0001,16}, /* XGI_ExtLCDDes1280x1024x75Data */
2841   {Panel1280x1024x75,0x0019,0x0000,17}, /* XGI_StLCDDes1280x1024x75Data */
2842   {Panel1280x1024x75,0x0018,0x0010,18}, /* XGI_CetLCDDes1280x1024x75Data */
2843   {PanelRef75Hz,0x0008,0x0008,19},      /* XGI_NoScalingDesDatax75 */
2844   {0xFF,0x0000,0x0000,0}
2845 };
2846
2847 struct XGI330_LCDDataTablStruct XGI_EPLLCDCRT1Ptr_H[] =
2848 {
2849   {Panel1024x768,0x0018,0x0000,0}, /* XGI_LVDSCRT11024x768_1_H */
2850   {Panel1024x768,0x0018,0x0010,1}, /* XGI_LVDSCRT11024x768_2_H */
2851   {Panel1280x1024,0x0018,0x0000,2}, /* XGI_LVDSCRT11280x1024_1_H */
2852   {Panel1280x1024,0x0018,0x0010,3}, /* XGI_LVDSCRT11280x1024_2_H */
2853   {Panel1400x1050,0x0018,0x0000,4}, /* XGI_LVDSCRT11400x1050_1_H */
2854   {Panel1400x1050,0x0018,0x0010,5}, /* XGI_LVDSCRT11400x1050_2_H */
2855   {Panel1600x1200,0x0018,0x0000,6},  /* XGI_LVDSCRT11600x1200_1_H */
2856   {Panel1024x768x75,0x0018,0x0000,7},   /* XGI_LVDSCRT11024x768_1_Hx75 */
2857   {Panel1024x768x75,0x0018,0x0010,8},   /* XGI_LVDSCRT11024x768_2_Hx75 */
2858   {Panel1280x1024x75,0x0018,0x0000,9},  /* XGI_LVDSCRT11280x1024_1_Hx75 */
2859   {Panel1280x1024x75,0x0018,0x0010,10}, /* XGI_LVDSCRT11280x1024_2_Hx75 */
2860   {0xFF,0x0000,0x0000,0}
2861 };
2862
2863 struct XGI330_LCDDataTablStruct XGI_EPLLCDCRT1Ptr_V[] =
2864 {
2865   {Panel1024x768,0x0018,0x0000,0}, /* XGI_LVDSCRT11024x768_1_V */
2866   {Panel1024x768,0x0018,0x0010,1}, /* XGI_LVDSCRT11024x768_2_V */
2867   {Panel1280x1024,0x0018,0x0000,2}, /* XGI_LVDSCRT11280x1024_1_V */
2868   {Panel1280x1024,0x0018,0x0010,3}, /* XGI_LVDSCRT11280x1024_2_V */
2869   {Panel1400x1050,0x0018,0x0000,4}, /* XGI_LVDSCRT11400x1050_1_V */
2870   {Panel1400x1050,0x0018,0x0010,5}, /* XGI_LVDSCRT11400x1050_2_V */
2871   {Panel1600x1200,0x0018,0x0000,6}, /* XGI_LVDSCRT11600x1200_1_V */
2872   {Panel1024x768x75,0x0018,0x0000,7},   /* XGI_LVDSCRT11024x768_1_Vx75 */
2873   {Panel1024x768x75,0x0018,0x0010,8},   /* XGI_LVDSCRT11024x768_2_Vx75 */
2874   {Panel1280x1024x75,0x0018,0x0000,9},  /* XGI_LVDSCRT11280x1024_1_Vx75 */
2875   {Panel1280x1024x75,0x0018,0x0010,10}, /* XGI_LVDSCRT11280x1024_2_Vx75 */
2876   {0xFF,0x0000,0x0000,0}
2877 };
2878
2879 struct XGI330_LCDDataTablStruct XGI_EPLLCDDataPtr[] =
2880 {
2881   {Panel1024x768,0x0018,0x0000,0}, /* XGI_LVDS1024x768Data_1 */
2882   {Panel1024x768,0x0018,0x0010,1}, /* XGI_LVDS1024x768Data_2 */
2883   {Panel1280x1024,0x0018,0x0000,2}, /* XGI_LVDS1280x1024Data_1 */
2884   {Panel1280x1024,0x0018,0x0010,3}, /* XGI_LVDS1280x1024Data_2 */
2885   {Panel1400x1050,0x0018,0x0000,4}, /* XGI_LVDS1400x1050Data_1 */
2886   {Panel1400x1050,0x0018,0x0010,5}, /* XGI_LVDS1400x1050Data_2 */
2887   {Panel1600x1200,0x0018,0x0000,6}, /* XGI_LVDS1600x1200Data_1 */
2888   {PanelRef60Hz,0x0008,0x0008,7}, /* XGI_LVDSNoScalingData */
2889   {Panel1024x768x75,0x0018,0x0000,8},   /* XGI_LVDS1024x768Data_1x75 */
2890   {Panel1024x768x75,0x0018,0x0010,9},   /* XGI_LVDS1024x768Data_2x75 */
2891   {Panel1280x1024x75,0x0018,0x0000,10}, /* XGI_LVDS1280x1024Data_1x75 */
2892   {Panel1280x1024x75,0x0018,0x0010,11}, /* XGI_LVDS1280x1024Data_2x75 */
2893   {PanelRef75Hz,0x0008,0x0008,12},      /* XGI_LVDSNoScalingDatax75 */
2894   {0xFF,0x0000,0x0000,0}
2895 };
2896
2897 struct XGI330_LCDDataTablStruct XGI_EPLLCDDesDataPtr[] =
2898 {
2899   {Panel1024x768,0x0018,0x0000,0}, /* XGI_LVDS1024x768Des_1 */
2900   {Panel1024x768,0x0618,0x0410,1}, /* XGI_LVDS1024x768Des_3 */
2901   {Panel1024x768,0x0018,0x0010,2}, /* XGI_LVDS1024x768Des_2 */
2902   {Panel1280x1024,0x0018,0x0000,3}, /* XGI_LVDS1280x1024Des_1 */
2903   {Panel1280x1024,0x0018,0x0010,4}, /* XGI_LVDS1280x1024Des_2 */
2904   {Panel1400x1050,0x0018,0x0000,5}, /* XGI_LVDS1400x1050Des_1 */
2905   {Panel1400x1050,0x0018,0x0010,6}, /* XGI_LVDS1400x1050Des_2 */
2906   {Panel1600x1200,0x0018,0x0000,7}, /* XGI_LVDS1600x1200Des_1 */
2907   {PanelRef60Hz,0x0008,0x0008,8},       /* XGI_LVDSNoScalingDesData */
2908   {Panel1024x768x75,0x0018,0x0000,9},   /* XGI_LVDS1024x768Des_1x75 */
2909   {Panel1024x768x75,0x0618,0x0410,10},  /* XGI_LVDS1024x768Des_3x75 */
2910   {Panel1024x768x75,0x0018,0x0010,11},  /* XGI_LVDS1024x768Des_2x75 */
2911   {Panel1280x1024x75,0x0018,0x0000,12}, /* XGI_LVDS1280x1024Des_1x75 */
2912   {Panel1280x1024x75,0x0018,0x0010,13}, /* XGI_LVDS1280x1024Des_2x75 */
2913   {PanelRef75Hz,0x0008,0x0008,14},      /* XGI_LVDSNoScalingDesDatax75 */
2914   {0xFF,0x0000,0x0000,0}
2915 };
2916
2917 struct XGI330_LCDDataTablStruct XGI_EPLCHLCDRegPtr[] =
2918 {
2919   {Panel1024x768,0x0000,0x0000,0}, /* XGI_CH7017LV1024x768 */
2920   {Panel1400x1050,0x0000,0x0000,1}, /* XGI_CH7017LV1400x1050 */
2921   {0xFF,0x0000,0x0000,0}
2922 };
2923
2924 struct XGI330_TVDataTablStruct XGI_TVDataTable[] =
2925 {
2926  {0x09E1,0x0001,0},     /* XGI_ExtPALData */
2927  {0x09E1,0x0000,1},     /* XGI_ExtNTSCData */
2928  {0x09E1,0x0801,2},     /* XGI_StPALData */
2929  {0x09E1,0x0800,3},     /* XGI_StNTSCData */
2930  {0x49E0,0x0100,4},     /* XGI_ExtHiTVData */
2931  {0x49E0,0x4100,5},     /* XGI_St2HiTVData */
2932  {0x49E0,0x4900,13},    /* XGI_St1HiTVData */
2933  {0x09E0,0x0020,6},     /* XGI_ExtYPbPr525iData */
2934  {0x09E0,0x0040,7},     /* XGI_ExtYPbPr525pData */
2935  {0x09E0,0x0080,8},     /* XGI_ExtYPbPr750pData */
2936  {0x09E0,0x0820,9},     /* XGI_StYPbPr525iData */
2937  {0x09E0,0x0840,10},    /* XGI_StYPbPr525pData */
2938  {0x09E0,0x0880,11},    /* XGI_StYPbPr750pData */
2939  {0xffff,0x0000,12}     /* END */
2940 };
2941
2942 unsigned short TVLenList[] =
2943 {
2944    LVDSCRT1Len_H,
2945    LVDSCRT1Len_V,
2946    LVDSDataLen,
2947    0,
2948    TVDataLen,
2949    0,
2950    0,
2951    CHTVRegLen
2952 } ;
2953
2954 /* Chrontel 7017 TV CRT1 Timing List */
2955 struct XGI330_TVDataTablStruct XGI_EPLCHTVCRT1Ptr[] =
2956 {
2957   {0x0011,0x0000,0}, /* XGI_CHTVCRT1UNTSC */
2958   {0x0011,0x0010,1}, /* XGI_CHTVCRT1ONTSC */
2959   {0x0011,0x0001,2}, /* XGI_CHTVCRT1UPAL */
2960   {0x0011,0x0011,3}, /* XGI_CHTVCRT1OPAL */
2961   {0xFFFF,0x0000,4}
2962 };
2963
2964 /* ;;Chrontel 7017 TV Timing List */
2965 struct XGI330_TVDataTablStruct XGI_EPLCHTVDataPtr[] =
2966 {
2967   {0x0011,0x0000,0}, /* XGI_CHTVUNTSCData */
2968   {0x0011,0x0010,1}, /* XGI_CHTVONTSCData */
2969   {0x0011,0x0001,2}, /* XGI_CHTVUPALData */
2970   {0x0011,0x0011,3}, /* XGI_CHTVOPALData */
2971   {0xFFFF,0x0000,4}
2972 };
2973
2974 /* ;;Chrontel 7017 TV Reg. List */
2975 struct XGI330_TVDataTablStruct XGI_EPLCHTVRegPtr[] =
2976 {
2977   {0x0011,0x0000,0}, /* XGI_CHTVRegUNTSC */
2978   {0x0011,0x0010,1}, /* XGI_CHTVRegONTSC */
2979   {0x0011,0x0001,2}, /* XGI_CHTVRegUPAL */
2980   {0x0011,0x0011,3}, /* XGI_CHTVRegOPAL */
2981   {0xFFFF,0x0000,4}
2982 };
2983
2984 unsigned short LCDLenList[] =
2985 {
2986    LVDSCRT1Len_H,
2987    LVDSCRT1Len_V,
2988    LVDSDataLen,
2989    LCDDesDataLen,
2990    LCDDataLen,
2991    LCDDesDataLen,
2992    0,
2993    LCDDesDataLen,
2994    LCDDesDataLen,
2995    0
2996 } ;
2997
2998 struct XGI330_LCDCapStruct  XGI660_LCDDLCapList[] =  /* 660, Dual link */
2999 {
3000 /* LCDCap1024x768 */
3001                 {Panel1024x768, DefaultLCDCap, 0, 0x014, 0x88, 0x06, VCLK65,
3002                  0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
3003                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
3004 /* LCDCap1280x1024 */
3005                 {Panel1280x1024, LCDDualLink+DefaultLCDCap, StLCDBToA, 0x053, 0x70, 0x03, VCLK108_2,
3006                  0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
3007                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3008 /* LCDCap1400x1050 */
3009                 {Panel1400x1050, LCDDualLink+DefaultLCDCap, StLCDBToA, 0x053, 0x70, 0x03, VCLK108_2,
3010                  0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
3011                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3012 /* LCDCap1600x1200 */
3013                 {Panel1600x1200, LCDDualLink+DefaultLCDCap, LCDToFull, 0x053, 0xC0, 0x03, VCLK162,
3014                  0x43, 0x22, 0x70, 0x24, 0x02, 0x14, 0x0A, 0x02, 0x00,
3015                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3016 /* LCDCap1024x768x75 */
3017                 {Panel1024x768x75, DefaultLCDCap, 0, 0x014, 0x60, 0, VCLK78_75,
3018                  0x2B, 0x61, 0x2B, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
3019                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
3020 /* LCDCap1280x1024x75 */
3021                 {Panel1280x1024x75, LCDDualLink+DefaultLCDCap, StLCDBToA, 0x053, 0x90, 0x03, VCLK135_5,
3022                  0x54, 0x42, 0x4A, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
3023                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3024 /* LCDCapDefault */
3025                 {0xFF, DefaultLCDCap, 0, 0x053, 0x88, 0x06, VCLK65,
3026                 0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
3027                 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10}
3028 };
3029
3030 struct XGI330_LCDCapStruct  XGI_LCDDLCapList[] =  /* Dual link only */
3031 {
3032 /* LCDCap1024x768 */
3033                 {Panel1024x768, DefaultLCDCap, 0, 0x012, 0x88, 0x06, VCLK65,
3034                 0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
3035                 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
3036 /* LCDCap1280x1024 */
3037                 {Panel1280x1024, LCDDualLink+DefaultLCDCap, StLCDBToA, 0x012, 0x70, 0x03, VCLK108_2,
3038                 0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
3039                 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3040 /* LCDCap1400x1050 */
3041                 {Panel1400x1050, LCDDualLink+DefaultLCDCap, StLCDBToA, 0x012, 0x70, 0x03, VCLK108_2,
3042                  0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
3043                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3044 /* LCDCap1600x1200 */
3045                 {Panel1600x1200, LCDDualLink+DefaultLCDCap, LCDToFull, 0x012, 0xC0, 0x03, VCLK162,
3046                  0x43, 0x22, 0x70, 0x24, 0x02, 0x14, 0x0A, 0x02, 0x00,
3047                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3048 /* LCDCap1024x768x75 */
3049                 {Panel1024x768x75, DefaultLCDCap, 0, 0x012, 0x60, 0, VCLK78_75,
3050                  0x2B, 0x61, 0x2B, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
3051                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
3052 /* LCDCap1280x1024x75 */
3053                 {Panel1280x1024x75, LCDDualLink+DefaultLCDCap, StLCDBToA, 0x012, 0x90, 0x03, VCLK135_5,
3054                  0x54, 0x42, 0x4A, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
3055                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3056 /* LCDCapDefault */
3057                 {0xFF, DefaultLCDCap, 0, 0x012, 0x88, 0x06, VCLK65,
3058                 0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
3059                 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10}
3060 };
3061
3062 struct XGI330_LCDCapStruct  XGI660_LCDCapList[] =
3063 {
3064 /* LCDCap1024x768 */
3065                 {Panel1024x768, DefaultLCDCap, 0, 0x014, 0x88, 0x06, VCLK65,
3066                 0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
3067                 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
3068 /* LCDCap1280x1024 */
3069                 {Panel1280x1024, DefaultLCDCap, StLCDBToA, 0x053, 0x70, 0x03, VCLK108_2,
3070                 0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
3071                 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3072 /* LCDCap1400x1050 */
3073                 {Panel1400x1050, DefaultLCDCap, StLCDBToA, 0x053, 0x70, 0x03, VCLK108_2,
3074                  0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
3075                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3076 /* LCDCap1600x1200 */
3077                 {Panel1600x1200, DefaultLCDCap, LCDToFull, 0x053, 0xC0, 0x03, VCLK162,
3078                  0x5A, 0x23, 0x5A, 0x23, 0x02, 0x14, 0x0A, 0x02, 0x00,
3079                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3080 /* LCDCap1024x768x75 */
3081                 {Panel1024x768x75, DefaultLCDCap, 0, 0x014, 0x60, 0, VCLK78_75,
3082                  0x2B, 0x61, 0x2B, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
3083                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
3084 /* LCDCap1280x1024x75 */
3085                 {Panel1280x1024x75,+DefaultLCDCap, StLCDBToA, 0x053, 0x90, 0x03, VCLK135_5,
3086                  0x54, 0x42, 0x4A, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
3087                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3088 /* LCDCapDefault */
3089                 {0xFF, DefaultLCDCap, 0, 0x053, 0x88, 0x06, VCLK65,
3090                 0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
3091                 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10}
3092 };
3093
3094 struct XGI330_LCDCapStruct  XGI_LCDCapList[] =
3095 {
3096 /* LCDCap1024x768 */
3097                 {Panel1024x768, DefaultLCDCap, 0, 0x012, 0x88, 0x06, VCLK65,
3098                 0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
3099                 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
3100 /* LCDCap1280x1024 */
3101                 {Panel1280x1024, DefaultLCDCap, StLCDBToA, 0x012, 0x70, 0x03, VCLK108_2,
3102                 0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
3103                 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3104 /* LCDCap1400x1050 */
3105                 {Panel1400x1050, DefaultLCDCap, StLCDBToA, 0x012, 0x70, 0x03, VCLK108_2,
3106                  0x70, 0x44, 0xF8, 0x2F, 0x02, 0x14, 0x0A, 0x02, 0x00,
3107                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3108 /* LCDCap1600x1200 */
3109                 {Panel1600x1200, DefaultLCDCap, LCDToFull, 0x012, 0xC0, 0x03, VCLK162,
3110                  0x5A, 0x23, 0x5A, 0x23, 0x02, 0x14, 0x0A, 0x02, 0x00,
3111                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3112 /* LCDCap1024x768x75 */
3113                 {Panel1024x768x75, DefaultLCDCap, 0, 0x012, 0x60, 0, VCLK78_75,
3114                  0x2B, 0x61, 0x2B, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
3115                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10},
3116 /* LCDCap1280x1024x75 */
3117                 {Panel1280x1024x75, DefaultLCDCap, StLCDBToA, 0x012, 0x90, 0x03, VCLK135_5,
3118                  0x54, 0x42, 0x4A, 0x61, 0x02, 0x14, 0x0A, 0x02, 0x00,
3119                  0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x30, 0x10},
3120 /* LCDCapDefault */
3121                 {0xFF, DefaultLCDCap, 0, 0x012, 0x88, 0x06, VCLK65,
3122                 0x6C, 0xC3, 0x35, 0x62, 0x02, 0x14, 0x0A, 0x02, 0x00,
3123                 0x30, 0x10, 0x5A, 0x10, 0x10, 0x0A, 0xC0, 0x28, 0x10}
3124 };
3125
3126 struct XGI21_LVDSCapStruct XGI21_LCDCapList[] =
3127 {
3128     {DisableLCD24bpp + LCDPolarity,
3129      2160,1250,1600,1200,  64,  1,  192,   3,
3130      0x70,0x24,0x20,0x04,0x0A,0x02,0xC8
3131     },
3132     {DisableLCD24bpp + LCDPolarity,
3133      1688,1066,1280,1024,  48,  1,  112,   3,
3134      0x70,0x44,0x20,0x04,0x0A,0x02,0xC8
3135     },
3136     {DisableLCD24bpp + LCDPolarity + (LCDPolarity << 8),
3137      1344, 806,1024, 768,  24,  3,  136,   6,
3138      0x6C,0x65,0x20,0x04,0x0A,0x02,0xC8
3139     },
3140     {DisableLCD24bpp + LCDPolarity,
3141      1056, 628, 800, 600,  40,   1, 128,   4,
3142      0x42,0xE2,0x20,0x14,0x0A,0x02,0x00
3143     },
3144     {DisableLCD24bpp + LCDPolarity,
3145       928, 525, 800, 480,  40,  13,  48,   3,
3146      0x52,0xC5,0x20,0x14,0x0A,0x02,0x00
3147     },
3148     {DisableLCD24bpp + LCDPolarity + (LCDPolarity << 8),
3149       800, 525, 640, 480,  16,  10,  96,   2,
3150      0x1B,0xE1,0x20,0x04,0x0A,0x02,0xC8
3151     }
3152
3153 };
3154
3155 struct XGI_Ext2Struct XGI330_RefIndex[] =
3156 {
3157 {Support32Bpp + SupportAllCRT2 + SyncPN,                        RES320x200,      VCLK25_175, 0x00,0x10,0x59, 320, 200},/* 00 */
3158 {Support32Bpp + SupportAllCRT2 + SyncPN,                        RES320x200,      VCLK25_175, 0x00,0x10,0x00, 320, 400},/* 01 */
3159 {Support32Bpp + SupportAllCRT2 + SyncNN,                        RES320x240,      VCLK25_175, 0x04,0x20,0x50, 320, 240},/* 02 */
3160 {Support32Bpp + SupportAllCRT2 + SyncPP,                        RES400x300,      VCLK40,     0x05,0x32,0x51, 400, 300},/* 03 */
3161 {Support32Bpp + NoSupportTV + SyncNN + SupportTV1024,           RES512x384,      VCLK65,     0x06,0x43,0x52, 512, 384},/* 04 */
3162 {Support32Bpp + SupportAllCRT2 + SyncPN,                        RES640x400,      VCLK25_175, 0x00,0x14,0x2f, 640, 400},/* 05 */
3163 {Support32Bpp + SupportAllCRT2 + SyncNN,                        RES640x480x60,   VCLK25_175, 0x04,0x24,0x2e, 640, 480},/* 06 640x480x60Hz (LCD 640x480x60z) */
3164 {Support32Bpp + NoSupportHiVisionTV + SyncNN,                   RES640x480x72,   VCLK31_5,   0x04,0x24,0x2e, 640, 480},/* 07 640x480x72Hz (LCD 640x480x70Hz) */
3165 {Support32Bpp + NoSupportHiVisionTV + SyncNN,                   RES640x480x75,   VCLK31_5,   0x47,0x24,0x2e, 640, 480},/* 08 640x480x75Hz (LCD 640x480x75Hz) */
3166 {Support32Bpp + SupportRAMDAC2 + SyncNN,                        RES640x480x85,   VCLK36,     0x8A,0x24,0x2e, 640, 480},/* 09 640x480x85Hz */
3167 {Support32Bpp + SupportRAMDAC2 + SyncPN,                        RES640x480x100,  VCLK43_163, 0x00,0x24,0x2e, 640, 480},/* 0a 640x480x100Hz */
3168 {Support32Bpp + SupportRAMDAC2 + SyncPN,                        RES640x480x120,  VCLK52_406, 0x00,0x24,0x2e, 640, 480},/* 0b 640x480x120Hz */
3169 {Support32Bpp + SupportRAMDAC2 + SyncPN,                        RES640x480x160,  VCLK72_852, 0x00,0x24,0x2e, 640, 480},/* 0c 640x480x160Hz */
3170 {Support32Bpp + SupportRAMDAC2 + SyncNN,                        RES640x480x200,  VCLK86_6,   0x00,0x24,0x2e, 640, 480},/* 0d 640x480x200Hz */
3171 {Support32Bpp + NoSupportLCD + SyncPP,                          RES800x600x56,   VCLK36,     0x05,0x36,0x6a, 800, 600},/* 0e 800x600x56Hz */
3172 {Support32Bpp + NoSupportTV + SyncPP,                           RES800x600x60,   VCLK40,     0x05,0x36,0x6a, 800, 600},/* 0f 800x600x60Hz (LCD 800x600x60Hz) */
3173 {Support32Bpp + NoSupportHiVisionTV + SyncPP,                   RES800x600x72,   VCLK50,     0x48,0x36,0x6a, 800, 600},/* 10 800x600x72Hz (LCD 800x600x70Hz) */
3174 {Support32Bpp + NoSupportHiVisionTV + SyncPP,                   RES800x600x75,   VCLK49_5,   0x8B,0x36,0x6a, 800, 600},/* 11 800x600x75Hz (LCD 800x600x75Hz) */
3175 {Support32Bpp + SupportRAMDAC2 + SyncPP,                        RES800x600x85,   VCLK56_25,  0x00,0x36,0x6a, 800, 600},/* 12 800x600x85Hz */
3176 {Support32Bpp + SupportRAMDAC2 + SyncPN,                        RES800x600x100,  VCLK68_179, 0x00,0x36,0x6a, 800, 600},/* 13 800x600x100Hz */
3177 {Support32Bpp + SupportRAMDAC2 + SyncPN,                        RES800x600x120,  VCLK83_95,  0x00,0x36,0x6a, 800, 600},/* 14 800x600x120Hz */
3178 {Support32Bpp + SupportRAMDAC2 + SyncPN,                        RES800x600x160,  VCLK116_406,0x00,0x36,0x6a, 800, 600},/* 15 800x600x160Hz */
3179 {Support32Bpp + InterlaceMode + SyncPP,                         RES1024x768x43,  VCLK44_9,   0x00,0x47,0x37,1024, 768},/* 16 1024x768x43Hz */
3180 {Support32Bpp + NoSupportTV + SyncNN + SupportTV1024,           RES1024x768x60,  VCLK65,     0x06,0x47,0x37,1024, 768},/* 17 1024x768x60Hz (LCD 1024x768x60Hz) */
3181 {Support32Bpp + NoSupportHiVisionTV + SyncNN,                   RES1024x768x70,  VCLK75,     0x49,0x47,0x37,1024, 768},/* 18 1024x768x70Hz (LCD 1024x768x70Hz) */
3182 {Support32Bpp + NoSupportHiVisionTV + SyncPP,                   RES1024x768x75,  VCLK78_75,  0x00,0x47,0x37,1024, 768},/* 19 1024x768x75Hz (LCD 1024x768x75Hz) */
3183 {Support32Bpp + SupportRAMDAC2 + SyncPP,                        RES1024x768x85,  VCLK94_5,   0x8C,0x47,0x37,1024, 768},/* 1a 1024x768x85Hz */
3184 {Support32Bpp + SupportRAMDAC2 + SyncPN,                        RES1024x768x100, VCLK113_309,0x00,0x47,0x37,1024, 768},/* 1b 1024x768x100Hz */
3185 {Support32Bpp + SupportRAMDAC2 + SyncPN,                        RES1024x768x120, VCLK139_054,0x00,0x47,0x37,1024, 768},/* 1c 1024x768x120Hz */
3186 {Support32Bpp + SupportLCD + SyncPP,                            RES1280x960x60,  VCLK108_2,  0x08,0x58,0x7b,1280, 960},/* 1d 1280x960x60Hz */
3187 {Support32Bpp + InterlaceMode + SyncPP,                         RES1280x1024x43, VCLK78_75,  0x00,0x58,0x3a,1280,1024},/* 1e 1280x1024x43Hz */
3188 {Support32Bpp + NoSupportTV + SyncPP,                           RES1280x1024x60, VCLK108_2,  0x07,0x58,0x3a,1280,1024},/* 1f 1280x1024x60Hz (LCD 1280x1024x60Hz) */
3189 {Support32Bpp + NoSupportTV + SyncPP,                           RES1280x1024x75, VCLK135_5,  0x00,0x58,0x3a,1280,1024},/* 20 1280x1024x75Hz (LCD 1280x1024x75Hz) */
3190 {Support32Bpp + SyncPP,                                         RES1280x1024x85, VCLK157_5,  0x00,0x58,0x3a,1280,1024},/* 21 1280x1024x85Hz */
3191 {Support32Bpp + SupportLCD + SyncPP + SupportCRT2in301C,        RES1600x1200x60, VCLK162,    0x09,0x7A,0x3c,1600,1200},/* 22 1600x1200x60Hz */
3192 {Support32Bpp + SyncPP + SupportCRT2in301C,                     RES1600x1200x65, VCLK175,    0x00,0x69,0x3c,1600,1200},/* 23 1600x1200x65Hz */
3193 {Support32Bpp + SyncPP + SupportCRT2in301C,                     RES1600x1200x70, VCLK189,    0x00,0x69,0x3c,1600,1200},/* 24 1600x1200x70Hz */
3194 {Support32Bpp + SyncPP + SupportCRT2in301C,                     RES1600x1200x75, VCLK202_5,  0x00,0x69,0x3c,1600,1200},/* 25 1600x1200x75Hz */
3195 {Support32Bpp + SyncPP,                                         RES1600x1200x85, VCLK229_5,  0x00,0x69,0x3c,1600,1200},/* 26 1600x1200x85Hz */
3196 {Support32Bpp + SyncPP,                                         RES1600x1200x100,VCLK269_655,0x00,0x69,0x3c,1600,1200},/* 27 1600x1200x100Hz */
3197 {Support32Bpp + SyncPP,                                         RES1600x1200x120,VCLK323_586,0x00,0x69,0x3c,1600,1200},/* 28 1600x1200x120Hz */
3198 {Support32Bpp + SupportLCD + SyncNP,                            RES1920x1440x60, VCLK234,    0x00,0x00,0x68,1920,1440},/* 29 1920x1440x60Hz */
3199 {Support32Bpp + SyncPN,                                         RES1920x1440x65, VCLK254_817,0x00,0x00,0x68,1920,1440},/* 2a 1920x1440x65Hz */
3200 {Support32Bpp + SyncPN,                                         RES1920x1440x70, VCLK277_015,0x00,0x00,0x68,1920,1440},/* 2b 1920x1440x70Hz */
3201 {Support32Bpp + SyncPN,                                         RES1920x1440x75, VCLK291_132,0x00,0x00,0x68,1920,1440},/* 2c 1920x1440x75Hz */
3202 {Support32Bpp + SyncPN,                                         RES1920x1440x85, VCLK330_615,0x00,0x00,0x68,1920,1440},/* 2d 1920x1440x85Hz */
3203 {Support16Bpp + SyncPN,                                         RES1920x1440x100,VCLK388_631,0x00,0x00,0x68,1920,1440},/* 2e 1920x1440x100Hz */
3204 {Support32Bpp + SupportLCD + SyncPN,                            RES2048x1536x60, VCLK266_952,0x00,0x00,0x6c,2048,1536},/* 2f 2048x1536x60Hz */
3205 {Support32Bpp + SyncPN,                                         RES2048x1536x65, VCLK291_766,0x00,0x00,0x6c,2048,1536},/* 30 2048x1536x65Hz */
3206 {Support32Bpp + SyncPN,                                         RES2048x1536x70, VCLK315_195,0x00,0x00,0x6c,2048,1536},/* 31 2048x1536x70Hz */
3207 {Support32Bpp + SyncPN,                                         RES2048x1536x75, VCLK340_477,0x00,0x00,0x6c,2048,1536},/* 32 2048x1536x75Hz */
3208 {Support16Bpp + SyncPN,                                         RES2048x1536x85, VCLK375_847,0x00,0x00,0x6c,2048,1536},/* 33 2048x1536x85Hz */
3209 {Support32Bpp + SupportHiVisionTV + SupportRAMDAC2 + SyncPP + SupportYPbPr,     RES800x480x60,   VCLK39_77,  0x08,0x00,0x70, 800, 480},/* 34 800x480x60Hz */
3210 {Support32Bpp + SupportRAMDAC2 + SyncPP,                        RES800x480x75,   VCLK49_5,   0x08,0x00,0x70, 800, 480},/* 35 800x480x75Hz */
3211 {Support32Bpp + SupportRAMDAC2 + SyncPP,                        RES800x480x85,   VCLK56_25,  0x08,0x00,0x70, 800, 480},/* 36 800x480x85Hz */
3212 {Support32Bpp + SupportHiVisionTV + SupportRAMDAC2 + SyncPP + SupportYPbPr,     RES1024x576x60,  VCLK65,     0x09,0x00,0x71,1024, 576},/* 37 1024x576x60Hz */
3213 {Support32Bpp + SupportRAMDAC2 + SyncPP,                        RES1024x576x75,  VCLK78_75,  0x09,0x00,0x71,1024, 576},/* 38 1024x576x75Hz */
3214 {Support32Bpp + SupportRAMDAC2 + SyncPP,                        RES1024x576x85,  VCLK94_5,   0x09,0x00,0x71,1024, 576},/* 39 1024x576x85Hz */
3215 {Support32Bpp + SupportHiVisionTV + SupportRAMDAC2 + SyncPP + SupportYPbPr,     RES1280x720x60,  VCLK108_2,  0x0A,0x00,0x75,1280, 720},/* 3a 1280x720x60Hz */
3216 {Support32Bpp + SupportRAMDAC2 + SyncPP,                        RES1280x720x75,  VCLK135_5,  0x0A,0x00,0x75,1280, 720},/* 3b 1280x720x75Hz */
3217 {Support32Bpp + SupportRAMDAC2 + SyncPP,                        RES1280x720x85,  VCLK157_5,  0x0A,0x00,0x75,1280, 720},/* 3c 1280x720x85Hz */
3218 {Support32Bpp + SupportTV + SyncNN,                             RES720x480x60,   VCLK28_322, 0x06,0x00,0x31, 720, 480},/* 3d 720x480x60Hz */
3219 {Support32Bpp + SupportTV + SyncPP,                             RES720x576x56,   VCLK36,     0x06,0x00,0x32, 720, 576},/* 3e 720x576x56Hz */
3220 {Support32Bpp + InterlaceMode + NoSupportLCD + SyncPP,          RES856x480x79I,  VCLK35_2,   0x00,0x00,0x00, 856, 480},/* 3f 856x480x79I */
3221 {Support32Bpp + NoSupportLCD + SyncNN,                          RES856x480x60,   VCLK35_2,   0x00,0x00,0x00, 856, 480},/* 40 856x480x60Hz */
3222 {Support32Bpp + NoSupportHiVisionTV + SyncPP,                   RES1280x768x60,  VCLK79_411, 0x08,0x48,0x23,1280, 768},/* 41 1280x768x60Hz */
3223 {Support32Bpp + NoSupportHiVisionTV + SyncPP,                   RES1400x1050x60, VCLK122_61, 0x08,0x69,0x26,1400,1050},/* 42 1400x1050x60Hz */
3224 {Support32Bpp + SupportRAMDAC2 + SyncPP,                        RES1152x864x60,  VCLK80_350, 0x37,0x00,0x20,1152, 864},/* 43 1152x864x60Hz */
3225 {Support32Bpp + SupportRAMDAC2 + SyncPP,                        RES1152x864x75,  VCLK107_385,0x37,0x00,0x20,1152, 864},/* 44 1152x864x75Hz */
3226 {Support32Bpp + SupportLCD + SupportRAMDAC2 + SyncPP,           RES1280x960x75,  VCLK125_999,0x3A,0x88,0x7b,1280, 960},/* 45 1280x960x75Hz */
3227 {Support32Bpp + SupportLCD + SupportRAMDAC2 + SyncPP,           RES1280x960x85,  VCLK148_5,  0x0A,0x88,0x7b,1280, 960},/* 46 1280x960x85Hz */
3228 {Support32Bpp + SupportLCD + SupportRAMDAC2 + SyncPP,           RES1280x960x120, VCLK217_325,0x3A,0x88,0x7b,1280, 960},/* 47 1280x960x120Hz */
3229 {Support32Bpp + SupportRAMDAC2 + SyncPN,                        RES1024x768x160, VCLK139_054,0x30,0x47,0x37,1024, 768},/* 48 1024x768x160Hz */
3230 };
3231
3232
3233
3234 struct XGI330_VCLKDataStruct XGI330_VCLKData[] =
3235 {
3236  { 0x1b,0xe1, 25}, /* 0x0 */
3237  { 0x4e,0xe4, 28}, /* 0x1 */
3238  { 0x57,0xe4, 31}, /* 0x2 */
3239  { 0xc3,0xc8, 36}, /* 0x3 */
3240  { 0x42,0xe2, 40}, /* 0x4 */
3241  { 0xfe,0xcd, 43}, /* 0x5 */
3242  { 0x5d,0xc4, 44}, /* 0x6 */
3243  { 0x52,0xe2, 49}, /* 0x7 */
3244  { 0x53,0xe2, 50}, /* 0x8 */
3245  { 0x74,0x67, 52}, /* 0x9 */
3246  { 0x6d,0x66, 56}, /* 0xa */
3247  { 0x6c,0xc3, 65}, /* 0xb */
3248  { 0x46,0x44, 67}, /* 0xc */
3249  { 0xb1,0x46, 68}, /* 0xd */
3250  { 0xd3,0x4a, 72}, /* 0xe */
3251  { 0x29,0x61, 75}, /* 0xf */
3252  { 0x6e,0x46, 76}, /* 0x10 */
3253  { 0x2b,0x61, 78}, /* 0x11 */
3254  { 0x31,0x42, 79}, /* 0x12 */
3255  { 0xab,0x44, 83}, /* 0x13 */
3256  { 0x46,0x25, 84}, /* 0x14 */
3257  { 0x78,0x29, 86}, /* 0x15 */
3258  { 0x62,0x44, 94}, /* 0x16 */
3259  { 0x2b,0x41,104}, /* 0x17 */
3260  { 0x3a,0x23,105}, /* 0x18 */
3261  { 0x70,0x44,108}, /* 0x19 */
3262  { 0x3c,0x23,109}, /* 0x1a */
3263  { 0x5e,0x43,113}, /* 0x1b */
3264  { 0xbc,0x44,116}, /* 0x1c */
3265  { 0xe0,0x46,132}, /* 0x1d */
3266  { 0x54,0x42,135}, /* 0x1e */
3267  { 0xea,0x2a,139}, /* 0x1f */
3268  { 0x41,0x22,157}, /* 0x20 */
3269  { 0x70,0x24,162}, /* 0x21 */
3270  { 0x30,0x21,175}, /* 0x22 */
3271  { 0x4e,0x22,189}, /* 0x23 */
3272  { 0xde,0x26,194}, /* 0x24 */
3273  { 0x62,0x06,202}, /* 0x25 */
3274  { 0x3f,0x03,229}, /* 0x26 */
3275  { 0xb8,0x06,234}, /* 0x27 */
3276  { 0x34,0x02,253}, /* 0x28 */
3277  { 0x58,0x04,255}, /* 0x29 */
3278  { 0x24,0x01,265}, /* 0x2a */
3279  { 0x9b,0x02,267}, /* 0x2b */
3280  { 0x70,0x05,270}, /* 0x2c */
3281  { 0x25,0x01,272}, /* 0x2d */
3282  { 0x9c,0x02,277}, /* 0x2e */
3283  { 0x27,0x01,286}, /* 0x2f */
3284  { 0x3c,0x02,291}, /* 0x30 */
3285  { 0xef,0x0a,292}, /* 0x31 */
3286  { 0xf6,0x0a,310}, /* 0x32 */
3287  { 0x95,0x01,315}, /* 0x33 */
3288  { 0xf0,0x09,324}, /* 0x34 */
3289  { 0xfe,0x0a,331}, /* 0x35 */
3290  { 0xf3,0x09,332}, /* 0x36 */
3291  { 0xea,0x08,340}, /* 0x37 */
3292  { 0xe8,0x07,376}, /* 0x38 */
3293  { 0xde,0x06,389}, /* 0x39 */
3294  { 0x52,0x2a, 54}, /* 0x3a */
3295  { 0x52,0x6a, 27}, /* 0x3b */
3296  { 0x62,0x24, 70}, /* 0x3c */
3297  { 0x62,0x64, 70}, /* 0x3d */
3298  { 0xa8,0x4c, 30}, /* 0x3e */
3299  { 0x20,0x26, 33}, /* 0x3f */
3300  { 0x31,0xc2, 39}, /* 0x40 */
3301  { 0x60,0x36, 30}, /* 0x41 */
3302  { 0x40,0x4A, 28}, /* 0x42 */
3303  { 0x9F,0x46, 44}, /* 0x43 */
3304  { 0x97,0x2C, 26}, /* 0x44 */
3305  { 0x44,0xE4, 25}, /* 0x45 */
3306  { 0x7E,0x32, 47}, /* 0x46 */
3307  { 0x08,0x24, 31}, /* 0x47 */
3308  { 0x97,0x2c, 26}, /* 0x48 */
3309  { 0xCE,0x3c, 39}, /* 0x49 */
3310  { 0x52,0x4A, 36}, /* 0x4a */
3311  { 0x2C,0x61, 95}, /* 0x4b */
3312  { 0x78,0x27,108}, /* 0x4c */
3313  { 0x66,0x43,123},  /* 0x4d */
3314  { 0x2c,0x61, 80},  /* 0x4e */
3315  { 0x3b,0x61,108}  /* 0x4f */
3316 };
3317
3318 struct XGI_VBVCLKDataStruct XGI330_VBVCLKData[] =
3319 {
3320  { 0x1b,0xe1, 25}, /* 0x0 */
3321  { 0x4e,0xe4, 28}, /* 0x1 */
3322  { 0x57,0xe4, 31}, /* 0x2 */
3323  { 0xc3,0xc8, 36}, /* 0x3 */
3324  { 0x42,0x47, 40}, /* 0x4 */
3325  { 0xfe,0xcd, 43}, /* 0x5 */
3326  { 0x5d,0xc4, 44}, /* 0x6 */
3327  { 0x52,0x47, 49}, /* 0x7 */
3328  { 0x53,0x47, 50}, /* 0x8 */
3329  { 0x74,0x67, 52}, /* 0x9 */
3330  { 0x6d,0x66, 56}, /* 0xa */
3331  { 0x5a,0x64, 65}, /* 0xb */
3332  { 0x46,0x44, 67}, /* 0xc */
3333  { 0xb1,0x46, 68}, /* 0xd */
3334  { 0xd3,0x4a, 72}, /* 0xe */
3335  { 0x29,0x61, 75}, /* 0xf */
3336  { 0x6d,0x46, 75}, /* 0x10 */
3337  { 0x41,0x43, 78}, /* 0x11 */
3338  { 0x31,0x42, 79}, /* 0x12 */
3339  { 0xab,0x44, 83}, /* 0x13 */
3340  { 0x46,0x25, 84}, /* 0x14 */
3341  { 0x78,0x29, 86}, /* 0x15 */
3342  { 0x62,0x44, 94}, /* 0x16 */
3343  { 0x2b,0x22,104}, /* 0x17 */
3344  { 0x49,0x24,105}, /* 0x18 */
3345  { 0xf8,0x2f,108}, /* 0x19 */
3346  { 0x3c,0x23,109}, /* 0x1a */
3347  { 0x5e,0x43,113}, /* 0x1b */
3348  { 0xbc,0x44,116}, /* 0x1c */
3349  { 0xe0,0x46,132}, /* 0x1d */
3350  { 0xd4,0x28,135}, /* 0x1e */
3351  { 0xea,0x2a,139}, /* 0x1f */
3352  { 0x41,0x22,157}, /* 0x20 */
3353  { 0x70,0x24,162}, /* 0x21 */
3354  { 0x30,0x21,175}, /* 0x22 */
3355  { 0x4e,0x22,189}, /* 0x23 */
3356  { 0xde,0x26,194}, /* 0x24 */
3357  { 0x70,0x07,202}, /* 0x25 */
3358  { 0x3f,0x03,229}, /* 0x26 */
3359  { 0xb8,0x06,234}, /* 0x27 */
3360  { 0x34,0x02,253}, /* 0x28 */
3361  { 0x58,0x04,255}, /* 0x29 */
3362  { 0x24,0x01,265}, /* 0x2a */
3363  { 0x9b,0x02,267}, /* 0x2b */
3364  { 0x70,0x05,270}, /* 0x2c */
3365  { 0x25,0x01,272}, /* 0x2d */
3366  { 0x9c,0x02,277}, /* 0x2e */
3367  { 0x27,0x01,286}, /* 0x2f */
3368  { 0x3c,0x02,291}, /* 0x30 */
3369  { 0xef,0x0a,292}, /* 0x31 */
3370  { 0xf6,0x0a,310}, /* 0x32 */
3371  { 0x95,0x01,315}, /* 0x33 */
3372  { 0xf0,0x09,324}, /* 0x34 */
3373  { 0xfe,0x0a,331}, /* 0x35 */
3374  { 0xf3,0x09,332}, /* 0x36 */
3375  { 0xea,0x08,340}, /* 0x37 */
3376  { 0xe8,0x07,376}, /* 0x38 */
3377  { 0xde,0x06,389}, /* 0x39 */
3378  { 0x52,0x2a, 54}, /* 0x3a */
3379  { 0x52,0x6a, 27}, /* 0x3b */
3380  { 0x62,0x24, 70}, /* 0x3c */
3381  { 0x62,0x64, 70}, /* 0x3d */
3382  { 0xa8,0x4c, 30}, /* 0x3e */
3383  { 0x20,0x26, 33}, /* 0x3f */
3384  { 0x31,0xc2, 39}, /* 0x40 */
3385  { 0x2e,0x48, 25}, /* 0x41 */
3386  { 0x24,0x46, 25}, /* 0x42 */
3387  { 0x26,0x64, 28}, /* 0x43 */
3388  { 0x37,0x64, 40}, /* 0x44 */
3389  { 0xa1,0x42,108}, /* 0x45 */
3390  { 0x37,0x61,100}, /* 0x46 */
3391  { 0x78,0x27,108}, /* 0x47 */
3392  { 0x5e,0x64,68},  /* 0x48 chiawen for fuj1280x768*/
3393  { 0x70,0x44,108}, /* 0x49 chiawen for 1400x1050*/
3394 };
3395
3396 unsigned char XGI330_ScreenOffset[] = { 0x14, 0x19, 0x20, 0x28, 0x32, 0x40,
3397                                         0x50, 0x64, 0x78, 0x80, 0x2d, 0x35,
3398                                         0x57, 0x48};
3399
3400 struct XGI_StResInfoStruct XGI330_StResInfo[] =
3401 {
3402  { 640,400},
3403  { 640,350},
3404  { 720,400},
3405  { 720,350},
3406  { 640,480}
3407 };
3408
3409 struct XGI_ModeResInfoStruct XGI330_ModeResInfo[] =
3410 {
3411  {  320, 200, 8, 8},
3412  {  320, 240, 8, 8},
3413  {  320, 400, 8, 8},
3414  {  400, 300, 8, 8},
3415  {  512, 384, 8, 8},
3416  {  640, 400, 8,16},
3417  {  640, 480, 8,16},
3418  {  800, 600, 8,16},
3419  { 1024, 768, 8,16},
3420  { 1280,1024, 8,16},
3421  { 1600,1200, 8,16},
3422  { 1920,1440, 8,16},
3423  { 2048,1536, 8,16},
3424  {  720, 480, 8,16},
3425  {  720, 576, 8,16},
3426  { 1280, 960, 8,16},
3427  {  800, 480, 8,16},
3428  { 1024, 576, 8,16},
3429  { 1280, 720, 8,16},
3430  {  856, 480, 8,16},
3431  { 1280, 768, 8,16},
3432  { 1400,1050, 8,16},
3433  { 1152, 864, 8,16}
3434 };
3435
3436 unsigned char XGI330_OutputSelect = 0x40;
3437 unsigned char XGI330_SoftSetting = 0x30;
3438 unsigned char XGI330_SR07 = 0x18;
3439 unsigned char XGI330New_SR15[8][8] = {
3440 {0x0,0x4,0x60,0x60},
3441 {0xf,0xf,0xf,0xf},
3442 {0xba,0xba,0xba,0xba},
3443 {0xa9,0xa9,0xac,0xac},
3444 {0xa0,0xa0,0xa0,0xa8},
3445 {0x0,0x0,0x2,0x2},
3446 {0x30,0x30,0x40,0x40},
3447 {0x0,0xa5,0xfb,0xf6}
3448 };
3449
3450 unsigned char XGI330New_CR40[5][8] = {
3451 {0x77,0x77,0x44,0x44},
3452 {0x77,0x77,0x44,0x44},
3453 {0x0,0x0,0x0,0x0},
3454 {0x5b,0x5b,0xab,0xab},
3455 {0x0,0x0,0xf0,0xf8}
3456 };
3457
3458 unsigned char XGI330_CR49[] = {0xaa, 0x88};
3459 unsigned char XGI330_SR1F = 0x0;
3460 unsigned char XGI330_SR21 = 0xa3;
3461 unsigned char XGI330_650_SR21 = 0xa7;
3462 unsigned char XGI330_SR22 = 0xfb;
3463 unsigned char XGI330_SR23 = 0xf6;
3464 unsigned char XGI330_SR24 = 0xd;
3465
3466 unsigned char XGI660_SR21 = 0xa3;/* 2003.0312 */
3467 unsigned char XGI660_SR22 = 0xf3;/* 2003.0312 */
3468
3469 unsigned char XGI330_LVDS_SR32 = 0x00;   /* ynlai for 650 LVDS */
3470 unsigned char XGI330_LVDS_SR33 = 0x00;  /* chiawen for 650 LVDS */
3471 unsigned char XGI330_650_SR31 = 0x40;
3472 unsigned char XGI330_650_SR33 = 0x04;
3473 unsigned char XGI330_CRT2Data_1_2 = 0x0;
3474 unsigned char XGI330_CRT2Data_4_D = 0x0;
3475 unsigned char XGI330_CRT2Data_4_E = 0x0;
3476 unsigned char XGI330_CRT2Data_4_10 = 0x80;
3477 unsigned short XGI330_RGBSenseData = 0xd1;
3478 unsigned short XGI330_VideoSenseData = 0xb9;
3479 unsigned short XGI330_YCSenseData = 0xb3;
3480 unsigned short XGI330_RGBSenseData2 = 0x0190;     /*301b*/
3481 unsigned short XGI330_VideoSenseData2 = 0x0110;
3482 unsigned short XGI330_YCSenseData2 = 0x016B;
3483 unsigned char XGI330_NTSCPhase[] = {0x21, 0xed, 0x8a, 0x8};
3484 unsigned char XGI330_PALPhase[] = {0x2a, 0x5, 0xd3, 0x0};
3485 unsigned char XGI330_NTSCPhase2[] = {0x21, 0xF0, 0x7B, 0xD6};/*301b*/
3486 unsigned char XGI330_PALPhase2[] = {0x2a, 0x09, 0x86, 0xe9};
3487 unsigned char XGI330_PALMPhase[] = {0x21, 0xE4, 0x2E, 0x9B};   /*palmn*/
3488 unsigned char XGI330_PALNPhase[] = {0x21, 0xF4, 0x3E, 0xBA};
3489 unsigned char XG40_I2CDefinition = 0x00 ;
3490 unsigned char XG20_CR97 = 0x10 ;
3491
3492 unsigned char XG21_DVOSetting = 0x00 ;
3493 unsigned char XG21_CR2E = 0x00 ;
3494 unsigned char XG21_CR2F = 0x00 ;
3495 unsigned char XG21_CR46 = 0x00 ;
3496 unsigned char XG21_CR47 = 0x00 ;
3497
3498 unsigned char XG27_CR97 = 0xC1 ;
3499 unsigned char XG27_SR36 = 0x30 ;
3500 unsigned char XG27_CR8F = 0x0C ;
3501 unsigned char XG27_CRD0[] = {0, 0, 0, 0, 0, 0, 0, 0x82, 0x00, 0x66, 0x01, 0x00};
3502 unsigned char XG27_CRDE[] = {0, 0};
3503 unsigned char XG27_SR40 = 0x04 ;
3504 unsigned char XG27_SR41 = 0x00 ;
3505
3506 unsigned char XGI330_CHTVVCLKUNTSC[] = {0x00};
3507
3508 unsigned char XGI330_CHTVVCLKONTSC[] = {0x00};
3509
3510 unsigned char XGI330_CHTVVCLKUPAL[] = {0x00};
3511
3512 unsigned char XGI330_CHTVVCLKOPAL[] = {0x00};
3513
3514 unsigned char XGI7007_CHTVVCLKUNTSC[] = {CH7007TVVCLK30_2,
3515                                CH7007TVVCLK30_2,
3516                                CH7007TVVCLK30_2,
3517                                CH7007TVVCLK30_2,
3518                                CH7007TVVCLK28_1,
3519                                CH7007TVVCLK47_8
3520                               };
3521
3522 unsigned char XGI7007_CHTVVCLKONTSC[] = {CH7007TVVCLK26_4,
3523                                CH7007TVVCLK26_4,
3524                                CH7007TVVCLK26_4,
3525                                CH7007TVVCLK26_4,
3526                                CH7007TVVCLK24_6,
3527                                CH7007TVVCLK43_6
3528                               };
3529
3530 unsigned char XGI7007_CHTVVCLKUPAL[] = {CH7007TVVCLK31_5,
3531                               CH7007TVVCLK31_5,
3532                               CH7007TVVCLK31_5,
3533                               CH7007TVVCLK31_5,
3534                               CH7007TVVCLK26_2,
3535                               CH7007TVVCLK39
3536                              };
3537
3538 unsigned char XGI7007_CHTVVCLKOPAL[] = {CH7007TVVCLK31_5,
3539                               CH7007TVVCLK31_5,
3540                               CH7007TVVCLK31_5,
3541                               CH7007TVVCLK31_5,
3542                               CH7007TVVCLK26_2,
3543                               CH7007TVVCLK36
3544                              };
3545
3546 struct XGI330_VCLKDataStruct XGI_CH7007VCLKData[] =
3547 {
3548  { 0x60,0x36,30},  /* 0 30.2 MHZ */
3549  { 0x40,0x4A,28},  /* 1 28.19 MHZ */
3550  { 0x9F,0x46,44},  /* 2 43.6 MHZ */
3551  { 0x97,0x2C,26},  /* 3 26.4 MHZ */
3552  { 0x44,0xE4,25},  /* 4 24.6 MHZ */
3553  { 0x7E,0x32,47},  /* 5 47.832 MHZ */
3554  { 0x8A,0x24,31},  /* 6 31.5 MHZ */
3555  { 0x97,0x2C,26},  /* 7 26.2 MHZ */
3556  { 0xCE,0x3C,39},  /* 8 39 MHZ   */
3557  { 0x52,0x4A,36},  /* 9 36 MHZ   */
3558  { 0xFF,0x00,0 }   /* End mark      */
3559 };
3560
3561 struct XGI330_VCLKDataStruct XGI_VCLKData[] =
3562 {
3563                 /* SR2B,SR2C,SR2D */
3564                 {      0x1B,0xE1,25               },/* 00 (25.175MHz) */
3565
3566                 {      0x4E,0xE4,28               },/* 01 (28.322MHz) */
3567
3568                 {      0x57,0xE4,31               },/* 02 (31.500MHz) */
3569
3570                 {      0xC3,0xC8,36               },/* 03 (36.000MHz) */
3571
3572                 {      0x42,0xE2,40               },/* 04 (40.000MHz) */
3573
3574                 {      0xFE,0xCD,43               },/* 05 (43.163MHz) */
3575
3576                 {      0x5D,0xC4,44               },/* 06 (44.900MHz) */
3577
3578                 {      0x52,0xE2,49               },/* 07 (49.500MHz) */
3579
3580                 {      0x53,0xE2,50               },/* 08 (50.000MHz) */
3581
3582                 {      0x74,0x67,52               },/* 09 (52.406MHz) */
3583
3584                 {      0x6D,0x66,56               },/* 0A (56.250MHz) */
3585
3586                 {      0x6C,0xC3,65               },/* 0B (65.000MHz) */
3587
3588                 {      0x46,0x44,67               },/* 0C (67.765MHz) */
3589
3590                 {      0xB1,0x46,68               },/* 0D (68.179MHz) */
3591
3592                 {      0xD3,0x4A,72               },/* 0E (72.852MHz) */
3593
3594                 {      0x29,0x61,75              },/* 0F (75.000MHz) */
3595
3596                 {      0x6E,0x46,76               },/* 10 (75.800MHz) */
3597
3598                 {      0x2B,0x61,78               },/* 11 (78.750MHz) */
3599
3600                 {      0x31,0x42,79               },/* 12 (79.411MHz) */
3601
3602                 {      0xAB,0x44,83               },/* 13 (83.950MHz) */
3603
3604                 {      0x46,0x25,84               },/* 14 (84.800MHz) */
3605
3606                 {      0x78,0x29,86               },/* 15 (86.600MHz) */
3607
3608                 {      0x62,0x44,94               },/* 16 (94.500MHz) */
3609
3610                 {      0x2B,0x41,104               },/* 17 (104.998MHz) */
3611
3612                 {      0x3A,0x23,105               },/* 18 (105.882MHz) */
3613
3614                 {      0x70,0x44,108               },/* 19 (107.862MHz) */
3615
3616                 {      0x3C,0x23,109               },/* 1A (109.175MHz) */
3617
3618                 {      0x5E,0x43,113              },/* 1B (113.309MHz) */
3619
3620                 {      0xBC,0x44,116              },/* 1C (116.406MHz) */
3621
3622                 {      0xE0,0x46,132              },/* 1D (132.258MHz) */
3623
3624                 {      0x54,0x42,135               },/* 1E (135.500MHz) */
3625
3626                 {      0x9C,0x22,139               },/* 1F (139.275MHz) */
3627
3628                 {      0x41,0x22,157               },/* 20 (157.500MHz) */
3629
3630                 {      0x70,0x24,162               },/* 21 (161.793MHz) */
3631
3632                 {      0x30,0x21,175               },/* 22 (175.000MHz) */
3633
3634                 {      0x4E,0x22,189              },/* 23 (188.520MHz) */
3635
3636                 {      0xDE,0x26,194              },/* 24 (194.400MHz) */
3637
3638                 {      0x62,0x06,202               },/* 25 (202.500MHz) */
3639
3640                 {      0x3F,0x03,229               },/* 26 (229.500MHz) */
3641
3642                 {      0xB8,0x06,234               },/* 27 (233.178MHz) */
3643
3644                 {      0x34,0x02,253               },/* 28 (252.699MHz) */
3645
3646                 {      0x58,0x04,255               },/* 29 (254.817MHz) */
3647
3648                 {      0x24,0x01,265              },/* 2A (265.728MHz) */
3649
3650                 {      0x9B,0x02,267               },/* 2B (266.952MHz) */
3651
3652                 {      0x70,0x05,270               },/* 2C (269.65567MHz) */
3653
3654                 {      0x25,0x01,272               },/* 2D (272.04199MHz) */
3655
3656                 {      0x9C,0x02,277               },/* 2E (277.015MHz) */
3657
3658                 {      0x27,0x01,286               },/* 2F (286.359985MHz) */
3659
3660                 {      0xB3,0x04,291               },/* 30 (291.13266MHz) */
3661
3662                 {      0xBC,0x05,292               },/* 31 (291.766MHz) */
3663
3664                 {      0xF6,0x0A,310               },/* 32 (309.789459MHz) */
3665
3666                 {      0x95,0x01,315               },/* 33 (315.195MHz) */
3667
3668                 {      0xF0,0x09,324               },/* 34 (323.586792MHz) */
3669
3670                 {      0xFE,0x0A,331               },/* 35 (330.615631MHz) */
3671
3672                 {      0xF3,0x09,332              },/* 36 (332.177612MHz) */
3673
3674                 {      0x5E,0x03,340              },/* 37 (340.477MHz) */
3675
3676                 {      0xE8,0x07,376              },/* 38 (375.847504MHz) */
3677
3678                 {      0xDE, 0x06,389             },/* 39 (388.631439MHz) */
3679
3680                 {      0x52,0x2A,54               },/* 3A (54.000MHz) */
3681
3682                 {      0x52,0x6A,27              },/* 3B (27.000MHz) */
3683
3684                 {      0x62,0x24,70               },/* 3C (70.874991MHz) */
3685
3686                 {      0x62,0x64,70               },/* 3D (70.1048912MHz) */
3687
3688                 {      0xA8,0x4C,30               },/* 3E (30.1048912MHz) */
3689
3690                 {      0x20,0x26,33               },/* 3F (33.7499957MHz) */
3691
3692                 {      0x31,0xc2,39               },/* 40 (39.77MHz) */
3693
3694                 {      0x11,0x21,30               },/* 41 (30MHz) }// NTSC 1024X768 */
3695
3696                 {      0x2E,0x48,25               },/* 42 (25.175MHz) }// ScaleLCD */
3697
3698                 {      0x24,0x46,25               },/* 43 (25.175MHz) */
3699
3700                 {      0x26,0x64,28               },/* 44 (28.322MHz) */
3701
3702                 {      0x37,0x64,40               },/* 45 (40.000MHz) */
3703
3704                 {      0xA1,0x42,108               },/* 46 (95.000MHz) }// QVGA */
3705
3706                 {      0x37,0x61,100               },/* 47 (100.00MHz) */
3707
3708                 {      0x78,0x27,108               },/* 48 (108.200MHz) */
3709
3710                 {      0xBF,0xC8,35               },/* 49 (35.2MHz) */
3711
3712                 {      0x66,0x43,123               },/* 4A (122.61Mhz) */
3713
3714                 {      0x2C,0x61,80               },/* 4B (80.350Mhz) */
3715
3716                 {      0x3B,0x61,108               },/* 4C (107.385Mhz) */
3717
3718
3719 /*                {      0x60,0x36,30               },// 4D (30.200MHz)   }// No use
3720
3721                 {      0x60,0x36,30               },// 4E (30.200MHz)   }// No use
3722
3723                 {      0x60,0x36,30               },// 4F (30.200MHz)   }// No use
3724
3725                 {      0x60,0x36,30               },// 50 (30.200MHz)   }// CHTV
3726
3727                 {      0x40,0x4A,28               },// 51 (28.190MHz)
3728
3729                 {      0x9F,0x46,44               },// 52 (43.600MHz)
3730
3731                 {      0x97,0x2C,26               },// 53 (26.400MHz)
3732
3733                 {      0x44,0xE4,25               },// 54 (24.600MHz)
3734
3735                 {      0x7E,0x32,47               },// 55 (47.832MHz)
3736
3737                 {      0x8A,0x24,31               },// 56 (31.500MHz)
3738
3739                 {      0x97,0x2C,26               },// 57 (26.200MHz)
3740
3741                 {      0xCE,0x3C,39               },// 58 (39.000MHz)
3742
3743                 {      0x52,0x4A,36               },// 59 (36.000MHz)
3744
3745 */
3746                 {      0x69,0x61,191              }, /* 4D (190.96MHz ) */
3747                 {      0x4F,0x22,192              }, /* 4E (192.069MHz) */
3748                 {      0x28,0x26,322              }, /* 4F (322.273MHz) */
3749                 {      0x5C,0x6B,27               }, /* 50 (27.74HMz) */
3750                 {      0x57,0x24,126              }, /* 51 (125.999MHz) */
3751                 {      0x5C,0x42,148              }, /* 52 (148.5MHz) */
3752                 {      0x42,0x61,120              }, /* 53 (120.839MHz) */
3753                 {      0x62,0x61,178              }, /* 54 (178.992MHz) */
3754                 {      0x59,0x22,217              }, /* 55 (217.325MHz) */
3755                 {      0x29,0x01,300              }, /* 56 (299.505Mhz) */
3756                 {      0x52,0x63,74               }, /* 57 (74.25MHz) */
3757
3758
3759                 {      0xFF,0x00,0                }/* End mark */
3760  }  ;
3761
3762 struct XGI330_VCLKDataStruct XGI_VBVCLKData[] =
3763 {
3764                 {      0x1B,0xE1,25               },/* 00 (25.175MHz) */
3765
3766                 {      0x4E,0xE4,28               },/* 01 (28.322MHz) */
3767
3768                 {      0x57,0xE4,31               },/* 02 (31.500MHz) */
3769
3770                 {      0xC3,0xC8,36               },/* 03 (36.000MHz) */
3771
3772                 {      0x42,0x47,40               },/* 04 (40.000MHz) */
3773
3774                 {      0xFE,0xCD,43               },/* 05 (43.163MHz) */
3775
3776                 {      0x5D,0xC4,44               },/* 06 (44.900MHz) */
3777
3778                 {      0x52,0x47,49               },/* 07 (49.500MHz) */
3779
3780                 {      0x53,0x47,50               },/* 08 (50.000MHz) */
3781
3782                 {      0x74,0x67,52               },/* 09 (52.406MHz) */
3783
3784                 {      0x6D,0x66,56               },/* 0A (56.250MHz) */
3785
3786                 {      0x35,0x62,65               },/* 0B (65.000MHz) */
3787
3788                 {      0x46,0x44,67               },/* 0C (67.765MHz) */
3789
3790                 {      0xB1,0x46,68               },/* 0D (68.179MHz) */
3791
3792                 {      0xD3,0x4A,72               },/* 0E (72.852MHz) */
3793
3794                 {      0x29,0x61,75               },/* 0F (75.000MHz) */
3795
3796                 {      0x6D,0x46,75               },/* 10 (75.800MHz) */
3797
3798                 {      0x41,0x43,78               },/* 11 (78.750MHz) */
3799
3800                 {      0x31,0x42,79               },/* 12 (79.411MHz) */
3801
3802                 {      0xAB,0x44,83               },/* 13 (83.950MHz) */
3803
3804                 {      0x46,0x25,84               },/* 14 (84.800MHz) */
3805
3806                 {      0x78,0x29,86               },/* 15 (86.600MHz) */
3807
3808                 {      0x62,0x44,94               },/* 16 (94.500MHz) */
3809
3810                 {      0x2B,0x22,104               },/* 17 (104.998MHz) */
3811
3812                 {      0x49,0x24,105               },/* 18 (105.882MHz) */
3813
3814                 {      0xF8,0x2F,108               },/* 19 (108.279MHz) */
3815
3816                 {      0x3C,0x23,109               },/* 1A (109.175MHz) */
3817
3818                 {      0x5E,0x43,113               },/* 1B (113.309MHz) */
3819
3820                 {      0xBC,0x44,116               },/* 1C (116.406MHz) */
3821
3822                 {      0xE0,0x46,132               },/* 1D (132.258MHz) */
3823
3824                 {      0xD4,0x28,135               },/* 1E (135.220MHz) */
3825
3826                 {      0xEA,0x2A,139               },/* 1F (139.275MHz) */
3827
3828                 {      0x41,0x22,157               },/* 20 (157.500MHz) */
3829
3830                 {      0x70,0x24,162               },/* 21 (161.793MHz) */
3831
3832                 {      0x30,0x21,175               },/* 22 (175.000MHz) */
3833
3834                 {      0x4E,0x22,189               },/* 23 (188.520MHz) */
3835
3836                 {      0xDE,0x26,194               },/* 24 (194.400MHz) */
3837
3838                 {      0x70,0x07,202               },/* 25 (202.500MHz) */
3839
3840                 {      0x3F,0x03,229               },/* 26 (229.500MHz) */
3841
3842                 {      0xB8,0x06,234               },/* 27 (233.178MHz) */
3843
3844                 {      0x34,0x02,253               },/* 28 (252.699997 MHz) */
3845
3846                 {      0x58,0x04,255               },/* 29 (254.817MHz) */
3847
3848                 {      0x24,0x01,265               },/* 2A (265.728MHz) */
3849
3850                 {      0x9B,0x02,267               },/* 2B (266.952MHz) */
3851
3852                 {      0x70,0x05,270               },/* 2C (269.65567 MHz) */
3853
3854                 {      0x25,0x01,272               },/* 2D (272.041992 MHz) */
3855
3856                 {      0x9C,0x02,277               },/* 2E (277.015MHz) */
3857
3858                 {      0x27,0x01,286               },/* 2F (286.359985 MHz) */
3859
3860                 {      0x3C,0x02,291               },/* 30 (291.132660 MHz) */
3861
3862                 {      0xEF,0x0A,292               },/* 31 (291.766MHz) */
3863
3864                 {      0xF6,0x0A,310               },/* 32 (309.789459 MHz) */
3865
3866                 {      0x95,0x01,315               },/* 33 (315.195MHz) */
3867
3868                 {      0xF0,0x09,324               },/* 34 (323.586792 MHz) */
3869
3870                 {      0xFE,0x0A,331               },/* 35 (330.615631 MHz) */
3871
3872                 {      0xF3,0x09,332               },/* 36 (332.177612 MHz) */
3873
3874                 {      0xEA,0x08,340               },/* 37 (340.477MHz) */
3875
3876                 {      0xE8,0x07,376               },/* 38 (375.847504 MHz) */
3877
3878                 {      0xDE,0x06,389               },/* 39 (388.631439 MHz) */
3879
3880                 {      0x52,0x2A,54                },/* 3A (54.000MHz) */
3881
3882                 {      0x52,0x6A,27                },/* 3B (27.000MHz) */
3883
3884
3885                 {      0x62,0x24,70                },/* 3C (70.874991MHz) */
3886
3887
3888                 {      0x62,0x64,70                },/* 3D (70.1048912MHz) */
3889
3890                 {      0xA8,0x4C,30                },/* 3E (30.1048912MHz) */
3891
3892                 {      0x20,0x26,33                },/* 3F (33.7499957MHz) */
3893
3894                 {      0x31,0xc2,39                },/* 40 (39.77MHz) */
3895
3896                 {      0x11,0x21,30                },/* 41 (30MHz) }// NTSC 1024X768 */
3897
3898                 {      0x2E,0x48,25                },/* 42 (25.175MHz) }// ScaleLCD */
3899
3900                 {      0x24,0x46,25                },/* 43 (25.175MHz) */
3901
3902                 {      0x26,0x64,28                },/* 44 (28.322MHz) */
3903
3904                 {      0x37,0x64,40                },/* 45 (40.000MHz) */
3905
3906                 {      0xA1,0x42,108               },/* 46 (95.000MHz) }// QVGA */
3907
3908                 {      0x37,0x61,100               },/* 47 (100.00MHz) */
3909
3910                 {      0x78,0x27,108               },/* 48 (108.200MHz) */
3911
3912                 {      0xBF,0xC8,35                },/* 49 (35.2MHz) */
3913
3914                 {      0x66,0x43,123               },/* 4A (122.61Mhz) */
3915
3916                 {      0x2C,0x61,80                },/* 4B (80.350Mhz) */
3917
3918                 {      0x3B,0x61,108               },/* 4C (107.385Mhz) */
3919
3920 /*
3921                 {      0x60,0x36,30               },// 4D (30.200MHz)   }// No use
3922
3923                 {      0x60,0x36,30               },// 4E (30.200MHz)   }// No use
3924
3925                 {      0x60,0x36,30               },// 4F (30.200MHz)   }// No use
3926
3927                 {      0x60,0x36,30               },// 50 (30.200MHz)   }// CHTV
3928
3929                 {      0x40,0x4A,28               },// 51 (28.190MHz)
3930
3931                 {      0x9F,0x46,44               },// 52 (43.600MHz)
3932
3933                 {      0x97,0x2C,26               },// 53 (26.400MHz)
3934
3935                 {      0x44,0xE4,25               },// 54 (24.600MHz)
3936
3937                 {      0x7E,0x32,47               },// 55 (47.832MHz)
3938
3939                 {      0x8A,0x24,31               },// 56 (31.500MHz)
3940
3941                 {      0x97,0x2C,26               },// 57 (26.200MHz)
3942
3943                 {      0xCE,0x3C,39               },// 58 (39.000MHz)
3944
3945                 {      0x52,0x4A,36               },// 59 (36.000MHz)
3946 */
3947                 {      0x69,0x61,191              }, /* 4D (190.96MHz ) */
3948                 {      0x4F,0x22,192              }, /* 4E (192.069MHz) */
3949                 {      0x28,0x26,322              }, /* 4F (322.273MHz) */
3950                 {      0x5C,0x6B,27               }, /* 50 (27.74HMz) */
3951                 {      0x57,0x24,126              }, /* 51 (125.999MHz) */
3952                 {      0x5C,0x42,148              }, /* 52 (148.5MHz) */
3953                 {      0x42,0x61,120              }, /* 53 (120.839MHz) */
3954                 {      0x62,0x61,178              }, /* 54 (178.992MHz) */
3955                 {      0x59,0x22,217              }, /* 55 (217.325MHz) */
3956                 {      0x29,0x01,300              }, /* 56 (299.505Mhz) */
3957                 {      0x52,0x63,74               }, /* 57 (74.25MHz) */
3958
3959
3960                 {      0xFF,0x00,0                }      /* End mark */
3961 };
3962
3963 unsigned char XGI660_TVDelayList[] =
3964 {
3965           0x44,            /* ; 0 ExtNTSCDelay */
3966           0x44,            /* ; 1 StNTSCDelay */
3967           0x44,            /* ; 2 ExtPALDelay */
3968           0x44,            /* ; 3 StPALDelay */
3969           0x44,            /* ; 4 ExtHiTVDelay(1080i) */
3970           0x44,            /* ; 5 StHiTVDelay(1080i) */
3971           0x44,            /* ; 6 ExtYPbPrDelay(525i) */
3972           0x44,            /* ; 7 StYPbPrDealy(525i) */
3973           0x44,            /* ; 8 ExtYPbPrDelay(525p) */
3974           0x44,            /* ; 9 StYPbPrDealy(525p) */
3975           0x44,            /* ; A ExtYPbPrDelay(750p) */
3976           0x44             /* ; B StYPbPrDealy(750p) */
3977 };
3978
3979 unsigned char XGI660_TVDelayList2[] =
3980 {
3981           0x44,           /* ; 0 ExtNTSCDelay */
3982           0x44,           /* ; 1 StNTSCDelay */
3983           0x44,           /* ; 2 ExtPALDelay */
3984           0x44,           /* ; 3 StPALDelay */
3985           0x44,           /* ; 4 ExtHiTVDelay */
3986           0x44,           /* ; 5 StHiTVDelay */
3987           0x44,           /* ; 6 ExtYPbPrDelay(525i) */
3988           0x44,           /* ; 7 StYPbPrDealy(525i) */
3989           0x44,           /* ; 8 ExtYPbPrDelay(525p) */
3990           0x44,           /* ; 9 StYPbPrDealy(525p) */
3991           0x44,           /* ; A ExtYPbPrDelay(750p) */
3992           0x44            /* ; B StYPbPrDealy(750p) */
3993 };
3994
3995 unsigned char XGI301TVDelayList[] =
3996 {
3997         0x22,            /* ; 0 ExtNTSCDelay */
3998         0x22,            /* ; 1 StNTSCDelay */
3999         0x22,            /* ; 2 ExtPALDelay */
4000         0x22,            /* ; 3 StPALDelay */
4001         0x88,            /* ; 4 ExtHiTVDelay(1080i) */
4002         0xBB,            /* ; 5 StHiTVDelay(1080i) */
4003         0x22,            /* ; 6 ExtYPbPrDelay(525i) */
4004         0x22,            /* ; 7 StYPbPrDealy(525i) */
4005         0x22,            /* ; 8 ExtYPbPrDelay(525p) */
4006         0x22,            /* ; 9 StYPbPrDealy(525p) */
4007         0x22,            /* ; A ExtYPbPrDelay(750p) */
4008         0x22            /* B StYPbPrDealy(750p) */
4009 };
4010
4011 unsigned char XGI301TVDelayList2[] =
4012 {
4013         0x22,           /* ; 0 ExtNTSCDelay */
4014         0x22,           /* ; 1 StNTSCDelay */
4015         0x22,           /* ; 2 ExtPALDelay */
4016         0x22,           /* ; 3 StPALDelay */
4017         0x22,           /* ; 4 ExtHiTVDelay */
4018         0x22,           /* ; 5 StHiTVDelay */
4019         0x22,           /* ; 6 ExtYPbPrDelay(525i) */
4020         0x22,           /* ; 7 StYPbPrDealy(525i) */
4021         0x22,           /* ; 8 ExtYPbPrDelay(525p) */
4022         0x22,           /* ; 9 StYPbPrDealy(525p) */
4023         0x22,           /* ; A ExtYPbPrDelay(750p) */
4024         0x22            /* ; B StYPbPrDealy(750p) */
4025 };
4026
4027
4028 unsigned char TVAntiFlickList[] =
4029 {/* NTSCAntiFlicker */
4030                       0x04,           /* ; 0 Adaptive */
4031                       0x00,           /* ; 1 new anti-flicker ? */
4032 /* PALAntiFlicker */
4033                       0x04,           /* ; 0 Adaptive */
4034                       0x08,           /* ; 1 new anti-flicker ? */
4035 /* HiTVAntiFlicker */
4036                       0x04,           /* ; 0 ? */
4037                       0x00            /* ; 1 new anti-flicker ? */
4038 };
4039
4040
4041 unsigned char TVEdgeList[] =
4042 {
4043       0x00,            /* ; 0 NTSC No Edge enhance */
4044       0x04,            /* ; 1 NTSC Adaptive Edge enhance */
4045       0x00,            /* ; 0 PAL No Edge enhance */
4046       0x04,            /* ; 1 PAL Adaptive Edge enhance */
4047       0x00,            /* ; 0 HiTV */
4048       0x00             /* ; 1 HiTV */
4049 };
4050
4051 unsigned long TVPhaseList[] =
4052 {      0x08BAED21, /* ; 0 NTSC phase */
4053        0x00E3052A, /* ; 1 PAL phase */
4054        0x9B2EE421, /* ; 2 PAL-M phase */
4055        0xBA3EF421, /* ; 3 PAL-N phase */
4056        0xA7A28B1E, /* ; 4 NTSC 1024x768 */
4057        0xE00A831E, /* ; 5 PAL-M 1024x768 */
4058        0x00000000, /* ; 6 reserved */
4059        0x00000000, /* ; 7 reserved */
4060        0xD67BF021, /* ; 8 NTSC phase */
4061        0xE986092A, /* ; 9 PAL phase */
4062        0xA4EFE621, /* ; A PAL-M phase */
4063        0x4694F621, /* ; B PAL-N phase */
4064        0x8BDE711C, /* ; C NTSC 1024x768 */
4065        0xE00A831E  /* ; D PAL-M 1024x768 */
4066 };
4067
4068 unsigned char NTSCYFilter1[] =
4069 {
4070                       0x00,0xF4,0x10,0x38     ,/* 0 : 320x text mode */
4071                       0x00,0xF4,0x10,0x38     ,/* 1 : 360x text mode */
4072                       0xEB,0x04,0x25,0x18     ,/* 2 : 640x text mode */
4073                       0xF1,0x04,0x1F,0x18     ,/* 3 : 720x text mode */
4074                       0x00,0xF4,0x10,0x38     ,/* 4 : 320x gra. mode */
4075                       0xEB,0x04,0x25,0x18     ,/* 5 : 640x gra. mode */
4076                       0xEB,0x15,0x25,0xF6     /* 6 : 800x gra. mode */
4077 };
4078
4079 unsigned char PALYFilter1[] =
4080 {
4081                       0x00,0xF4,0x10,0x38, /* 0 : 320x text mode */
4082                       0x00,0xF4,0x10,0x38     ,/* 1 : 360x text mode */
4083                       0xF1,0xF7,0x1F,0x32     ,/* 2 : 640x text mode */
4084                       0xF3,0x00,0x1D,0x20     ,/* 3 : 720x text mode */
4085                       0x00,0xF4,0x10,0x38     ,/* 4 : 320x gra. mode */
4086                       0xF1,0xF7,0x1F,0x32     ,/* 5 : 640x gra. mode */
4087                       0xFC,0xFB,0x14,0x2A     /* 6 : 800x gra. mode */
4088 };
4089
4090 unsigned char PALMYFilter1[] =
4091 {
4092                       0x00,0xF4,0x10,0x38, /* 0 : 320x text mode */
4093                       0x00,0xF4,0x10,0x38, /* 1 : 360x text mode */
4094                       0xEB,0x04,0x10,0x18, /* 2 : 640x text mode */
4095                       0xF7,0x06,0x19,0x14, /* 3 : 720x text mode */
4096                       0x00,0xF4,0x10,0x38, /* 4 : 320x gra. mode */
4097                       0xEB,0x04,0x25,0x18, /* 5 : 640x gra. mode */
4098                       0xEB,0x15,0x25,0xF6, /* 6 : 800x gra. mode */
4099                       0xFF,0xFF,0xFF,0xFF  /* End of Table */
4100 };
4101
4102 unsigned char PALNYFilter1[] =
4103 {
4104                       0x00,0xF4,0x10,0x38, /* 0 : 320x text mode */
4105                       0x00,0xF4,0x10,0x38, /* 1 : 360x text mode */
4106                       0xEB,0x04,0x10,0x18, /* 2 : 640x text mode */
4107                       0xF7,0x06,0x19,0x14, /* 3 : 720x text mode */
4108                       0x00,0xF4,0x10,0x38, /* 4 : 320x gra. mode */
4109                       0xEB,0x04,0x25,0x18, /* 5 : 640x gra. mode */
4110                       0xEB,0x15,0x25,0xF6, /* 6 : 800x gra. mode */
4111                       0xFF,0xFF,0xFF,0xFF  /* End of Table */
4112 };
4113
4114 unsigned char NTSCYFilter2[] =
4115 {
4116                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 0 : 320x text mode */
4117                       0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 1 : 360x text mode */
4118                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 2 : 640x text mode */
4119                       0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 3 : 720x text mode */
4120                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 4 : 320x gra. mode */
4121                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 5 : 640x gra. mode */
4122                       0x01,0x01,0xFC,0xF8,0x08,0x26,0x38, /* 6 : 800x gra. mode */
4123                       0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28  /* 7 : 1024xgra. mode */
4124 };
4125
4126 unsigned char PALYFilter2[] =
4127 {
4128                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 0 : 320x text mode */
4129                       0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 1 : 360x text mode */
4130                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 2 : 640x text mode */
4131                       0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 3 : 720x text mode */
4132                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 4 : 320x gra. mode */
4133                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 5 : 640x gra. mode */
4134                       0x01,0x01,0xFC,0xF8,0x08,0x26,0x38, /* 6 : 800x gra. mode */
4135                       0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28  /* 7 : 1024xgra. mode */
4136 };
4137
4138 unsigned char PALMYFilter2[] =
4139 {
4140                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 0 : 320x text mode */
4141                       0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 1 : 360x text mode */
4142                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 2 : 640x text mode */
4143                       0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 3 : 720x text mode */
4144                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 4 : 320x gra. mode */
4145                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 5 : 640x gra. mode */
4146                       0x01,0x01,0xFC,0xF8,0x08,0x26,0x38, /* 6 : 800x gra. mode */
4147                       0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28  /* 7 : 1024xgra. mode */
4148 };
4149
4150 unsigned char PALNYFilter2[] =
4151 {
4152                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 0 : 320x text mode */
4153                       0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 1 : 360x text mode */
4154                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 2 : 640x text mode */
4155                       0x01,0x02,0xFE,0xF7,0x03,0x27,0x3C, /* 3 : 720x text mode */
4156                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 4 : 320x gra. mode */
4157                       0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46, /* 5 : 640x gra. mode */
4158                       0x01,0x01,0xFC,0xF8,0x08,0x26,0x38, /* 6 : 800x gra. mode */
4159                       0xFF,0xFF,0xFC,0x00,0x0F,0x22,0x28  /* 7 : 1024xgra. mode */
4160 };
4161
4162 unsigned char XGI_NTSC1024AdjTime[] =
4163 {
4164       0xa7,0x07,0xf2,0x6e,0x17,0x8b,0x73,0x53,
4165       0x13,0x40,0x34,0xF4,0x63,0xBB,0xCC,0x7A,
4166       0x58,0xe4,0x73,0xd0,0x13
4167 };
4168
4169 struct XGI301C_Tap4TimingStruct HiTVTap4Timing[] =
4170 {
4171         {0,{
4172         0x00,0x20,0x00,0x00,0x7F,0x20,0x02,0x7F, /* ; C0-C7 */
4173         0x7D,0x20,0x04,0x7F,0x7D,0x1F,0x06,0x7E, /* ; C8-CF */
4174         0x7C,0x1D,0x09,0x7E,0x7C,0x1B,0x0B,0x7E, /* ; D0-D7 */
4175         0x7C,0x19,0x0E,0x7D,0x7C,0x17,0x11,0x7C, /* ; D8-DF */
4176         0x7C,0x14,0x14,0x7C,0x7C,0x11,0x17,0x7C, /* ; E0-E7 */
4177         0x7D,0x0E,0x19,0x7C,0x7E,0x0B,0x1B,0x7C, /* ; EA-EF */
4178         0x7E,0x09,0x1D,0x7C,0x7F,0x06,0x1F,0x7C, /* ; F0-F7 */
4179         0x7F,0x04,0x20,0x7D,0x00,0x02,0x20,0x7E  /* ; F8-FF */
4180         }
4181         }
4182 };
4183
4184 struct XGI301C_Tap4TimingStruct EnlargeTap4Timing[] =
4185 {
4186         {0,{
4187         0x00,0x20,0x00,0x00,0x7F,0x20,0x02,0x7F, /* ; C0-C7 */
4188         0x7D,0x20,0x04,0x7F,0x7D,0x1F,0x06,0x7E, /* ; C8-CF */
4189         0x7C,0x1D,0x09,0x7E,0x7C,0x1B,0x0B,0x7E, /* ; D0-D7 */
4190         0x7C,0x19,0x0E,0x7D,0x7C,0x17,0x11,0x7C, /* ; D8-DF */
4191         0x7C,0x14,0x14,0x7C,0x7C,0x11,0x17,0x7C, /* ; E0-E7 */
4192         0x7D,0x0E,0x19,0x7C,0x7E,0x0B,0x1B,0x7C, /* ; EA-EF */
4193         0x7E,0x09,0x1D,0x7C,0x7F,0x06,0x1F,0x7C, /* ; F0-F7 */
4194         0x7F,0x04,0x20,0x7D,0x00,0x02,0x20,0x7E   /* ; F8-FF */
4195         }
4196         }
4197 };
4198
4199 struct XGI301C_Tap4TimingStruct NoScaleTap4Timing[] =
4200 {
4201         {0,{
4202         0x00,0x20,0x00,0x00,0x7F,0x20,0x02,0x7F, /* ; C0-C7 */
4203         0x7D,0x20,0x04,0x7F,0x7D,0x1F,0x06,0x7E, /* ; C8-CF */
4204         0x7C,0x1D,0x09,0x7E,0x7C,0x1B,0x0B,0x7E, /* ; D0-D7 */
4205         0x7C,0x19,0x0E,0x7D,0x7C,0x17,0x11,0x7C, /* ; D8-DF */
4206         0x7C,0x14,0x14,0x7C,0x7C,0x11,0x17,0x7C, /* ; E0-E7 */
4207         0x7D,0x0E,0x19,0x7C,0x7E,0x0B,0x1B,0x7C, /* ; EA-EF */
4208         0x7E,0x09,0x1D,0x7C,0x7F,0x06,0x1F,0x7C, /* ; F0-F7 */
4209         0x7F,0x04,0x20,0x7D,0x00,0x02,0x20,0x7E  /* ; F8-FF */
4210         }
4211         }
4212 };
4213
4214 struct XGI301C_Tap4TimingStruct PALTap4Timing[] =
4215 {
4216         {600,  {
4217                 0x05,0x19,0x05,0x7D,0x03,0x19,0x06,0x7E, /* ; C0-C7 */
4218                 0x02,0x19,0x08,0x7D,0x01,0x18,0x0A,0x7D, /* ; C8-CF */
4219                 0x00,0x18,0x0C,0x7C,0x7F,0x17,0x0E,0x7C, /* ; D0-D7 */
4220                 0x7E,0x16,0x0F,0x7D,0x7E,0x14,0x11,0x7D, /* ; D8-DF */
4221                 0x7D,0x13,0x13,0x7D,0x7D,0x11,0x14,0x7E, /* ; E0-E7 */
4222                 0x7D,0x0F,0x16,0x7E,0x7D,0x0E,0x17,0x7E, /* ; EA-EF */
4223                 0x7D,0x0C,0x18,0x7F,0x7D,0x0A,0x18,0x01, /* ; F0-F7 */
4224                 0x7D,0x08,0x19,0x02,0x7D,0x06,0x19,0x04  /* ; F8-FF */
4225                 }
4226         },
4227         {768,   {
4228                 0x08,0x12,0x08,0x7E,0x07,0x12,0x09,0x7E, /* ; C0-C7 */
4229                 0x06,0x12,0x0A,0x7E,0x05,0x11,0x0B,0x7F, /* ; C8-CF */
4230                 0x04,0x11,0x0C,0x7F,0x03,0x11,0x0C,0x00, /* ; D0-D7 */
4231                 0x03,0x10,0x0D,0x00,0x02,0x0F,0x0E,0x01, /* ; D8-DF */
4232                 0x01,0x0F,0x0F,0x01,0x01,0x0E,0x0F,0x02, /* ; E0-E7 */
4233                 0x00,0x0D,0x10,0x03,0x7F,0x0C,0x11,0x04, /* ; EA-EF */
4234                 0x7F,0x0C,0x11,0x04,0x7F,0x0B,0x11,0x05, /* ; F0-F7 */
4235                 0x7E,0x0A,0x12,0x06,0x7E,0x09,0x12,0x07  /* ; F8-FF */
4236                 }
4237         },
4238         {0xFFFF,
4239                 {
4240                 0x04,0x1A,0x04,0x7E,0x02,0x1B,0x05,0x7E, /* ; C0-C7 */
4241                 0x01,0x1A,0x07,0x7E,0x00,0x1A,0x09,0x7D, /* ; C8-CF */
4242                 0x7F,0x19,0x0B,0x7D,0x7E,0x18,0x0D,0x7D, /* ; D0-D7 */
4243                 0x7D,0x17,0x10,0x7C,0x7D,0x15,0x12,0x7C, /* ; D8-DF */
4244                 0x7C,0x14,0x14,0x7C,0x7C,0x12,0x15,0x7D, /* ; E0-E7 */
4245                 0x7C,0x10,0x17,0x7D,0x7C,0x0D,0x18,0x7F, /* ; EA-EF */
4246                 0x7D,0x0B,0x19,0x7F,0x7D,0x09,0x1A,0x00, /* ; F0-F7 */
4247                 0x7D,0x07,0x1A,0x02,0x7E,0x05,0x1B,0x02  /* ; F8-FF */
4248                 }
4249         }
4250 };
4251
4252 struct XGI301C_Tap4TimingStruct NTSCTap4Timing[] =
4253 {
4254         {480,   {
4255                 0x04,0x1A,0x04,0x7E,0x03,0x1A,0x06,0x7D, /* ; C0-C7 */
4256                 0x01,0x1A,0x08,0x7D,0x00,0x19,0x0A,0x7D, /* ; C8-CF */
4257                 0x7F,0x19,0x0C,0x7C,0x7E,0x18,0x0E,0x7C, /* ; D0-D7 */
4258                 0x7E,0x17,0x10,0x7B,0x7D,0x15,0x12,0x7C, /* ; D8-DF */
4259                 0x7D,0x13,0x13,0x7D,0x7C,0x12,0x15,0x7D, /* ; E0-E7 */
4260                 0x7C,0x10,0x17,0x7D,0x7C,0x0E,0x18,0x7E, /* ; EA-EF */
4261                 0x7D,0x0C,0x19,0x7E,0x7D,0x0A,0x19,0x00, /* ; F0-F7 */
4262                 0x7D,0x08,0x1A,0x01,0x7E,0x06,0x1A,0x02  /* ; F8-FF */
4263                 }
4264         },
4265         {600,   {
4266                 0x07,0x14,0x07,0x7E,0x06,0x14,0x09,0x7D, /* ; C0-C7 */
4267                 0x05,0x14,0x0A,0x7D,0x04,0x13,0x0B,0x7E, /* ; C8-CF */
4268                 0x03,0x13,0x0C,0x7E,0x02,0x12,0x0D,0x7F, /* ; D0-D7 */
4269                 0x01,0x12,0x0E,0x7F,0x01,0x11,0x0F,0x7F, /* ; D8-DF */
4270                 0x01,0x10,0x10,0x00,0x7F,0x0F,0x11,0x01, /* ; E0-E7 */
4271                 0x7F,0x0E,0x12,0x01,0x7E,0x0D,0x12,0x03, /* ; EA-EF */
4272                 0x7E,0x0C,0x13,0x03,0x7E,0x0B,0x13,0x04, /* ; F0-F7 */
4273                 0x7E,0x0A,0x14,0x04,0x7D,0x09,0x14,0x06  /* ; F8-FF */
4274                 }
4275         },
4276         {0xFFFF,
4277                 {
4278                 0x09,0x0F,0x09,0x7F,0x08,0x0F,0x09,0x00, /* ; C0-C7 */
4279                 0x07,0x0F,0x0A,0x00,0x06,0x0F,0x0A,0x01, /* ; C8-CF */
4280                 0x06,0x0E,0x0B,0x01,0x05,0x0E,0x0B,0x02, /* ; D0-D7 */
4281                 0x04,0x0E,0x0C,0x02,0x04,0x0D,0x0C,0x03, /* ; D8-DF */
4282                 0x03,0x0D,0x0D,0x03,0x02,0x0C,0x0D,0x05, /* ; E0-E7 */
4283                 0x02,0x0C,0x0E,0x04,0x01,0x0B,0x0E,0x06, /* ; EA-EF */
4284                 0x01,0x0B,0x0E,0x06,0x00,0x0A,0x0F,0x07, /* ; F0-F7 */
4285                 0x00,0x0A,0x0F,0x07,0x00,0x09,0x0F,0x08  /* ; F8-FF */
4286                 }
4287         }
4288 };
4289
4290 struct XGI301C_Tap4TimingStruct YPbPr525pTap4Timing[] =
4291 {
4292         {480,   {
4293                 0x04,0x1A,0x04,0x7E,0x03,0x1A,0x06,0x7D, /* ; C0-C7 */
4294                 0x01,0x1A,0x08,0x7D,0x00,0x19,0x0A,0x7D, /* ; C8-CF */
4295                 0x7F,0x19,0x0C,0x7C,0x7E,0x18,0x0E,0x7C, /* ; D0-D7 */
4296                 0x7E,0x17,0x10,0x7B,0x7D,0x15,0x12,0x7C, /* ; D8-DF */
4297                 0x7D,0x13,0x13,0x7D,0x7C,0x12,0x15,0x7D, /* ; E0-E7 */
4298                 0x7C,0x10,0x17,0x7D,0x7C,0x0E,0x18,0x7E, /* ; EA-EF */
4299                 0x7D,0x0C,0x19,0x7E,0x7D,0x0A,0x19,0x00, /* ; F0-F7 */
4300                 0x7D,0x08,0x1A,0x01,0x7E,0x06,0x1A,0x02  /* ; F8-FF */
4301                 }
4302         },
4303         {600,   {
4304                 0x07,0x14,0x07,0x7E,0x06,0x14,0x09,0x7D, /* ; C0-C7 */
4305                 0x05,0x14,0x0A,0x7D,0x04,0x13,0x0B,0x7E, /* ; C8-CF */
4306                 0x03,0x13,0x0C,0x7E,0x02,0x12,0x0D,0x7F, /* ; D0-D7 */
4307                 0x01,0x12,0x0E,0x7F,0x01,0x11,0x0F,0x7F, /* ; D8-DF */
4308                 0x01,0x10,0x10,0x00,0x7F,0x0F,0x11,0x01, /* ; E0-E7 */
4309                 0x7F,0x0E,0x12,0x01,0x7E,0x0D,0x12,0x03, /* ; EA-EF */
4310                 0x7E,0x0C,0x13,0x03,0x7E,0x0B,0x13,0x04, /* ; F0-F7 */
4311                 0x7E,0x0A,0x14,0x04,0x7D,0x09,0x14,0x06  /* ; F8-FF */
4312                 }
4313         },
4314         {0xFFFF,
4315                 {
4316                 0x09,0x0F,0x09,0x7F,0x08,0x0F,0x09,0x00, /* ; C0-C7 */
4317                 0x07,0x0F,0x0A,0x00,0x06,0x0F,0x0A,0x01, /* ; C8-CF */
4318                 0x06,0x0E,0x0B,0x01,0x05,0x0E,0x0B,0x02, /* ; D0-D7 */
4319                 0x04,0x0E,0x0C,0x02,0x04,0x0D,0x0C,0x03, /* ; D8-DF */
4320                 0x03,0x0D,0x0D,0x03,0x02,0x0C,0x0D,0x05, /* ; E0-E7 */
4321                 0x02,0x0C,0x0E,0x04,0x01,0x0B,0x0E,0x06, /* ; EA-EF */
4322                 0x01,0x0B,0x0E,0x06,0x00,0x0A,0x0F,0x07, /* ; F0-F7 */
4323                 0x00,0x0A,0x0F,0x07,0x00,0x09,0x0F,0x08  /* ; F8-FF */
4324                 }
4325         }
4326 };
4327
4328 struct XGI301C_Tap4TimingStruct YPbPr525iTap4Timing[] =
4329 {
4330         {480,   {
4331                 0x04,0x1A,0x04,0x7E,0x03,0x1A,0x06,0x7D, /* ; C0-C7 */
4332                 0x01,0x1A,0x08,0x7D,0x00,0x19,0x0A,0x7D, /* ; C8-CF */
4333                 0x7F,0x19,0x0C,0x7C,0x7E,0x18,0x0E,0x7C, /* ; D0-D7 */
4334                 0x7E,0x17,0x10,0x7B,0x7D,0x15,0x12,0x7C, /* ; D8-DF */
4335                 0x7D,0x13,0x13,0x7D,0x7C,0x12,0x15,0x7D, /* ; E0-E7 */
4336                 0x7C,0x10,0x17,0x7D,0x7C,0x0E,0x18,0x7E, /* ; EA-EF */
4337                 0x7D,0x0C,0x19,0x7E,0x7D,0x0A,0x19,0x00, /* ; F0-F7 */
4338                 0x7D,0x08,0x1A,0x01,0x7E,0x06,0x1A,0x02  /* ; F8-FF */
4339                 }
4340         },
4341         {600,   {
4342                 0x07,0x14,0x07,0x7E,0x06,0x14,0x09,0x7D, /* ; C0-C7 */
4343                 0x05,0x14,0x0A,0x7D,0x04,0x13,0x0B,0x7E, /* ; C8-CF */
4344                 0x03,0x13,0x0C,0x7E,0x02,0x12,0x0D,0x7F, /* ; D0-D7 */
4345                 0x01,0x12,0x0E,0x7F,0x01,0x11,0x0F,0x7F, /* ; D8-DF */
4346                 0x01,0x10,0x10,0x00,0x7F,0x0F,0x11,0x01, /* ; E0-E7 */
4347                 0x7F,0x0E,0x12,0x01,0x7E,0x0D,0x12,0x03, /* ; EA-EF */
4348                 0x7E,0x0C,0x13,0x03,0x7E,0x0B,0x13,0x04, /* ; F0-F7 */
4349                 0x7E,0x0A,0x14,0x04,0x7D,0x09,0x14,0x06  /* ; F8-FF */
4350                 }
4351         },
4352         {0xFFFF,
4353                 {
4354                 0x09,0x0F,0x09,0x7F,0x08,0x0F,0x09,0x00, /* ; C0-C7 */
4355                 0x07,0x0F,0x0A,0x00,0x06,0x0F,0x0A,0x01, /* ; C8-CF */
4356                 0x06,0x0E,0x0B,0x01,0x05,0x0E,0x0B,0x02, /* ; D0-D7 */
4357                 0x04,0x0E,0x0C,0x02,0x04,0x0D,0x0C,0x03, /* ; D8-DF */
4358                 0x03,0x0D,0x0D,0x03,0x02,0x0C,0x0D,0x05, /* ; E0-E7 */
4359                 0x02,0x0C,0x0E,0x04,0x01,0x0B,0x0E,0x06, /* ; EA-EF */
4360                 0x01,0x0B,0x0E,0x06,0x00,0x0A,0x0F,0x07, /* ; F0-F7 */
4361                 0x00,0x0A,0x0F,0x07,0x00,0x09,0x0F,0x08  /* ; F8-FF */
4362                 }
4363         }
4364 };
4365
4366 struct XGI301C_Tap4TimingStruct YPbPr750pTap4Timing[] =
4367 {        {0xFFFF,
4368                {
4369                0x05,0x19,0x05,0x7D,0x03,0x19,0x06,0x7E, /* ; C0-C7 */
4370                0x02,0x19,0x08,0x7D,0x01,0x18,0x0A,0x7D, /* ; C8-CF */
4371                0x00,0x18,0x0C,0x7C,0x7F,0x17,0x0E,0x7C, /* ; D0-D7 */
4372                0x7E,0x16,0x0F,0x7D,0x7E,0x14,0x11,0x7D, /* ; D8-DF */
4373                0x7D,0x13,0x13,0x7D,0x7D,0x11,0x14,0x7E, /* ; E0-E7 */
4374                0x7D,0x0F,0x16,0x7E,0x7D,0x0E,0x17,0x7E, /* ; EA-EF */
4375                0x7D,0x0C,0x18,0x7F,0x7D,0x0A,0x18,0x01, /* ; F0-F7 */
4376                0x7D,0x08,0x19,0x02,0x7D,0x06,0x19,0x04 /* F8-FF */
4377                }
4378         }
4379 };