The Intel CVS (Computer Vision Sensing) driver was merged upstream in Linux
7.2 as drivers/media/i2c/cvs/. It is the last missing component of the MIPI
camera pipeline on Lunar Lake laptops: Debian already enables IPU7, the IPU
bridge, OV02C10 and INT3472, but CONFIG_VIDEO_INTEL_CVS is not set, so the
module is never built and the built-in camera remains non-functional.
Configuration change only; no patches required.
Upstream
--------
Kconfig symbol VIDEO_INTEL_CVS ("Intel CVS CSI-2 bridge support", tristate,
module intel_cvs). It has no "default y", so it must be opted into. Its ACPI
match table covers four platforms:
static const struct acpi_device_id intel_cvs_acpi_match[] = {
{ "INTC10DE" }, /* LNL */
{ "INTC10E0" }, /* ARL */
{ "INTC10E1" }, /* PTL */
{ "INTC10FA" }, /* NVL */
so this affects Arrow Lake and Panther Lake hardware as well, not only Lunar
Lake.
Why the camera fails without it
-------------------------------
The sensor sits behind the CVS controller, which owns the CSI-2 link until
it
hands it to the host. With no driver bound to INTC10DE that handover never
happens, and ov02c10 cannot reach the sensor. On a Dell XPS 13 9350
(Core Ultra 7 268V), running 7.1.12+deb14-amd64:
$ ls -d /sys/bus/acpi/devices/INTC10DE:00/driver
ls: cannot access '.../driver': No such file or directory
$ ls -d /sys/bus/i2c/devices/i2c-OVTI02C1:00/driver
ls: cannot access '.../driver': No such file or directory
$ lsmod | grep '^ov02c10'
ov02c10 24576 0 # loaded, bound to nothing
$ cam -l
INFO SimplePipeline: No sensor found for /dev/media1
Relevant detail: drivers/acpi/scan.c lists INTC10DE in acpi_ignore_dep_ids[]
with the comment "CVS (LNL) driver must be loaded to allow camera
streaming".
The _DEP is deliberately ignored so the sensor can probe, on the assumption
that the CVS driver is present; when it is not built, the sensor probes and
fails.
Current configuration
---------------------
debian/config/amd64/config at debian/latest (7.2.3-1~exp1) enables the rest
of
the pipeline and omits only CVS:
CONFIG_VIDEO_OV02C10=m
CONFIG_VIDEO_INTEL_IPU7=m
CONFIG_IPU_BRIDGE=m
# CONFIG_VIDEO_INTEL_CVS absent
Request
-------
CONFIG_VIDEO_INTEL_CVS=m
This completes a pipeline Debian has already committed to, following
#1132814
(CONFIG_VIDEO_INTEL_IPU7) and #1135682 (CONFIG_USB_USBIO, fixed in 7.0.9-1).
Thanks
Glenn