diff options
Diffstat (limited to 'drivers/gpu/drm/ast/ast_tables.h')
-rw-r--r-- | drivers/gpu/drm/ast/ast_tables.h | 58 |
1 files changed, 49 insertions, 9 deletions
diff --git a/drivers/gpu/drm/ast/ast_tables.h b/drivers/gpu/drm/ast/ast_tables.h index a4ddf901a54f..5f4c2e833a65 100644 --- a/drivers/gpu/drm/ast/ast_tables.h +++ b/drivers/gpu/drm/ast/ast_tables.h | |||
@@ -47,6 +47,7 @@ | |||
47 | #define SyncPN (PVSync | NHSync) | 47 | #define SyncPN (PVSync | NHSync) |
48 | #define SyncNP (NVSync | PHSync) | 48 | #define SyncNP (NVSync | PHSync) |
49 | #define SyncNN (NVSync | NHSync) | 49 | #define SyncNN (NVSync | NHSync) |
50 | #define AST2500PreCatchCRT 0x00004000 | ||
50 | 51 | ||
51 | /* DCLK Index */ | 52 | /* DCLK Index */ |
52 | #define VCLK25_175 0x00 | 53 | #define VCLK25_175 0x00 |
@@ -108,6 +109,36 @@ static const struct ast_vbios_dclk_info dclk_table[] = { | |||
108 | {0x3b, 0x2c, 0x81}, /* 1A: VCLK118_25 */ | 109 | {0x3b, 0x2c, 0x81}, /* 1A: VCLK118_25 */ |
109 | }; | 110 | }; |
110 | 111 | ||
112 | static const struct ast_vbios_dclk_info dclk_table_ast2500[] = { | ||
113 | {0x2C, 0xE7, 0x03}, /* 00: VCLK25_175 */ | ||
114 | {0x95, 0x62, 0x03}, /* 01: VCLK28_322 */ | ||
115 | {0x67, 0x63, 0x01}, /* 02: VCLK31_5 */ | ||
116 | {0x76, 0x63, 0x01}, /* 03: VCLK36 */ | ||
117 | {0xEE, 0x67, 0x01}, /* 04: VCLK40 */ | ||
118 | {0x82, 0x62, 0x01}, /* 05: VCLK49_5 */ | ||
119 | {0xC6, 0x64, 0x01}, /* 06: VCLK50 */ | ||
120 | {0x94, 0x62, 0x01}, /* 07: VCLK56_25 */ | ||
121 | {0x80, 0x64, 0x00}, /* 08: VCLK65 */ | ||
122 | {0x7B, 0x63, 0x00}, /* 09: VCLK75 */ | ||
123 | {0x67, 0x62, 0x00}, /* 0A: VCLK78_75 */ | ||
124 | {0x7C, 0x62, 0x00}, /* 0B: VCLK94_5 */ | ||
125 | {0x8E, 0x62, 0x00}, /* 0C: VCLK108 */ | ||
126 | {0x85, 0x24, 0x00}, /* 0D: VCLK135 */ | ||
127 | {0x67, 0x22, 0x00}, /* 0E: VCLK157_5 */ | ||
128 | {0x6A, 0x22, 0x00}, /* 0F: VCLK162 */ | ||
129 | {0x4d, 0x4c, 0x80}, /* 10: VCLK154 */ | ||
130 | {0xa7, 0x78, 0x80}, /* 11: VCLK83.5 */ | ||
131 | {0x28, 0x49, 0x80}, /* 12: VCLK106.5 */ | ||
132 | {0x37, 0x49, 0x80}, /* 13: VCLK146.25 */ | ||
133 | {0x1f, 0x45, 0x80}, /* 14: VCLK148.5 */ | ||
134 | {0x47, 0x6c, 0x80}, /* 15: VCLK71 */ | ||
135 | {0x25, 0x65, 0x80}, /* 16: VCLK88.75 */ | ||
136 | {0x58, 0x01, 0x42}, /* 17: VCLK119 */ | ||
137 | {0x32, 0x67, 0x80}, /* 18: VCLK85_5 */ | ||
138 | {0x6a, 0x6d, 0x80}, /* 19: VCLK97_75 */ | ||
139 | {0x44, 0x20, 0x43}, /* 1A: VCLK118_25 */ | ||
140 | }; | ||
141 | |||
111 | static const struct ast_vbios_stdtable vbios_stdtable[] = { | 142 | static const struct ast_vbios_stdtable vbios_stdtable[] = { |
112 | /* MD_2_3_400 */ | 143 | /* MD_2_3_400 */ |
113 | { | 144 | { |
@@ -246,12 +277,14 @@ static const struct ast_vbios_enhtable res_1360x768[] = { | |||
246 | {1792, 1360, 64, 112, 795, 768, 3, 6, VCLK85_5, /* 60Hz */ | 277 | {1792, 1360, 64, 112, 795, 768, 3, 6, VCLK85_5, /* 60Hz */ |
247 | (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x39 }, | 278 | (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x39 }, |
248 | {1792, 1360, 64, 112, 795, 768, 3, 6, VCLK85_5, /* end */ | 279 | {1792, 1360, 64, 112, 795, 768, 3, 6, VCLK85_5, /* end */ |
249 | (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x39 }, | 280 | (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | |
281 | AST2500PreCatchCRT), 0xFF, 1, 0x39 }, | ||
250 | }; | 282 | }; |
251 | 283 | ||
252 | static const struct ast_vbios_enhtable res_1600x900[] = { | 284 | static const struct ast_vbios_enhtable res_1600x900[] = { |
253 | {1760, 1600, 48, 32, 926, 900, 3, 5, VCLK97_75, /* 60Hz CVT RB */ | 285 | {1760, 1600, 48, 32, 926, 900, 3, 5, VCLK97_75, /* 60Hz CVT RB */ |
254 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x3A }, | 286 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | |
287 | AST2500PreCatchCRT), 60, 1, 0x3A }, | ||
255 | {2112, 1600, 88, 168, 934, 900, 3, 5, VCLK118_25, /* 60Hz CVT */ | 288 | {2112, 1600, 88, 168, 934, 900, 3, 5, VCLK118_25, /* 60Hz CVT */ |
256 | (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x3A }, | 289 | (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x3A }, |
257 | {2112, 1600, 88, 168, 934, 900, 3, 5, VCLK118_25, /* 60Hz CVT */ | 290 | {2112, 1600, 88, 168, 934, 900, 3, 5, VCLK118_25, /* 60Hz CVT */ |
@@ -260,16 +293,19 @@ static const struct ast_vbios_enhtable res_1600x900[] = { | |||
260 | 293 | ||
261 | static const struct ast_vbios_enhtable res_1920x1080[] = { | 294 | static const struct ast_vbios_enhtable res_1920x1080[] = { |
262 | {2200, 1920, 88, 44, 1125, 1080, 4, 5, VCLK148_5, /* 60Hz */ | 295 | {2200, 1920, 88, 44, 1125, 1080, 4, 5, VCLK148_5, /* 60Hz */ |
263 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x38 }, | 296 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | |
297 | AST2500PreCatchCRT), 60, 1, 0x38 }, | ||
264 | {2200, 1920, 88, 44, 1125, 1080, 4, 5, VCLK148_5, /* 60Hz */ | 298 | {2200, 1920, 88, 44, 1125, 1080, 4, 5, VCLK148_5, /* 60Hz */ |
265 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x38 }, | 299 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | |
300 | AST2500PreCatchCRT), 0xFF, 1, 0x38 }, | ||
266 | }; | 301 | }; |
267 | 302 | ||
268 | 303 | ||
269 | /* 16:10 */ | 304 | /* 16:10 */ |
270 | static const struct ast_vbios_enhtable res_1280x800[] = { | 305 | static const struct ast_vbios_enhtable res_1280x800[] = { |
271 | {1440, 1280, 48, 32, 823, 800, 3, 6, VCLK71, /* 60Hz RB */ | 306 | {1440, 1280, 48, 32, 823, 800, 3, 6, VCLK71, /* 60Hz RB */ |
272 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x35 }, | 307 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | |
308 | AST2500PreCatchCRT), 60, 1, 0x35 }, | ||
273 | {1680, 1280, 72,128, 831, 800, 3, 6, VCLK83_5, /* 60Hz */ | 309 | {1680, 1280, 72,128, 831, 800, 3, 6, VCLK83_5, /* 60Hz */ |
274 | (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x35 }, | 310 | (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x35 }, |
275 | {1680, 1280, 72,128, 831, 800, 3, 6, VCLK83_5, /* 60Hz */ | 311 | {1680, 1280, 72,128, 831, 800, 3, 6, VCLK83_5, /* 60Hz */ |
@@ -279,7 +315,8 @@ static const struct ast_vbios_enhtable res_1280x800[] = { | |||
279 | 315 | ||
280 | static const struct ast_vbios_enhtable res_1440x900[] = { | 316 | static const struct ast_vbios_enhtable res_1440x900[] = { |
281 | {1600, 1440, 48, 32, 926, 900, 3, 6, VCLK88_75, /* 60Hz RB */ | 317 | {1600, 1440, 48, 32, 926, 900, 3, 6, VCLK88_75, /* 60Hz RB */ |
282 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x36 }, | 318 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | |
319 | AST2500PreCatchCRT), 60, 1, 0x36 }, | ||
283 | {1904, 1440, 80,152, 934, 900, 3, 6, VCLK106_5, /* 60Hz */ | 320 | {1904, 1440, 80,152, 934, 900, 3, 6, VCLK106_5, /* 60Hz */ |
284 | (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x36 }, | 321 | (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x36 }, |
285 | {1904, 1440, 80,152, 934, 900, 3, 6, VCLK106_5, /* 60Hz */ | 322 | {1904, 1440, 80,152, 934, 900, 3, 6, VCLK106_5, /* 60Hz */ |
@@ -288,7 +325,8 @@ static const struct ast_vbios_enhtable res_1440x900[] = { | |||
288 | 325 | ||
289 | static const struct ast_vbios_enhtable res_1680x1050[] = { | 326 | static const struct ast_vbios_enhtable res_1680x1050[] = { |
290 | {1840, 1680, 48, 32, 1080, 1050, 3, 6, VCLK119, /* 60Hz RB */ | 327 | {1840, 1680, 48, 32, 1080, 1050, 3, 6, VCLK119, /* 60Hz RB */ |
291 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x37 }, | 328 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | |
329 | AST2500PreCatchCRT), 60, 1, 0x37 }, | ||
292 | {2240, 1680,104,176, 1089, 1050, 3, 6, VCLK146_25, /* 60Hz */ | 330 | {2240, 1680,104,176, 1089, 1050, 3, 6, VCLK146_25, /* 60Hz */ |
293 | (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x37 }, | 331 | (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x37 }, |
294 | {2240, 1680,104,176, 1089, 1050, 3, 6, VCLK146_25, /* 60Hz */ | 332 | {2240, 1680,104,176, 1089, 1050, 3, 6, VCLK146_25, /* 60Hz */ |
@@ -297,9 +335,11 @@ static const struct ast_vbios_enhtable res_1680x1050[] = { | |||
297 | 335 | ||
298 | static const struct ast_vbios_enhtable res_1920x1200[] = { | 336 | static const struct ast_vbios_enhtable res_1920x1200[] = { |
299 | {2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154, /* 60Hz RB*/ | 337 | {2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154, /* 60Hz RB*/ |
300 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x34 }, | 338 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | |
339 | AST2500PreCatchCRT), 60, 1, 0x34 }, | ||
301 | {2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154, /* 60Hz RB */ | 340 | {2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154, /* 60Hz RB */ |
302 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x34 }, | 341 | (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | |
342 | AST2500PreCatchCRT), 0xFF, 1, 0x34 }, | ||
303 | }; | 343 | }; |
304 | 344 | ||
305 | #endif | 345 | #endif |