[PATCH v4 0/4] Galaxycore GC5035 sensor driver

From: Tomasz Figa
Date: Wed Sep 02 2020 - 18:48:31 EST


Hi everyone,

This series adds YAML DT binding and V4L2 sub-device driver for
Galaxycore GC5035 5-megapixel 10-bit Bayer CMOS 1/4" sensor, which has a
two-lane MIPI CSI-2 data interface and uses the I2C bus for control

The initial version supports the following features:
- Manual exposure, analog and digital gain control
- Vertical blanking interval control
- Test pattern generator (color bars)
- Media controller support
- Runtime PM support
- Support operating modes:
o 2592x1944 at 30fps,
o 1296x972 at 30fps,
o 1280x720 at 60fps.

A separate patch in the series adds support for loading manufacture-time
configuration from the sensor OTP, which currently includes:
- register patch table,
- DPC table.

This is based on Hao He's and Xingyu Wu's v3 series that partially reached
the maling lists:
- patch 1/3 - equivalent of patch 1/4 of this seres:
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/1597380295-6297-3-git-send-email-wuxy@xxxxxxxxxxxxxx/
- patch 3/3 - equivalent of patches 3/4 + 4/4 of this series:
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/1597380295-6297-5-git-send-email-wuxy@xxxxxxxxxxxxxx/
Patch 2/3 that adds DT bindings was missing so I recreated it from
scratch on my own.

Changes from v3:
- Require and handle clock-frequency and link-frequencies device
properties.
- Separate the driver patch into one for base functionality and another
for OTP handling.
- Do not perform OTP initialization on driver probe, since it's a
costly operation. Instead do it at first streaming time.
- Fix power sequencing to match the hardware specification.
- Set system PM ops.
- Various stylistic changes and general clean-up.
- Add myself as a maintainer.

Hao He (3):
dt-bindings: Add a vendor prefix for Galaxycore Inc.
media: i2c: Add a driver for the Galaxycore GC5035 sensor
media: i2c: gc5035: Add OTP configuration handling

Tomasz Figa (1):
media: dt-bindings: media: i2c: Add bindings for GC5035

.../devicetree/bindings/media/i2c/gc5035.yaml | 142 ++
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
MAINTAINERS | 7 +
drivers/media/i2c/Kconfig | 13 +
drivers/media/i2c/Makefile | 1 +
drivers/media/i2c/gc5035.c | 1972 +++++++++++++++++
6 files changed, 2137 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/i2c/gc5035.yaml
create mode 100644 drivers/media/i2c/gc5035.c

--
2.28.0.402.g5ffc5be6b7-goog