diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig index 7b6a12ceba49..ebbc8d4f8748 100644 --- a/drivers/media/i2c/Kconfig +++ b/drivers/media/i2c/Kconfig @@ -1375,6 +1375,15 @@ config VIDEO_OV9650 This is a V4L2 sensor driver for the Omnivision OV9650 and OV9652 camera sensors. +config VIDEO_OV12D2Q + tristate "OmniVision OV12D2Q sensor support" + depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API + depends on MEDIA_CAMERA_SUPPORT + select V4L2_FWNODE + help + This is a Video4Linux2 sensor driver for the OmniVision + OV12D2Q camera. + config VIDEO_OV13858 tristate "OmniVision OV13858 sensor support" depends on I2C && VIDEO_V4L2 diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile index 918b6538d461..0d64bfb5b13b 100644 --- a/drivers/media/i2c/Makefile +++ b/drivers/media/i2c/Makefile @@ -94,6 +94,7 @@ obj-$(CONFIG_VIDEO_OV8858) += ov8858.o obj-$(CONFIG_VIDEO_OV9281) += ov9281.o obj-$(CONFIG_VIDEO_OV9640) += ov9640.o obj-$(CONFIG_VIDEO_OV9650) += ov9650.o +obj-$(CONFIG_VIDEO_OV12D2Q) += ov12d2q.o obj-$(CONFIG_VIDEO_OV13858) += ov13858.o obj-$(CONFIG_VIDEO_MT9M001) += mt9m001.o obj-$(CONFIG_VIDEO_MT9M032) += mt9m032.o diff --git a/drivers/media/i2c/ov12d2q.c b/drivers/media/i2c/ov12d2q.c index 667d980b8a3e..319e7c1980a1 100644 --- a/drivers/media/i2c/ov12d2q.c +++ b/drivers/media/i2c/ov12d2q.c @@ -2231,7 +2231,7 @@ static int ov12d2q_g_frame_interval(struct v4l2_subdev *sd, return 0; } -static int ov12d2q_g_mbus_config(struct v4l2_subdev *sd, +static int ov12d2q_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id, struct v4l2_mbus_config *config) { struct ov12d2q *ov12d2q = to_ov12d2q(sd); @@ -2248,7 +2248,7 @@ static int ov12d2q_g_mbus_config(struct v4l2_subdev *sd, V4L2_MBUS_CSI2_CONTINUOUS_CLOCK | V4L2_MBUS_CSI2_CHANNEL_1; - config->type = V4L2_MBUS_CSI2; + config->type = V4L2_MBUS_CSI2_DPHY; config->flags = val; return 0; @@ -2724,7 +2724,6 @@ static const struct v4l2_subdev_core_ops ov12d2q_core_ops = { static const struct v4l2_subdev_video_ops ov12d2q_video_ops = { .s_stream = ov12d2q_s_stream, .g_frame_interval = ov12d2q_g_frame_interval, - .g_mbus_config = ov12d2q_g_mbus_config, }; static const struct v4l2_subdev_pad_ops ov12d2q_pad_ops = { @@ -2733,6 +2732,7 @@ static const struct v4l2_subdev_pad_ops ov12d2q_pad_ops = { .enum_frame_interval = ov12d2q_enum_frame_interval, .get_fmt = ov12d2q_get_fmt, .set_fmt = ov12d2q_set_fmt, + .get_mbus_config = ov12d2q_g_mbus_config, }; static const struct v4l2_subdev_ops ov12d2q_subdev_ops = {