upstream: [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)
committerChanho Park <chanho61.park@samsung.com>
Tue, 18 Nov 2014 02:58:43 +0000 (11:58 +0900)
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 52b2951..91c4b53 100644 (file)
@@ -67,6 +67,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)
@@ -274,6 +276,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;
        }
@@ -1002,6 +1010,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;