diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig index b29d52c43392..468999823529 100644 --- a/drivers/media/i2c/Kconfig +++ b/drivers/media/i2c/Kconfig @@ -1012,6 +1012,17 @@ config VIDEO_IMX378 To compile this driver as a module, choose M here: the module will be called imx378. +config VIDEO_IMX415 + tristate "Sony IMX415 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 + IMX415 camera. + + To compile this driver as a module, choose M here: the + module will be called imx415. + 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 d923fedabf47..26c7cbb73ef3 100644 --- a/drivers/media/i2c/Makefile +++ b/drivers/media/i2c/Makefile @@ -136,6 +136,7 @@ obj-$(CONFIG_VIDEO_IMX334) += imx334.o obj-$(CONFIG_VIDEO_IMX335) += imx335.o obj-$(CONFIG_VIDEO_IMX347) += imx347.o obj-$(CONFIG_VIDEO_IMX378) += imx378.o +obj-$(CONFIG_VIDEO_IMX415) += imx415.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/imx415.c b/drivers/media/i2c/imx415.c index 5cb5a8831ff5..46f8639d9300 100644 --- a/drivers/media/i2c/imx415.c +++ b/drivers/media/i2c/imx415.c @@ -1205,7 +1205,7 @@ static int imx415_g_frame_interval(struct v4l2_subdev *sd, return 0; } -static int imx415_g_mbus_config(struct v4l2_subdev *sd, +static int imx415_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id, struct v4l2_mbus_config *config) { struct imx415 *imx415 = to_imx415(sd); @@ -1219,7 +1219,7 @@ static int imx415_g_mbus_config(struct v4l2_subdev *sd, val |= V4L2_MBUS_CSI2_CHANNEL_1; if (mode->hdr_mode == HDR_X3) val |= V4L2_MBUS_CSI2_CHANNEL_2; - config->type = V4L2_MBUS_CSI2; + config->type = V4L2_MBUS_CSI2_DPHY; config->flags = val; return 0; @@ -2175,7 +2175,6 @@ static const struct v4l2_subdev_core_ops imx415_core_ops = { static const struct v4l2_subdev_video_ops imx415_video_ops = { .s_stream = imx415_s_stream, .g_frame_interval = imx415_g_frame_interval, - .g_mbus_config = imx415_g_mbus_config, }; static const struct v4l2_subdev_pad_ops imx415_pad_ops = { @@ -2185,6 +2184,7 @@ static const struct v4l2_subdev_pad_ops imx415_pad_ops = { .get_fmt = imx415_get_fmt, .set_fmt = imx415_set_fmt, .get_selection = imx415_get_selection, + .get_mbus_config = imx415_g_mbus_config, }; static const struct v4l2_subdev_ops imx415_subdev_ops = {