* [PATCH v6 0/2] iio: proximity: move LIDAR-Lite out of trivial-devices and add Garmin fallback
@ 2026-08-19 20:55 Rodrigo Gobbi
2026-08-19 20:55 ` [PATCH v6 1/2] dt-bindings: iio: proximity: move LIDAR-Lite v2 out of trivial-devices Rodrigo Gobbi
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Rodrigo Gobbi @ 2026-08-19 20:55 UTC (permalink / raw)
To: jic23, dlechner, nuno.sa, andy, robh, krzk+dt, conor+dt, matt
Cc: ~lkcamp/patches, linux-kernel-mentees, linux-iio, devicetree,
linux-kernel
This series moves the LIDAR-Lite v2 binding out of trivial-devices
into a dedicated schema, documenting the power-enable, power-supply
and status-output interrupt properties that trivial-devices.yaml has
no way to express.
It then adds the Garmin LIDAR-Lite v3 as a fallback compatible in a
separate patch, since it is pin-compatible with the v2 and already
matched by the driver, so no driver changes are needed.
---
Changelog:
v6: updated Matt's email; update commit msg from patch 2;
added myself as a second maintainer as suggested; collected
Acked-by from Matt (patch 1) and Acked-by/Reviewed-by from Krzysztof;
v5: https://lore.kernel.org/all/20260810192131.153495-1-rodrigo.gobbi.7@gmail.com/
v4: https://lore.kernel.org/all/20260714215433.41259-1-rodrigo.gobbi.7@gmail.com/
v3: https://lore.kernel.org/all/20251102221643.9966-1-rodrigo.gobbi.7@gmail.com/
v2: https://lore.kernel.org/all/20250801224112.135918-1-rodrigo.gobbi.7@gmail.com/
v1: https://lore.kernel.org/all/20250701223341.36835-1-rodrigo.gobbi.7@gmail.com/
---
Rodrigo Gobbi (2):
dt-bindings: iio: proximity: move LIDAR-Lite v2 out of trivial-devices
dt-bindings: iio: proximity: document LIDAR-Lite v3 fallback
compatible
.../proximity/pulsedlight,lidar-lite-v2.yaml | 71 +++++++++++++++++++
.../devicetree/bindings/trivial-devices.yaml | 2 -
2 files changed, 71 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/iio/proximity/pulsedlight,lidar-lite-v2.yaml
--
2.48.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v6 1/2] dt-bindings: iio: proximity: move LIDAR-Lite v2 out of trivial-devices
2026-08-19 20:55 [PATCH v6 0/2] iio: proximity: move LIDAR-Lite out of trivial-devices and add Garmin fallback Rodrigo Gobbi
@ 2026-08-19 20:55 ` Rodrigo Gobbi
2026-08-19 21:07 ` sashiko-bot
2026-08-19 20:55 ` [PATCH v6 2/2] dt-bindings: iio: proximity: document LIDAR-Lite v3 fallback compatible Rodrigo Gobbi
2026-08-20 1:40 ` [PATCH v6 0/2] iio: proximity: move LIDAR-Lite out of trivial-devices and add Garmin fallback Jonathan Cameron
2 siblings, 1 reply; 5+ messages in thread
From: Rodrigo Gobbi @ 2026-08-19 20:55 UTC (permalink / raw)
To: jic23, dlechner, nuno.sa, andy, robh, krzk+dt, conor+dt, matt
Cc: ~lkcamp/patches, linux-kernel-mentees, linux-iio, devicetree,
linux-kernel
The PulsedLight LIDAR-Lite v2 is currently described as a trivial device,
but it is not one: besides the I2C interface it exposes a power-enable
pin and a mode-control pin.
The mode-control pin can trigger acquisitions and report the measured
distance through a PWM signal, entirely bypassing I2C. That usage is
bidirectional and non-cyclic, so it doesn't map onto any existing
binding for describing pin behaviour, and is intentionally left
undocumented here. The same pin can, however, also be used as a plain
status output while I2C remains the active interface, which is
described through the new interrupts property.
Move the device to a dedicated binding file and document the
power-enable, power-supply and interrupt properties that
trivial-devices.yaml has no way to express.
Signed-off-by: Rodrigo Gobbi <rodrigo.gobbi.7@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Acked-by: Matt Ranostay <matt@ranostay.sg>
---
.../proximity/pulsedlight,lidar-lite-v2.yaml | 65 +++++++++++++++++++
.../devicetree/bindings/trivial-devices.yaml | 2 -
2 files changed, 65 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/iio/proximity/pulsedlight,lidar-lite-v2.yaml
diff --git a/Documentation/devicetree/bindings/iio/proximity/pulsedlight,lidar-lite-v2.yaml b/Documentation/devicetree/bindings/iio/proximity/pulsedlight,lidar-lite-v2.yaml
new file mode 100644
index 000000000000..491960bb3a0e
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/proximity/pulsedlight,lidar-lite-v2.yaml
@@ -0,0 +1,65 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/proximity/pulsedlight,lidar-lite-v2.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Pulsedlight LIDAR-Lite v2 range-finding sensor
+
+maintainers:
+ - Matt Ranostay <matt@ranostay.sg>
+ - Rodrigo Gobbi <rodrigo.gobbi.7@gmail.com>
+
+description: |
+ This binding covers the I2C interface of the Pulsedlight LIDAR-Lite v2
+ laser rangefinder.
+
+ Besides I2C, the mode control pin can also trigger acquisitions and
+ report the measured distance through a PWM signal, without using I2C
+ at all. That usage is bidirectional and non-cyclic, and is not
+ described by this binding. The same pin can also be used, while I2C
+ remains the active interface, as a plain status output signalling
+ when an acquisition has completed.
+
+ Datasheet:
+ https://github.com/PulsedLight3D/LIDAR-Lite-Documentation/blob/master/Docs/LIDAR-Lite-v2-Docs.pdf
+
+properties:
+ compatible:
+ const: pulsedlight,lidar-lite-v2
+
+ reg:
+ maxItems: 1
+
+ powerdown-gpios:
+ description: GPIO that can be driven low to shut off power to the device.
+ maxItems: 1
+
+ vdd-supply: true
+
+ interrupts:
+ description:
+ Mode control pin used as a status output, driven while the device is
+ busy performing an acquisition. Can be used to signal completion
+ instead of polling over I2C.
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - vdd-supply
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ lidar@62 {
+ compatible = "pulsedlight,lidar-lite-v2";
+ reg = <0x62>;
+ vdd-supply = <&vdd_5v0>;
+ };
+ };
+...
diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Documentation/devicetree/bindings/trivial-devices.yaml
index 2de8eb09cb7d..6a7ee45842e3 100644
--- a/Documentation/devicetree/bindings/trivial-devices.yaml
+++ b/Documentation/devicetree/bindings/trivial-devices.yaml
@@ -400,8 +400,6 @@ properties:
- onnn,adt7462
# 48-Lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch
- plx,pex8648
- # Pulsedlight LIDAR range-finding sensor
- - pulsedlight,lidar-lite-v2
# Renesas HS3001 Temperature and Relative Humidity Sensors
- renesas,hs3001
# Renesas ISL29501 time-of-flight sensor
--
2.48.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v6 2/2] dt-bindings: iio: proximity: document LIDAR-Lite v3 fallback compatible
2026-08-19 20:55 [PATCH v6 0/2] iio: proximity: move LIDAR-Lite out of trivial-devices and add Garmin fallback Rodrigo Gobbi
2026-08-19 20:55 ` [PATCH v6 1/2] dt-bindings: iio: proximity: move LIDAR-Lite v2 out of trivial-devices Rodrigo Gobbi
@ 2026-08-19 20:55 ` Rodrigo Gobbi
2026-08-20 1:40 ` [PATCH v6 0/2] iio: proximity: move LIDAR-Lite out of trivial-devices and add Garmin fallback Jonathan Cameron
2 siblings, 0 replies; 5+ messages in thread
From: Rodrigo Gobbi @ 2026-08-19 20:55 UTC (permalink / raw)
To: jic23, dlechner, nuno.sa, andy, robh, krzk+dt, conor+dt, matt
Cc: ~lkcamp/patches, linux-kernel-mentees, linux-iio, devicetree,
linux-kernel
PulsedLight was acquired by Garmin, who now sells the LIDAR-Lite v3.
It is pin-compatible with the v2, and the driver already matches it
directly: commit b257c1a45e99 ("iio: pulsedlight-lidar-lite-v2: add
lidar-lite-v3 property") added a "grmn,lidar-lite-v3" of_device_id
entry.
Document it with "pulsedlight,lidar-lite-v2" as a fallback compatible.
Signed-off-by: Rodrigo Gobbi <rodrigo.gobbi.7@gmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
---
.../proximity/pulsedlight,lidar-lite-v2.yaml | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/Documentation/devicetree/bindings/iio/proximity/pulsedlight,lidar-lite-v2.yaml b/Documentation/devicetree/bindings/iio/proximity/pulsedlight,lidar-lite-v2.yaml
index 491960bb3a0e..dd739319b9eb 100644
--- a/Documentation/devicetree/bindings/iio/proximity/pulsedlight,lidar-lite-v2.yaml
+++ b/Documentation/devicetree/bindings/iio/proximity/pulsedlight,lidar-lite-v2.yaml
@@ -4,15 +4,15 @@
$id: http://devicetree.org/schemas/iio/proximity/pulsedlight,lidar-lite-v2.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
-title: Pulsedlight LIDAR-Lite v2 range-finding sensor
+title: Pulsedlight/Garmin LIDAR-Lite range-finding sensors
maintainers:
- Matt Ranostay <matt@ranostay.sg>
- Rodrigo Gobbi <rodrigo.gobbi.7@gmail.com>
description: |
- This binding covers the I2C interface of the Pulsedlight LIDAR-Lite v2
- laser rangefinder.
+ This binding covers the I2C interface of the Pulsedlight/Garmin
+ LIDAR-Lite v2 and v3 laser rangefinders.
Besides I2C, the mode control pin can also trigger acquisitions and
report the measured distance through a PWM signal, without using I2C
@@ -21,12 +21,18 @@ description: |
remains the active interface, as a plain status output signalling
when an acquisition has completed.
- Datasheet:
+ Datasheets:
+ https://static.garmin.com/pumac/LIDAR_Lite_v3_Operation_Manual_and_Technical_Specifications.pdf
https://github.com/PulsedLight3D/LIDAR-Lite-Documentation/blob/master/Docs/LIDAR-Lite-v2-Docs.pdf
properties:
compatible:
- const: pulsedlight,lidar-lite-v2
+ oneOf:
+ - items:
+ - enum:
+ - grmn,lidar-lite-v3
+ - const: pulsedlight,lidar-lite-v2
+ - const: pulsedlight,lidar-lite-v2
reg:
maxItems: 1
@@ -57,7 +63,7 @@ examples:
#address-cells = <1>;
#size-cells = <0>;
lidar@62 {
- compatible = "pulsedlight,lidar-lite-v2";
+ compatible = "grmn,lidar-lite-v3", "pulsedlight,lidar-lite-v2";
reg = <0x62>;
vdd-supply = <&vdd_5v0>;
};
--
2.48.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v6 1/2] dt-bindings: iio: proximity: move LIDAR-Lite v2 out of trivial-devices
2026-08-19 20:55 ` [PATCH v6 1/2] dt-bindings: iio: proximity: move LIDAR-Lite v2 out of trivial-devices Rodrigo Gobbi
@ 2026-08-19 21:07 ` sashiko-bot
0 siblings, 0 replies; 5+ messages in thread
From: sashiko-bot @ 2026-08-19 21:07 UTC (permalink / raw)
To: Rodrigo Gobbi; +Cc: conor+dt, robh, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Making `vdd-supply` strictly required breaks schema validation for all existing valid device trees.
--
--- Patch [1]: [PATCH v6 1/2] dt-bindings: iio: proximity: move LIDAR-Lite v2 out of trivial-devices ---
commit a1ef458d9c0cdfc9e29367cfdc33a99254dccf2e
Author: Rodrigo Gobbi <rodrigo.gobbi.7@gmail.com>
dt-bindings: iio: proximity: move LIDAR-Lite v2 out of trivial-devices
The PulsedLight LIDAR-Lite v2 is moved out of trivial-devices into a dedicated
binding file to document its power-enable, power-supply, and interrupt
properties.
> diff --git a/Documentation/devicetree/bindings/iio/proximity/pulsedlight,lidar-lite-v2.yaml b/Documentation/devicetree/bindings/iio/proximity/pulsedlight,lidar-lite-v2.yaml
> new file mode 100644
> index 0000000000000..491960bb3a0e9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/proximity/pulsedlight,lidar-lite-v2.yaml
[ ... ]
> +required:
> + - compatible
> + - reg
> + - vdd-supply
[Severity: Low]
Does making vdd-supply strictly required break schema validation for existing
device trees?
Since this device was previously validated against trivial-devices.yaml where
this supply was not defined, running make dtbs_check with an older, valid
device tree containing pulsedlight,lidar-lite-v2 but lacking vdd-supply
will fail.
Should this property be optional to maintain backward compatibility with older
device trees?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260819205751.166030-1-rodrigo.gobbi.7@gmail.com?part=1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v6 0/2] iio: proximity: move LIDAR-Lite out of trivial-devices and add Garmin fallback
2026-08-19 20:55 [PATCH v6 0/2] iio: proximity: move LIDAR-Lite out of trivial-devices and add Garmin fallback Rodrigo Gobbi
2026-08-19 20:55 ` [PATCH v6 1/2] dt-bindings: iio: proximity: move LIDAR-Lite v2 out of trivial-devices Rodrigo Gobbi
2026-08-19 20:55 ` [PATCH v6 2/2] dt-bindings: iio: proximity: document LIDAR-Lite v3 fallback compatible Rodrigo Gobbi
@ 2026-08-20 1:40 ` Jonathan Cameron
2 siblings, 0 replies; 5+ messages in thread
From: Jonathan Cameron @ 2026-08-20 1:40 UTC (permalink / raw)
To: Rodrigo Gobbi
Cc: dlechner, nuno.sa, andy, robh, krzk+dt, conor+dt, matt,
~lkcamp/patches, linux-kernel-mentees, linux-iio, devicetree,
linux-kernel
On Wed, 19 Aug 2026 17:55:16 -0300
Rodrigo Gobbi <rodrigo.gobbi.7@gmail.com> wrote:
> This series moves the LIDAR-Lite v2 binding out of trivial-devices
> into a dedicated schema, documenting the power-enable, power-supply
> and status-output interrupt properties that trivial-devices.yaml has
> no way to express.
>
> It then adds the Garmin LIDAR-Lite v3 as a fallback compatible in a
> separate patch, since it is pin-compatible with the v2 and already
> matched by the driver, so no driver changes are needed.
> ---
Applied to the testing branch of iio.git. I'll rebase that
on rc1 once available and then it will go out to be picked up by linux-next
etc.
Thanks,
Jonathan
> Changelog:
> v6: updated Matt's email; update commit msg from patch 2;
> added myself as a second maintainer as suggested; collected
> Acked-by from Matt (patch 1) and Acked-by/Reviewed-by from Krzysztof;
> v5: https://lore.kernel.org/all/20260810192131.153495-1-rodrigo.gobbi.7@gmail.com/
> v4: https://lore.kernel.org/all/20260714215433.41259-1-rodrigo.gobbi.7@gmail.com/
> v3: https://lore.kernel.org/all/20251102221643.9966-1-rodrigo.gobbi.7@gmail.com/
> v2: https://lore.kernel.org/all/20250801224112.135918-1-rodrigo.gobbi.7@gmail.com/
> v1: https://lore.kernel.org/all/20250701223341.36835-1-rodrigo.gobbi.7@gmail.com/
> ---
> Rodrigo Gobbi (2):
> dt-bindings: iio: proximity: move LIDAR-Lite v2 out of trivial-devices
> dt-bindings: iio: proximity: document LIDAR-Lite v3 fallback
> compatible
>
> .../proximity/pulsedlight,lidar-lite-v2.yaml | 71 +++++++++++++++++++
> .../devicetree/bindings/trivial-devices.yaml | 2 -
> 2 files changed, 71 insertions(+), 2 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/iio/proximity/pulsedlight,lidar-lite-v2.yaml
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-08-20 1:40 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-19 20:55 [PATCH v6 0/2] iio: proximity: move LIDAR-Lite out of trivial-devices and add Garmin fallback Rodrigo Gobbi
2026-08-19 20:55 ` [PATCH v6 1/2] dt-bindings: iio: proximity: move LIDAR-Lite v2 out of trivial-devices Rodrigo Gobbi
2026-08-19 21:07 ` sashiko-bot
2026-08-19 20:55 ` [PATCH v6 2/2] dt-bindings: iio: proximity: document LIDAR-Lite v3 fallback compatible Rodrigo Gobbi
2026-08-20 1:40 ` [PATCH v6 0/2] iio: proximity: move LIDAR-Lite out of trivial-devices and add Garmin fallback Jonathan Cameron
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.