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