diff options
author | Phil Edworthy <phil.edworthy@renesas.com> | 2014-02-25 04:10:27 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-03-11 08:32:26 -0400 |
commit | cbe504d4d4d88375ef912975f816d1e3c3f14194 (patch) | |
tree | bc328da68e9b3989e41170efccfc7b7e279e9da8 | |
parent | 4a1df5e8f6712df3b5f8aeb09771a1169ddd8e8c (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.c | 9 |
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 | ||