Merge branch 'stable/xen-swiotlb-0.8.6' of git://git.kernel.org/pub/scm/linux/kernel...
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / staging / xgifb / vb_def.h
CommitLineData
d7636e0b 1/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/xgi/initdef.h,v 1.4 2000/12/02 01:16:17 dawes Exp $ */
2#ifndef _INITDEF_
3#define _INITDEF_
4
5#ifndef NewScratch
6#define NewScratch
7#endif
8/* shampoo */
f2f58e14 9
d7636e0b 10#define SEQ_ADDRESS_PORT 0x0014
11#define SEQ_DATA_PORT 0x0015
12#define MISC_OUTPUT_REG_READ_PORT 0x001C
13#define MISC_OUTPUT_REG_WRITE_PORT 0x0012
14#define GRAPH_DATA_PORT 0x1F
15#define GRAPH_ADDRESS_PORT 0x1E
16#define XGI_MASK_DUAL_CHIP 0x04 /* SR3A */
17#define CRTC_ADDRESS_PORT_COLOR 0x0024
18#define VIDEO_SUBSYSTEM_ENABLE_PORT 0x0013
19#define PCI_COMMAND 0x04
f2f58e14 20
d7636e0b 21/* ~shampoo */
22
23
24#define VB_XGI301 0x0001 /*301b*/
25#define VB_XGI301B 0x0002
26#define VB_XGI302B 0x0004
27#define VB_XGI301LV 0x0008 /*301lv*/
28#define VB_XGI302LV 0x0010
29#define VB_XGI301C 0x0020 /* for 301C */
30#define VB_NoLCD 0x8000
31/*end 301b*/
32
33#define VB_YPbPrInfo 0x07 /*301lv*/
34#define VB_YPbPr525i 0x00
35#define VB_YPbPr525p 0x01
36#define VB_YPbPr750p 0x02
37#define VB_YPbPr1080i 0x03
38
39/* #define CRT1Len 17 */
40#define LVDSCRT1Len 15
41#define CHTVRegDataLen 5
42
43/* #define ModeInfoFlag 0x07 */
44/* #define IsTextMode 0x07 */
45/* #define ModeText 0x00 */
46/* #define ModeCGA 0x01 */
47/* #define ModeEGA 0x02 */
48/* #define ModeVGA 0x03 */
49/* #define Mode15Bpp 0x04 */
50/* #define Mode16Bpp 0x05 */
51/* #define Mode24Bpp 0x06 */
52/* #define Mode32Bpp 0x07 */
53
54/* #define DACInfoFlag 0x18 */
55/* #define MemoryInfoFlag 0x1E0 */
56/* #define MemorySizeShift 0x05 */
57
58#define Charx8Dot 0x0200
59#define LineCompareOff 0x0400
60#define CRT2Mode 0x0800
61#define HalfDCLK 0x1000
62#define NoSupportSimuTV 0x2000
63#define DoubleScanMode 0x8000
64
65#define SupportAllCRT2 0x0078
66#define SupportTV 0x0008
67#define SupportHiVisionTV 0x0010
68#define SupportLCD 0x0020
69#define SupportRAMDAC2 0x0040
70#define NoSupportTV 0x0070
71#define NoSupportHiVisionTV 0x0060
72#define NoSupportLCD 0x0058
73#define SupportCHTV 0x0800
74#define SupportCRT2in301C 0x0100 /* for 301C */
75#define SupportTV1024 0x0800 /*301b*/
76#define SupportYPbPr 0x1000 /*301lv*/
77#define InterlaceMode 0x0080
78#define SyncPP 0x0000
79#define SyncPN 0x4000
80#define SyncNP 0x8000
81/* #define SyncNN 0xc000 */
82#define ECLKindex0 0x0000
83#define ECLKindex1 0x0100
84#define ECLKindex2 0x0200
85#define ECLKindex3 0x0300
86#define ECLKindex4 0x0400
87
88#define SetSimuScanMode 0x0001
89#define SwitchToCRT2 0x0002
90/* #define SetCRT2ToTV 0x009C */
91#define SetCRT2ToAVIDEO 0x0004
92#define SetCRT2ToSVIDEO 0x0008
93#define SetCRT2ToSCART 0x0010
94#define SetCRT2ToLCD 0x0020
95#define SetCRT2ToRAMDAC 0x0040
96#define SetCRT2ToHiVisionTV 0x0080
97#define SetNTSCTV 0x0000
98/* #define SetPALTV 0x0100 */
99#define SetInSlaveMode 0x0200
100#define SetNotSimuMode 0x0400
101#define SetNotSimuTVMode 0x0400
102#define SetDispDevSwitch 0x0800
103#define LoadDACFlag 0x1000
104#define DisableCRT2Display 0x2000
105#define DriverMode 0x4000
106#define HotKeySwitch 0x8000
107#define SetCHTVOverScan 0x8000
108/* #define SetCRT2ToLCDA 0x8000 301b */
109#define PanelRGB18Bit 0x0100
110#define PanelRGB24Bit 0x0000
111
112#define TVOverScan 0x10
113#define TVOverScanShift 4
114#define ClearBufferFlag 0x20
115#define EnableDualEdge 0x01 /*301b*/
116#define SetToLCDA 0x02
117
118#define YPbPrModeInfo 0x38
119/* #define YPbPrMode525i 0x00 */
120/* #define YPbPrMode525p 0x08 */
121/* #define YPbPrMode750p 0x10 */
122/* #define YPbPrMode1080i 0x18 */
123
124#define SetSCARTOutput 0x01
125#define BoardTVType 0x02
126#define EnablePALMN 0x40
127/* #define ProgrammingCRT2 0x01 */
128/* #define TVSimuMode 0x02 */
129/* #define RPLLDIV2XO 0x04 */
130/* #define LCDVESATiming 0x08 */
131/* #define EnableLVDSDDA 0x10 */
132#define SetDispDevSwitchFlag 0x20
133#define CheckWinDos 0x40
134#define SetJDOSMode 0x80
135
136#define Panel320x480 0x07/*fstn*/
137/* [ycchen] 02/12/03 Modify for Multi-Sync. LCD Support */
138#define PanelResInfo 0x1F /* CR36 Panel Type/LCDResInfo */
139#define PanelRefInfo 0x60
140#define Panel800x600 0x01
141#define Panel1024x768 0x02
142#define Panel1024x768x75 0x22
143#define Panel1280x1024 0x03
144#define Panel1280x1024x75 0x23
145#define Panel640x480 0x04
146#define Panel1024x600 0x05
147#define Panel1152x864 0x06
148#define Panel1280x960 0x07
149#define Panel1152x768 0x08
150#define Panel1400x1050 0x09
151#define Panel1280x768 0x0A
152#define Panel1600x1200 0x0B
153
154#define PanelRef60Hz 0x00
155#define PanelRef75Hz 0x20
156#define LCDRGB18Bit 0x01
157
158#define ExtChipTrumpion 0x06
159#define ExtChipCH7005 0x08
160#define ExtChipMitacTV 0x0a
161#define LCDNonExpanding 0x10
162#define LCDNonExpandingShift 4
163#define LCDSync 0x20
164#define LCDSyncBit 0xe0
165#define LCDSyncShift 6
166
167/* #define DDC2DelayTime 300 */
168
169#define CRT2DisplayFlag 0x2000
170/* #define LCDDataLen 8 */
171/* #define HiTVDataLen 12 */
172/* #define TVDataLen 16 */
173/* #define SetPALTV 0x0100 */
174#define HalfDCLK 0x1000
175#define NTSCHT 1716
176#define NTSCVT 525
177#define PALHT 1728
178#define PALVT 625
179#define StHiTVHT 892
180#define StHiTVVT 1126
181#define StHiTextTVHT 1000
182#define StHiTextTVVT 1126
183#define ExtHiTVHT 2100
184#define ExtHiTVVT 1125
185
186#define St750pTVHT 1716
187#define St750pTVVT 525
188#define Ext750pTVHT 1716
189#define Ext750pTVVT 525
190#define St525pTVHT 1716
191#define St525pTVVT 525
192#define Ext525pTVHT 1716
193#define Ext525pTVVT 525
194#define St525iTVHT 1716
195#define St525iTVVT 525
196#define Ext525iTVHT 1716
197#define Ext525iTVVT 525
198
199#define VCLKStartFreq 25
200#define SoftDramType 0x80
201#define VCLK40 0x04
202
203#define VCLK162 0x21
204
205#define LCDRGB18Bit 0x01
206#define LoadDACFlag 0x1000
207#define AfterLockCRT2 0x4000
208#define SetCRT2ToAVIDEO 0x0004
209#define SetCRT2ToSCART 0x0010
210#define Ext2StructSize 5
211
212
213#define YPbPr525iVCLK 0x03B
214#define YPbPr525iVCLK_2 0x03A
215
216#define SwitchToCRT2 0x0002
217/* #define LCDVESATiming 0x08 */
218#define SetSCARTOutput 0x01
219#define AVIDEOSense 0x01
220#define SVIDEOSense 0x02
221#define SCARTSense 0x04
222#define LCDSense 0x08
223#define Monitor1Sense 0x20
224#define Monitor2Sense 0x10
225#define HiTVSense 0x40
226#define BoardTVType 0x02
227#define HotPlugFunction 0x08
228#define StStructSize 0x06
229
230
231#define XGI_CRT2_PORT_00 0x00 - 0x030
232#define XGI_CRT2_PORT_04 0x04 - 0x030
233#define XGI_CRT2_PORT_10 0x10 - 0x30
234#define XGI_CRT2_PORT_12 0x12 - 0x30
235#define XGI_CRT2_PORT_14 0x14 - 0x30
236
237
238#define LCDNonExpanding 0x10
239#define ADR_CRT2PtrData 0x20E
240#define offset_Zurac 0x210
241#define ADR_LVDSDesPtrData 0x212
242#define ADR_LVDSCRT1DataPtr 0x214
243#define ADR_CHTVVCLKPtr 0x216
244#define ADR_CHTVRegDataPtr 0x218
245
246#define LVDSDataLen 6
247/* #define EnableLVDSDDA 0x10 */
248/* #define LVDSDesDataLen 3 */
249#define ActiveNonExpanding 0x40
250#define ActiveNonExpandingShift 6
251/* #define ActivePAL 0x20 */
252#define ActivePALShift 5
253/* #define ModeSwitchStatus 0x0F */
254#define SoftTVType 0x40
255#define SoftSettingAddr 0x52
256#define ModeSettingAddr 0x53
257
258/* #define SelectCRT1Rate 0x4 */
259
260#define _PanelType00 0x00
261#define _PanelType01 0x08
262#define _PanelType02 0x10
263#define _PanelType03 0x18
264#define _PanelType04 0x20
265#define _PanelType05 0x28
266#define _PanelType06 0x30
267#define _PanelType07 0x38
268#define _PanelType08 0x40
269#define _PanelType09 0x48
270#define _PanelType0A 0x50
271#define _PanelType0B 0x58
272#define _PanelType0C 0x60
273#define _PanelType0D 0x68
274#define _PanelType0E 0x70
275#define _PanelType0F 0x78
276
277
278#define PRIMARY_VGA 0 /* 1: XGI is primary vga 0:XGI is secondary vga */
279#define BIOSIDCodeAddr 0x235
280#define OEMUtilIDCodeAddr 0x237
281#define VBModeIDTableAddr 0x239
282#define OEMTVPtrAddr 0x241
283#define PhaseTableAddr 0x243
284#define NTSCFilterTableAddr 0x245
285#define PALFilterTableAddr 0x247
286#define OEMLCDPtr_1Addr 0x249
287#define OEMLCDPtr_2Addr 0x24B
288#define LCDHPosTable_1Addr 0x24D
289#define LCDHPosTable_2Addr 0x24F
290#define LCDVPosTable_1Addr 0x251
291#define LCDVPosTable_2Addr 0x253
292#define OEMLCDPIDTableAddr 0x255
293
294#define VBModeStructSize 5
295#define PhaseTableSize 4
296#define FilterTableSize 4
297#define LCDHPosTableSize 7
298#define LCDVPosTableSize 5
299#define OEMLVDSPIDTableSize 4
300#define LVDSHPosTableSize 4
301#define LVDSVPosTableSize 6
302
303#define VB_ModeID 0
304#define VB_TVTableIndex 1
305#define VB_LCDTableIndex 2
306#define VB_LCDHIndex 3
307#define VB_LCDVIndex 4
308
309#define OEMLCDEnable 0x0001
310#define OEMLCDDelayEnable 0x0002
311#define OEMLCDPOSEnable 0x0004
312#define OEMTVEnable 0x0100
313#define OEMTVDelayEnable 0x0200
314#define OEMTVFlickerEnable 0x0400
315#define OEMTVPhaseEnable 0x0800
316#define OEMTVFilterEnable 0x1000
317
318#define OEMLCDPanelIDSupport 0x0080
319
320/* #define LCDVESATiming 0x0001 //LCD Info CR37 */
321/* #define EnableLVDSDDA 0x0002 */
322#define EnableScalingLCD 0x0008
323#define SetPWDEnable 0x0004
324#define SetLCDtoNonExpanding 0x0010
325/* #define SetLCDPolarity 0x00E0 */
326#define SetLCDDualLink 0x0100
327#define SetLCDLowResolution 0x0200
328#define SetLCDStdMode 0x0400
329#define SetTVStdMode 0x0200
330#define SetTVLowResolution 0x0400
331/* =============================================================
332 for 310
333============================================================== */
334#define SoftDRAMType 0x80
335#define SoftSetting_OFFSET 0x52
336#define SR07_OFFSET 0x7C
337#define SR15_OFFSET 0x7D
338#define SR16_OFFSET 0x81
339#define SR17_OFFSET 0x85
340#define SR19_OFFSET 0x8D
341#define SR1F_OFFSET 0x99
342#define SR21_OFFSET 0x9A
343#define SR22_OFFSET 0x9B
344#define SR23_OFFSET 0x9C
345#define SR24_OFFSET 0x9D
346#define SR25_OFFSET 0x9E
347#define SR31_OFFSET 0x9F
348#define SR32_OFFSET 0xA0
349#define SR33_OFFSET 0xA1
350
351#define CR40_OFFSET 0xA2
352#define SR25_1_OFFSET 0xF6
353#define CR49_OFFSET 0xF7
354
355#define VB310Data_1_2_Offset 0xB6
356#define VB310Data_4_D_Offset 0xB7
357#define VB310Data_4_E_Offset 0xB8
358#define VB310Data_4_10_Offset 0xBB
359
360#define RGBSenseDataOffset 0xBD
361#define YCSenseDataOffset 0xBF
362#define VideoSenseDataOffset 0xC1
363#define OutputSelectOffset 0xF3
364
365#define ECLK_MCLK_DISTANCE 0x14
366#define VBIOSTablePointerStart 0x200
367#define StandTablePtrOffset VBIOSTablePointerStart+0x02
368#define EModeIDTablePtrOffset VBIOSTablePointerStart+0x04
369#define CRT1TablePtrOffset VBIOSTablePointerStart+0x06
370#define ScreenOffsetPtrOffset VBIOSTablePointerStart+0x08
371#define VCLKDataPtrOffset VBIOSTablePointerStart+0x0A
372#define MCLKDataPtrOffset VBIOSTablePointerStart+0x0E
373#define CRT2PtrDataPtrOffset VBIOSTablePointerStart+0x10
374#define TVAntiFlickPtrOffset VBIOSTablePointerStart+0x12
375#define TVDelayPtr1Offset VBIOSTablePointerStart+0x14
376#define TVPhaseIncrPtr1Offset VBIOSTablePointerStart+0x16
377#define TVYFilterPtr1Offset VBIOSTablePointerStart+0x18
378#define LCDDelayPtr1Offset VBIOSTablePointerStart+0x20
379#define TVEdgePtr1Offset VBIOSTablePointerStart+0x24
380#define CRT2Delay1Offset VBIOSTablePointerStart+0x28
381#define LCDDataDesOffset VBIOSTablePointerStart-0x02
382#define LCDDataPtrOffset VBIOSTablePointerStart+0x2A
383#define LCDDesDataPtrOffset VBIOSTablePointerStart+0x2C
384#define LCDDataList VBIOSTablePointerStart+0x22 /* add for GetLCDPtr */
385#define TVDataList VBIOSTablePointerStart+0x36 /* add for GetTVPtr */
386/* */
387/* Modify from 310.inc */
388/* */
389/* */
390
391
392#define ShowMsgFlag 0x20 /* SoftSetting */
393#define ShowVESAFlag 0x10
394#define HotPlugFunction 0x08
395#define ModeSoftSetting 0x04
396#define TVSoftSetting 0x02
397#define LCDSoftSetting 0x01
398
399#define GatingCRTinLCDA 0x10
400#define SetHiTVOutput 0x08
401#define SetYPbPrOutput 0x04
402#define BoardTVType 0x02
403#define SetSCARTOutput 0x01
404
405#define ModeSettingYPbPr 0x02 /* TVModeSetting, Others as same as CR30 */
406
407/* TVModeSetting same as CR35 */
408
409/* LCDModeSetting same as CR37 */
410
411#define EnableNewTVFont 0x10 /* MiscCapability */
412
413#define EnableLCDOutput 0x80 /* LCDCfgSetting */
414
415#define SoftDRAMType 0x80 /* DRAMSetting */
416#define SoftDRAMConfig 0x40
417#define MosSelDRAMType 0x20
418#define SDRAM 000h
419#define SGRAM 0x01
420#define ESDRAM 0x02
421
422#define EnableAGPCfgSetting 0x01 /* AGPCfgSetting */
423
424/* ---------------- SetMode Stack */
425#define CRT1Len 15
426#define VCLKLen 4
427#define DefThreshold 0x0100
428#define ExtRegsSize (57+8+37+70+63+28+768+1)/64+1
429
430#define VGA_XGI315 0x0001 /* VGA Type Info */
431#define VGA_SNewis315e 0x0002 /* 315 series */
432#define VGA_XGI550 0x0004
433#define VGA_XGI640 0x0008
434#define VGA_XGI740 0x0010
435#define VGA_XGI650 0x0020
436#define VGA_XGI650M 0x0040
437#define VGA_XGI651 0x0080
438#define VGA_XGI340 0x0001 /* 340 series */
439#define VGA_XGI330 0x0001 /* 330 series */
440#define VGA_XGI660 0x0001 /* 660 series */
441
442#define VB_XGI301 0x0001 /* VB Type Info */
443#define VB_XGI301B 0x0002 /* 301 series */
444#define VB_XGI302B 0x0004
445#define VB_NoLCD 0x8000
446#define VB_XGI301LV 0x0008
447#define VB_XGI302LV 0x0010
448#define VB_LVDS_NS 0x0001 /* 3rd party chip */
449#define VB_CH7017 0x0002
450#define VB_CH7007 0x0080 /* [Billy] 07/05/03 */
451/* #define VB_LVDS_SI 0x0004 */
452
453#define ModeInfoFlag 0x0007
454#define IsTextMode 0x0007
455#define ModeText 0x0000
456#define ModeCGA 0x0001
457#define ModeEGA 0x0002 /* 16 colors mode */
458#define ModeVGA 0x0003 /* 256 colors mode */
459#define Mode15Bpp 0x0004 /* 15 Bpp Color Mode */
460#define Mode16Bpp 0x0005 /* 16 Bpp Color Mode */
461#define Mode24Bpp 0x0006 /* 24 Bpp Color Mode */
462#define Mode32Bpp 0x0007 /* 32 Bpp Color Mode */
463
464#define DACInfoFlag 0x0018
465#define MONODAC 0x0000
466#define CGADAC 0x0008
467#define EGADAC 0x0010
468#define VGADAC 0x0018
469
470#define MemoryInfoFlag 0x01e0
471#define MemorySizeShift 5
472#define Need1MSize 0x0000
473#define Need2MSize 0x0020
474#define Need4MSize 0x0060
475#define Need8MSize 0x00e0
476#define Need16MSize 0x01e0
477
478#define Charx8Dot 0x0200
479#define LineCompareOff 0x0400
480#define CRT2Mode 0x0800
481#define HalfDCLK 0x1000
482#define NoSupportSimuTV 0x2000
483#define DoubleScanMode 0x8000
484
485/* -------------- Ext_InfoFlag */
486#define SupportModeInfo 0x0007
487#define Support256 0x0003
488#define Support15Bpp 0x0004
489#define Support16Bpp 0x0005
490#define Support24Bpp 0x0006
491#define Support32Bpp 0x0007
492
493#define SupportAllCRT2 0x0078
494#define SupportTV 0x0008
495#define SupportHiVisionTV 0x0010
496#define SupportLCD 0x0020
497#define SupportRAMDAC2 0x0040
498#define NoSupportTV 0x0070
499#define NoSupportHiVisionTV 0x0060
500#define NoSupportLCD 0x0058
501#define SupportTV1024 0x0800 /* 301btest */
502#define SupportYPbPr 0x1000 /* 301lv */
503#define InterlaceMode 0x0080
504#define SyncPP 0x0000
505#define SyncPN 0x4000
506#define SyncNP 0x8000
507#define SyncNN 0xC000
508
509/* -------------- SetMode Stack/Scratch */
510#define SetSimuScanMode 0x0001 /* VBInfo/CR30 & CR31 */
511#define SwitchToCRT2 0x0002
512#define SetCRT2ToTV1 0x009C
513#define SetCRT2ToTV 0x089C
514#define SetCRT2ToAVIDEO 0x0004
515#define SetCRT2ToSVIDEO 0x0008
516#define SetCRT2ToSCART 0x0010
517#define SetCRT2ToLCD 0x0020
518#define SetCRT2ToRAMDAC 0x0040
519#define SetCRT2ToHiVisionTV 0x0080
520#define SetCRT2ToLCDA 0x0100
521#define SetInSlaveMode 0x0200
522#define SetNotSimuMode 0x0400
523#define HKEventMode 0x0800
524#define SetCRT2ToYPbPr 0x0800
525#define LoadDACFlag 0x1000
526#define DisableCRT2Display 0x2000
527#define DriverMode 0x4000
528#define SetCRT2ToDualEdge 0x8000
529#define HotKeySwitch 0x8000
530
531#define ProgrammingCRT2 0x0001 /* Set Flag */
532#define EnableVCMode 0x0002
533#define SetHKEventMode 0x0004
534#define ReserveTVOption 0x0008
535#define DisableRelocateIO 0x0010
536#define Win9xDOSMode 0x0020
537#define JDOSMode 0x0040
538/* #define SetWin9xforJap 0x0080 // not used now */
539/* #define SetWin9xforKorea 0x0100 // not used now */
540#define GatingCRT 0x0800
541#define DisableChB 0x1000
542#define EnableChB 0x2000
543#define DisableChA 0x4000
544#define EnableChA 0x8000
545
546#define SetNTSCTV 0x0000 /* TV Info */
547#define SetPALTV 0x0001
548#define SetNTSCJ 0x0002
549#define SetPALMTV 0x0004
550#define SetPALNTV 0x0008
551#define SetCHTVUnderScan 0x0000
552/* #define SetCHTVOverScan 0x0010 */
553#define SetYPbPrMode525i 0x0020
554#define SetYPbPrMode525p 0x0040
555#define SetYPbPrMode750p 0x0080
556#define SetYPbPrMode1080i 0x0100
557#define SetTVStdMode 0x0200
558#define SetTVLowResolution 0x0400
559#define SetTVSimuMode 0x0800
560#define TVSimuMode 0x0800
561#define RPLLDIV2XO 0x1000
562#define NTSC1024x768 0x2000
563#define SetTVLockMode 0x4000
564
565#define LCDVESATiming 0x0001 /* LCD Info/CR37 */
566#define EnableLVDSDDA 0x0002
567#define EnableScalingLCD 0x0008
568#define SetPWDEnable 0x0004
569#define SetLCDtoNonExpanding 0x0010
570#define SetLCDPolarity 0x00e0
571#define SetLCDDualLink 0x0100
572#define SetLCDLowResolution 0x0200
573#define SetLCDStdMode 0x0400
574
575#define DefaultLCDCap 0x80ea /* LCD Capability shampoo */
576#define RLVDSDHL00 0x0000
577#define RLVDSDHL01 0x0001
578#define RLVDSDHL10 0x0002 /* default */
579#define RLVDSDHL11 0x0003
580#define EnableLCD24bpp 0x0004 /* default */
581#define DisableLCD24bpp 0x0000
582#define RLVDSClkSFT0 0x0000
583#define RLVDSClkSFT1 0x0008 /* default */
584#define EnableLVDSDCBal 0x0010
585#define DisableLVDSDCBal 0x0000 /* default */
586#define SinglePolarity 0x0020 /* default */
587#define MultiPolarity 0x0000
588#define LCDPolarity 0x00c0 /* default: SyncNN */
589#define LCDSingleLink 0x0000 /* default */
590#define LCDDualLink 0x0100
591#define EnableSpectrum 0x0200
592#define DisableSpectrum 0x0000 /* default */
593#define PWDEnable 0x0400
594#define PWDDisable 0x0000 /* default */
595#define PWMEnable 0x0800
596#define PWMDisable 0x0000 /* default */
597#define EnableVBCLKDRVLOW 0x4000
598#define EnableVBCLKDRVHigh 0x0000 /* default */
599#define EnablePLLSPLOW 0x8000
600#define EnablePLLSPHigh 0x0000 /* default */
601
602#define LCDBToA 0x20 /* LCD SetFlag */
603#define StLCDBToA 0x40
604#define LockLCDBToA 0x80
605#define LCDToFull 0x10
606#define AVIDEOSense 0x01 /* CR32 */
607#define SVIDEOSense 0x02
608#define SCARTSense 0x04
609#define LCDSense 0x08
610#define Monitor2Sense 0x10
611#define Monitor1Sense 0x20
612#define HiTVSense 0x40
613
614#ifdef NewScratch
615#define YPbPrSense 0x80 /* NEW SCRATCH */
616#endif
617
618#define TVSense 0xc7
619
620#define TVOverScan 0x10 /* CR35 */
621#define TVOverScanShift 4
622
623#ifdef NewScratch
624#define NTSCMode 0x00
625#define PALMode 0x00
626#define NTSCJMode 0x02
627#define PALMNMode 0x0c
628#define YPbPrMode 0xe0
629#define YPbPrMode525i 0x00
630#define YPbPrMode525p 0x20
631#define YPbPrMode750p 0x40
632#define YPbPrMode1080i 0x60
633#else /* Old Scratch */
634#define ClearBufferFlag 0x20
635#endif
636
637
638#define LCDRGB18Bit 0x01 /* CR37 */
639#define LCDNonExpanding 0x10
640#define LCDNonExpandingShift 4
641#define LCDSync 0x20
642#define LCDSyncBit 0xe0 /* H/V polarity & sync ID */
643#define LCDSyncShift 6
644
645#ifdef NewScratch
646#define ScalingLCD 0x08
647#else /* Old Scratch */
648#define ExtChipType 0x0e
649#define ExtChip301 0x02
650#define ExtChipLVDS 0x04
651#define ExtChipCH7019 0x06
652#define ScalingLCD 0x10
653#endif
654
655#define EnableDualEdge 0x01 /* CR38 */
656#define SetToLCDA 0x02
657#ifdef NewScratch
658#define SetYPbPr 0x04
659#define DisableChannelA 0x08
660#define DisableChannelB 0x10
661#define ExtChipType 0xe0
662#define ExtChip301 0x20
663#define ExtChipLVDS 0x40
664#define ExtChipCH7019 0x60
665#else /* Old Scratch */
666#define YPbPrSense 0x04
667#define SetYPbPr 0x08
668#define YPbPrMode 0x30
669#define YPbPrMode525i 0x00
670#define YPbPrMode525p 0x10
671#define YPbPrMode750p 0x20
672#define YPbPrMode1080i 0x30
673#define PALMNMode 0xc0
674#endif
675
676#define BacklightControlBit 0x01 /* CR3A */
677#define Win9xforJap 0x40
678#define Win9xforKorea 0x80
679
680#define ForceMDBits 0x07 /* CR3B */
681#define ForceMD_JDOS 0x00
682#define ForceMD_640x400T 0x01
683#define ForceMD_640x350T 0x02
684#define ForceMD_720x400T 0x03
685#define ForceMD_640x480E 0x04
686#define ForceMD_640x400E 0x05
687#define ForceP1Bit 0x10
688#define ForceP2Bit 0x20
689#define EnableForceMDinBIOS 0x40
690#define EnableForceMDinDrv 0x80
691
692#ifdef NewScratch /* New Scratch */
693/* ---------------------- VUMA Information */
694#define LCDSettingFromCMOS 0x04 /* CR3C */
695#define TVSettingFromCMOS 0x08
696#define DisplayDeviceFromCMOS 0x10
697#define HKSupportInSBIOS 0x20
698#define OSDSupportInSBIOS 0x40
699#define DisableLogo 0x80
700
701/* ---------------------- HK Evnet Definition */
702#define HKEvent 0x0f /* CR3D */
703#define HK_ModeSwitch 0x01
704#define HK_Expanding 0x02
705#define HK_OverScan 0x03
706#define HK_Brightness 0x04
707#define HK_Contrast 0x05
708#define HK_Mute 0x06
709#define HK_Volume 0x07
710#define ModeSwitchStatus 0xf0
711#define ActiveCRT1 0x10
712#define ActiveLCD 0x0020
713#define ActiveTV 0x40
714#define ActiveCRT2 0x80
715
716#define TVSwitchStatus 0x1f /* CR3E */
717#define ActiveAVideo 0x01
718#define ActiveSVideo 0x02
719#define ActiveSCART 0x04
720#define ActiveHiTV 0x08
721#define ActiveYPbPr 0x10
722
723#define EnableHKEvent 0x01 /* CR3F */
724#define EnableOSDEvent 0x02
725#define StartOSDEvent 0x04
726#define IgnoreHKEvent 0x08
727#define IgnoreOSDEvent 0x10
728#else /* Old Scratch */
729#define OSD_SBIOS 0x02 /* SR17 */
730#define DisableLogo 0x04
731#define SelectKDOS 0x08
732#define KorWinMode 0x10
733#define KorMode3Bit 0x0020
734#define PSCCtrlBit 0x40
735#define NPSCCtrlBitShift 6
736#define BlueScreenBit 0x80
737
738#define HKEvent 0x0f /* CR79 */
739#define HK_ModeSwitch 0x01
740#define HK_Expanding 0x02
741#define HK_OverScan 0x03
742#define HK_Brightness 0x04
743#define HK_Contrast 0x05
744#define HK_Mute 0x06
745#define HK_Volume 0x07
746#define ActivePAL 0x0020
747#define ActivePALShift 5
748#define ActiveNonExpanding 0x40
749#define ActiveNonExpandingShift 6
750#define ActiveOverScan 0x80
751#define ActiveOverScanShift 7
752
753#define ModeSwitchStatus 0x0b /* SR15 */
754#define ActiveCRT1 0x01
755#define ActiveLCD 0x02
756#define ActiveCRT2 0x08
757
758#define TVSwitchStatus 0xf0 /* SR16 */
759#define TVConfigShift 3
760#define ActiveTV 0x01
761#define ActiveYPbPr 0x04
762#define ActiveAVideo 0x10
763#define ActiveSVideo 0x0020
764#define ActiveSCART 0x40
765#define ActiveHiTV 0x80
766
767#define EnableHKEvent 0x01 /* CR7A */
768#define EnableOSDEvent 0x02
769#define StartOSDEvent 0x04
770#define CMOSSupport 0x08
771#define HotKeySupport 0x10
772#define IngoreHKOSDEvent 0x20
773#endif
774
775/* //------------- Misc. Definition */
776#define SelectCRT1Rate 00h
777/* #define SelectCRT2Rate 04h */
778
779#define DDC1DelayTime 1000
780#ifdef TRUMPION
781#define DDC2DelayTime 15
782#else
783#define DDC2DelayTime 150
784#endif
785
786#define R_FACTOR 04Dh
787#define G_FACTOR 097h
788#define B_FACTOR 01Ch
789/* --------------------------------------------------------- */
790/* translated from asm code 301def.h */
791/* */
792/* --------------------------------------------------------- */
793#define LCDDataLen 8
794#define HiTVDataLen 12
795#define TVDataLen 12
796#define LVDSCRT1Len_H 8
797#define LVDSCRT1Len_V 7
798#define LVDSDataLen 6
799#define LVDSDesDataLen 6
800#define LCDDesDataLen 6
801#define LVDSDesDataLen2 8
802#define LCDDesDataLen2 8
803#define CHTVRegLen 16
804#define CHLVRegLen 12
805
806#define StHiTVHT 892
807#define StHiTVVT 1126
808#define StHiTextTVHT 1000
809#define StHiTextTVVT 1126
810#define ExtHiTVHT 2100
811#define ExtHiTVVT 1125
812#define NTSCHT 1716
813#define NTSCVT 525
814#define NTSC1024x768HT 1908
815#define NTSC1024x768VT 525
816#define PALHT 1728
817#define PALVT 625
818
819#define YPbPrTV525iHT 1716 /* YPbPr */
820#define YPbPrTV525iVT 525
821#define YPbPrTV525pHT 1716
822#define YPbPrTV525pVT 525
823#define YPbPrTV750pHT 1650
824#define YPbPrTV750pVT 750
825
826#define CRT2VCLKSel 0xc0
827
828#define CRT2Delay1 0x04 /* XGI301 */
829#define CRT2Delay2 0x0A /* 301B,302 */
830
831
832#define VCLK25_175 0x00
833#define VCLK28_322 0x01
834#define VCLK31_5 0x02
835#define VCLK36 0x03
836#define VCLK40 0x04
837#define VCLK43_163 0x05
838#define VCLK44_9 0x06
839#define VCLK49_5 0x07
840#define VCLK50 0x08
841#define VCLK52_406 0x09
842#define VCLK56_25 0x0A
843#define VCLK65 0x0B
844#define VCLK67_765 0x0C
845#define VCLK68_179 0x0D
846#define VCLK72_852 0x0E
847#define VCLK75 0x0F
848#define VCLK75_8 0x10
849#define VCLK78_75 0x11
850#define VCLK79_411 0x12
851#define VCLK83_95 0x13
852#define VCLK84_8 0x14
853#define VCLK86_6 0x15
854#define VCLK94_5 0x16
855#define VCLK104_998 0x17
856#define VCLK105_882 0x18
857#define VCLK108_2 0x19
858#define VCLK109_175 0x1A
859#define VCLK113_309 0x1B
860#define VCLK116_406 0x1C
861#define VCLK132_258 0x1D
862#define VCLK135_5 0x1E
863#define VCLK139_054 0x1F
864#define VCLK157_5 0x20
865#define VCLK162 0x21
866#define VCLK175 0x22
867#define VCLK189 0x23
868#define VCLK194_4 0x24
869#define VCLK202_5 0x25
870#define VCLK229_5 0x26
871#define VCLK234 0x27
872#define VCLK252_699 0x28
873#define VCLK254_817 0x29
874#define VCLK265_728 0x2A
875#define VCLK266_952 0x2B
876#define VCLK269_655 0x2C
877#define VCLK272_042 0x2D
878#define VCLK277_015 0x2E
879#define VCLK286_359 0x2F
880#define VCLK291_132 0x30
881#define VCLK291_766 0x31
882#define VCLK309_789 0x32
883#define VCLK315_195 0x33
884#define VCLK323_586 0x34
885#define VCLK330_615 0x35
886#define VCLK332_177 0x36
887#define VCLK340_477 0x37
888#define VCLK375_847 0x38
889#define VCLK388_631 0x39
890#define VCLK125_999 0x51
891#define VCLK148_5 0x52
892#define VCLK178_992 0x54
893#define VCLK217_325 0x55
894#define VCLK299_505 0x56
895#define YPbPr750pVCLK 0x57
896
897#define TVVCLKDIV2 0x3A
898#define TVVCLK 0x3B
899#define HiTVVCLKDIV2 0x3C
900#define HiTVVCLK 0x3D
901#define HiTVSimuVCLK 0x3E
902#define HiTVTextVCLK 0x3F
903#define VCLK39_77 0x40
904/* #define YPbPr750pVCLK 0x0F */
905#define YPbPr525pVCLK 0x3A
906/* #define ;;YPbPr525iVCLK 0x3B */
907/* #define ;;YPbPr525iVCLK_2 0x3A */
908#define NTSC1024VCLK 0x41
909#define VCLK25_175_41 0x42 /* ; ScaleLCD */
910#define VCLK25_175_42 0x43
911#define VCLK28_322_43 0x44
912#define VCLK40_44 0x45
913#define VCLKQVGA_1 0x46 /* ; QVGA */
914#define VCLKQVGA_2 0x47
915#define VCLKQVGA_3 0x48
916#define VCLK35_2 0x49 /* ; 800x480 */
917#define VCLK122_61 0x4A
918#define VCLK80_350 0x4B
919#define VCLK107_385 0x4C
920
921#define CHTVVCLK30_2 0x50 /* ;;CHTV */
922#define CHTVVCLK28_1 0x51
923#define CHTVVCLK43_6 0x52
924#define CHTVVCLK26_4 0x53
925#define CHTVVCLK24_6 0x54
926#define CHTVVCLK47_8 0x55
927#define CHTVVCLK31_5 0x56
928#define CHTVVCLK26_2 0x57
929#define CHTVVCLK39 0x58
930#define CHTVVCLK36 0x59
931
932#define CH7007TVVCLK30_2 0x00 /* [Billy] 2007/05/18 For CH7007 */
933#define CH7007TVVCLK28_1 0x01
934#define CH7007TVVCLK43_6 0x02
935#define CH7007TVVCLK26_4 0x03
936#define CH7007TVVCLK24_6 0x04
937#define CH7007TVVCLK47_8 0x05
938#define CH7007TVVCLK31_5 0x06
939#define CH7007TVVCLK26_2 0x07
940#define CH7007TVVCLK39 0x08
941#define CH7007TVVCLK36 0x09
942
943#define RES320x200 0x00
944#define RES320x240 0x01
945#define RES400x300 0x02
946#define RES512x384 0x03
947#define RES640x400 0x04
948#define RES640x480x60 0x05
949#define RES640x480x72 0x06
950#define RES640x480x75 0x07
951#define RES640x480x85 0x08
952#define RES640x480x100 0x09
953#define RES640x480x120 0x0A
954#define RES640x480x160 0x0B
955#define RES640x480x200 0x0C
956#define RES800x600x56 0x0D
957#define RES800x600x60 0x0E
958#define RES800x600x72 0x0F
959#define RES800x600x75 0x10
960#define RES800x600x85 0x11
961#define RES800x600x100 0x12
962#define RES800x600x120 0x13
963#define RES800x600x160 0x14
964#define RES1024x768x43 0x15
965#define RES1024x768x60 0x16
966#define RES1024x768x70 0x17
967#define RES1024x768x75 0x18
968#define RES1024x768x85 0x19
969#define RES1024x768x100 0x1A
970#define RES1024x768x120 0x1B
971#define RES1280x1024x43 0x1C
972#define RES1280x1024x60 0x1D
973#define RES1280x1024x75 0x1E
974#define RES1280x1024x85 0x1F
975#define RES1600x1200x60 0x20
976#define RES1600x1200x65 0x21
977#define RES1600x1200x70 0x22
978#define RES1600x1200x75 0x23
979#define RES1600x1200x85 0x24
980#define RES1600x1200x100 0x25
981#define RES1600x1200x120 0x26
982#define RES1920x1440x60 0x27
983#define RES1920x1440x65 0x28
984#define RES1920x1440x70 0x29
985#define RES1920x1440x75 0x2A
986#define RES1920x1440x85 0x2B
987#define RES1920x1440x100 0x2C
988#define RES2048x1536x60 0x2D
989#define RES2048x1536x65 0x2E
990#define RES2048x1536x70 0x2F
991#define RES2048x1536x75 0x30
992#define RES2048x1536x85 0x31
993#define RES800x480x60 0x32
994#define RES800x480x75 0x33
995#define RES800x480x85 0x34
996#define RES1024x576x60 0x35
997#define RES1024x576x75 0x36
998#define RES1024x576x85 0x37
999#define RES1280x720x60 0x38
1000#define RES1280x720x75 0x39
1001#define RES1280x720x85 0x3A
1002#define RES1280x960x60 0x3B
1003#define RES720x480x60 0x3C
1004#define RES720x576x56 0x3D
1005#define RES856x480x79I 0x3E
1006#define RES856x480x60 0x3F
1007#define RES1280x768x60 0x40
1008#define RES1400x1050x60 0x41
1009#define RES1152x864x60 0x42
1010#define RES1152x864x75 0x43
1011#define RES1024x768x160 0x44
1012#define RES1280x960x75 0x45
1013#define RES1280x960x85 0x46
1014#define RES1280x960x120 0x47
1015
1016#define LFBDRAMTrap 0x30
1017#endif