[v2] media: soc_camera: rcar_vin: Add support for 10-bit YUV cameras
Commit Message
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
---
v2:
- Fix silly mistake with missing break.
drivers/media/platform/soc_camera/rcar_vin.c | 9 +++++++++
1 file changed, 9 insertions(+)
Comments
On 02/25/2014 01:10 PM, Phil Edworthy wrote:
> Signed-off-by: Phil Edworthy<phil.edworthy@renesas.com>
Acked-by: Vladimir Barinov<vladimir.barinov@cogentembedded.com>
(Valentine can't do the review atm)
> ---
> v2:
> - Fix silly mistake with missing break.
>
> 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 3b1c05a..702dc47 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;
>
Regards,
Vladimir
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
@@ -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;