diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig index d29496602399..0a52d9027905 100644 --- a/drivers/media/i2c/Kconfig +++ b/drivers/media/i2c/Kconfig @@ -1125,6 +1125,18 @@ config VIDEO_OV2685 To compile this driver as a module, choose M here: the module will be called ov2685. +config VIDEO_OV2718 + tristate "OmniVision OV2718 sensor support" + depends on VIDEO_V4L2 && I2C && MEDIA_CONTROLLER + depends on MEDIA_CAMERA_SUPPORT + select V4L2_FWNODE + help + This is a Video4Linux2 sensor driver for the OmniVision + OV2718 camera. + + To compile this driver as a module, choose M here: the + module will be called ov2718. + config VIDEO_OV2740 tristate "OmniVision OV2740 sensor support" depends on VIDEO_V4L2 && I2C diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile index 38c3af87c20a..d5f5c1682aae 100644 --- a/drivers/media/i2c/Makefile +++ b/drivers/media/i2c/Makefile @@ -72,6 +72,7 @@ obj-$(CONFIG_VIDEO_OV02K10) += ov02k10.o obj-$(CONFIG_VIDEO_OV2640) += ov2640.o obj-$(CONFIG_VIDEO_OV2680) += ov2680.o obj-$(CONFIG_VIDEO_OV2685) += ov2685.o +obj-$(CONFIG_VIDEO_OV2718) += ov2718.o obj-$(CONFIG_VIDEO_OV2740) += ov2740.o obj-$(CONFIG_VIDEO_OV5640) += ov5640.o obj-$(CONFIG_VIDEO_OV5645) += ov5645.o diff --git a/drivers/media/i2c/ov2718.c b/drivers/media/i2c/ov2718.c index 61fb73cbf52a..45b96d6d0a54 100644 --- a/drivers/media/i2c/ov2718.c +++ b/drivers/media/i2c/ov2718.c @@ -7998,7 +7998,7 @@ static void ov2718_get_hcg_reg(u32 gain, u32 *again_reg, u32 *dgain_reg) } } -static int ov2718_g_mbus_config(struct v4l2_subdev *sd, +static int ov2718_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id, struct v4l2_mbus_config *config) { struct ov2718 *ov2718 = to_ov2718(sd); @@ -8015,7 +8015,7 @@ static int ov2718_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; @@ -8572,7 +8572,6 @@ static const struct v4l2_subdev_internal_ops ov2718_internal_ops = { static const struct v4l2_subdev_video_ops ov2718_video_ops = { .s_stream = ov2718_s_stream, .g_frame_interval = ov2718_g_frame_interval, - .g_mbus_config = ov2718_g_mbus_config, }; static const struct v4l2_subdev_pad_ops ov2718_pad_ops = { @@ -8581,6 +8580,7 @@ static const struct v4l2_subdev_pad_ops ov2718_pad_ops = { .enum_frame_interval = ov2718_enum_frame_interval, .get_fmt = ov2718_get_fmt, .set_fmt = ov2718_set_fmt, + .get_mbus_config = ov2718_g_mbus_config, }; static const struct v4l2_subdev_core_ops ov2718_core_ops = {