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