Summary
The current ipu6epmtl_fw.bin does not support C-PHY stream sources,
making it impossible to use C-PHY sensors on Meteor Lake under Linux.
Hardware
- Device: Microsoft Surface Pro 10 for Business
- IPU: Intel IPU6EP-MTL (PCI 8086:7d19, Meteor Lake)
- Front camera: Sony IMX681 (ACPI: SONY0681)
- Interface: MIPI CSI-2 C-PHY, 2 trios, 380.8 MHz symbol rate
- CSI port: 4 (PHY_E, CSI2_3PH_PORTA)
Findings
-
Linux firmware (ipu6epmtl_fw.bin, main branch) rejects stream source
CSI2_3PH_CPHY_PORT0 (src=6) with FW_INTERNAL_CONSISTENCY error
(error=1, details=18).
-
The Windows driver (iacamera64.sys) successfully uses src=6 for this
sensor, confirmed via ETW trace analysis.
-
The Windows firmware binary (from the iacamera64 driver package, same
size 466944 bytes) is a different build that supports C-PHY. The Linux
firmware does not.
-
All kernel driver infrastructure is complete:
- C-PHY flag detection and propagation
- CSI frontend registers correct (FE_MODE=1, PPI_PHY_TYPE=1)
- DWC PHY powers up to IDLE state
- IMX681 sensor starts streaming
- Firmware accepts src=4 stream open, but never sends FRAME_SOF
Request
Please release an updated ipu6epmtl_fw.bin with C-PHY support,
either by supporting CSI2_3PH_CPHY_PORT0 (src=6) or adding C-PHY
processing for CSI2_3PH_PORTA (src=4).
References
Summary
The current
ipu6epmtl_fw.bindoes not support C-PHY stream sources,making it impossible to use C-PHY sensors on Meteor Lake under Linux.
Hardware
Findings
Linux firmware (
ipu6epmtl_fw.bin, main branch) rejects stream sourceCSI2_3PH_CPHY_PORT0(src=6) withFW_INTERNAL_CONSISTENCYerror(error=1, details=18).
The Windows driver (
iacamera64.sys) successfully uses src=6 for thissensor, confirmed via ETW trace analysis.
The Windows firmware binary (from the iacamera64 driver package, same
size 466944 bytes) is a different build that supports C-PHY. The Linux
firmware does not.
All kernel driver infrastructure is complete:
Request
Please release an updated
ipu6epmtl_fw.binwith C-PHY support,either by supporting
CSI2_3PH_CPHY_PORT0(src=6) or adding C-PHYprocessing for
CSI2_3PH_PORTA(src=4).References