Skip to content

HM1092 IR sensor driver — probes but no MIPI data (need I2C trace from Windows) #64

@jibsta210

Description

@jibsta210

Hardware

  • Dell XPS 16 (2026, Panther Lake)
  • ACPI: HIMX1092:00 at \_SB_.LNK0
  • I2C address: 0x24 on USBIO bus (Synaptics SVP7500)
  • CSI-2 port 2, 1 lane
  • Chip ID: 0x1091 (confirmed via I2C read)
  • CVS SoC: INTC10E1 (Synaptics) at I2C 0x76

What works

  • Custom V4L2 sensor driver probes successfully
  • Patched ipu-bridge adds HIMX1092 to ipu_supported_sensors[]
  • Patched INT3472 handles GPIO type 0x02 (IR flood LED) and adds SSDB controllogicid fallback for USBIO platforms where _DEP references non-existent \_SB.PC00.I2Cx
  • Clock enabled (19.2 MHz from INT3472:00)
  • CSI-2 clock lane active (PHY_RX = 0x00010000)
  • 60 register init sequence extracted from Dell Windows hm1092.sys binary (offset 0x26B34 in .rdata)

What doesn't work

  • CSI-2 data lane stays in stop state (PHY_STOPSTATE data bit = 1)
  • PHY_CAL = 0x00000000 (HS calibration never completes)
  • No frame data despite STREAMON succeeding
  • stream stop time out in ISYS firmware

Root cause analysis

The Synaptics CVS SoC (INTC10E1, I2C address 0x76) sits in the MIPI data path between sensor and IPU7. Its device capability 0xD200 has HOST_MIPI_CONFIG_REQUIRED (bit 15) set. The Windows Vision.sys driver sends HOST_SET_MIPI_CONFIG (command 0x0830) with 176 bytes of config data in an unknown format. Without this config, the CVS blocks the data lane.

The intel_cvs Linux driver (intel/vision-drivers) handles I2C ownership transfer but does NOT send HOST_SET_MIPI_CONFIG. We added it but the data format is unknown — Intel IVSC uses a 16-byte csi_link_cfg structure but Synaptics CVS protocol v2.2 appears to use a different 176-byte format.

Request

If anyone has a Dell XPS/Latitude/Pro with Panther Lake running Windows, a USB I2C capture (USBPcap + Wireshark) during IR camera startup would provide the exact CVS MIPI config data. Steps:

  1. Install USBPcap
  2. Capture the USB bus with Synaptics device (06cb:0701)
  3. Open Camera app or trigger Windows Hello
  4. Stop capture, share the .pcap file

Check Device Manager → System → "Camera Sensor HM1092" to confirm your laptop has it.

Patches developed

  1. int3472-discrete.c — GPIO type 0x02 (IR flood/strobe LED) mapped to sensor as "ir-led" GPIO
  2. int3472-common.c — SSDB controllogicid fallback: walks ACPI namespace to find sensor when acpi_dev_get_next_consumer_dev() fails (broken _DEP on USBIO platforms)
  3. ipu-bridge.cIPU_SENSOR_CONFIG("HIMX1092", 1, 360960000) added to ipu_supported_sensors[]
  4. hm1092.c — V4L2 sensor driver with clock enable, regulator support, and Windows-extracted 60-register init sequence

Relevant files

  • Windows driver: Intel-2D-Imaging-USB-IO-Vision-Driver-for-Camera from Dell support (contains hm1092.sys and Vision.sys)
  • CVS driver: https://github.com/intel/vision-drivers
  • Sensor datasheet: NDA (Himax HM1092, 1280x720 NIR, 1-lane CSI-2)

System info

  • Kernel: 7.0.0-rc7-3-cachyos-rc
  • libcamera: custom pipeline handler for IPU7
  • CachyOS (Arch-based)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions