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