diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig index ab87428481c5..eafd5515c5f5 100644 --- a/drivers/media/i2c/Kconfig +++ b/drivers/media/i2c/Kconfig @@ -725,6 +725,17 @@ config VIDEO_APTINA_PLL config VIDEO_SMIAPP_PLL tristate +config VIDEO_GC5025 + tristate "GalaxyCore GC5025 sensor support" + depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API + depends on MEDIA_CAMERA_SUPPORT + select V4L2_FWNODE + help + Support for the GalaxyCore GC5025 sensor. + + To compile this driver as a module, choose M here: the + module will be called gc5025. + config VIDEO_GC8034 tristate "GalaxyCore GC8034 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile index 298863171375..1084f0187289 100644 --- a/drivers/media/i2c/Makefile +++ b/drivers/media/i2c/Makefile @@ -111,6 +111,7 @@ obj-$(CONFIG_VIDEO_I2C) += video-i2c.o obj-$(CONFIG_VIDEO_ML86V7667) += ml86v7667.o obj-$(CONFIG_VIDEO_OV2659) += ov2659.o obj-$(CONFIG_VIDEO_TC358743) += tc358743.o +obj-$(CONFIG_VIDEO_GC5025) += gc5025.o obj-$(CONFIG_VIDEO_GC8034) += gc8034.o obj-$(CONFIG_VIDEO_HI556) += hi556.o obj-$(CONFIG_VIDEO_IMX214) += imx214.o diff --git a/drivers/media/i2c/gc5025.c b/drivers/media/i2c/gc5025.c index 3d34a1109823..be80be415f63 100644 --- a/drivers/media/i2c/gc5025.c +++ b/drivers/media/i2c/gc5025.c @@ -1511,7 +1511,7 @@ static int gc5025_enum_frame_interval(struct v4l2_subdev *sd, return 0; } -static int gc5025_g_mbus_config(struct v4l2_subdev *sd, +static int gc5025_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id, struct v4l2_mbus_config *config) { u32 val = 0; @@ -1520,7 +1520,7 @@ static int gc5025_g_mbus_config(struct v4l2_subdev *sd, V4L2_MBUS_CSI2_CHANNEL_0 | V4L2_MBUS_CSI2_CONTINUOUS_CLOCK; - config->type = V4L2_MBUS_CSI2; + config->type = V4L2_MBUS_CSI2_DPHY; config->flags = val; return 0; @@ -1563,7 +1563,6 @@ static const struct v4l2_subdev_core_ops gc5025_core_ops = { static const struct v4l2_subdev_video_ops gc5025_video_ops = { .s_stream = gc5025_s_stream, .g_frame_interval = gc5025_g_frame_interval, - .g_mbus_config = gc5025_g_mbus_config, }; static const struct v4l2_subdev_pad_ops gc5025_pad_ops = { @@ -1573,6 +1572,7 @@ static const struct v4l2_subdev_pad_ops gc5025_pad_ops = { .get_fmt = gc5025_get_fmt, .set_fmt = gc5025_set_fmt, .get_selection = gc5025_get_selection, + .get_mbus_config = gc5025_g_mbus_config, }; static const struct v4l2_subdev_ops gc5025_subdev_ops = {