diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig index d08cfa38019b..4236d15d4f37 100644 --- a/drivers/media/i2c/Kconfig +++ b/drivers/media/i2c/Kconfig @@ -989,6 +989,17 @@ config VIDEO_IMX335 To compile this driver as a module, choose M here: the module will be called imx335. +config VIDEO_IMX347 + tristate "Sony IMX347 sensor support" + depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API + depends on MEDIA_CAMERA_SUPPORT + help + This is a Video4Linux2 sensor driver for the Sony + IMX347 camera. + + To compile this driver as a module, choose M here: the + module will be called imx347. + config VIDEO_IMX355 tristate "Sony IMX355 sensor support" depends on I2C && VIDEO_V4L2 diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile index 1b882651ac70..072f7227beef 100644 --- a/drivers/media/i2c/Makefile +++ b/drivers/media/i2c/Makefile @@ -134,6 +134,7 @@ obj-$(CONFIG_VIDEO_IMX323) += imx323.o obj-$(CONFIG_VIDEO_IMX327) += imx327.o obj-$(CONFIG_VIDEO_IMX334) += imx334.o obj-$(CONFIG_VIDEO_IMX335) += imx335.o +obj-$(CONFIG_VIDEO_IMX347) += imx347.o obj-$(CONFIG_VIDEO_IMX355) += imx355.o obj-$(CONFIG_VIDEO_MAX9286) += max9286.o rdacm20-camera_module-objs := rdacm20.o max9271.o diff --git a/drivers/media/i2c/imx347.c b/drivers/media/i2c/imx347.c index 90715032bffb..76fb99bdbc8a 100644 --- a/drivers/media/i2c/imx347.c +++ b/drivers/media/i2c/imx347.c @@ -1028,7 +1028,7 @@ static int imx347_g_frame_interval(struct v4l2_subdev *sd, return 0; } -static int imx347_g_mbus_config(struct v4l2_subdev *sd, +static int imx347_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id, struct v4l2_mbus_config *config) { struct imx347 *imx347 = to_imx347(sd); @@ -1051,7 +1051,7 @@ static int imx347_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; @@ -1811,7 +1811,6 @@ static const struct v4l2_subdev_core_ops imx347_core_ops = { static const struct v4l2_subdev_video_ops imx347_video_ops = { .s_stream = imx347_s_stream, .g_frame_interval = imx347_g_frame_interval, - .g_mbus_config = imx347_g_mbus_config, }; static const struct v4l2_subdev_pad_ops imx347_pad_ops = { @@ -1821,6 +1820,7 @@ static const struct v4l2_subdev_pad_ops imx347_pad_ops = { .get_fmt = imx347_get_fmt, .set_fmt = imx347_set_fmt, .get_selection = imx347_get_selection, + .get_mbus_config = imx347_g_mbus_config, }; static const struct v4l2_subdev_ops imx347_subdev_ops = {