Re: [PATCH v2 00/11] media: i2c: st-vd55g1: Genericize driver and add VD55G0 support
From: Benjamin Mugnier
Date: Mon Sep 21 2026 - 05:26:46 EST
Hi Peter,
Thank you for your work.
Le 19/09/2026 à 00:16, Peter Marshall a écrit :
> This patch series refactors the STMicroelectronics VD55G1 and VD65G4 image
> sensor driver (vd55g1) to abstract sensor differences and adds support for
> the VD55G0 monochrome sensor.
I read through your patches more closely, and I still think this is not
the best approach. So for the driver refactoring this will be a NAK for
me. I'll gladly take the ACPI parts though.
Sergey is currently working on bringing the vd55g0 downstream driver in
upstream, which I find a better approach. Not sure if you're working
together, if not I recommend getting in touch as it may suit your needs ?
>
> The VD55G0 is used as the IR face ID sensor in devices such as the
> Microsoft Surface Pro 9, where it is found under ACPI HID `SMO55F0`. It
> features a native resolution of 644 x 604 pixels and differs from later
> variants in the family in several ways:
>
> * It uses a different native resolution and register addresses mapping,
> requiring specification of generational feature differences.
> * It lacks support for spatial and temporal HDR.
> * It requires an exposure duty cycle limit to keep the illuminator current
> within safe levels.
>
> Tested on a Microsoft Surface Pro 9 (an Intel IPU6 platform with ACPI
> HID "SMO55F0") running kernel 7.2.0 (changes cherry-picked) and libcamera
> 0.7.0. Builds successfully on linux-media next.
>
> Key changes from the previous series:
> * The vd55g1 module is grown to support the extra hardware instead of
> replacing it with a completely new driver.
> * The driver now includes a builtin patch array. External firmware loading
> is no longer required.
> * Lower-level error messages are demoted to the debug level to keep kernel
> logs clean and actionable.
> * Hardware registers are now fully abstracted, so operational logic never
> needs to touch a raw CCI address.
> * Changes are broken into logical steps to improve clarity and make
> bisection possible.
> * Rebased against linux-media next.
>
> Peter Marshall (11):
> dt-bindings: media: i2c: st,vd55g1: Move allOf: after required:
> media: dt-bindings: i2c: vd55g1: Add vd55g0 compatible
> media: ipu-bridge: Add VD55G0 to the list of supported sensors
> platform/x86: int3472: Add VD55G0 supply GPIO mapping
> media: i2c: st-vd55g1: Default to illuminator on GPIO 1
> media: i2c: st,vd55g1: Handle virtual firmware graph endpoints
> media: i2c: st-vd55g1: Clean up module error reporting
> media: i2c: st-vd55g1: Unify frame timing calculations
> media: i2c: st-vd55g1: Abstract sensor models, revisions, and features
> media: i2c: st-vd55g1: Use indirect hardware register addressing
> media: i2c: st-vd55g1: Support VD55G0 global-shutter image sensor
>
> .../bindings/media/i2c/st,vd55g1.yaml | 34 +-
> MAINTAINERS | 1 +
> drivers/media/i2c/vd55g1.c | 1667 +++++++++++++----
> drivers/media/pci/intel/ipu-bridge.c | 2 +
> drivers/platform/x86/intel/int3472/discrete.c | 18 +
> 5 files changed, 1394 insertions(+), 328 deletions(-)
>
--
Regards,
Benjamin