Hi,
This series adds dt-bindings and a V4L2 driver for Sony IMX678 camera
sensor.
More details about the sensor and features supported in the driver are
in the relevant patches.
Signed-off-by: Jai Luthra <jai.luthra@ideasonboard.com>
---
Changes in v3:
- Use `reset-gpios`, mentioning the sensor XCLR acts like RESETN, instead of `xclr-gpios`
- Update minimum crop width and height according to the PIX_[HV]WIDTH
register limits
- Expect the user to first select a crop rectangle using S_SELECTION,
and then choose one of two sizes (non-binned or binned) in S_FMT. This
matches what IMX296 already does, simplifying the selection logic
quite a bit.
- Enumerate only the frame sizes possible for the current crop rectangle
in ENUM_FRAMESIZES
- Link to v2: https://lore.kernel.org/r/20260516-imx678-v2-0-4854ac61d6fb@ideasonboard.com
Changes in v2:
PATCH 1:
- Add per-variant compatibles for mono and colour, alongside the
generic fallback, so the variant can be declared without powering
the sensor at probe.
- Rename reset GPIO to xclr as that's what it's called in the
datasheet, and how it behaves.
- Reference the generic video interface devices schema and switch to
unevaluatedProperties.
- Drop "link-frequencies: true"
- Drop the T: entry for media.git from MAINTAINERS.
PATCH 2:
- Treat the pixel rate as a fixed sensor property rather than deriving
it from link frequency and bit depth. Removes the iclk<->pixel
conversion helpers, instead using a fixed 8x ratio.
- Express HBLANK in pixels with a step of 8.
- Make VBLANK step = 2 and rewrite the exposure register when VBLANK
changes, so the effective exposure does not silently shift.
- Fix power sequencing: hold the sensor in reset until power_on, add the
missing post-reset delay, and disable the clock before the regulators
on power_off.
- Drop the "common regs written" flag, program them in power_on.
- Add variant match data and cross-check the register-reported type
against DT; rename detect() to identify_model().
- Use v4l2_link_freq_to_bitmap() and expose the full link frequency menu
with the configured one as the selected RO option.
- Drop unused includes and defines, misc cleanups
- Kconfig: depend on OF_GPIO
- Link to v1: https://lore.kernel.org/r/20260513-imx678-v1-0-30fc593ed8fa@ideasonboard.com
---
Jai Luthra (2):
dt-bindings: media: i2c: Add Sony IMX678
media: i2c: imx678: Add driver for Sony IMX678
.../devicetree/bindings/media/i2c/sony,imx678.yaml | 129 ++
MAINTAINERS | 7 +
drivers/media/i2c/Kconfig | 11 +
drivers/media/i2c/Makefile | 1 +
drivers/media/i2c/imx678.c | 1599 ++++++++++++++++++++
5 files changed, 1747 insertions(+)
---
base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731
change-id: 20260513-imx678-5c1aee9c1dcf
Best regards,
--
Jai Luthra <jai.luthra@ideasonboard.com>