diff options
author | Harald Welte <laforge@gnumonks.org> | 2009-09-22 19:47:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-23 10:39:53 -0400 |
commit | 0306ab11c396f93056009152464ff104e4721817 (patch) | |
tree | b4b2586011d0b2669a2c02897795aacdb74d31d8 /drivers/video/via/viamode.c | |
parent | 5ff32f69e75deca5ee1a2f421ca8a3e43cfaa339 (diff) |
viafb: add support for the VX855 chipset
Add support for a new VIA integrated graphics chipset, the VX855.
Signed-off-by: HaraldWelte <HaraldWelte@viatech.com>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Scott Fang <ScottFang@viatech.com.cn>
Cc: Joseph Chan <JosephChan@via.com.tw>
Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/via/viamode.c')
-rw-r--r-- | drivers/video/via/viamode.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/drivers/video/via/viamode.c b/drivers/video/via/viamode.c index 16a8a97f6042..b74f8a67923c 100644 --- a/drivers/video/via/viamode.c +++ b/drivers/video/via/viamode.c | |||
@@ -312,6 +312,60 @@ struct io_reg CX700_ModeXregs[] = { {VIASR, SR10, 0xFF, 0x01}, | |||
312 | {VIACR, CR9B, 0xFF, 0x00} | 312 | {VIACR, CR9B, 0xFF, 0x00} |
313 | }; | 313 | }; |
314 | 314 | ||
315 | struct io_reg VX855_ModeXregs[] = { | ||
316 | {VIASR, SR10, 0xFF, 0x01}, | ||
317 | {VIASR, SR15, 0x02, 0x02}, | ||
318 | {VIASR, SR16, 0xBF, 0x08}, | ||
319 | {VIASR, SR17, 0xFF, 0x1F}, | ||
320 | {VIASR, SR18, 0xFF, 0x4E}, | ||
321 | {VIASR, SR1A, 0xFB, 0x08}, | ||
322 | {VIASR, SR1B, 0xFF, 0xF0}, | ||
323 | {VIASR, SR1E, 0x07, 0x01}, | ||
324 | {VIASR, SR2A, 0xF0, 0x00}, | ||
325 | {VIASR, SR58, 0xFF, 0x00}, | ||
326 | {VIASR, SR59, 0xFF, 0x00}, | ||
327 | {VIASR, SR2D, 0xFF, 0xFF}, /* VCK and LCK PLL power on. */ | ||
328 | {VIACR, CR09, 0xFF, 0x00}, /* Initial CR09=0*/ | ||
329 | {VIACR, CR11, 0x8F, 0x00}, /* IGA1 initial Vertical end */ | ||
330 | {VIACR, CR17, 0x7F, 0x00}, /* IGA1 CRT Mode control init */ | ||
331 | {VIACR, CR0A, 0xFF, 0x1E}, /* Cursor Start */ | ||
332 | {VIACR, CR0B, 0xFF, 0x00}, /* Cursor End */ | ||
333 | {VIACR, CR0E, 0xFF, 0x00}, /* Cursor Location High */ | ||
334 | {VIACR, CR0F, 0xFF, 0x00}, /* Cursor Localtion Low */ | ||
335 | {VIACR, CR32, 0xFF, 0x00}, | ||
336 | {VIACR, CR33, 0x7F, 0x00}, | ||
337 | {VIACR, CR35, 0xFF, 0x00}, | ||
338 | {VIACR, CR36, 0x08, 0x00}, | ||
339 | {VIACR, CR69, 0xFF, 0x00}, | ||
340 | {VIACR, CR6A, 0xFD, 0x60}, | ||
341 | {VIACR, CR6B, 0xFF, 0x00}, | ||
342 | {VIACR, CR6C, 0xFF, 0x00}, | ||
343 | {VIACR, CR7A, 0xFF, 0x01}, /* LCD Scaling Parameter 1 */ | ||
344 | {VIACR, CR7B, 0xFF, 0x02}, /* LCD Scaling Parameter 2 */ | ||
345 | {VIACR, CR7C, 0xFF, 0x03}, /* LCD Scaling Parameter 3 */ | ||
346 | {VIACR, CR7D, 0xFF, 0x04}, /* LCD Scaling Parameter 4 */ | ||
347 | {VIACR, CR7E, 0xFF, 0x07}, /* LCD Scaling Parameter 5 */ | ||
348 | {VIACR, CR7F, 0xFF, 0x0A}, /* LCD Scaling Parameter 6 */ | ||
349 | {VIACR, CR80, 0xFF, 0x0D}, /* LCD Scaling Parameter 7 */ | ||
350 | {VIACR, CR81, 0xFF, 0x13}, /* LCD Scaling Parameter 8 */ | ||
351 | {VIACR, CR82, 0xFF, 0x16}, /* LCD Scaling Parameter 9 */ | ||
352 | {VIACR, CR83, 0xFF, 0x19}, /* LCD Scaling Parameter 10 */ | ||
353 | {VIACR, CR84, 0xFF, 0x1C}, /* LCD Scaling Parameter 11 */ | ||
354 | {VIACR, CR85, 0xFF, 0x1D}, /* LCD Scaling Parameter 12 */ | ||
355 | {VIACR, CR86, 0xFF, 0x1E}, /* LCD Scaling Parameter 13 */ | ||
356 | {VIACR, CR87, 0xFF, 0x1F}, /* LCD Scaling Parameter 14 */ | ||
357 | {VIACR, CR88, 0xFF, 0x40}, /* LCD Panel Type */ | ||
358 | {VIACR, CR89, 0xFF, 0x00}, /* LCD Timing Control 0 */ | ||
359 | {VIACR, CR8A, 0xFF, 0x88}, /* LCD Timing Control 1 */ | ||
360 | {VIACR, CRD4, 0xFF, 0x81}, /* Second power sequence control */ | ||
361 | {VIACR, CR91, 0xFF, 0x80}, /* 24/12 bit LVDS Data off */ | ||
362 | {VIACR, CR96, 0xFF, 0x00}, | ||
363 | {VIACR, CR97, 0xFF, 0x00}, | ||
364 | {VIACR, CR99, 0xFF, 0x00}, | ||
365 | {VIACR, CR9B, 0xFF, 0x00}, | ||
366 | {VIACR, CRD2, 0xFF, 0xFF} /* TMDS/LVDS control register. */ | ||
367 | }; | ||
368 | |||
315 | /* Video Mode Table */ | 369 | /* Video Mode Table */ |
316 | /* Common Setting for Video Mode */ | 370 | /* Common Setting for Video Mode */ |
317 | struct io_reg CLE266_ModeXregs[] = { {VIASR, SR1E, 0xF0, 0x00}, | 371 | struct io_reg CLE266_ModeXregs[] = { {VIASR, SR1E, 0xF0, 0x00}, |
@@ -1012,6 +1066,7 @@ int NUM_TOTAL_CN400_ModeXregs = ARRAY_SIZE(CN400_ModeXregs); | |||
1012 | int NUM_TOTAL_CN700_ModeXregs = ARRAY_SIZE(CN700_ModeXregs); | 1066 | int NUM_TOTAL_CN700_ModeXregs = ARRAY_SIZE(CN700_ModeXregs); |
1013 | int NUM_TOTAL_KM400_ModeXregs = ARRAY_SIZE(KM400_ModeXregs); | 1067 | int NUM_TOTAL_KM400_ModeXregs = ARRAY_SIZE(KM400_ModeXregs); |
1014 | int NUM_TOTAL_CX700_ModeXregs = ARRAY_SIZE(CX700_ModeXregs); | 1068 | int NUM_TOTAL_CX700_ModeXregs = ARRAY_SIZE(CX700_ModeXregs); |
1069 | int NUM_TOTAL_VX855_ModeXregs = ARRAY_SIZE(VX855_ModeXregs); | ||
1015 | int NUM_TOTAL_CLE266_ModeXregs = ARRAY_SIZE(CLE266_ModeXregs); | 1070 | int NUM_TOTAL_CLE266_ModeXregs = ARRAY_SIZE(CLE266_ModeXregs); |
1016 | int NUM_TOTAL_PATCH_MODE = ARRAY_SIZE(res_patch_table); | 1071 | int NUM_TOTAL_PATCH_MODE = ARRAY_SIZE(res_patch_table); |
1017 | int NUM_TOTAL_MODETABLE = ARRAY_SIZE(CLE266Modes); | 1072 | int NUM_TOTAL_MODETABLE = ARRAY_SIZE(CLE266Modes); |