Source: linux
Version: 7.1.12-1
Severity: wishlist
X-Debbugs-Cc: [email protected]
User: [email protected]
Usertags: amd64
Dear Maintainer,
The built-in camera of the MSI Prestige 13 AI+ Evo A2VMG (Lunar Lake; Intel
IPU7 + OmniVision OV5675 sensor behind a TI TPS68470 PMIC) does not work with
the Debian amd64 kernel, because four Kconfig symbols the platform needs are
not enabled on amd64:
# CONFIG_VIDEO_OV5675 is not set
# CONFIG_GPIO_TPS68470 is not set
# CONFIG_REGULATOR_TPS68470 is not set
# CONFIG_COMMON_CLK_TPS68470 is not set
CONFIG_VIDEO_OV5675 is already enabled on arm64
(debian/config/arm64/config:1146: CONFIG_VIDEO_OV5675=m), so for that symbol
this is only an amd64 gap - and amd64 is where the sensor is actually used, by
Intel IPU6/IPU7 laptops.
All four are tristate and their dependencies are already met by the existing
amd64 config (CONFIG_INTEL_SKL_INT3472=m, CONFIG_I2C=y), so they can be
enabled as modules with no further changes:
drivers/gpio/Kconfig config GPIO_TPS68470 depends on
INTEL_SKL_INT3472
drivers/regulator/Kconfig config REGULATOR_TPS68470 depends on
INTEL_SKL_INT3472 || COMPILE_TEST
drivers/clk/Kconfig config COMMON_CLK_TPS68470 depends on I2C
depends on
INTEL_SKL_INT3472 || COMPILE_TEST
This is the same class of request as #1109814 (CONFIG_VIDEO_OV02C10) and
#1087004 (CONFIG_VIDEO_OV01A10), both of which were accepted.
Symptoms with the stock 7.1.8-2 amd64 kernel
--------------------------------------------
intel-ipu7 0000:00:05.0: Found supported sensor OVTI5675:00
intel-ipu7 0000:00:05.0: Connected 1 cameras
int3472-tps68470 i2c-INT3472:06: TPS68470 REVID: 0x21
int3472-tps68470 i2c-INT3472:06: error -ENODEV: No board-data found for this
model
The PMIC is found but cannot be set up, its MFD cells (tps68470-clk,
tps68470-regulator, tps68470-gpio) have no drivers to bind to, so
acpi_gpiochip_add() never runs and never clears the _DEP that OVTI5675:00 has
on INT3472:06. As a result no i2c client is created for the sensor and no
/dev/v4l-subdev* appears; userspace sees only the bare IPU7 ISYS capture nodes
and no camera.
Verification
------------
I rebuilt the following out of tree against linux-headers-7.1.8+deb14.1-amd64,
from unmodified v7.1.8 sources (no patch in debian/patches/ touches these
files):
drivers/media/i2c/ov5675.c -> ov5675.ko
drivers/gpio/gpio-tps68470.c -> gpio-tps68470.ko
drivers/regulator/tps68470-regulator.c -> tps68470-regulator.ko
drivers/clk/clk-tps68470.c -> clk-tps68470.ko
plus a backport of the upstream DMI entry for this machine (see below). With
those five modules in /lib/modules/$(uname -r)/updates/, the camera works
after a normal boot:
intel-ipu7 0000:00:05.0: CSE authenticate_run done
int3472-tps68470 i2c-INT3472:06: TPS68470 REVID: 0x21
intel_ipu7_isys.isys intel_ipu7.isys.40: bind ov5675 1-0036 nlanes is 2 port
is 0
intel_ipu7_isys.isys intel_ipu7.isys.40: All sensor registration completed.
$ cam -l
Available cameras:
1: Internal front camera (\_SB_.LNK0)
$ cam -c1 --capture=300 --file=/tmp/cap#.bin
... 2584x1944 at 29.95 fps, 300 frames, real images
PipeWire exposes it as node "libcamera_input.__SB_.LNK0" / "Built-in Front
Camera". libcamera 0.7 supports IPU7 through the Simple pipeline handler with
the (GPU-accelerated) SoftISP, so no out-of-tree userspace such as the Intel
camera HAL is needed - the kernel config is the only thing missing.
Secondary note: INT3472 board data for this model
-------------------------------------------------
Independently of the config question, 7.1 only carries the DMI entry for the
"Prestige 14 AI+ Evo C2VMG". The entries for the other two models were added
upstream after 7.1 was cut:
ae04f36 platform/x86: int3472: Match MSI laptop board name
621e4f7 platform/x86: int3472: Add more MSI AI evo laptops
They add "Prestige 13 AI+ Evo A2VMG" (MS-13Q3) and "Prestige 16 AI+ Evo
B2VMG" (MS-15A3), both reusing the existing msi_prestige_ai_evo_* data, and
they are in 7.2. This resolves itself once forky moves to 7.2. I mention it
only because enabling the four config symbols alone is not sufficient while
the archive is on 7.1; a cherry-pick of those two commits would make the
camera work on 7.1 as well, if the team considers that worthwhile.
System information
------------------
Vendor: Micro-Star International Co., Ltd.
Product: Prestige 13 AI+ Evo A2VMG
Board: MS-13Q3
BIOS: E13Q3IMS.112, 12/22/2025
Kernel: 7.1.8+deb14.1-amd64 (linux-image-amd64 7.1.8-2)
Camera: OVTI5675:00 (OV5675) on Intel IPU7, PMIC INT3472:06 (TPS68470)
--
This investigation was carried out with the assistance of Claude Code. Every
statement above was verified on the machine in question.
-- System Information:
Debian Release: forky/sid
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500,
'testing'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 7.1.8+deb14.1-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_CRAP, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=C.UTF-8, LC_CTYPE=ja_JP.utf8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled