d2e0bcd6b4b12fa77eb5a0eaf8854b6a1ecef696
[pandora-kernel.git] / drivers / staging / xgifb / vb_def.h
1 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/xgi/initdef.h
2  * ,v 1.4 2000/12/02 01:16:17 dawes Exp $*/
3 #ifndef _VB_DEF_
4 #define _VB_DEF_
5 #include "../../video/sis/initdef.h"
6
7 #define VB_XGI301C      0x0020 /* for 301C */
8 #define VB_YPbPr1080i   0x03
9
10 #define LVDSCRT1Len     15
11
12 #define SupportCHTV             0x0800
13 #define SupportCRT2in301C       0x0100  /* for 301C */
14 #define SetCHTVOverScan         0x8000
15 #define PanelRGB18Bit           0x0100
16 #define PanelRGB24Bit           0x0000
17
18 #define Panel_320x480            0x07 /*fstn*/
19 /* [ycchen] 02/12/03 Modify for Multi-Sync. LCD Support */
20 #define PanelResInfo            0x1F /* CR36 Panel Type/LCDResInfo */
21 #define Panel_1024x768x75        0x22
22 #define Panel_1280x1024x75       0x23
23
24 #define PanelRef60Hz            0x00
25 #define PanelRef75Hz            0x20
26
27 #define YPbPr525iVCLK           0x03B
28 #define YPbPr525iVCLK_2         0x03A
29
30 #define XGI_CRT2_PORT_00        (0x00 - 0x030)
31
32 #define _PanelType00             0x00
33 #define _PanelType01             0x08
34 #define _PanelType02             0x10
35 #define _PanelType03             0x18
36 #define _PanelType04             0x20
37 #define _PanelType05             0x28
38 #define _PanelType06             0x30
39 #define _PanelType07             0x38
40 #define _PanelType08             0x40
41 #define _PanelType09             0x48
42 #define _PanelType0A             0x50
43 #define _PanelType0B             0x58
44 #define _PanelType0C             0x60
45 #define _PanelType0D             0x68
46 #define _PanelType0E             0x70
47 #define _PanelType0F             0x78
48
49 /* =============================================================
50    for 310
51 ============================================================== */
52 /* add LCDDataList for GetLCDPtr */
53 #define LCDDataList               (VBIOSTablePointerStart+0x22)
54 /*  */
55 /* Modify from 310.inc */
56 /*  */
57 /*  */
58
59 #define ModeSoftSetting              0x04
60
61 #define BoardTVType                  0x02
62
63 #define SoftDRAMType                 0x80    /* DRAMSetting */
64
65 /* ---------------- SetMode Stack */
66 #define CRT1Len           15
67 #define VCLKLen           4
68 #define VGA_XGI340        0x0001       /* 340 series */
69
70 #define VB_NoLCD          0x8000
71 #define VB_LVDS_NS        0x0001       /* 3rd party chip */
72
73 #define ModeText          0x0000
74 #define ModeEGA           0x0002    /* 16 colors mode */
75 #define ModeVGA           0x0003    /* 256 colors mode */
76
77 #define DACInfoFlag       0x0018
78
79 #define MemoryInfoFlag    0x01e0
80 #define MemorySizeShift   5
81
82 #define Charx8Dot         0x0200
83 #define LineCompareOff    0x0400
84 #define CRT2Mode          0x0800
85 #define HalfDCLK          0x1000
86 #define NoSupportSimuTV   0x2000
87 #define DoubleScanMode    0x8000
88
89 /* -------------- Ext_InfoFlag */
90 #define SupportAllCRT2      0x0078
91 #define SupportTV           0x0008
92 #define SupportLCD          0x0020
93 #define SupportRAMDAC2      0x0040
94 #define NoSupportTV         0x0070
95 #define NoSupportHiVisionTV 0x0060
96 #define NoSupportLCD        0x0058
97 #define SupportTV1024       0x0800 /* 301btest */
98 #define InterlaceMode       0x0080
99 #define SyncPP              0x0000
100 #define SyncPN              0x4000
101 #define SyncNP              0x8000
102 #define SyncNN              0xC000
103
104 /* -------------- SetMode Stack/Scratch */
105 #define SetSimuScanMode     0x0001    /* VBInfo/CR30 & CR31 */
106 #define SetCRT2ToTV         0x089C
107 #define SetCRT2ToAVIDEO     0x0004
108 #define SetCRT2ToSVIDEO     0x0008
109 #define SetCRT2ToSCART      0x0010
110 #define SetCRT2ToLCD        0x0020
111 #define SetCRT2ToRAMDAC     0x0040
112 #define XGI_SetCRT2ToLCDA   0x0100
113 #define SetInSlaveMode      0x0200
114 #define SetNotSimuMode      0x0400
115 #define LoadDACFlag         0x1000
116 #define DriverMode          0x4000
117 #define SetCRT2ToDualEdge   0x8000
118
119 #define ProgrammingCRT2     0x0001       /* Set Flag */
120 #define ReserveTVOption     0x0008
121 #define GatingCRT           0x0800
122 #define DisableChB          0x1000
123 #define EnableChB           0x2000
124 #define DisableChA          0x4000
125 #define EnableChA           0x8000
126
127 #define SetNTSCTV           0x0000 /* TV Info */
128 #define SetTVLowResolution   0x0400
129 #define TVSimuMode           0x0800
130 #define RPLLDIV2XO           0x1000
131 #define NTSC1024x768         0x2000
132 #define SetTVLockMode        0x4000
133
134 #define XGI_LCDVESATiming    0x0001 /* LCD Info/CR37 */
135 #define XGI_EnableLVDSDDA    0x0002
136 #define EnableScalingLCD     0x0008
137 #define SetPWDEnable         0x0004
138 #define SetLCDtoNonExpanding 0x0010
139 #define SetLCDDualLink       0x0100
140 #define SetLCDLowResolution  0x0200
141 #define SetLCDStdMode        0x0400
142
143 /* LCD Capability shampoo */
144 #define DefaultLCDCap        0x80ea
145 #define EnableLCD24bpp       0x0004 /* default */
146 #define DisableLCD24bpp      0x0000
147 #define LCDPolarity          0x00c0 /* default: SyncNN */
148 #define XGI_LCDDualLink      0x0100
149 #define EnableSpectrum       0x0200
150 #define PWDEnable            0x0400
151 #define EnableVBCLKDRVLOW    0x4000
152 #define EnablePLLSPLOW       0x8000
153
154 #define LCDBToA              0x20   /* LCD SetFlag */
155 #define StLCDBToA            0x40
156 #define LockLCDBToA          0x80
157 #define   LCDToFull          0x10
158 #define AVIDEOSense          0x01   /* CR32 */
159 #define SVIDEOSense          0x02
160 #define SCARTSense           0x04
161 #define LCDSense             0x08
162 #define Monitor2Sense        0x10
163 #define Monitor1Sense        0x20
164 #define HiTVSense            0x40
165
166 #define YPbPrSense           0x80   /* NEW SCRATCH */
167
168 #define TVSense              0xc7
169
170 #define TVOverScan           0x10               /* CR35 */
171
172 #define YPbPrMode            0xe0
173 #define YPbPrMode525i        0x00
174 #define YPbPrMode525p        0x20
175 #define YPbPrMode750p        0x40
176 #define YPbPrMode1080i       0x60
177
178
179 #define LCDRGB18Bit          0x01               /* CR37 */
180 #define LCDNonExpanding      0x10
181 #define LCDSync              0x20
182 #define LCDSyncBit           0xe0 /* H/V polarity & sync ID */
183
184 #define ScalingLCD           0x08
185
186 #define EnableDualEdge       0x01 /* CR38 */
187 #define SetToLCDA            0x02
188 #define SetYPbPr             0x04
189
190 /* ---------------------- VUMA Information */
191 #define DisplayDeviceFromCMOS 0x10
192
193 /* ---------------------- HK Evnet Definition */
194 #define XGI_ModeSwitchStatus  0xf0
195 #define ActiveCRT1            0x10
196 #define ActiveLCD             0x0020
197 #define ActiveTV              0x40
198 #define ActiveCRT2            0x80
199
200 #define ActiveAVideo          0x01
201 #define ActiveSVideo          0x02
202 #define ActiveSCART           0x04
203 #define ActiveHiTV            0x08
204 #define ActiveYPbPr           0x10
205
206 /* --------------------------------------------------------- */
207 /* translated from asm code 301def.h */
208 /*  */
209 /* --------------------------------------------------------- */
210 #define LCDDataLen           8
211 #define TVDataLen            12
212 #define LVDSCRT1Len_H        8
213 #define LVDSCRT1Len_V        7
214 #define LVDSDataLen          6
215 #define LVDSDesDataLen       6
216 #define LCDDesDataLen        6
217 #define LVDSDesDataLen2      8
218 #define LCDDesDataLen2       8
219 #define CHTVRegLen           16
220
221 #define StHiTVHT             892
222 #define StHiTVVT             1126
223 #define StHiTextTVHT         1000
224 #define StHiTextTVVT         1126
225 #define ExtHiTVHT            2100
226 #define ExtHiTVVT            1125
227 #define NTSCHT               1716
228 #define NTSCVT                525
229 #define NTSC1024x768HT       1908
230 #define PALHT                1728
231 #define PALVT                 625
232
233 #define YPbPrTV525iHT        1716 /* YPbPr */
234 #define YPbPrTV525iVT         525
235 #define YPbPrTV525pHT        1716
236 #define YPbPrTV525pVT         525
237 #define YPbPrTV750pHT        1650
238 #define YPbPrTV750pVT         750
239
240 #define CRT2Delay1           0x04 /* XGI301 */
241 #define CRT2Delay2           0x0A /* 301B,302 */
242
243
244 #define VCLK25_175           0x00
245 #define VCLK28_322           0x01
246 #define VCLK31_5             0x02
247 #define VCLK36               0x03
248 #define VCLK40               0x04
249 #define VCLK43_163           0x05
250 #define VCLK44_9             0x06
251 #define VCLK49_5             0x07
252 #define VCLK50               0x08
253 #define VCLK52_406           0x09
254 #define VCLK56_25            0x0A
255 #define VCLK68_179           0x0D
256 #define VCLK72_852           0x0E
257 #define VCLK75               0x0F
258 #define VCLK78_75            0x11
259 #define VCLK79_411           0x12
260 #define VCLK83_95            0x13
261 #define VCLK86_6             0x15
262 #define VCLK94_5             0x16
263 #define VCLK113_309          0x1B
264 #define VCLK116_406          0x1C
265 #define VCLK135_5            0x1E
266 #define VCLK139_054          0x1F
267 #define VCLK157_5            0x20
268 #define VCLK162              0x21
269 #define VCLK175              0x22
270 #define VCLK189              0x23
271 #define VCLK202_5            0x25
272 #define VCLK229_5            0x26
273 #define VCLK234              0x27
274 #define VCLK254_817          0x29
275 #define VCLK266_952          0x2B
276 #define VCLK269_655          0x2C
277 #define VCLK277_015          0x2E
278 #define VCLK291_132          0x30
279 #define VCLK291_766          0x31
280 #define VCLK315_195          0x33
281 #define VCLK323_586          0x34
282 #define VCLK330_615          0x35
283 #define VCLK340_477          0x37
284 #define VCLK375_847          0x38
285 #define VCLK388_631          0x39
286 #define VCLK125_999          0x51
287 #define VCLK148_5            0x52
288 #define VCLK217_325          0x55
289 #define XGI_YPbPr750pVCLK    0x57
290
291 #define VCLK39_77            0x40
292 #define YPbPr525pVCLK           0x3A
293 #define NTSC1024VCLK         0x41
294 #define VCLK35_2             0x49 /* ; 800x480 */
295 #define VCLK122_61           0x4A
296 #define VCLK80_350           0x4B
297 #define VCLK107_385          0x4C
298
299 #define RES320x200           0x00
300 #define RES320x240           0x01
301 #define RES400x300           0x02
302 #define RES512x384           0x03
303 #define RES640x400           0x04
304 #define RES640x480x60        0x05
305 #define RES640x480x72        0x06
306 #define RES640x480x75        0x07
307 #define RES640x480x85        0x08
308 #define RES640x480x100       0x09
309 #define RES640x480x120       0x0A
310 #define RES640x480x160       0x0B
311 #define RES640x480x200       0x0C
312 #define RES800x600x56        0x0D
313 #define RES800x600x60        0x0E
314 #define RES800x600x72        0x0F
315 #define RES800x600x75        0x10
316 #define RES800x600x85        0x11
317 #define RES800x600x100       0x12
318 #define RES800x600x120       0x13
319 #define RES800x600x160       0x14
320 #define RES1024x768x43       0x15
321 #define RES1024x768x60       0x16
322 #define RES1024x768x70       0x17
323 #define RES1024x768x75       0x18
324 #define RES1024x768x85       0x19
325 #define RES1024x768x100      0x1A
326 #define RES1024x768x120      0x1B
327 #define RES1280x1024x43      0x1C
328 #define RES1280x1024x60      0x1D
329 #define RES1280x1024x75      0x1E
330 #define RES1280x1024x85      0x1F
331 #define RES1600x1200x60      0x20
332 #define RES1600x1200x65      0x21
333 #define RES1600x1200x70      0x22
334 #define RES1600x1200x75      0x23
335 #define RES1600x1200x85      0x24
336 #define RES1600x1200x100     0x25
337 #define RES1600x1200x120     0x26
338 #define RES1920x1440x60      0x27
339 #define RES1920x1440x65      0x28
340 #define RES1920x1440x70      0x29
341 #define RES1920x1440x75      0x2A
342 #define RES1920x1440x85      0x2B
343 #define RES1920x1440x100     0x2C
344 #define RES2048x1536x60      0x2D
345 #define RES2048x1536x65      0x2E
346 #define RES2048x1536x70      0x2F
347 #define RES2048x1536x75      0x30
348 #define RES2048x1536x85      0x31
349 #define RES800x480x60        0x32
350 #define RES800x480x75        0x33
351 #define RES800x480x85        0x34
352 #define RES1024x576x60       0x35
353 #define RES1024x576x75       0x36
354 #define RES1024x576x85       0x37
355 #define RES1280x720x60       0x38
356 #define RES1280x720x75       0x39
357 #define RES1280x720x85       0x3A
358 #define RES1280x960x60       0x3B
359 #define RES720x480x60        0x3C
360 #define RES720x576x56        0x3D
361 #define RES856x480x79I       0x3E
362 #define RES856x480x60        0x3F
363 #define RES1280x768x60       0x40
364 #define RES1400x1050x60      0x41
365 #define RES1152x864x60       0x42
366 #define RES1152x864x75       0x43
367 #define RES1024x768x160      0x44
368 #define RES1280x960x75       0x45
369 #define RES1280x960x85       0x46
370 #define RES1280x960x120      0x47
371
372 #endif