[PATCH v3] media: ipu-bridge: Add OV13858 sensor config
From: Sergey Lebedev
Date: Sat Sep 19 2026 - 03:09:03 EST
The Microsoft Surface Pro 11 for Business (Intel Lunar Lake, IPU7) carries
an OV13858 as its rear sensor, enumerated as ACPI device OVTID858. That HID
is not in ipu_supported_sensors[], so ipu_bridge_connect_sensors() passes
over it without logging anything and the IPU is left with an empty graph:
intel-ipu7 0000:00:05.0: no subdev found in graph
Add the entry, with the two link frequencies ov13858 declares. The bridge
then connects the sensor:
intel-ipu7 0000:00:05.0: Found supported sensor OVTID858:00
intel_ipu7_isys: bind ov13858 1-0010 nlanes is 4 port is 0
This machine needs two further fixes before the sensor streams, neither of
them a prerequisite for this entry to be correct: "platform/x86: int3472:
support the POWER1 GPIO type" from Jakob Berg Jespersen, and power
sequencing the in-tree ov13858 driver does not do on this platform. With
all three, libcamera streams SGRBG10 at 4224x3136, 29.95 fps.
Signed-off-by: Sergey Lebedev <lsa.uz@xxxxx>
Tested-by: Fernando Rimoli <fernandorimoli11@xxxxxxxxx> # Surface Pro 9, IPU6 Alder Lake-P (8086:465d)
Tested-by: German Pablo Lindo <germanpapulindez@xxxxxxxxx>
---
Changes in v3:
- rebased on media/next; v2 applied only with an offset since
"media: ipu-bridge: Match sensor configs per IPU and add config flags"
landed and moved the table
- commit message cut to the length of the neighbouring entries, and three
things in it corrected against the machine: a quoted log line carried a
parenthesised fwnode the kernel it came from does not print, the capture
figures were stale, and only one of the two other fixes this machine
needs was named
- subject follows the convention of those entries
("media: ipu-bridge: Add OV01A1B sensor config"); the diff is unchanged
- carried Tested-by from Fernando Rimoli and German Pablo Lindo
The entry sits between OV08x40 and OV13B10, where the table's existing
grouping by part name puts OV13858.
v1: https://lore.kernel.org/linux-media/20260913100932.92087-1-lsa.uz@xxxxx/
v2: https://lore.kernel.org/linux-media/20260913142034.5632-1-lsa.uz@xxxxx/
drivers/media/pci/intel/ipu-bridge.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/media/pci/intel/ipu-bridge.c b/drivers/media/pci/intel/ipu-bridge.c
index 952868ad8d5..532a0bfbbbc 100644
--- a/drivers/media/pci/intel/ipu-bridge.c
+++ b/drivers/media/pci/intel/ipu-bridge.c
@@ -102,6 +102,8 @@ static const struct ipu_sensor_config ipu_supported_sensors[] = {
IPU_SENSOR_CONFIG("OVTI08A1", 1, 500000000),
/* Omnivision OV08x40 */
IPU_SENSOR_CONFIG("OVTI08F4", 3, 400000000, 749000000, 800000000),
+ /* Omnivision OV13858 */
+ IPU_SENSOR_CONFIG("OVTID858", 2, 540000000, 270000000),
/* Omnivision OV13B10 */
IPU_SENSOR_CONFIG("OVTI13B1", 1, 560000000),
IPU_SENSOR_CONFIG("OVTIDB10", 1, 560000000),
--
2.54.0 (Apple Git-157)