From: Lachlan Michael <lachlan.michael@sony.com>
To: mchehab@kernel.org, sakari.ailus@linux.intel.com,
hverkuil+cisco@kernel.org, laurent.pinchart@ideasonboard.com,
linux-media@vger.kernel.org, devicetree@vger.kernel.org
Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
kieran.bingham@ideasonboard.com, jai.luthra@ideasonboard.com,
Ryuichi.Tadano@sony.com, Kengo.Hayasaka@sony.com,
Tim.Bird@sony.com, Kazumi.A.Sato@sony.com,
Yuji.John.Takahashi@sony.com, linux-kernel@vger.kernel.org,
Lachlan Michael <lachlan.michael@sony.com>
Subject: [PATCH v3 0/2] Add bindings and driver for Sony IMX908
Date: Fri, 28 Aug 2026 15:48:41 +0900 [thread overview]
Message-ID: <20260828064843.65047-1-lachlan.michael@sony.com> (raw)
This series adds device tree bindings and a V4L2 sub-device driver for
the Sony IMX908 image sensor.
The IMX908 is an 8.39 MP (3856x2176) CMOS image sensor with a MIPI CSI-2
output interface. The driver supports RAW10 and RAW12 output formats,
exposure and analogue gain controls, image flipping, blanking controls,
window cropping and test pattern generation.
HDR modes and RAW16 output are not currently supported.
The driver has been tested with libcamera on Raspberry Pi 5 based
hardware.
Changes in v3:
PATCH 1:
- Adjust the binding description to match the actual hardware: the I2C
target address is selected by the SLAMODE pins, not fixed to 0x1A.
- Add the standard video-interface schema reference so the endpoint and
remote-endpoint validation match the media DT conventions.
PATCH 2:
- Correct link-frequency indexing mapping to match the sensor
DATARATE_SEL values and the frequency ordering
- Changed the pixel_rate to 16-pixel-per-clocks based on datasheet
mode values
- Clean up the constant names, register definitions and comments in
response to review feedback.
- Remove various (uneeded) checks in code based on feedback
- Remove cached vmax/hmax and recalculated where necessary
- Drop pixel_rate and test_pattern pointers from struct
- Remove read-only controls set_ctrl switch
- Remove event handlers
- Remove uneeded delays at startup
- Simplify runtime_resume/suspend functions
- Remove the 4k recording-area in favour of larger active area
- Use the same constraints for VMAX for crop and all pixel mode to
simplify the driver logic by removing branching
- Rework HMAX based on the fact that the whole line is always read
even in crop mode. HMAX varies in all modes now, but not with
horizontal crop.
- Minor edits and bugfixes
Link to v2: https://lore.kernel.org/r/20260806070934.21764-1-lachlan.michael@sony.com/
Changes in v2:
PATCH 1:
- Reword subject to drop the redundant "bindings" suffix.
- Reference video-interfaces.yaml for the endpoint and switch to
unevaluatedProperties, fixing the remote-endpoint check.
- Drop "link-frequencies: true".
- MAINTAINERS: drop the L: line.
- MAINTAINERS: move the driver F: line to patch 2.
PATCH 2:
- Treat the pixel rate as a fixed sensor property (594 MHz, 8 px/clock),
read-only.
- Compute HMAX from both the array and MIPI link floors.
- Express HBLANK in pixels with a step of 8; keep HMAX fixed in crop
mode.
- Drop struct imx908_mode; cache hmax/vmax directly.
- Change the link-frequency table to s64.
- Fix the probe error-unwind ordering.
- Be silent on success (chip ID print is now dev_dbg).
- Drop redundant comments.
- Kconfig: fix a "module will be called" typo.
Link to v1: https://lore.kernel.org/r/20260730021525.166811-1-lachlan.michael@sony.com
Lachlan Michael (2):
media: dt-bindings: imx908: Add Sony IMX908 sensor
media: i2c: Add Sony IMX908 image sensor driver
.../bindings/media/i2c/sony,imx908.yaml | 108 ++
MAINTAINERS | 6 +
drivers/media/i2c/Kconfig | 11 +
drivers/media/i2c/Makefile | 1 +
drivers/media/i2c/imx908.c | 1367 +++++++++++++++++
5 files changed, 1493 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx908.yaml
create mode 100644 drivers/media/i2c/imx908.c
--
2.47.3
next reply other threads:[~2026-08-28 6:49 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-28 6:48 Lachlan Michael [this message]
2026-08-28 6:48 ` [PATCH v3 1/2] media: dt-bindings: imx908: Add Sony IMX908 sensor Lachlan Michael
2026-08-28 6:55 ` sashiko-bot
2026-08-28 16:32 ` Conor Dooley
2026-08-28 6:48 ` [PATCH v3 2/2] media: i2c: Add Sony IMX908 image sensor driver Lachlan Michael
2026-08-28 7:04 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260828064843.65047-1-lachlan.michael@sony.com \
--to=lachlan.michael@sony.com \
--cc=Kazumi.A.Sato@sony.com \
--cc=Kengo.Hayasaka@sony.com \
--cc=Ryuichi.Tadano@sony.com \
--cc=Tim.Bird@sony.com \
--cc=Yuji.John.Takahashi@sony.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=hverkuil+cisco@kernel.org \
--cc=jai.luthra@ideasonboard.com \
--cc=kieran.bingham@ideasonboard.com \
--cc=krzk+dt@kernel.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=robh@kernel.org \
--cc=sakari.ailus@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox