summaryrefslogtreecommitdiff
path: root/drivers/staging/imx-drm
diff options
context:
space:
mode:
authorPhilipp Zabel <p.zabel@pengutronix.de>2013-10-10 14:18:39 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-10-11 22:30:32 (GMT)
commit38fc7b311edf86d7284452c832e10bccabcc76a5 (patch)
treee5548c5f84bed6d75abbb4cbd77b63f20237f34b /drivers/staging/imx-drm
parent7cb17797fdb9f40e83cc76218c53e7589ce1dbcd (diff)
downloadlinux-fsl-qoriq-38fc7b311edf86d7284452c832e10bccabcc76a5.tar.xz
staging: drm/imx: add BGR565 format
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/imx-drm')
-rw-r--r--drivers/staging/imx-drm/ipu-v3/ipu-common.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/staging/imx-drm/ipu-v3/ipu-common.c b/drivers/staging/imx-drm/ipu-v3/ipu-common.c
index 54466df..f90bdb4 100644
--- a/drivers/staging/imx-drm/ipu-v3/ipu-common.c
+++ b/drivers/staging/imx-drm/ipu-v3/ipu-common.c
@@ -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;
}