1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _VB_DEF_
3 #define _VB_DEF_
4 #include "../../video/fbdev/sis/initdef.h"
5 
6 #define VB_XGI301C      0x0020 /* for 301C */
7 
8 #define SupportCRT2in301C       0x0100  /* for 301C */
9 #define SetCHTVOverScan         0x8000
10 
11 #define PanelResInfo            0x1F /* CR36 Panel Type/LCDResInfo */
12 #define Panel_1024x768x75        0x22
13 #define Panel_1280x1024x75       0x23
14 
15 #define PanelRef60Hz            0x00
16 #define PanelRef75Hz            0x20
17 
18 #define YPbPr525iVCLK           0x03B
19 #define YPbPr525iVCLK_2         0x03A
20 
21 #define XGI_CRT2_PORT_00        (0x00 - 0x030)
22 
23 #define SupportAllCRT2      0x0078
24 #define NoSupportTV         0x0070
25 #define NoSupportHiVisionTV 0x0060
26 #define NoSupportLCD        0x0058
27 
28 /* -------------- SetMode Stack/Scratch */
29 #define XGI_SetCRT2ToLCDA   0x0100
30 #define SetCRT2ToDualEdge   0x8000
31 
32 #define ReserveTVOption     0x0008
33 
34 #define SetTVLowResolution   0x0400
35 #define TVSimuMode           0x0800
36 #define RPLLDIV2XO           0x1000
37 #define NTSC1024x768         0x2000
38 #define SetTVLockMode        0x4000
39 
40 #define XGI_LCDVESATiming    0x0001 /* LCD Info/CR37 */
41 #define XGI_EnableLVDSDDA    0x0002
42 #define EnableScalingLCD     0x0008
43 #define SetPWDEnable         0x0004
44 #define SetLCDtoNonExpanding 0x0010
45 #define SetLCDDualLink       0x0100
46 #define SetLCDLowResolution  0x0200
47 
48 /* LCD Capability shampoo */
49 #define DefaultLCDCap        0x80ea
50 #define EnableLCD24bpp       0x0004 /* default */
51 #define LCDPolarity          0x00c0 /* default: SyncNN */
52 #define XGI_LCDDualLink      0x0100
53 #define EnableSpectrum       0x0200
54 #define PWDEnable            0x0400
55 #define EnableVBCLKDRVLOW    0x4000
56 #define EnablePLLSPLOW       0x8000
57 
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 
66 #define YPbPrSense           0x80   /* NEW SCRATCH */
67 
68 #define TVSense              0xc7
69 
70 #define YPbPrMode            0xe0
71 #define YPbPrMode525i        0x00
72 #define YPbPrMode525p        0x20
73 #define YPbPrMode750p        0x40
74 #define YPbPrMode1080i       0x60
75 
76 #define ScalingLCD           0x08
77 
78 #define SetYPbPr             0x04
79 
80 /* ---------------------- VUMA Information */
81 #define DisplayDeviceFromCMOS 0x10
82 
83 /* ---------------------- HK Evnet Definition */
84 #define XGI_ModeSwitchStatus  0xf0
85 #define ActiveCRT1            0x10
86 #define ActiveLCD             0x0020
87 #define ActiveTV              0x40
88 #define ActiveCRT2            0x80
89 
90 #define ActiveAVideo          0x01
91 #define ActiveSVideo          0x02
92 #define ActiveSCART           0x04
93 #define ActiveHiTV            0x08
94 #define ActiveYPbPr           0x10
95 
96 #define NTSC1024x768HT       1908
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 
105 #define VCLK25_175           0x00
106 #define VCLK28_322           0x01
107 #define VCLK31_5             0x02
108 #define VCLK36               0x03
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
115 #define VCLK68_179           0x0D
116 #define VCLK72_852           0x0E
117 #define VCLK75               0x0F
118 #define VCLK78_75            0x11
119 #define VCLK79_411           0x12
120 #define VCLK83_95            0x13
121 #define VCLK86_6             0x15
122 #define VCLK94_5             0x16
123 #define VCLK113_309          0x1B
124 #define VCLK116_406          0x1C
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
131 #define VCLK202_5            0x25
132 #define VCLK229_5            0x26
133 #define VCLK234              0x27
134 #define VCLK254_817          0x29
135 #define VCLK266_952          0x2B
136 #define VCLK269_655          0x2C
137 #define VCLK277_015          0x2E
138 #define VCLK291_132          0x30
139 #define VCLK291_766          0x31
140 #define VCLK315_195          0x33
141 #define VCLK323_586          0x34
142 #define VCLK330_615          0x35
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
148 #define VCLK217_325          0x55
149 #define XGI_YPbPr750pVCLK    0x57
150 
151 #define VCLK39_77            0x40
152 #define YPbPr525pVCLK        0x3A
153 #define NTSC1024VCLK         0x41
154 #define VCLK35_2             0x49 /* ; 800x480 */
155 #define VCLK122_61           0x4A
156 #define VCLK80_350           0x4B
157 #define VCLK107_385          0x4C
158 
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 
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
245 #define XGI330_SR31 0xc0
246 #define XGI330_SR32 0x11
247 #define XGI330_SR33 0
248 
249 extern const struct XGI_ExtStruct XGI330_EModeIDTable[];
250 extern const struct XGI_Ext2Struct XGI330_RefIndex[];
251 extern const struct XGI_CRT1TableStruct XGI_CRT1Table[];
252 extern const struct XGI_ECLKDataStruct XGI340_ECLKData[];
253 extern const struct SiS_VCLKData XGI_VCLKData[];
254 extern const unsigned char XGI340_CR6B[][4];
255 extern const unsigned char XGI340_AGPReg[];
256 
257 #endif
258