aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/ast/ast_tables.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/ast/ast_tables.h')
-rw-r--r--drivers/gpu/drm/ast/ast_tables.h58
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
112static 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
111static const struct ast_vbios_stdtable vbios_stdtable[] = { 142static 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
252static const struct ast_vbios_enhtable res_1600x900[] = { 284static 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
261static const struct ast_vbios_enhtable res_1920x1080[] = { 294static 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 */
270static const struct ast_vbios_enhtable res_1280x800[] = { 305static 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
280static const struct ast_vbios_enhtable res_1440x900[] = { 316static 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
289static const struct ast_vbios_enhtable res_1680x1050[] = { 326static 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
298static const struct ast_vbios_enhtable res_1920x1200[] = { 336static 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