mbox series

[v2,0/2] Add IMX219 CMOS image sensor support

Message ID 20191227122114.23075-1-andrey.konovalov@linaro.org (mailing list archive)
Headers show
Series Add IMX219 CMOS image sensor support | expand

Message

Andrey Konovalov Dec. 27, 2019, 12:21 p.m. UTC
This patchset adds support for IMX219 CMOS image sensor from Sony.
Sony IMX219 is an 8MPix, 1/4.0-inch CMOS active pixel digital image sensor
with an active array size of 3280H x 2464V. It is programmable through
I2C interface. Image data are sent through MIPI CSI-2, which can be configured
as either 2 or 4 data lanes, but this driver currently only supports 2 lanes.
The currently supported resolutions are 3280x2464 @ 15fps, 1920x1080 @ 30fps
(cropped FOV), and 1640x1232 (2x2 binned) @ 30fps.

The driver has been tested with Raspberry Pi Camera Module v2 connected to
Raspberry Pi Zero W.

Changes since v1 [1]:

dt-bindings:
  - license updated to (GPL-2.0-only OR BSD-2-Clause)
  - non-standard 'camera-clk' property has got type, description, properties,
    and required
  - 'clock-lanes', 'data-lanes', and 'clock-noncontinuous' moved to the correct
    node, the syntax has been fixed
  - 'port' added to required properties
  - minor corrections to some other property descriptions

imx219 sensor driver:
  - fixed width variables replaced with '[unsigned] int' where appropriate
  - excessive comments dropped
  - imx219_get_format_code() returns 'codes[...]', and doesn't use an extra
    internal variable any more
  - initializing 'ret' to 0 in the beginning of imx219_set_ctrl() dropped
  - uses IMX219_XCLK_FREQ macro instead of hardcoded number
  - IMX219_REG_ORIENTATION is dropped from the mode_*x*_regs[] tables as it is 
    written by the control handler
  - imx219_stop_streaming() return value changed to void 
  - calling imx219_power_on() moved from imx219_identify_module() to
    imx219_probe(), and calling imx219_power_off() in the probe() error path
    has been added. This simplifies imx219_identify_module(), and ensures
    that the sensor is powered off after probe() and until streaming is
    started
  - comment referring to "xclr" pin changed to call it "enable pin" vs "power
    down pin" to better match the "OUT_HIGH" pin configuration

Thanks,
Andrey

[1] https://patchwork.kernel.org/cover/11284783/


Andrey Konovalov (1):
  dt-bindings: media: i2c: Add IMX219 CMOS sensor binding

Dave Stevenson (1):
  media: i2c: Add driver for Sony IMX219 sensor

 .../devicetree/bindings/media/i2c/imx219.yaml |  134 ++
 MAINTAINERS                                   |    8 +
 drivers/media/i2c/Kconfig                     |   12 +
 drivers/media/i2c/Makefile                    |    1 +
 drivers/media/i2c/imx219.c                    | 1240 +++++++++++++++++
 5 files changed, 1395 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/imx219.yaml
 create mode 100644 drivers/media/i2c/imx219.c