atmel_lcdfb: support 16bit BGR:565 mode, remove unsupported 15bit modes
authorPeter Korsgaard <jacmet@sunsite.dk>
Thu, 13 Oct 2011 14:52:50 +0000 (16:52 +0200)
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
Sat, 28 Jan 2012 19:54:10 +0000 (19:54 +0000)
Allow framebuffer to be configured in 16bit mode when panel is wired in
(the default) BGR configuration, and don't claim to support 15bit input
modes, which the LCD controller cannot handle.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
drivers/video/atmel_lcdfb.c

index e40c00f2c2ba8ecf7dfa6a1f35655ee3fa419ffc..d99505b163744d09561a191b30161d0b5cc8cdad 100644 (file)
@@ -421,24 +421,18 @@ static int atmel_lcdfb_check_var(struct fb_var_screeninfo *var,
                var->red.length = var->green.length = var->blue.length
                        = var->bits_per_pixel;
                break;
-       case 15:
        case 16:
                if (sinfo->lcd_wiring_mode == ATMEL_LCDC_WIRING_RGB) {
                        /* RGB:565 mode */
                        var->red.offset = 11;
                        var->blue.offset = 0;
-                       var->green.length = 6;
-               } else if (sinfo->lcd_wiring_mode == ATMEL_LCDC_WIRING_RGB555) {
-                       var->red.offset = 10;
-                       var->blue.offset = 0;
-                       var->green.length = 5;
                } else {
-                       /* BGR:555 mode */
+                       /* BGR:565 mode */
                        var->red.offset = 0;
-                       var->blue.offset = 10;
-                       var->green.length = 5;
+                       var->blue.offset = 11;
                }
                var->green.offset = 5;
+               var->green.length = 6;
                var->red.length = var->blue.length = 5;
                break;
        case 32: