[PATCH v5 0/3] Add support for the Sony IMX681 camera sensor
From: Sergey Lebedev
Date: Mon Sep 21 2026 - 15:31:35 EST
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 Gilerson's)
3/3 media: ipu-bridge: Add Sony IMX681 (mine)
The driver is Andre's work, reverse-engineered from I2C traces taken under
Windows. I am carrying the submission, not the code.
Changes in v5
=============
v4 does not compile on aedd77ea8168, the base it declares. .set_fmt and
.get_selection gained a const v4l2_subdev_client_info *ci argument between
b38d06ad1e13 and that commit; v4 was rebased across the window and 2/3 was
carried unchanged. v5 adds the argument, two lines, and differs from v4 in
nothing else. Krzysztof's Reviewed-by on 1/3 and German's Tested-by on 2/3
stand.
It took building the series to see it: git apply reports no offset on v4
even now, and checkpatch passes it.
Checked
=======
Built into a kernel from this series and booted on the machine. 2/3's
imx681.c and the file that built the running module hash to the same bytes.
intel-ipu7: Found supported sensor SONY0681:00 (\_SB.PC00.I2C5.CAMF)
v4l2-compliance 1.32.0 on the sensor subdev:
Total for device /dev/v4l-subdev5: 46, Succeeded: 46, Failed: 0, Warnings: 0
checkpatch --strict, sparse and W=1 are clean on 2/3 and 3/3; 1/3's only
warning asks whether MAINTAINERS needs updating, which 2/3 does.
v4's limitations are unchanged and still hold: one machine, one sensor
sample, one mode (3844x2640 SGRBG10 at 969.6 MHz per lane), dummy dvdd and
dovdd from INT3472 so the fatal regulator path is reasoned rather than
exercised, no IVSC HID present, and no KASAN or lockdep build.
Still open, as in v4: Andre's ack on the binding, which Krzysztof asked for
and which is properly Andre's. And the mirroring question raised against v3.
Based on media/next at aedd77ea8168 ("media: qcom: camss: use
fwnode_graph_for_each_endpoint_scoped() to simplify code"). That branch
rewinds, so if this does not apply where you are, say so and I will rebase -
and build it afterwards this time.
German reported this HID as a bug on this list on 3 September and has had no
reply since; he is on Cc here.
https://lore.kernel.org/linux-media/20260903080854.16266-1-germanpapulindez@xxxxxxxxx/
--
2.54.0 (Apple Git-157)