Re: [PATCH v5 0/2] media: Add bindings and driver for Sony IMX678
From: Rob Herring
Date: Wed Jul 15 2026 - 09:17:47 EST
On Fri, Jul 03, 2026 at 02:49:15PM +0530, Jai Luthra wrote:
> Hi,
>
> This series adds dt-bindings and a basic V4L2 driver for Sony IMX678
> camera sensor.
>
> More details about the sensor and features supported in the driver are
> in the relevant patches.
>
> Support for binning and cropping has been dropped from this series, in
> favor of implementing it with the new raw sensor model proposed by
> Sakari. [1]
>
> I have a WIP branch [2] that uses the new raw sensor model to implement
> the following features for this sensor driver:
>
> - Internal pads
> - Streams
> - Generic raw formats
> - Embedded line data
> - Configurable analogue crop
> - Configurable binning mode
> - RAW10 output
>
> [1]: https://lore.kernel.org/all/20260409201501.975242-1-sakari.ailus@xxxxxxxxxxxxxxx/
> [2]: https://github.com/jailuthra/linux/commits/imx678-meta
>
> Signed-off-by: Jai Luthra <jai.luthra@xxxxxxxxxxxxxxxx>
> ---
> Changes in v5:
> - Rebase on v7.2-rc1
> - Drop note about the fallback name in the bindings commit message
> - Drop unnecessary code like set_pad_format() or set_framing_limits(),
> those will be added later when we use them for cropping and binning
> - Explicitly set format in init_state()
> - No need to track rpm_in_use flag, so drop it
> - Drop SUBDEV_FL_HAS_EVENTS flag
> - Drop unused format parameter from program_window()
> - Use container_of_const()
> - Add missing media-bus-format.h header
> - Cleanup comments
> - Link to v4: https://lore.kernel.org/r/20260605-imx678-v4-0-58e57c67143d@xxxxxxxxxxxxxxxx
>
> Changes in v4:
> - Drop support for freely-configurable resolution through cropping and binning
> - Expect both specific and generic device name in device tree compatible
> - Reduce analogue gain maximum to 100 (30dB) as the gain register
> includes digital gain from 101 (30.3dB) -> 240 (72dB)
> - Minor bug fixes and cleanups following review comments from Sakari,
> Tarang on v3
> - Link to v3: https://lore.kernel.org/r/20260520-imx678-v3-0-8b5f9676486e@xxxxxxxxxxxxxxxx
>
> 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@xxxxxxxxxxxxxxxx
>
> 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@xxxxxxxxxxxxxxxx
>
> ---
> Jai Luthra (2):
> dt-bindings: media: i2c: Add Sony IMX678
> media: i2c: imx678: Add driver for Sony IMX678
Media maintainers, it seems the driver was applied, but not the binding.
Rob