]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
DIU: 1080P and 720P support
authorJerry Huang <Chang-Ming.Huang@freescale.com>
Tue, 1 Nov 2011 15:16:43 +0000 (15:16 +0000)
committerWolfgang Denk <wd@denx.de>
Tue, 29 Nov 2011 14:43:36 +0000 (15:43 +0100)
Add the 1920x1080 and 1280x720 resolution support.

Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com>
Acked-by: Timur Tabi <timur@freescale.com>
CC: Anatolij Gustschin <agust@denx.de>
drivers/video/fsl_diu_fb.c

index 350241ea3b0b7b6eb53ffe9debbe92704bee6a72..648ffa3a6767512252548b7a6e2b036cffcb5105 100644 (file)
@@ -106,6 +106,38 @@ static struct fb_videomode fsl_diu_mode_1280_1024 = {
        .vmode          = FB_VMODE_NONINTERLACED
 };
 
+static struct fb_videomode fsl_diu_mode_1280_720 = {
+       .name           = "1280x720-60",
+       .refresh        = 60,
+       .xres           = 1280,
+       .yres           = 720,
+       .pixclock       = 13426,
+       .left_margin    = 192,
+       .right_margin   = 64,
+       .upper_margin   = 22,
+       .lower_margin   = 1,
+       .hsync_len      = 136,
+       .vsync_len      = 3,
+       .sync           = FB_SYNC_COMP_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
+       .vmode          = FB_VMODE_NONINTERLACED
+};
+
+static struct fb_videomode fsl_diu_mode_1920_1080 = {
+       .name           = "1920x1080-60",
+       .refresh        = 60,
+       .xres           = 1920,
+       .yres           = 1080,
+       .pixclock       = 5787,
+       .left_margin    = 328,
+       .right_margin   = 120,
+       .upper_margin   = 34,
+       .lower_margin   = 1,
+       .hsync_len      = 208,
+       .vsync_len      = 3,
+       .sync           = FB_SYNC_COMP_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
+       .vmode          = FB_VMODE_NONINTERLACED
+};
+
 /*
  * These are the fields of area descriptor(in DDR memory) for every plane
  */
@@ -259,6 +291,12 @@ int fsl_diu_init(u16 xres, u16 yres, u32 pixel_format, int gamma_fix)
        case RESOLUTION(1280, 1024):
                fsl_diu_mode_db = &fsl_diu_mode_1280_1024;
                break;
+       case RESOLUTION(1280, 720):
+               fsl_diu_mode_db = &fsl_diu_mode_1280_720;
+               break;
+       case RESOLUTION(1920, 1080):
+               fsl_diu_mode_db = &fsl_diu_mode_1920_1080;
+               break;
        default:
                printf("DIU:   Unsupported resolution %ux%u\n", xres, yres);
                return -1;