media: i2c: Add driver for ST VD55G1 camera sensor

The VD55G1 is a monochrome global shutter camera with a 804x704 maximum
resolution with RAW8 and RAW10 bytes per pixel.
The driver supports :
- Auto exposure from the sensor, or manual exposure mode
- HDR subtraction mode, allowing edge detection and background removal
- Auto exposure cold start, using configuration values from last stream
to start the next one
- LED GPIOs for illumination
- Most standard camera sensor features (hblank, vblank, test patterns,
again, dgain, hflip, vflip, auto exposure bias, etc.)
Add driver source code to MAINTAINERS file.

Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
This commit is contained in:
Benjamin Mugnier
2025-04-30 10:24:39 +02:00
committed by Hans Verkuil
parent fba4aa0831
commit e56616d7b2
4 changed files with 1979 additions and 0 deletions

View File

@@ -22921,6 +22921,7 @@ M: Sylvain Petinot <sylvain.petinot@foss.st.com>
L: linux-media@vger.kernel.org
S: Maintained
F: Documentation/devicetree/bindings/media/i2c/st,vd55g1.yaml
F: drivers/media/i2c/vd55g1.c
ST VD56G3 IMAGE SENSOR DRIVER
M: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
@@ -25325,6 +25326,7 @@ F: drivers/media/i2c/mt*
F: drivers/media/i2c/og*
F: drivers/media/i2c/ov*
F: drivers/media/i2c/s5*
F: drivers/media/i2c/vd55g1.c
F: drivers/media/i2c/vd56g3.c
F: drivers/media/i2c/vgxy61.c

View File

@@ -712,6 +712,17 @@ config VIDEO_S5K6A3
This is a V4L2 sensor driver for Samsung S5K6A3 raw
camera sensor.
config VIDEO_VD55G1
tristate "ST VD55G1 sensor support"
select V4L2_CCI_I2C
depends on GPIOLIB
help
This is a Video4Linux2 sensor driver for the ST VD55G1
camera sensor.
To compile this driver as a module, choose M here: the
module will be called vd55g1.
config VIDEO_VD56G3
tristate "ST VD56G3 sensor support"
select V4L2_CCI_I2C

View File

@@ -155,6 +155,7 @@ obj-$(CONFIG_VIDEO_TW9910) += tw9910.o
obj-$(CONFIG_VIDEO_UDA1342) += uda1342.o
obj-$(CONFIG_VIDEO_UPD64031A) += upd64031a.o
obj-$(CONFIG_VIDEO_UPD64083) += upd64083.o
obj-$(CONFIG_VIDEO_VD55G1) += vd55g1.o
obj-$(CONFIG_VIDEO_VD56G3) += vd56g3.o
obj-$(CONFIG_VIDEO_VGXY61) += vgxy61.o
obj-$(CONFIG_VIDEO_VP27SMPX) += vp27smpx.o

1965
drivers/media/i2c/vd55g1.c Normal file

File diff suppressed because it is too large Load Diff