staging: drm/imx: add BGR565 format
authorPhilipp Zabel <p.zabel@pengutronix.de>
Thu, 10 Oct 2013 14:18:39 +0000 (16:18 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 11 Oct 2013 22:30:32 +0000 (15:30 -0700)
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/imx-drm/ipu-v3/ipu-common.c

index 54466df9daf53571d323c760e78ec36074f88cf8..f90bdb4c08c23502a73afad69122016c5581e734 100644 (file)
@@ -324,6 +324,14 @@ static const struct ipu_rgb def_rgb_16 = {
        .bits_per_pixel = 16,
 };
 
+static const struct ipu_rgb def_bgr_16 = {
+       .red    = { .offset =  0, .length = 5, },
+       .green  = { .offset =  5, .length = 6, },
+       .blue   = { .offset = 11, .length = 5, },
+       .transp = { .offset =  0, .length = 0, },
+       .bits_per_pixel = 16,
+};
+
 #define Y_OFFSET(pix, x, y)    ((x) + pix->width * (y))
 #define U_OFFSET(pix, x, y)    ((pix->width * pix->height) + \
                                        (pix->width * (y) / 4) + (x) / 2)
@@ -374,6 +382,9 @@ int ipu_cpmem_set_fmt(struct ipu_ch_param __iomem *cpmem, u32 drm_fourcc)
        case DRM_FORMAT_RGB565:
                ipu_cpmem_set_format_rgb(cpmem, &def_rgb_16);
                break;
+       case DRM_FORMAT_BGR565:
+               ipu_cpmem_set_format_rgb(cpmem, &def_bgr_16);
+               break;
        default:
                return -EINVAL;
        }