[media] media: soc_camera: rcar_vin: Add support for 10-bit YUV cameras
authorPhil Edworthy <phil.edworthy@renesas.com>
Tue, 25 Feb 2014 09:10:27 +0000 (06:10 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Tue, 11 Mar 2014 12:32:26 +0000 (09:32 -0300)
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>
drivers/media/platform/soc_camera/rcar_vin.c

index 0ff5cfaf26771a01b006094bd7adb649110c9a3c..704eee766487394a815bbc049c018e45f6269860 100644 (file)
@@ -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;