diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig index 087f786f8656..4eaa4e15c40a 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_GC02M2 + tristate "GalaxyCore GC02M2 sensor support" + depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API + depends on MEDIA_CAMERA_SUPPORT + select V4L2_FWNODE + help + Support for the GalaxyCore GC02M2 sensor. + + To compile this driver as a module, choose M here: the + module will be called gc02m2. + config VIDEO_GC2053 tristate "GalaxyCore GC2053 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile index 1b1930be73f5..f9205110c885 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_GC02M2) += gc02m2.o obj-$(CONFIG_VIDEO_GC2053) += gc2053.o obj-$(CONFIG_VIDEO_GC2093) += gc2093.o obj-$(CONFIG_VIDEO_GC2145) += gc2145.o diff --git a/drivers/media/i2c/gc02m2.c b/drivers/media/i2c/gc02m2.c index 01d02dd55788..4f8962eedc0a 100644 --- a/drivers/media/i2c/gc02m2.c +++ b/drivers/media/i2c/gc02m2.c @@ -975,7 +975,7 @@ static int gc02m2_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh) } #endif -static int gc02m2_g_mbus_config(struct v4l2_subdev *sd, +static int gc02m2_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id, struct v4l2_mbus_config *config) { struct gc02m2 *gc02m2 = to_gc02m2(sd); @@ -987,7 +987,7 @@ static int gc02m2_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; } @@ -1029,7 +1029,6 @@ static const struct v4l2_subdev_core_ops gc02m2_core_ops = { static const struct v4l2_subdev_video_ops gc02m2_video_ops = { .s_stream = gc02m2_s_stream, .g_frame_interval = gc02m2_g_frame_interval, - .g_mbus_config = gc02m2_g_mbus_config, }; static const struct v4l2_subdev_pad_ops gc02m2_pad_ops = { @@ -1038,6 +1037,7 @@ static const struct v4l2_subdev_pad_ops gc02m2_pad_ops = { .enum_frame_interval = gc02m2_enum_frame_interval, .get_fmt = gc02m2_get_fmt, .set_fmt = gc02m2_set_fmt, + .get_mbus_config = gc02m2_g_mbus_config, }; static const struct v4l2_subdev_ops gc02m2_subdev_ops = {