build/patch/kernel/archive/sunxi-5.15/patches.megous/media-sun6i-csi-Add-support-for-RGB565-and-RGB555.patch

64 lines
2.4 KiB
Diff

From d86c8e05a7108ab5294ecc80876faacb9ee8cf29 Mon Sep 17 00:00:00 2001
From: Ondrej Jirman <megous@megous.com>
Date: Sat, 8 Dec 2018 06:09:20 +0100
Subject: [PATCH 144/478] media: sun6i-csi: Add support for RGB565 and RGB555
Signed-off-by: Ondrej Jirman <megous@megous.com>
---
drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c | 5 +++++
drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.h | 1 +
drivers/media/platform/sunxi/sun6i-csi/sun6i_video.c | 2 ++
3 files changed, 8 insertions(+)
diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
index 27935f1e9555..c49ed480bed5 100644
--- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
+++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
@@ -124,6 +124,9 @@ bool sun6i_csi_is_format_supported(struct sun6i_csi *csi,
case V4L2_PIX_FMT_VYUY:
return (mbus_code == MEDIA_BUS_FMT_VYUY8_2X8);
+ case V4L2_PIX_FMT_RGB555:
+ return mbus_code == MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE;
+
case V4L2_PIX_FMT_HM12:
case V4L2_PIX_FMT_NV12:
case V4L2_PIX_FMT_NV21:
@@ -509,6 +512,8 @@ static void sun6i_csi_set_window(struct sun6i_csi_dev *sdev)
case V4L2_PIX_FMT_YVYU:
case V4L2_PIX_FMT_UYVY:
case V4L2_PIX_FMT_VYUY:
+ case V4L2_PIX_FMT_RGB565:
+ case V4L2_PIX_FMT_RGB555:
dev_dbg(sdev->dev,
"Horizontal length should be 2 times of width for packed YUV formats!\n");
hor_len = width * 2;
diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.h b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.h
index c626821aaedb..b00eaab85891 100644
--- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.h
+++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.h
@@ -115,6 +115,7 @@ static inline int sun6i_csi_get_bpp(unsigned int pixformat)
case V4L2_PIX_FMT_YVYU:
case V4L2_PIX_FMT_UYVY:
case V4L2_PIX_FMT_VYUY:
+ case V4L2_PIX_FMT_RGB555:
case V4L2_PIX_FMT_NV16:
case V4L2_PIX_FMT_NV61:
case V4L2_PIX_FMT_YUV422P:
diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_video.c b/drivers/media/platform/sunxi/sun6i-csi/sun6i_video.c
index 07b2161392d2..f5feb4286049 100644
--- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_video.c
+++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_video.c
@@ -48,6 +48,8 @@ static const u32 supported_pixformats[] = {
V4L2_PIX_FMT_YVYU,
V4L2_PIX_FMT_UYVY,
V4L2_PIX_FMT_VYUY,
+ V4L2_PIX_FMT_RGB565,
+ V4L2_PIX_FMT_RGB555,
V4L2_PIX_FMT_HM12,
V4L2_PIX_FMT_NV12,
V4L2_PIX_FMT_NV21,
--
2.35.3