aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhil Edworthy <phil.edworthy@renesas.com>2014-02-25 04:10:27 -0500
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-03-11 08:32:26 -0400
commitcbe504d4d4d88375ef912975f816d1e3c3f14194 (patch)
treebc328da68e9b3989e41170efccfc7b7e279e9da8
parent4a1df5e8f6712df3b5f8aeb09771a1169ddd8e8c (diff)
[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>
-rw-r--r--drivers/media/platform/soc_camera/rcar_vin.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/media/platform/soc_camera/rcar_vin.c b/drivers/media/platform/soc_camera/rcar_vin.c
index 0ff5cfaf2677..704eee766487 100644
--- a/drivers/media/platform/soc_camera/rcar_vin.c
+++ b/drivers/media/platform/soc_camera/rcar_vin.c
@@ -68,6 +68,8 @@
68#define VNMC_YCAL (1 << 19) 68#define VNMC_YCAL (1 << 19)
69#define VNMC_INF_YUV8_BT656 (0 << 16) 69#define VNMC_INF_YUV8_BT656 (0 << 16)
70#define VNMC_INF_YUV8_BT601 (1 << 16) 70#define VNMC_INF_YUV8_BT601 (1 << 16)
71#define VNMC_INF_YUV10_BT656 (2 << 16)
72#define VNMC_INF_YUV10_BT601 (3 << 16)
71#define VNMC_INF_YUV16 (5 << 16) 73#define VNMC_INF_YUV16 (5 << 16)
72#define VNMC_VUP (1 << 10) 74#define VNMC_VUP (1 << 10)
73#define VNMC_IM_ODD (0 << 3) 75#define VNMC_IM_ODD (0 << 3)
@@ -275,6 +277,12 @@ static int rcar_vin_setup(struct rcar_vin_priv *priv)
275 /* BT.656 8bit YCbCr422 or BT.601 8bit YCbCr422 */ 277 /* BT.656 8bit YCbCr422 or BT.601 8bit YCbCr422 */
276 vnmc |= priv->pdata->flags & RCAR_VIN_BT656 ? 278 vnmc |= priv->pdata->flags & RCAR_VIN_BT656 ?
277 VNMC_INF_YUV8_BT656 : VNMC_INF_YUV8_BT601; 279 VNMC_INF_YUV8_BT656 : VNMC_INF_YUV8_BT601;
280 break;
281 case V4L2_MBUS_FMT_YUYV10_2X10:
282 /* BT.656 10bit YCbCr422 or BT.601 10bit YCbCr422 */
283 vnmc |= priv->pdata->flags & RCAR_VIN_BT656 ?
284 VNMC_INF_YUV10_BT656 : VNMC_INF_YUV10_BT601;
285 break;
278 default: 286 default:
279 break; 287 break;
280 } 288 }
@@ -1003,6 +1011,7 @@ static int rcar_vin_get_formats(struct soc_camera_device *icd, unsigned int idx,
1003 switch (code) { 1011 switch (code) {
1004 case V4L2_MBUS_FMT_YUYV8_1X16: 1012 case V4L2_MBUS_FMT_YUYV8_1X16:
1005 case V4L2_MBUS_FMT_YUYV8_2X8: 1013 case V4L2_MBUS_FMT_YUYV8_2X8:
1014 case V4L2_MBUS_FMT_YUYV10_2X10:
1006 if (cam->extra_fmt) 1015 if (cam->extra_fmt)
1007 break; 1016 break;
1008 1017