#1146417 linux: please enable CONFIG_VIDEO_OV5675 and TPS68470 gpio/regulator/clk on amd64

#1146417#5
Date:
2026-09-01 17:22:42 UTC
From:
To:
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)

#1146417#10
Date:
2026-09-01 19:15:24 UTC
From:
To:
We don't accept bug reports from slop machines.  None of the information
is known to be correct.

Bastian

#1146417#15
Date:
2026-09-01 19:16:45 UTC
From:
To:
Actually closing.

Bastian

#1146417#20
Date:
2026-09-01 19:40:02 UTC
From:
To:
Hello Bastian,

On Wed, 02 Sep 2026 04:15:24 +0900, Bastian Blank wrote:

Understood, and I imagine you receive a lot of those.

The config part of the report needs no trust in me - it is all in the
linux source package, and one of the four symbols is already enabled on
arm64 but not on amd64.  The rest is not a guess either: this laptop's
built-in camera did not work before and does work now, with those
modules built as described.

I disclosed the AI assistance because I thought that was the honest thing
to do, and I would rather keep doing so.  If that is grounds for
rejection, I accept it and will keep building the modules locally.

Thanks,