mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v9 0/3] Add support for the Sony IMX681 camera sensor
@ 2026-11-06  4:11 Sergey Lebedev
  2026-11-06  4:11 ` [PATCH v9 1/3] dt-bindings: media: Add Sony IMX681 Sergey Lebedev
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Sergey Lebedev @ 2026-11-06  4:11 UTC (permalink / raw)
  To: Sakari Ailus, Mauro Carvalho Chehab, Andre Gilerson, Dan Scally
  Cc: Hans de Goede, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	German Pablo Lindo, George Neacsu, sashiko-bot, linux-media,
	devicetree, linux-kernel

The Sony IMX681 is the user-facing camera on the Microsoft Surface Pro 11
for Business (Intel Lunar Lake, IPU7), ACPI device SONY0681. Without a
driver the camera does not appear at all.

  1/3  dt-bindings: media: Add Sony IMX681        (mine)
  2/3  media: i2c: Add Sony IMX681 sensor driver  (Andre's, co-developed)
  3/3  media: ipu-bridge: Add Sony IMX681         (mine)

The driver is Andre's, reverse-engineered from I2C traces taken under
Windows.

Changes in v9
=============

Rebased on v7.4-rc1, where v8 no longer applied: imx576 went in next to
2/3's Makefile line. No functional change; imx681.c is byte for byte v8's.
- 2/3: the Makefile line follows imx678.
- 3/3: the bridge entry follows the IMX471 ones, in the table's order
  there. This also keeps it apart from the VD55G0 entry in [1], so the
  two series apply in either order.

All tags are kept. On v7.4-rc1, 2/3 and 3/3 build with W=1 and sparse
clean, alone and together with [1]; the tests below are v8's.

While this sensor streams, IPU7's CSI-2 receiver logs "Received packet is
too long" once per frame, and the frames are complete. Andre sees the same
with his downstream driver, so it does not come from this series.

Tested with v8 on the Surface Pro 11 for Business, on media next
2dcdfb625c3 with KASAN and lockdep:
- the clock is INT3472:02-clk at 19.2 MHz, with the sensor as consumer;
- v4l2-compliance 46 of 46, no warnings;
- 3844x2640 at 30.01 fps;
- the four flip states give the four Bayer orders, and EBUSY while
  streaming;
- runtime suspend after streaming, and capture after unbind and bind;
- no KASAN or lockdep report from the driver;
- W=1 and sparse clean, dt_binding_check clean.

[1] https://lore.kernel.org/all/20261103103235.94397-1-lsa.uz@pm.me/
v8: https://lore.kernel.org/all/20261002082537.74084-1-lsa.uz@pm.me/

Andre Gilerson (1):
  media: i2c: Add Sony IMX681 sensor driver

Sergey Lebedev (2):
  dt-bindings: media: Add Sony IMX681
  media: ipu-bridge: Add Sony IMX681

 .../bindings/media/i2c/sony,imx681.yaml       |  108 ++
 MAINTAINERS                                   |    8 +
 drivers/media/i2c/Kconfig                     |   10 +
 drivers/media/i2c/Makefile                    |    1 +
 drivers/media/i2c/imx681.c                    | 1032 +++++++++++++++++
 drivers/media/pci/intel/ipu-bridge.c          |    2 +
 6 files changed, 1161 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx681.yaml
 create mode 100644 drivers/media/i2c/imx681.c


base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
-- 
2.54.0



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-11-06  4:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-06  4:11 [PATCH v9 0/3] Add support for the Sony IMX681 camera sensor Sergey Lebedev
2026-11-06  4:11 ` [PATCH v9 1/3] dt-bindings: media: Add Sony IMX681 Sergey Lebedev
2026-11-06  4:11 ` [PATCH v9 2/3] media: i2c: Add Sony IMX681 sensor driver Sergey Lebedev
2026-11-06  4:11 ` [PATCH v9 3/3] media: ipu-bridge: Add Sony IMX681 Sergey Lebedev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®