acpidump.bin.gz
[BUG] Lenovo ThinkPad X12 Detachable Gen 2 (21LK001LGE): INT3472 discrete missing board-data / broken _DEP for OV8856 rear camera
Description:
Hello,
I am trying to get the camera system working on the new Lenovo ThinkPad X12 Detachable Gen 2 under Linux (Kernel 7.1.2/7.6.2).
While the front camera (Chicony USB UVC) works out of the box, the rear camera (OmniVision OV8856, ACPI ID: OVTI8856:00) fails to probe with an I2C read timeout (error -5).
Hardware & Environment:
- System: Lenovo ThinkPad X12 Detachable Gen 2 [1.1.5]
- DMI board_name / product_name:
21LK001LGE
- Platform: Intel Meteor Lake (Core Ultra)
- Sensor: OmniVision OV8856 (
OVTI8856:00)
- Kernel: Custom Gentoo build (v7.1.2 / v7.6.2)
Symptoms & Logs:
Upon boot, the ov8856 driver attempts to probe but times out on i2c_designware.2 [2.1.8]:
[ 12.129093] i2c_designware i2c_designware.2: controller timed out
[ 12.129110] ov8856 i2c-OVTI8856:00: failed to find sensor: -5
[ 12.129125] ov8856 i2c-OVTI8856:00: probe with driver ov8856 failed with error -5
During earlier debugging, intel_skl_int3472_discrete loaded but threw the following warning [1.2.8, 2.4.4]:
[ 3453.889943] int3472-discrete INT3472:01: INT3472 seems to have no dependents.
Because of this missing ACPI dependency (_DEP / _PLD), the driver failed to map any power regulators or clocks to the sensor [2.3.2, 2.4.4].
Debugging & Root Cause Analysis:
-
Bypassing the ACPI dependency bug:
We patched drivers/platform/x86/intel/int3472/common.c in skl_int3472_get_sensor_adev_and_name to include a manual fallback for "OVTI8856" when acpi_dev_get_next_consumer_dev returns NULL.
With this patch, the driver successfully binds to INT3472:01 without throwing any warnings.
-
Missing Board-Data:
Even though the driver successfully binds with the fallback patch, the ov8856 sensor still times out with -5. This is because there is no matching DMI board-data entry for 21LK001LGE in drivers/platform/x86/intel/int3472/discrete.c [3.4.4].
The driver does not know which physical GPIO pins to toggle (reset/powerdown) or which clock to register, leaving the camera unpowered [3.1.1, 3.4.4].
Attached Files:
I have attached the acpidump from this system (acpidump.bin).
Could you please help analyze the ACPI tables to extract the correct GPIO/clock configuration and add the corresponding DMI board-data quirk for the ThinkPad X12 Detachable Gen 2 (21LK001LGE) to discrete.c? [3.4.4]
Thank you very much for your help!
acpidump.bin.gz
[BUG] Lenovo ThinkPad X12 Detachable Gen 2 (21LK001LGE): INT3472 discrete missing board-data / broken _DEP for OV8856 rear cameraDescription:
Hello,
I am trying to get the camera system working on the new Lenovo ThinkPad X12 Detachable Gen 2 under Linux (Kernel 7.1.2/7.6.2).
While the front camera (Chicony USB UVC) works out of the box, the rear camera (OmniVision OV8856, ACPI ID:
OVTI8856:00) fails to probe with an I2C read timeout (error-5).Hardware & Environment:
21LK001LGEOVTI8856:00)Symptoms & Logs:
Upon boot, the
ov8856driver attempts to probe but times out oni2c_designware.2[2.1.8]:During earlier debugging,
intel_skl_int3472_discreteloaded but threw the following warning [1.2.8, 2.4.4]:Because of this missing ACPI dependency (
_DEP/_PLD), the driver failed to map any power regulators or clocks to the sensor [2.3.2, 2.4.4].Debugging & Root Cause Analysis:
Bypassing the ACPI dependency bug:
We patched
drivers/platform/x86/intel/int3472/common.cinskl_int3472_get_sensor_adev_and_nameto include a manual fallback for"OVTI8856"whenacpi_dev_get_next_consumer_devreturns NULL.With this patch, the driver successfully binds to
INT3472:01without throwing any warnings.Missing Board-Data:
Even though the driver successfully binds with the fallback patch, the
ov8856sensor still times out with-5. This is because there is no matching DMI board-data entry for21LK001LGEindrivers/platform/x86/intel/int3472/discrete.c[3.4.4].The driver does not know which physical GPIO pins to toggle (reset/powerdown) or which clock to register, leaving the camera unpowered [3.1.1, 3.4.4].
Attached Files:
I have attached the
acpidumpfrom this system (acpidump.bin).Could you please help analyze the ACPI tables to extract the correct GPIO/clock configuration and add the corresponding DMI board-data quirk for the ThinkPad X12 Detachable Gen 2 (21LK001LGE) to
discrete.c? [3.4.4]Thank you very much for your help!