| From 5fce7877354041df38ae2f08ba270f4bb8021488 Mon Sep 17 00:00:00 2001 |
| From: Phil Edworthy <phil.edworthy@renesas.com> |
| Date: Tue, 25 Feb 2014 06:10:27 -0300 |
| Subject: [media] media: soc_camera: rcar_vin: Add support for 10-bit YUV |
| cameras |
| |
| Add support for MBUS YUV10 BT656 and BT601 formats at rcar driver. |
| |
| Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com> |
| Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
| Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> |
| (cherry picked from commit cbe504d4d4d88375ef912975f816d1e3c3f14194) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/media/platform/soc_camera/rcar_vin.c | 9 +++++++++ |
| 1 file changed, 9 insertions(+) |
| |
| diff --git a/drivers/media/platform/soc_camera/rcar_vin.c b/drivers/media/platform/soc_camera/rcar_vin.c |
| index 3b1c05a72d00..702dc47062a2 100644 |
| --- a/drivers/media/platform/soc_camera/rcar_vin.c |
| +++ b/drivers/media/platform/soc_camera/rcar_vin.c |
| @@ -68,6 +68,8 @@ |
| #define VNMC_YCAL (1 << 19) |
| #define VNMC_INF_YUV8_BT656 (0 << 16) |
| #define VNMC_INF_YUV8_BT601 (1 << 16) |
| +#define VNMC_INF_YUV10_BT656 (2 << 16) |
| +#define VNMC_INF_YUV10_BT601 (3 << 16) |
| #define VNMC_INF_YUV16 (5 << 16) |
| #define VNMC_VUP (1 << 10) |
| #define VNMC_IM_ODD (0 << 3) |
| @@ -275,6 +277,12 @@ static int rcar_vin_setup(struct rcar_vin_priv *priv) |
| /* BT.656 8bit YCbCr422 or BT.601 8bit YCbCr422 */ |
| vnmc |= priv->pdata->flags & RCAR_VIN_BT656 ? |
| VNMC_INF_YUV8_BT656 : VNMC_INF_YUV8_BT601; |
| + break; |
| + case V4L2_MBUS_FMT_YUYV10_2X10: |
| + /* BT.656 10bit YCbCr422 or BT.601 10bit YCbCr422 */ |
| + vnmc |= priv->pdata->flags & RCAR_VIN_BT656 ? |
| + VNMC_INF_YUV10_BT656 : VNMC_INF_YUV10_BT601; |
| + break; |
| default: |
| break; |
| } |
| @@ -1003,6 +1011,7 @@ static int rcar_vin_get_formats(struct soc_camera_device *icd, unsigned int idx, |
| switch (code) { |
| case V4L2_MBUS_FMT_YUYV8_1X16: |
| case V4L2_MBUS_FMT_YUYV8_2X8: |
| + case V4L2_MBUS_FMT_YUYV10_2X10: |
| if (cam->extra_fmt) |
| break; |
| |
| -- |
| 2.1.2 |
| |