mbox series

[v4,0/4] Galaxycore GC5035 sensor driver

Message ID 20200902224813.14283-1-tfiga@chromium.org (mailing list archive)
Headers show
Series Galaxycore GC5035 sensor driver | expand

Message

Tomasz Figa Sept. 2, 2020, 10:48 p.m. UTC
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@bitland.com.cn/
 - 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@bitland.com.cn/
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