]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Fix MIMC200 board LCD init
authorMark Jackson <mpfj@mimc.co.uk>
Wed, 3 Jun 2009 10:16:38 +0000 (11:16 +0100)
committerHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
Wed, 3 Jun 2009 13:10:04 +0000 (15:10 +0200)
This patch updates the LCD init code for the MIMC200 board.

V2 fixes a .yres typo and corrects an incorrect setup value
in the call to at32_add_device_lcdc()

Without this patch, the lcd setup is wrong and won't display images
correctly (if at all !!)

Signed-off-by: Mark Jackson <mpfj@mimc.co.uk>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
arch/avr32/boards/mimc200/setup.c

index c1b2175b4fea6300c8d7c654e85ca2fa9a99cca2..523d8e183bef79a5b30ad3660ea8efd5909e7fb9 100644 (file)
@@ -43,16 +43,16 @@ unsigned long at32_board_osc_rates[3] = {
 /* Initialized by bootloader-specific startup code. */
 struct tag *bootloader_tags __initdata;
 
-static struct fb_videomode __initdata tx14d14_modes[] = {
+static struct fb_videomode __initdata pt0434827_modes[] = {
        {
-               .name           = "640x480 @ 60",
-               .refresh        = 60,
-               .xres           = 640,          .yres           = 480,
-               .pixclock       = KHZ2PICOS(11666),
+               .name           = "480x272 @ 72",
+               .refresh        = 72,
+               .xres           = 480,          .yres           = 272,
+               .pixclock       = KHZ2PICOS(10000),
 
-               .left_margin    = 80,           .right_margin   = 1,
-               .upper_margin   = 13,           .lower_margin   = 2,
-               .hsync_len      = 64,           .vsync_len      = 1,
+               .left_margin    = 1,            .right_margin   = 1,
+               .upper_margin   = 12,           .lower_margin   = 1,
+               .hsync_len      = 42,           .vsync_len      = 1,
 
                .sync           = 0,
                .vmode          = FB_VMODE_NONINTERLACED,
@@ -60,14 +60,14 @@ static struct fb_videomode __initdata tx14d14_modes[] = {
 };
 
 static struct fb_monspecs __initdata mimc200_default_monspecs = {
-       .manufacturer           = "HIT",
-       .monitor                = "TX14D14VM1BAB",
-       .modedb                 = tx14d14_modes,
-       .modedb_len             = ARRAY_SIZE(tx14d14_modes),
+       .manufacturer           = "PT",
+       .monitor                = "PT0434827-A401",
+       .modedb                 = pt0434827_modes,
+       .modedb_len             = ARRAY_SIZE(pt0434827_modes),
        .hfmin                  = 14820,
        .hfmax                  = 22230,
        .vfmin                  = 60,
-       .vfmax                  = 73.3,
+       .vfmax                  = 85,
        .dclkmax                = 25200000,
 };
 
@@ -228,7 +228,8 @@ static int __init mimc200_init(void)
        i2c_register_board_info(0, i2c_info, ARRAY_SIZE(i2c_info));
 
        at32_add_device_lcdc(0, &mimc200_lcdc_data,
-                            fbmem_start, fbmem_size, 1);
+                            fbmem_start, fbmem_size,
+                            ATMEL_LCDC_CONTROL | ATMEL_LCDC_ALT_CONTROL | ATMEL_LCDC_ALT_24B_DATA);
 
        return 0;
 }