diff options
Diffstat (limited to 'drivers/video/modedb.c')
-rw-r--r-- | drivers/video/modedb.c | 572 |
1 files changed, 516 insertions, 56 deletions
diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c index a9a907c440d..86431ef4937 100644 --- a/drivers/video/modedb.c +++ b/drivers/video/modedb.c | |||
@@ -292,64 +292,524 @@ static const struct fb_videomode modedb[] = { | |||
292 | }; | 292 | }; |
293 | 293 | ||
294 | #ifdef CONFIG_FB_MODE_HELPERS | 294 | #ifdef CONFIG_FB_MODE_HELPERS |
295 | const struct fb_videomode cea_modes[64] = { | 295 | const struct fb_videomode cea_modes[CEA_MODEDB_SIZE] = { |
296 | /* #1: 640x480p@59.94/60Hz */ | 296 | {}, |
297 | [1] = { | 297 | /* 1: 640x480p @ 59.94Hz/60Hz */ |
298 | NULL, 60, 640, 480, 39722, 48, 16, 33, 10, 96, 2, 0, | 298 | {.refresh = 59, .xres = 640, .yres = 480, .pixclock = 39721, |
299 | FB_VMODE_NONINTERLACED, 0, | 299 | .left_margin = 48, .right_margin = 16, |
300 | }, | 300 | .upper_margin = 33, .lower_margin = 10, |
301 | /* #3: 720x480p@59.94/60Hz */ | 301 | .hsync_len = 96, .vsync_len = 2, |
302 | [3] = { | 302 | .sync = 0, |
303 | NULL, 60, 720, 480, 37037, 60, 16, 30, 9, 62, 6, 0, | 303 | .flag = FB_FLAG_RATIO_4_3, |
304 | FB_VMODE_NONINTERLACED, 0, | 304 | .vmode = FB_VMODE_NONINTERLACED}, |
305 | }, | 305 | /* 2: 720x480p @ 59.94Hz/60Hz */ |
306 | /* #5: 1920x1080i@59.94/60Hz */ | 306 | {.refresh = 59, .xres = 720, .yres = 480, .pixclock = 37037, |
307 | [5] = { | 307 | .left_margin = 60, .right_margin = 16, |
308 | NULL, 60, 1920, 1080, 13763, 148, 88, 15, 2, 44, 5, | 308 | .upper_margin = 30, .lower_margin = 9, |
309 | FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | 309 | .hsync_len = 62, .vsync_len = 6, |
310 | FB_VMODE_INTERLACED, 0, | 310 | .sync = 0, |
311 | }, | 311 | .flag = FB_FLAG_RATIO_4_3, |
312 | /* #7: 720(1440)x480iH@59.94/60Hz */ | 312 | .vmode = FB_VMODE_NONINTERLACED}, |
313 | [7] = { | 313 | /* 3: 720x480p @ 59.94Hz/60Hz */ |
314 | NULL, 60, 1440, 480, 18554/*37108*/, 114, 38, 15, 4, 124, 3, 0, | 314 | {.refresh = 59, .xres = 720, .yres = 480, .pixclock = 37037, |
315 | FB_VMODE_INTERLACED, 0, | 315 | .left_margin = 60, .right_margin = 16, |
316 | }, | 316 | .upper_margin = 30, .lower_margin = 9, |
317 | /* #9: 720(1440)x240pH@59.94/60Hz */ | 317 | .hsync_len = 62, .vsync_len = 6, |
318 | [9] = { | 318 | .sync = 0, |
319 | NULL, 60, 1440, 240, 18554, 114, 38, 16, 4, 124, 3, 0, | 319 | .flag = FB_FLAG_RATIO_16_9, |
320 | FB_VMODE_NONINTERLACED, 0, | 320 | .vmode = FB_VMODE_NONINTERLACED}, |
321 | }, | 321 | /* 4: 1280x720p @ 59.94Hz/60Hz */ |
322 | /* #18: 720x576pH@50Hz */ | 322 | {.refresh = 60, .xres = 1280, .yres = 720, .pixclock = 13468, |
323 | [18] = { | 323 | .left_margin = 220, .right_margin = 110, |
324 | NULL, 50, 720, 576, 37037, 68, 12, 39, 5, 64, 5, 0, | 324 | .upper_margin = 20, .lower_margin = 5, |
325 | FB_VMODE_NONINTERLACED, 0, | 325 | .hsync_len = 40, .vsync_len = 5, |
326 | }, | 326 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, |
327 | /* #19: 1280x720p@50Hz */ | 327 | .flag = FB_FLAG_RATIO_16_9, |
328 | [19] = { | 328 | .vmode = FB_VMODE_NONINTERLACED}, |
329 | NULL, 50, 1280, 720, 13468, 220, 440, 20, 5, 40, 5, | 329 | /* 5: 1920x1080i @ 59.94Hz/60Hz */ |
330 | FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | 330 | {.refresh = 60, .xres = 1920, .yres = 1080, .pixclock = 13468, |
331 | FB_VMODE_NONINTERLACED, 0, | 331 | .left_margin = 148, .right_margin = 88, |
332 | }, | 332 | .upper_margin = 15, .lower_margin = 2, |
333 | /* #20: 1920x1080i@50Hz */ | 333 | .hsync_len = 44, .vsync_len = 5, |
334 | [20] = { | 334 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, |
335 | NULL, 50, 1920, 1080, 13480, 148, 528, 15, 5, 528, 5, | 335 | .flag = FB_FLAG_RATIO_16_9, |
336 | FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | 336 | .vmode = FB_VMODE_INTERLACED}, |
337 | FB_VMODE_INTERLACED, 0, | 337 | /* 6: 720(1440)x480i @ 59.94Hz/60Hz */ |
338 | }, | 338 | {.refresh = 59, .xres = 1440, .yres = 480, .pixclock = 37037, |
339 | /* #32: 1920x1080p@23.98/24Hz */ | 339 | .left_margin = 114, .right_margin = 38, |
340 | [32] = { | 340 | .upper_margin = 15, .lower_margin = 4, |
341 | NULL, 24, 1920, 1080, 13468, 148, 638, 36, 4, 44, 5, | 341 | .hsync_len = 124, .vsync_len = 3, |
342 | FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | 342 | .sync = 0, |
343 | FB_VMODE_NONINTERLACED, 0, | 343 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, |
344 | }, | 344 | .vmode = FB_VMODE_INTERLACED}, |
345 | /* #35: (2880)x480p4x@59.94/60Hz */ | 345 | /* 7: 720(1440)x480i @ 59.94Hz/60Hz */ |
346 | [35] = { | 346 | {.refresh = 59, .xres = 1440, .yres = 480, .pixclock = 37037, |
347 | NULL, 60, 2880, 480, 9250, 240, 64, 30, 9, 248, 6, 0, | 347 | .left_margin = 114, .right_margin = 38, |
348 | FB_VMODE_NONINTERLACED, 0, | 348 | .upper_margin = 15, .lower_margin = 4, |
349 | }, | 349 | .hsync_len = 124, .vsync_len = 3, |
350 | .sync = 0, | ||
351 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
352 | .vmode = FB_VMODE_INTERLACED}, | ||
353 | /* 8: 720(1440)x240p @ 59.94Hz/60Hz */ | ||
354 | {.refresh = 59, .xres = 1440, .yres = 240, .pixclock = 37037, | ||
355 | .left_margin = 114, .right_margin = 38, | ||
356 | .upper_margin = 15, .lower_margin = 5, | ||
357 | .hsync_len = 124, .vsync_len = 3, | ||
358 | .sync = 0, | ||
359 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, | ||
360 | .vmode = FB_VMODE_NONINTERLACED}, | ||
361 | /* 9: 720(1440)x240p @ 59.94Hz/60Hz */ | ||
362 | {.refresh = 59, .xres = 1440, .yres = 240, .pixclock = 37037, | ||
363 | .left_margin = 114, .right_margin = 38, | ||
364 | .upper_margin = 15, .lower_margin = 5, | ||
365 | .hsync_len = 124, .vsync_len = 3, | ||
366 | .sync = 0, | ||
367 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
368 | .vmode = FB_VMODE_NONINTERLACED}, | ||
369 | /* 10: 2880x480i @ 59.94Hz/60Hz */ | ||
370 | {.refresh = 59, .xres = 2880, .yres = 480, .pixclock = 18518, | ||
371 | .left_margin = 228, .right_margin = 76, | ||
372 | .upper_margin = 15, .lower_margin = 4, | ||
373 | .hsync_len = 248, .vsync_len = 3, | ||
374 | .sync = 0, | ||
375 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, | ||
376 | .vmode = FB_VMODE_INTERLACED}, | ||
377 | /* 11: 2880x480i @ 59.94Hz/60Hz */ | ||
378 | {.refresh = 59, .xres = 2880, .yres = 480, .pixclock = 18518, | ||
379 | .left_margin = 228, .right_margin = 76, | ||
380 | .upper_margin = 15, .lower_margin = 4, | ||
381 | .hsync_len = 248, .vsync_len = 3, | ||
382 | .sync = 0, | ||
383 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
384 | .vmode = FB_VMODE_INTERLACED}, | ||
385 | /* 12: 2880x240p @ 59.94Hz/60Hz */ | ||
386 | {.refresh = 59, .xres = 2880, .yres = 240, .pixclock = 18518, | ||
387 | .left_margin = 228, .right_margin = 76, | ||
388 | .upper_margin = 15, .lower_margin = 5, | ||
389 | .hsync_len = 248, .vsync_len = 3, | ||
390 | .sync = 0, | ||
391 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, | ||
392 | .vmode = FB_VMODE_NONINTERLACED}, | ||
393 | /* 13: 2880x240p @ 59.94Hz/60Hz */ | ||
394 | {.refresh = 59, .xres = 2880, .yres = 240, .pixclock = 18518, | ||
395 | .left_margin = 228, .right_margin = 76, | ||
396 | .upper_margin = 15, .lower_margin = 5, | ||
397 | .hsync_len = 248, .vsync_len = 3, | ||
398 | .sync = 0, | ||
399 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
400 | .vmode = FB_VMODE_NONINTERLACED}, | ||
401 | /* 14: 1440x480p @ 59.94Hz/60Hz */ | ||
402 | {.refresh = 59, .xres = 1440, .yres = 480, .pixclock = 18518, | ||
403 | .left_margin = 120, .right_margin = 32, | ||
404 | .upper_margin = 30, .lower_margin = 9, | ||
405 | .hsync_len = 124, .vsync_len = 6, | ||
406 | .sync = 0, | ||
407 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, | ||
408 | .vmode = FB_VMODE_NONINTERLACED}, | ||
409 | /* 15: 1440x480p @ 59.94Hz/60Hz */ | ||
410 | {.refresh = 59, .xres = 1440, .yres = 480, .pixclock = 18518, | ||
411 | .left_margin = 120, .right_margin = 32, | ||
412 | .upper_margin = 30, .lower_margin = 9, | ||
413 | .hsync_len = 124, .vsync_len = 6, | ||
414 | .sync = 0, | ||
415 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
416 | .vmode = FB_VMODE_NONINTERLACED}, | ||
417 | /* 16: 1920x1080p @ 59.94Hz/60Hz */ | ||
418 | {.refresh = 60, .xres = 1920, .yres = 1080, .pixclock = 6734, | ||
419 | .left_margin = 148, .right_margin = 88, | ||
420 | .upper_margin = 36, .lower_margin = 4, | ||
421 | .hsync_len = 44, .vsync_len = 5, | ||
422 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
423 | .flag = FB_FLAG_RATIO_16_9, | ||
424 | .vmode = FB_VMODE_NONINTERLACED}, | ||
425 | /* 17: 720x576p @ 50Hz */ | ||
426 | {.refresh = 50, .xres = 720, .yres = 576, .pixclock = 37037, | ||
427 | .left_margin = 68, .right_margin = 12, | ||
428 | .upper_margin = 39, .lower_margin = 5, | ||
429 | .hsync_len = 64, .vsync_len = 5, | ||
430 | .sync = 0, | ||
431 | .flag = FB_FLAG_RATIO_4_3, | ||
432 | .vmode = FB_VMODE_NONINTERLACED}, | ||
433 | /* 18: 720x576p @ 50Hz */ | ||
434 | {.refresh = 50, .xres = 720, .yres = 576, .pixclock = 37037, | ||
435 | .left_margin = 68, .right_margin = 12, | ||
436 | .upper_margin = 39, .lower_margin = 5, | ||
437 | .hsync_len = 64, .vsync_len = 5, | ||
438 | .sync = 0, | ||
439 | .flag = FB_FLAG_RATIO_16_9, | ||
440 | .vmode = FB_VMODE_NONINTERLACED}, | ||
441 | /* 19: 1280x720p @ 50Hz */ | ||
442 | {.refresh = 50, .xres = 1280, .yres = 720, .pixclock = 13468, | ||
443 | .left_margin = 220, .right_margin = 440, | ||
444 | .upper_margin = 20, .lower_margin = 5, | ||
445 | .hsync_len = 40, .vsync_len = 5, | ||
446 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
447 | .flag = FB_FLAG_RATIO_16_9, | ||
448 | .vmode = FB_VMODE_NONINTERLACED}, | ||
449 | /* 20: 1920x1080i @ 50Hz */ | ||
450 | {.refresh = 50, .xres = 1920, .yres = 1080, .pixclock = 13468, | ||
451 | .left_margin = 148, .right_margin = 528, | ||
452 | .upper_margin = 15, .lower_margin = 2, | ||
453 | .hsync_len = 44, .vsync_len = 5, | ||
454 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
455 | .flag = FB_FLAG_RATIO_16_9, | ||
456 | .vmode = FB_VMODE_INTERLACED}, | ||
457 | /* 21: 720(1440)x576i @ 50Hz */ | ||
458 | {.refresh = 50, .xres = 1440, .yres = 576, .pixclock = 37037, | ||
459 | .left_margin = 138, .right_margin = 24, | ||
460 | .upper_margin = 19, .lower_margin = 2, | ||
461 | .hsync_len = 126, .vsync_len = 3, | ||
462 | .sync = 0, | ||
463 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, | ||
464 | .vmode = FB_VMODE_INTERLACED}, | ||
465 | /* 22: 720(1440)x576i @ 50Hz */ | ||
466 | {.refresh = 50, .xres = 1440, .yres = 576, .pixclock = 37037, | ||
467 | .left_margin = 138, .right_margin = 24, | ||
468 | .upper_margin = 19, .lower_margin = 2, | ||
469 | .hsync_len = 126, .vsync_len = 3, | ||
470 | .sync = 0, | ||
471 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
472 | .vmode = FB_VMODE_INTERLACED}, | ||
473 | /* 23: 720(1440)x288p @ 50Hz */ | ||
474 | {.refresh = 49, .xres = 1440, .yres = 288, .pixclock = 37037, | ||
475 | .left_margin = 138, .right_margin = 24, | ||
476 | .upper_margin = 19, .lower_margin = 4, | ||
477 | .hsync_len = 126, .vsync_len = 3, | ||
478 | .sync = 0, | ||
479 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, | ||
480 | .vmode = FB_VMODE_NONINTERLACED}, | ||
481 | /* 24: 720(1440)x288p @ 50Hz */ | ||
482 | {.refresh = 49, .xres = 1440, .yres = 288, .pixclock = 37037, | ||
483 | .left_margin = 138, .right_margin = 24, | ||
484 | .upper_margin = 19, .lower_margin = 4, | ||
485 | .hsync_len = 126, .vsync_len = 3, | ||
486 | .sync = 0, | ||
487 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
488 | .vmode = FB_VMODE_NONINTERLACED}, | ||
489 | /* 25: 2880x576i @ 50Hz */ | ||
490 | {.refresh = 50, .xres = 2880, .yres = 576, .pixclock = 18518, | ||
491 | .left_margin = 276, .right_margin = 48, | ||
492 | .upper_margin = 19, .lower_margin = 2, | ||
493 | .hsync_len = 252, .vsync_len = 3, | ||
494 | .sync = 0, | ||
495 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, | ||
496 | .vmode = FB_VMODE_INTERLACED}, | ||
497 | /* 26: 2880x576i @ 50Hz */ | ||
498 | {.refresh = 50, .xres = 2880, .yres = 576, .pixclock = 18518, | ||
499 | .left_margin = 276, .right_margin = 48, | ||
500 | .upper_margin = 19, .lower_margin = 2, | ||
501 | .hsync_len = 252, .vsync_len = 3, | ||
502 | .sync = 0, | ||
503 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
504 | .vmode = FB_VMODE_INTERLACED}, | ||
505 | /* 27: 2880x288p @ 50Hz */ | ||
506 | {.refresh = 49, .xres = 2880, .yres = 288, .pixclock = 18518, | ||
507 | .left_margin = 276, .right_margin = 48, | ||
508 | .upper_margin = 19, .lower_margin = 4, | ||
509 | .hsync_len = 252, .vsync_len = 3, | ||
510 | .sync = 0, | ||
511 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, | ||
512 | .vmode = FB_VMODE_NONINTERLACED}, | ||
513 | /* 28: 2880x288p @ 50Hz */ | ||
514 | {.refresh = 49, .xres = 2880, .yres = 288, .pixclock = 18518, | ||
515 | .left_margin = 276, .right_margin = 48, | ||
516 | .upper_margin = 19, .lower_margin = 4, | ||
517 | .hsync_len = 252, .vsync_len = 3, | ||
518 | .sync = 0, | ||
519 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
520 | .vmode = FB_VMODE_NONINTERLACED}, | ||
521 | /* 29: 1440x576p @ 50Hz */ | ||
522 | {.refresh = 50, .xres = 1440, .yres = 576, .pixclock = 18518, | ||
523 | .left_margin = 136, .right_margin = 24, | ||
524 | .upper_margin = 39, .lower_margin = 5, | ||
525 | .hsync_len = 128, .vsync_len = 5, | ||
526 | .sync = 0, | ||
527 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, | ||
528 | .vmode = FB_VMODE_NONINTERLACED}, | ||
529 | /* 30: 1440x576p @ 50Hz */ | ||
530 | {.refresh = 50, .xres = 1440, .yres = 576, .pixclock = 18518, | ||
531 | .left_margin = 136, .right_margin = 24, | ||
532 | .upper_margin = 39, .lower_margin = 5, | ||
533 | .hsync_len = 128, .vsync_len = 5, | ||
534 | .sync = 0, | ||
535 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
536 | .vmode = FB_VMODE_NONINTERLACED}, | ||
537 | /* 31: 1920x1080p @ 50Hz */ | ||
538 | {.refresh = 50, .xres = 1920, .yres = 1080, .pixclock = 6734, | ||
539 | .left_margin = 148, .right_margin = 528, | ||
540 | .upper_margin = 36, .lower_margin = 4, | ||
541 | .hsync_len = 44, .vsync_len = 5, | ||
542 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
543 | .flag = FB_FLAG_RATIO_16_9, | ||
544 | .vmode = FB_VMODE_NONINTERLACED}, | ||
545 | /* 32: 1920x1080p @ 23.97Hz/24Hz */ | ||
546 | {.refresh = 24, .xres = 1920, .yres = 1080, .pixclock = 13468, | ||
547 | .left_margin = 148, .right_margin = 638, | ||
548 | .upper_margin = 36, .lower_margin = 4, | ||
549 | .hsync_len = 44, .vsync_len = 5, | ||
550 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
551 | .flag = FB_FLAG_RATIO_16_9, | ||
552 | .vmode = FB_VMODE_NONINTERLACED}, | ||
553 | /* 33: 1920x1080p @ 25Hz */ | ||
554 | {.refresh = 25, .xres = 1920, .yres = 1080, .pixclock = 13468, | ||
555 | .left_margin = 148, .right_margin = 528, | ||
556 | .upper_margin = 36, .lower_margin = 4, | ||
557 | .hsync_len = 44, .vsync_len = 5, | ||
558 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
559 | .flag = FB_FLAG_RATIO_16_9, | ||
560 | .vmode = FB_VMODE_NONINTERLACED}, | ||
561 | /* 34: 1920x1080p @ 29.97Hz/30Hz */ | ||
562 | {.refresh = 30, .xres = 1920, .yres = 1080, .pixclock = 13468, | ||
563 | .left_margin = 148, .right_margin = 88, | ||
564 | .upper_margin = 36, .lower_margin = 4, | ||
565 | .hsync_len = 44, .vsync_len = 5, | ||
566 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
567 | .flag = FB_FLAG_RATIO_16_9, | ||
568 | .vmode = FB_VMODE_NONINTERLACED}, | ||
569 | /* 35: 2880x480p @ 59.94Hz/60Hz */ | ||
570 | {.refresh = 59, .xres = 2880, .yres = 480, .pixclock = 9259, | ||
571 | .left_margin = 240, .right_margin = 64, | ||
572 | .upper_margin = 30, .lower_margin = 9, | ||
573 | .hsync_len = 248, .vsync_len = 6, | ||
574 | .sync = 0, | ||
575 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, | ||
576 | .vmode = FB_VMODE_NONINTERLACED}, | ||
577 | /* 36: 2880x480p @ 59.94Hz/60Hz */ | ||
578 | {.refresh = 59, .xres = 2880, .yres = 480, .pixclock = 9259, | ||
579 | .left_margin = 240, .right_margin = 64, | ||
580 | .upper_margin = 30, .lower_margin = 9, | ||
581 | .hsync_len = 248, .vsync_len = 6, | ||
582 | .sync = 0, | ||
583 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
584 | .vmode = FB_VMODE_NONINTERLACED}, | ||
585 | /* 37: 2880x576p @ 50Hz */ | ||
586 | {.refresh = 50, .xres = 2880, .yres = 576, .pixclock = 9259, | ||
587 | .left_margin = 272, .right_margin = 48, | ||
588 | .upper_margin = 39, .lower_margin = 5, | ||
589 | .hsync_len = 256, .vsync_len = 5, | ||
590 | .sync = 0, | ||
591 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, | ||
592 | .vmode = FB_VMODE_NONINTERLACED}, | ||
593 | /* 38: 2880x576p @ 50Hz */ | ||
594 | {.refresh = 50, .xres = 2880, .yres = 576, .pixclock = 9259, | ||
595 | .left_margin = 272, .right_margin = 48, | ||
596 | .upper_margin = 39, .lower_margin = 5, | ||
597 | .hsync_len = 256, .vsync_len = 5, | ||
598 | .sync = 0, | ||
599 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
600 | .vmode = FB_VMODE_NONINTERLACED}, | ||
601 | /* 39: 1920x1080i @ 50Hz */ | ||
602 | {.refresh = 50, .xres = 1920, .yres = 1080, .pixclock = 13888, | ||
603 | .left_margin = 184, .right_margin = 32, | ||
604 | .upper_margin = 57, .lower_margin = 23, | ||
605 | .hsync_len = 168, .vsync_len = 5, | ||
606 | .sync = FB_SYNC_HOR_HIGH_ACT, | ||
607 | .flag = FB_FLAG_RATIO_16_9, | ||
608 | .vmode = FB_VMODE_INTERLACED}, | ||
609 | /* 40: 1920x1080i @ 100Hz */ | ||
610 | {.refresh = 100, .xres = 1920, .yres = 1080, .pixclock = 6734, | ||
611 | .left_margin = 148, .right_margin = 528, | ||
612 | .upper_margin = 15, .lower_margin = 2, | ||
613 | .hsync_len = 44, .vsync_len = 5, | ||
614 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
615 | .flag = FB_FLAG_RATIO_16_9, | ||
616 | .vmode = FB_VMODE_INTERLACED}, | ||
617 | /* 41: 1280x720p @ 100Hz */ | ||
618 | {.refresh = 100, .xres = 1280, .yres = 720, .pixclock = 6734, | ||
619 | .left_margin = 220, .right_margin = 440, | ||
620 | .upper_margin = 20, .lower_margin = 5, | ||
621 | .hsync_len = 40, .vsync_len = 5, | ||
622 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
623 | .flag = FB_FLAG_RATIO_16_9, | ||
624 | .vmode = FB_VMODE_NONINTERLACED}, | ||
625 | /* 42: 720x576p @ 100Hz */ | ||
626 | {.refresh = 100, .xres = 720, .yres = 576, .pixclock = 18518, | ||
627 | .left_margin = 68, .right_margin = 12, | ||
628 | .upper_margin = 39, .lower_margin = 5, | ||
629 | .hsync_len = 64, .vsync_len = 5, | ||
630 | .sync = 0, | ||
631 | .flag = FB_FLAG_RATIO_4_3, | ||
632 | .vmode = FB_VMODE_NONINTERLACED}, | ||
633 | /* 43: 720x576p @ 100Hz */ | ||
634 | {.refresh = 100, .xres = 720, .yres = 576, .pixclock = 18518, | ||
635 | .left_margin = 68, .right_margin = 12, | ||
636 | .upper_margin = 39, .lower_margin = 5, | ||
637 | .hsync_len = 64, .vsync_len = 5, | ||
638 | .sync = 0, | ||
639 | .flag = FB_FLAG_RATIO_16_9, | ||
640 | .vmode = FB_VMODE_NONINTERLACED}, | ||
641 | /* 44: 720(1440)x576i @ 100Hz */ | ||
642 | {.refresh = 100, .xres = 1440, .yres = 576, .pixclock = 18518, | ||
643 | .left_margin = 138, .right_margin = 24, | ||
644 | .upper_margin = 19, .lower_margin = 2, | ||
645 | .hsync_len = 126, .vsync_len = 3, | ||
646 | .sync = 0, | ||
647 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, | ||
648 | .vmode = FB_VMODE_INTERLACED}, | ||
649 | /* 45: 720(1440)x576i @ 100Hz */ | ||
650 | {.refresh = 100, .xres = 1440, .yres = 576, .pixclock = 18518, | ||
651 | .left_margin = 138, .right_margin = 24, | ||
652 | .upper_margin = 19, .lower_margin = 2, | ||
653 | .hsync_len = 126, .vsync_len = 3, | ||
654 | .sync = 0, | ||
655 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
656 | .vmode = FB_VMODE_INTERLACED}, | ||
657 | /* 46: 1920x1080i @ 119.88/120Hz */ | ||
658 | {.refresh = 120, .xres = 1920, .yres = 1080, .pixclock = 6734, | ||
659 | .left_margin = 148, .right_margin = 88, | ||
660 | .upper_margin = 15, .lower_margin = 2, | ||
661 | .hsync_len = 44, .vsync_len = 5, | ||
662 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
663 | .flag = FB_FLAG_RATIO_16_9, | ||
664 | .vmode = FB_VMODE_INTERLACED}, | ||
665 | /* 47: 1280x720p @ 119.88/120Hz */ | ||
666 | {.refresh = 120, .xres = 1280, .yres = 720, .pixclock = 6734, | ||
667 | .left_margin = 220, .right_margin = 110, | ||
668 | .upper_margin = 20, .lower_margin = 5, | ||
669 | .hsync_len = 40, .vsync_len = 5, | ||
670 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
671 | .flag = FB_FLAG_RATIO_16_9, | ||
672 | .vmode = FB_VMODE_NONINTERLACED}, | ||
673 | /* 48: 720x480p @ 119.88/120Hz */ | ||
674 | {.refresh = 119, .xres = 720, .yres = 480, .pixclock = 18518, | ||
675 | .left_margin = 60, .right_margin = 16, | ||
676 | .upper_margin = 30, .lower_margin = 9, | ||
677 | .hsync_len = 62, .vsync_len = 6, | ||
678 | .sync = 0, | ||
679 | .flag = FB_FLAG_RATIO_4_3, | ||
680 | .vmode = FB_VMODE_NONINTERLACED}, | ||
681 | /* 49: 720x480p @ 119.88/120Hz */ | ||
682 | {.refresh = 119, .xres = 720, .yres = 480, .pixclock = 18518, | ||
683 | .left_margin = 60, .right_margin = 16, | ||
684 | .upper_margin = 30, .lower_margin = 9, | ||
685 | .hsync_len = 62, .vsync_len = 6, | ||
686 | .sync = 0, | ||
687 | .flag = FB_FLAG_RATIO_16_9, | ||
688 | .vmode = FB_VMODE_NONINTERLACED}, | ||
689 | /* 50: 720(1440)x480i @ 119.88/120Hz */ | ||
690 | {.refresh = 119, .xres = 1440, .yres = 480, .pixclock = 18518, | ||
691 | .left_margin = 114, .right_margin = 38, | ||
692 | .upper_margin = 15, .lower_margin = 4, | ||
693 | .hsync_len = 124, .vsync_len = 3, | ||
694 | .sync = 0, | ||
695 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, | ||
696 | .vmode = FB_VMODE_INTERLACED}, | ||
697 | /* 51: 720(1440)x480i @ 119.88/120Hz */ | ||
698 | {.refresh = 119, .xres = 1440, .yres = 480, .pixclock = 18518, | ||
699 | .left_margin = 114, .right_margin = 38, | ||
700 | .upper_margin = 15, .lower_margin = 4, | ||
701 | .hsync_len = 124, .vsync_len = 3, | ||
702 | .sync = 0, | ||
703 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
704 | .vmode = FB_VMODE_INTERLACED}, | ||
705 | /* 52: 720x576p @ 200Hz */ | ||
706 | {.refresh = 200, .xres = 720, .yres = 576, .pixclock = 9259, | ||
707 | .left_margin = 68, .right_margin = 12, | ||
708 | .upper_margin = 39, .lower_margin = 5, | ||
709 | .hsync_len = 64, .vsync_len = 5, | ||
710 | .sync = 0, | ||
711 | .flag = FB_FLAG_RATIO_4_3, | ||
712 | .vmode = FB_VMODE_NONINTERLACED}, | ||
713 | /* 53: 720x576p @ 200Hz */ | ||
714 | {.refresh = 200, .xres = 720, .yres = 576, .pixclock = 9259, | ||
715 | .left_margin = 68, .right_margin = 12, | ||
716 | .upper_margin = 39, .lower_margin = 5, | ||
717 | .hsync_len = 64, .vsync_len = 5, | ||
718 | .sync = 0, | ||
719 | .flag = FB_FLAG_RATIO_16_9, | ||
720 | .vmode = FB_VMODE_NONINTERLACED}, | ||
721 | /* 54: 720(1440)x576i @ 200Hz */ | ||
722 | {.refresh = 200, .xres = 1440, .yres = 576, .pixclock = 9259, | ||
723 | .left_margin = 138, .right_margin = 24, | ||
724 | .upper_margin = 19, .lower_margin = 2, | ||
725 | .hsync_len = 126, .vsync_len = 3, | ||
726 | .sync = 0, | ||
727 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, | ||
728 | .vmode = FB_VMODE_INTERLACED}, | ||
729 | /* 55: 720(1440)x576i @ 200Hz */ | ||
730 | {.refresh = 200, .xres = 1440, .yres = 576, .pixclock = 9259, | ||
731 | .left_margin = 138, .right_margin = 24, | ||
732 | .upper_margin = 19, .lower_margin = 2, | ||
733 | .hsync_len = 126, .vsync_len = 3, | ||
734 | .sync = 0, | ||
735 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
736 | .vmode = FB_VMODE_INTERLACED}, | ||
737 | /* 56: 720x480p @ 239.76/240Hz */ | ||
738 | {.refresh = 239, .xres = 720, .yres = 480, .pixclock = 9259, | ||
739 | .left_margin = 60, .right_margin = 16, | ||
740 | .upper_margin = 30, .lower_margin = 9, | ||
741 | .hsync_len = 62, .vsync_len = 6, | ||
742 | .sync = 0, | ||
743 | .flag = FB_FLAG_RATIO_4_3, | ||
744 | .vmode = FB_VMODE_NONINTERLACED}, | ||
745 | /* 57: 720x480p @ 239.76/240Hz */ | ||
746 | {.refresh = 239, .xres = 720, .yres = 480, .pixclock = 9259, | ||
747 | .left_margin = 60, .right_margin = 16, | ||
748 | .upper_margin = 30, .lower_margin = 9, | ||
749 | .hsync_len = 62, .vsync_len = 6, | ||
750 | .sync = 0, | ||
751 | .flag = FB_FLAG_RATIO_16_9, | ||
752 | .vmode = FB_VMODE_NONINTERLACED}, | ||
753 | /* 58: 720(1440)x480i @ 239.76/240Hz */ | ||
754 | {.refresh = 239, .xres = 1440, .yres = 480, .pixclock = 9259, | ||
755 | .left_margin = 114, .right_margin = 38, | ||
756 | .upper_margin = 15, .lower_margin = 4, | ||
757 | .hsync_len = 124, .vsync_len = 3, | ||
758 | .sync = 0, | ||
759 | .flag = FB_FLAG_RATIO_4_3 | FB_FLAG_PIXEL_REPEAT, | ||
760 | .vmode = FB_VMODE_INTERLACED}, | ||
761 | /* 59: 720(1440)x480i @ 239.76/240Hz */ | ||
762 | {.refresh = 239, .xres = 1440, .yres = 480, .pixclock = 9259, | ||
763 | .left_margin = 114, .right_margin = 38, | ||
764 | .upper_margin = 15, .lower_margin = 4, | ||
765 | .hsync_len = 124, .vsync_len = 3, | ||
766 | .sync = 0, | ||
767 | .flag = FB_FLAG_RATIO_16_9 | FB_FLAG_PIXEL_REPEAT, | ||
768 | .vmode = FB_VMODE_INTERLACED}, | ||
769 | /* 60: 1280x720p @ 23.97Hz/24Hz */ | ||
770 | {.refresh = 24, .xres = 1280, .yres = 720, .pixclock = 16835, | ||
771 | .left_margin = 220, .right_margin = 1760, | ||
772 | .upper_margin = 20, .lower_margin = 5, | ||
773 | .hsync_len = 40, .vsync_len = 5, | ||
774 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
775 | .flag = FB_FLAG_RATIO_16_9, | ||
776 | .vmode = FB_VMODE_NONINTERLACED}, | ||
777 | /* 61: 1280x720p @ 25Hz */ | ||
778 | {.refresh = 25, .xres = 1280, .yres = 720, .pixclock = 13468, | ||
779 | .left_margin = 220, .right_margin = 2420, | ||
780 | .upper_margin = 20, .lower_margin = 5, | ||
781 | .hsync_len = 40, .vsync_len = 5, | ||
782 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
783 | .flag = FB_FLAG_RATIO_16_9, | ||
784 | .vmode = FB_VMODE_NONINTERLACED}, | ||
785 | /* 62: 1280x720p @ 29.97Hz/30Hz */ | ||
786 | {.refresh = 30, .xres = 1280, .yres = 720, .pixclock = 13468, | ||
787 | .left_margin = 220, .right_margin = 1760, | ||
788 | .upper_margin = 20, .lower_margin = 5, | ||
789 | .hsync_len = 40, .vsync_len = 5, | ||
790 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
791 | .flag = FB_FLAG_RATIO_16_9, | ||
792 | .vmode = FB_VMODE_NONINTERLACED}, | ||
793 | /* 63: 1920x1080p @ 119.88/120Hz */ | ||
794 | {.refresh = 120, .xres = 1920, .yres = 1080, .pixclock = 3367, | ||
795 | .left_margin = 148, .right_margin = 88, | ||
796 | .upper_margin = 36, .lower_margin = 4, | ||
797 | .hsync_len = 44, .vsync_len = 5, | ||
798 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
799 | .flag = FB_FLAG_RATIO_16_9, | ||
800 | .vmode = FB_VMODE_NONINTERLACED}, | ||
801 | /* 64: 1920x1080p @ 100Hz */ | ||
802 | {.refresh = 100, .xres = 1920, .yres = 1080, .pixclock = 3367, | ||
803 | .left_margin = 148, .right_margin = 528, | ||
804 | .upper_margin = 36, .lower_margin = 4, | ||
805 | .hsync_len = 44, .vsync_len = 5, | ||
806 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
807 | .flag = FB_FLAG_RATIO_16_9, | ||
808 | .vmode = FB_VMODE_NONINTERLACED}, | ||
350 | }; | 809 | }; |
810 | EXPORT_SYMBOL(cea_modes); | ||
351 | 811 | ||
352 | const struct fb_videomode vesa_modes[] = { | 812 | const struct fb_videomode vesa_modes[VESA_MODEDB_SIZE] = { |
353 | /* 0 640x350-85 VESA */ | 813 | /* 0 640x350-85 VESA */ |
354 | { NULL, 85, 640, 350, 31746, 96, 32, 60, 32, 64, 3, | 814 | { NULL, 85, 640, 350, 31746, 96, 32, 60, 32, 64, 3, |
355 | FB_SYNC_HOR_HIGH_ACT, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA}, | 815 | FB_SYNC_HOR_HIGH_ACT, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA}, |