Re: [PATCH v7 0/2] iio: proximity: add driver for ST VL53L1X ToF sensor
From: Krzysztof Kozlowski
Date: Wed Mar 25 2026 - 03:58:01 EST
On Wed, Mar 25, 2026 at 12:32:21PM +0600, Siratul Islam wrote:
> This series adds support for the STMicroelectronics VL53L1X
> Time-of-Flight ranging sensor.
>
> The VL53L1X is a ToF laser-ranging sensor with I2C interface,
> capable of measuring distances up to 4 meters. The driver
> supports both interrupt-driven and polled operation.
>
> Why a separate driver is needed (instead of extending vl53l0x-i2c.c):
> The VL53L1X is fundamentally different from the VL53L0X despite the
> similar naming. Extending the existing driver would require rewriting
> the majority of it.
>
> Key differences include:
> - A different register map (16-bit addresses vs. 8-bit addresses).
> - Requires a 91-byte firmware configuration blob to be loaded at boot.
> - Requires a VHV calibration cycle.
> - Has distance mode and timing budget configurations.
> - Uses the regmap API rather than raw i2c_smbus calls.
>
> I also reviewed other drivers in drivers/iio/proximity/ and can
> confirm this IP block does not appear to be shared by any other
> existing driver.
>
> Tested on Raspberry Pi 5 with a VL53L1X breakout board.
>
> Note on vdd-supply:
> vdd-supply is now required. The VL53L0X required a physical
> regulator, but it did not specify the requirement in the binding.
> It should have always been there. The VL53L1X also requires it.
> Hence I added the requirement.
>
> ---
> Changes in v7:
> - Add VL53L1X_REG_ prefix for register defines.
> - Use iio_push_to_buffers_with_ts().
> - Use continuous ranging and drop postenable/predisable.
> - Add comments for XSHUT reset, default config values.
> - Drop vdd-supply description in binding and comment in driver.
> - Add ABI rationale for vdd-supply to commit message (per Krzysztof, Jonathan).
>
>
> Changes in v6:
> - Make vdd-supply required. Add descriptions to vdd-supply and reset-gpios (per Jonathan).
> - Check reset_control_deassert() return value (per Andy).
> - Use volatile table for result registers and caching for the rest. Also mark write-only registers.
So where did you explain dropping tag as I requested? Did you read the
exact paragraph I asked you to read?
Best regards,
Krzysztof