Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
84359ef6 PH |
2 | #ifndef _VB_DEF_ |
3 | #define _VB_DEF_ | |
f7018c21 | 4 | #include "../../video/fbdev/sis/initdef.h" |
d7636e0b | 5 | |
661f659e | 6 | #define VB_XGI301C 0x0020 /* for 301C */ |
d7636e0b | 7 | |
661f659e | 8 | #define SupportCRT2in301C 0x0100 /* for 301C */ |
661f659e | 9 | #define SetCHTVOverScan 0x8000 |
d7636e0b | 10 | |
661f659e | 11 | #define PanelResInfo 0x1F /* CR36 Panel Type/LCDResInfo */ |
255aabd2 PH |
12 | #define Panel_1024x768x75 0x22 |
13 | #define Panel_1280x1024x75 0x23 | |
d7636e0b | 14 | |
15 | #define PanelRef60Hz 0x00 | |
16 | #define PanelRef75Hz 0x20 | |
d7636e0b | 17 | |
d7636e0b | 18 | #define YPbPr525iVCLK 0x03B |
19 | #define YPbPr525iVCLK_2 0x03A | |
20 | ||
661f659e | 21 | #define XGI_CRT2_PORT_00 (0x00 - 0x030) |
d7636e0b | 22 | |
661f659e | 23 | #define SupportAllCRT2 0x0078 |
661f659e KT |
24 | #define NoSupportTV 0x0070 |
25 | #define NoSupportHiVisionTV 0x0060 | |
26 | #define NoSupportLCD 0x0058 | |
d7636e0b | 27 | |
28 | /* -------------- SetMode Stack/Scratch */ | |
a3d675c8 | 29 | #define XGI_SetCRT2ToLCDA 0x0100 |
661f659e | 30 | #define SetCRT2ToDualEdge 0x8000 |
661f659e | 31 | |
661f659e | 32 | #define ReserveTVOption 0x0008 |
661f659e | 33 | |
661f659e | 34 | #define SetTVLowResolution 0x0400 |
661f659e KT |
35 | #define TVSimuMode 0x0800 |
36 | #define RPLLDIV2XO 0x1000 | |
37 | #define NTSC1024x768 0x2000 | |
38 | #define SetTVLockMode 0x4000 | |
39 | ||
a3d675c8 PH |
40 | #define XGI_LCDVESATiming 0x0001 /* LCD Info/CR37 */ |
41 | #define XGI_EnableLVDSDDA 0x0002 | |
661f659e KT |
42 | #define EnableScalingLCD 0x0008 |
43 | #define SetPWDEnable 0x0004 | |
44 | #define SetLCDtoNonExpanding 0x0010 | |
661f659e KT |
45 | #define SetLCDDualLink 0x0100 |
46 | #define SetLCDLowResolution 0x0200 | |
661f659e KT |
47 | |
48 | /* LCD Capability shampoo */ | |
49 | #define DefaultLCDCap 0x80ea | |
661f659e | 50 | #define EnableLCD24bpp 0x0004 /* default */ |
661f659e | 51 | #define LCDPolarity 0x00c0 /* default: SyncNN */ |
a3d675c8 | 52 | #define XGI_LCDDualLink 0x0100 |
661f659e | 53 | #define EnableSpectrum 0x0200 |
661f659e | 54 | #define PWDEnable 0x0400 |
661f659e | 55 | #define EnableVBCLKDRVLOW 0x4000 |
661f659e | 56 | #define EnablePLLSPLOW 0x8000 |
661f659e | 57 | |
661f659e KT |
58 | #define AVIDEOSense 0x01 /* CR32 */ |
59 | #define SVIDEOSense 0x02 | |
60 | #define SCARTSense 0x04 | |
61 | #define LCDSense 0x08 | |
62 | #define Monitor2Sense 0x10 | |
63 | #define Monitor1Sense 0x20 | |
64 | #define HiTVSense 0x40 | |
65 | ||
661f659e | 66 | #define YPbPrSense 0x80 /* NEW SCRATCH */ |
d7636e0b | 67 | |
661f659e KT |
68 | #define TVSense 0xc7 |
69 | ||
661f659e KT |
70 | #define YPbPrMode 0xe0 |
71 | #define YPbPrMode525i 0x00 | |
72 | #define YPbPrMode525p 0x20 | |
73 | #define YPbPrMode750p 0x40 | |
74 | #define YPbPrMode1080i 0x60 | |
d7636e0b | 75 | |
661f659e | 76 | #define ScalingLCD 0x08 |
d7636e0b | 77 | |
661f659e | 78 | #define SetYPbPr 0x04 |
661f659e | 79 | |
d7636e0b | 80 | /* ---------------------- VUMA Information */ |
661f659e | 81 | #define DisplayDeviceFromCMOS 0x10 |
d7636e0b | 82 | |
83 | /* ---------------------- HK Evnet Definition */ | |
a3d675c8 | 84 | #define XGI_ModeSwitchStatus 0xf0 |
661f659e KT |
85 | #define ActiveCRT1 0x10 |
86 | #define ActiveLCD 0x0020 | |
87 | #define ActiveTV 0x40 | |
88 | #define ActiveCRT2 0x80 | |
89 | ||
661f659e KT |
90 | #define ActiveAVideo 0x01 |
91 | #define ActiveSVideo 0x02 | |
92 | #define ActiveSCART 0x04 | |
93 | #define ActiveHiTV 0x08 | |
94 | #define ActiveYPbPr 0x10 | |
95 | ||
661f659e | 96 | #define NTSC1024x768HT 1908 |
661f659e KT |
97 | |
98 | #define YPbPrTV525iHT 1716 /* YPbPr */ | |
99 | #define YPbPrTV525iVT 525 | |
100 | #define YPbPrTV525pHT 1716 | |
101 | #define YPbPrTV525pVT 525 | |
102 | #define YPbPrTV750pHT 1650 | |
103 | #define YPbPrTV750pVT 750 | |
104 | ||
661f659e KT |
105 | #define VCLK25_175 0x00 |
106 | #define VCLK28_322 0x01 | |
107 | #define VCLK31_5 0x02 | |
108 | #define VCLK36 0x03 | |
661f659e KT |
109 | #define VCLK43_163 0x05 |
110 | #define VCLK44_9 0x06 | |
111 | #define VCLK49_5 0x07 | |
112 | #define VCLK50 0x08 | |
113 | #define VCLK52_406 0x09 | |
114 | #define VCLK56_25 0x0A | |
661f659e KT |
115 | #define VCLK68_179 0x0D |
116 | #define VCLK72_852 0x0E | |
117 | #define VCLK75 0x0F | |
661f659e KT |
118 | #define VCLK78_75 0x11 |
119 | #define VCLK79_411 0x12 | |
120 | #define VCLK83_95 0x13 | |
661f659e KT |
121 | #define VCLK86_6 0x15 |
122 | #define VCLK94_5 0x16 | |
661f659e KT |
123 | #define VCLK113_309 0x1B |
124 | #define VCLK116_406 0x1C | |
661f659e KT |
125 | #define VCLK135_5 0x1E |
126 | #define VCLK139_054 0x1F | |
127 | #define VCLK157_5 0x20 | |
128 | #define VCLK162 0x21 | |
129 | #define VCLK175 0x22 | |
130 | #define VCLK189 0x23 | |
661f659e KT |
131 | #define VCLK202_5 0x25 |
132 | #define VCLK229_5 0x26 | |
133 | #define VCLK234 0x27 | |
661f659e | 134 | #define VCLK254_817 0x29 |
661f659e KT |
135 | #define VCLK266_952 0x2B |
136 | #define VCLK269_655 0x2C | |
661f659e | 137 | #define VCLK277_015 0x2E |
661f659e KT |
138 | #define VCLK291_132 0x30 |
139 | #define VCLK291_766 0x31 | |
661f659e KT |
140 | #define VCLK315_195 0x33 |
141 | #define VCLK323_586 0x34 | |
142 | #define VCLK330_615 0x35 | |
661f659e KT |
143 | #define VCLK340_477 0x37 |
144 | #define VCLK375_847 0x38 | |
145 | #define VCLK388_631 0x39 | |
146 | #define VCLK125_999 0x51 | |
147 | #define VCLK148_5 0x52 | |
661f659e | 148 | #define VCLK217_325 0x55 |
a3d675c8 | 149 | #define XGI_YPbPr750pVCLK 0x57 |
661f659e | 150 | |
661f659e | 151 | #define VCLK39_77 0x40 |
c3b3b3f9 | 152 | #define YPbPr525pVCLK 0x3A |
661f659e | 153 | #define NTSC1024VCLK 0x41 |
661f659e KT |
154 | #define VCLK35_2 0x49 /* ; 800x480 */ |
155 | #define VCLK122_61 0x4A | |
156 | #define VCLK80_350 0x4B | |
157 | #define VCLK107_385 0x4C | |
158 | ||
661f659e KT |
159 | #define RES320x200 0x00 |
160 | #define RES320x240 0x01 | |
161 | #define RES400x300 0x02 | |
162 | #define RES512x384 0x03 | |
163 | #define RES640x400 0x04 | |
164 | #define RES640x480x60 0x05 | |
165 | #define RES640x480x72 0x06 | |
166 | #define RES640x480x75 0x07 | |
167 | #define RES640x480x85 0x08 | |
168 | #define RES640x480x100 0x09 | |
169 | #define RES640x480x120 0x0A | |
170 | #define RES640x480x160 0x0B | |
171 | #define RES640x480x200 0x0C | |
172 | #define RES800x600x56 0x0D | |
173 | #define RES800x600x60 0x0E | |
174 | #define RES800x600x72 0x0F | |
175 | #define RES800x600x75 0x10 | |
176 | #define RES800x600x85 0x11 | |
177 | #define RES800x600x100 0x12 | |
178 | #define RES800x600x120 0x13 | |
179 | #define RES800x600x160 0x14 | |
180 | #define RES1024x768x43 0x15 | |
181 | #define RES1024x768x60 0x16 | |
182 | #define RES1024x768x70 0x17 | |
183 | #define RES1024x768x75 0x18 | |
184 | #define RES1024x768x85 0x19 | |
185 | #define RES1024x768x100 0x1A | |
186 | #define RES1024x768x120 0x1B | |
187 | #define RES1280x1024x43 0x1C | |
188 | #define RES1280x1024x60 0x1D | |
189 | #define RES1280x1024x75 0x1E | |
190 | #define RES1280x1024x85 0x1F | |
191 | #define RES1600x1200x60 0x20 | |
192 | #define RES1600x1200x65 0x21 | |
193 | #define RES1600x1200x70 0x22 | |
194 | #define RES1600x1200x75 0x23 | |
195 | #define RES1600x1200x85 0x24 | |
196 | #define RES1600x1200x100 0x25 | |
197 | #define RES1600x1200x120 0x26 | |
198 | #define RES1920x1440x60 0x27 | |
199 | #define RES1920x1440x65 0x28 | |
200 | #define RES1920x1440x70 0x29 | |
201 | #define RES1920x1440x75 0x2A | |
202 | #define RES1920x1440x85 0x2B | |
203 | #define RES1920x1440x100 0x2C | |
204 | #define RES2048x1536x60 0x2D | |
205 | #define RES2048x1536x65 0x2E | |
206 | #define RES2048x1536x70 0x2F | |
207 | #define RES2048x1536x75 0x30 | |
208 | #define RES2048x1536x85 0x31 | |
209 | #define RES800x480x60 0x32 | |
210 | #define RES800x480x75 0x33 | |
211 | #define RES800x480x85 0x34 | |
212 | #define RES1024x576x60 0x35 | |
213 | #define RES1024x576x75 0x36 | |
214 | #define RES1024x576x85 0x37 | |
215 | #define RES1280x720x60 0x38 | |
216 | #define RES1280x720x75 0x39 | |
217 | #define RES1280x720x85 0x3A | |
218 | #define RES1280x960x60 0x3B | |
219 | #define RES720x480x60 0x3C | |
220 | #define RES720x576x56 0x3D | |
221 | #define RES856x480x79I 0x3E | |
222 | #define RES856x480x60 0x3F | |
223 | #define RES1280x768x60 0x40 | |
224 | #define RES1400x1050x60 0x41 | |
225 | #define RES1152x864x60 0x42 | |
226 | #define RES1152x864x75 0x43 | |
227 | #define RES1024x768x160 0x44 | |
228 | #define RES1280x960x75 0x45 | |
229 | #define RES1280x960x85 0x46 | |
230 | #define RES1280x960x120 0x47 | |
231 | ||
6d12dae4 PH |
232 | #define XG27_CR8F 0x0C |
233 | #define XG27_SR36 0x30 | |
234 | #define XG27_SR40 0x04 | |
235 | #define XG27_SR41 0x00 | |
236 | #define XG40_CRCF 0x13 | |
237 | #define XGI330_CRT2Data_1_2 0 | |
238 | #define XGI330_CRT2Data_4_D 0 | |
239 | #define XGI330_CRT2Data_4_E 0 | |
240 | #define XGI330_CRT2Data_4_10 0x80 | |
241 | #define XGI330_SR07 0x18 | |
242 | #define XGI330_SR1F 0 | |
243 | #define XGI330_SR23 0xf6 | |
244 | #define XGI330_SR24 0x0d | |
6d12dae4 PH |
245 | #define XGI330_SR31 0xc0 |
246 | #define XGI330_SR32 0x11 | |
247 | #define XGI330_SR33 0 | |
248 | ||
b397992e | 249 | extern const struct XGI_ExtStruct XGI330_EModeIDTable[]; |
a39325d2 | 250 | extern const struct XGI_Ext2Struct XGI330_RefIndex[]; |
7853bced | 251 | extern const struct XGI_CRT1TableStruct XGI_CRT1Table[]; |
9b047458 | 252 | extern const struct XGI_ECLKDataStruct XGI340_ECLKData[]; |
acfe093e | 253 | extern const struct SiS_VCLKData XGI_VCLKData[]; |
5ce24760 | 254 | extern const unsigned char XGI340_CR6B[][4]; |
ea12b4e0 | 255 | extern const unsigned char XGI340_AGPReg[]; |
b397992e | 256 | |
d7636e0b | 257 | #endif |