[PATCH v5 0/3] media: i2c: gc2145: GC2145 sensor support

From: Alain Volmat
Date: Wed Nov 22 2023 - 02:52:43 EST


This serie adds support for the GalaxyCore GC2145 sensor.
Initialization is based on scripts provided by GalaxyCore,
allowing 3 fixed configurations supported for the time being.

Minimum controls have been added in order to allow it to
be successfully used with libcamera and dcmipp driver (under
review) on STM32MP13 platform.

The sensor also supports Bayer formats which will be added
later on.

v5: - serie rebased on top of master branch of tree sailus/media_tree.git
in order to use v4l2_subdev_state_* functions

v4: - bindings: add link-frequencies & correct description
- driver: add link-frequency ctrl and fix pixelrate
and check for link-frequency dt properties
- driver: correct wording / email / add datasheet link

v3: - fix copyright year
- add more gc2145_ func or variable prefixes
- removal of colorspace within struct gc2145_format
- use 1X16 formats since driver is supporting CSI-2 interface only
- use msleep instead of usleep_range
- add pm_runtime_ last_busy & autosuspend handling
- only start streaming AFTER applying ctrls
- correct RGB565 format to generate _LE instead of _BE
- perform pm_runtime configuration prior to v4l2_async_register_subdev_sensor
- remove frame_interval handling and expose HBLANK/VBLANK ctrls
instead

v2: - split vendor-prefixes update into a separate commit
- correction into dt-bindings (description, const i2c address,
lowcase of supplies, node naming
- correct KConfig (avoid VIDEO_V4L2_SUBDEV_API, V4L2_FWNODE and add
V4L2_CCI_I2C)
- usage of v4l2-cci framework for accessing to device registers
- correction in power-on / power-off sequences and update
usleep_range delay
- detail MIPI configuration and stop register access to stop
streaming
- removal of SYSTEM_SLEEP_PM_OPS (and streaming variable)
- various small fixes, typo, oneline functions
- removal of useless HBLANK control considereing that RAW isn't
supported for the time being
- removal of RAW parts
- usage of dev_err_probe

Alain Volmat (3):
dt-bindings: vendor-prefixes: Add prefix for GalaxyCore Inc.
dt-bindings: media: i2c: add galaxycore,gc2145 dt-bindings
media: i2c: gc2145: Galaxy Core GC2145 sensor support

.../bindings/media/i2c/galaxycore,gc2145.yaml | 113 ++
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
MAINTAINERS | 8 +
drivers/media/i2c/Kconfig | 10 +
drivers/media/i2c/Makefile | 1 +
drivers/media/i2c/gc2145.c | 1446 +++++++++++++++++
6 files changed, 1580 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/i2c/galaxycore,gc2145.yaml
create mode 100644 drivers/media/i2c/gc2145.c

--
2.25.1