* [PATCH 2/2] dt-bindings: iio: st-sensors: drop lis302dl-spi from deprecated list
2026-06-19 11:56 [PATCH 1/2] dt-bindings: misc: convert lis302.txt to YAML Jad Keskes
@ 2026-06-19 11:56 ` Jad Keskes
2026-06-19 12:06 ` sashiko-bot
2026-06-19 12:09 ` [PATCH 1/2] dt-bindings: misc: convert lis302.txt to YAML sashiko-bot
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Jad Keskes @ 2026-06-19 11:56 UTC (permalink / raw)
To: Jonathan Cameron, Eric Piel
Cc: Rob Herring, Krzysztof Kozlowski, linux-iio, devicetree,
linux-kernel, Jad Keskes
st,lis302dl-spi is only used by the misc/lis3lv02d driver. Its
binding is now in Documentation/devicetree/bindings/misc/.
Keep st,lis3lv02d in the deprecated list — the IIO i2c driver
still matches it for LIS3LV02DL support.
Tested: dt_binding_check, dtbs_check.
Signed-off-by: Jad Keskes <inasj268@gmail.com>
---
Documentation/devicetree/bindings/iio/st,st-sensors.yaml | 2 --
1 file changed, 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/iio/st,st-sensors.yaml b/Documentation/devicetree/bindings/iio/st,st-sensors.yaml
index a1a958215cdb..2a5451589fab 100644
--- a/Documentation/devicetree/bindings/iio/st,st-sensors.yaml
+++ b/Documentation/devicetree/bindings/iio/st,st-sensors.yaml
@@ -90,10 +90,8 @@ properties:
- st,lsm9ds0-imu
- description: Deprecated bindings
enum:
- - st,lis302dl-spi
- st,lis3lv02d
deprecated: true
-
reg:
maxItems: 1
--
2.54.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH 2/2] dt-bindings: iio: st-sensors: drop lis302dl-spi from deprecated list
2026-06-19 11:56 ` [PATCH 2/2] dt-bindings: iio: st-sensors: drop lis302dl-spi from deprecated list Jad Keskes
@ 2026-06-19 12:06 ` sashiko-bot
0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-06-19 12:06 UTC (permalink / raw)
To: Jad Keskes; +Cc: devicetree, conor+dt, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Incorrect Schema Removal / Broken Validation for st,lis302dl-spi
--
commit 23c740836661eab02e0a98566f673ed373f8b4d3
Author: Jad Keskes <inasj268@gmail.com>
dt-bindings: iio: st-sensors: drop lis302dl-spi from deprecated list
This commit removes the st,lis302dl-spi compatible string from the deprecated
list in the IIO st-sensors binding. It claims the compatible string is only
used by the misc driver.
> st,lis302dl-spi is only used by the misc/lis3lv02d driver. Its
> binding is now in Documentation/devicetree/bindings/misc/.
[Severity: Medium]
Is this statement accurate? Looking at drivers/iio/accel/st_accel_spi.c, the
IIO SPI driver still explicitly matches st,lis302dl-spi:
drivers/iio/accel/st_accel_spi.c:st_accel_of_match[] = {
{
/* An older compatible */
.compatible = "st,lis302dl-spi",
.data = LIS3LV02DL_ACCEL_DEV_NAME,
},
> diff --git a/Documentation/devicetree/bindings/iio/st,st-sensors.yaml b/Documentation/devicetree/bindings/iio/st,st-sensors.yaml
> index a1a958215cdb7..2a5451589fabf 100644
> --- a/Documentation/devicetree/bindings/iio/st,st-sensors.yaml
> +++ b/Documentation/devicetree/bindings/iio/st,st-sensors.yaml
> @@ -90,10 +90,8 @@ properties:
> - st,lsm9ds0-imu
> - description: Deprecated bindings
> enum:
> - - st,lis302dl-spi
[Severity: Medium]
If st,lis302dl-spi is removed from the IIO binding, won't dtbs_check fail for
any valid device tree that pairs this compatible string with standard IIO
properties (such as vdd-supply or mount-matrix)?
Since the misc binding (st,lis3lv02d.yaml) enforces additionalProperties: false,
it would reject these IIO properties. It appears st,lis3lv02d was kept in the
schema for the exact same reason that st,lis302dl-spi should be kept.
> - st,lis3lv02d
> deprecated: true
> -
> reg:
> maxItems: 1
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260619115649.840676-1-inasj268@gmail.com?part=2
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] dt-bindings: misc: convert lis302.txt to YAML
2026-06-19 11:56 [PATCH 1/2] dt-bindings: misc: convert lis302.txt to YAML Jad Keskes
2026-06-19 11:56 ` [PATCH 2/2] dt-bindings: iio: st-sensors: drop lis302dl-spi from deprecated list Jad Keskes
@ 2026-06-19 12:09 ` sashiko-bot
2026-06-19 12:24 ` [PATCH v3] " Jad Keskes
2026-06-19 12:44 ` [PATCH v4] " Jad Keskes
3 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-06-19 12:09 UTC (permalink / raw)
To: Jad Keskes; +Cc: conor+dt, devicetree, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The `select` block incorrectly excludes standalone `st,lis3lv02d` nodes, breaking schema validation for in-tree boards and creating dead code.
--
commit 4d572cc896007c912787ebc5396d56f2920edb3d
Author: Jad Keskes <inasj268@gmail.com>
dt-bindings: misc: convert lis302.txt to YAML
This patch replaces the legacy lis302.txt binding with a YAML schema for the
LIS3LV02D family of accelerometers. It introduces a select block intended to
restrict the schema to misc-driver-exclusive compatibles, under the assumption
that standalone st,lis3lv02d nodes belong to the IIO subsystem.
> diff --git a/Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml b/Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml
> new file mode 100644
> index 0000000000000..85eb74c264bc0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml
> @@ -0,0 +1,396 @@
[ ... ]
> +select:
> + anyOf:
> + - properties:
> + compatible:
> + contains:
> + const: st,lis302dl-spi
> + - properties:
> + compatible:
> + contains:
> + const: st,lis331dlh
> + - properties:
> + compatible:
> + contains:
> + const: st,lis33de
> + required:
> + - compatible
[Severity: Medium]
The commit message claims standalone st,lis3lv02d nodes only go to the
IIO driver, but could this select block incorrectly exclude valid standalone
st,lis3lv02d nodes used by the misc driver?
For example, arch/arm/boot/dts/ti/omap/omap3-n950-n9.dtsi uses a standalone
st,lis3lv02d compatible while relying heavily on misc-driver-specific
properties like st,click-threshold-x and Vdd-supply.
Because this block explicitly omits st,lis3lv02d, that valid DT node bypasses
the misc schema entirely. It instead falls back to the IIO schema
(st,st-sensors.yaml), which specifies additionalProperties: false and does
not recognize misc properties, leading to validation errors.
> +
> +properties:
> + compatible:
> + oneOf:
> + - items:
> + - enum:
> + - st,lis331dlh
> + - st,lis33de
> + - const: st,lis3lv02d
> + - const: st,lis331dlh
> + - const: st,lis3lv02d
[Severity: Medium]
Is the standalone const: st,lis3lv02d option rendered unreachable dead code,
since any node matching just st,lis3lv02d is excluded by the select block
above?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260619115649.840676-1-inasj268@gmail.com?part=1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3] dt-bindings: misc: convert lis302.txt to YAML
2026-06-19 11:56 [PATCH 1/2] dt-bindings: misc: convert lis302.txt to YAML Jad Keskes
2026-06-19 11:56 ` [PATCH 2/2] dt-bindings: iio: st-sensors: drop lis302dl-spi from deprecated list Jad Keskes
2026-06-19 12:09 ` [PATCH 1/2] dt-bindings: misc: convert lis302.txt to YAML sashiko-bot
@ 2026-06-19 12:24 ` Jad Keskes
2026-06-19 12:39 ` sashiko-bot
2026-06-19 12:44 ` [PATCH v4] " Jad Keskes
3 siblings, 1 reply; 8+ messages in thread
From: Jad Keskes @ 2026-06-19 12:24 UTC (permalink / raw)
To: Eric Piel, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: devicetree, linux-kernel, Jad Keskes
Replace the old lis302.txt with a YAML binding covering all four
compatibles (st,lis3lv02d, st,lis302dl-spi, st,lis331dlh,
st,lis33de) and their ~35 DT properties.
The old txt documented st,click-thresh-* and st,click-click-time-limit
but the code reads st,click-threshold-* and st,click-time-limit.
Keep the old names as deprecated so existing DTBs don't break.
Use a select block that matches only nodes with misc-driver
compatibles (including standalone st,lis3lv02d for omap3-n950-n9
and similar), paired with the IIO schema which handles the IIO
side. This avoids both schemas validating the same node.
Tested: dt_binding_check. dtbs_check against 7 omap/am335x DTBs
(am335x-evm, am335x-evmsk, am335x-pepper, am437x-sk-evm, omap3-n900,
omap3-n950, omap3-gta04a3) — no misc schema errors. Pre-existing
IIO schema errors on paired compatible nodes unchanged.
Signed-off-by: Jad Keskes <inasj268@gmail.com>
---
v3:
- Add st,lis3lv02d to select block (fixes Sashiko review #1)
- Drop Patch 2 entirely (fixes Sashiko review #2 — IIO SPI driver still matches st,lis302dl-spi)
- Single patch, no IIO schema changes
v2:
- Rebase onto Linux 7.1-rc6
- Drop IIO changes, this is a single patch now
.../devicetree/bindings/iio/accel/lis302.txt | 119 ------
.../bindings/misc/st,lis3lv02d.yaml | 400 ++++++++++++++++++
MAINTAINERS | 1 +
3 files changed, 401 insertions(+), 119 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/iio/accel/lis302.txt
create mode 100644 Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml
diff --git a/Documentation/devicetree/bindings/iio/accel/lis302.txt b/Documentation/devicetree/bindings/iio/accel/lis302.txt
deleted file mode 100644
index 457539647f36..000000000000
--- a/Documentation/devicetree/bindings/iio/accel/lis302.txt
+++ /dev/null
@@ -1,119 +0,0 @@
-LIS302 accelerometer devicetree bindings
-
-This device is matched via its bus drivers, and has a number of properties
-that apply in on the generic device (independent from the bus).
-
-
-Required properties for the SPI bindings:
- - compatible: should be set to "st,lis3lv02d-spi"
- - reg: the chipselect index
- - spi-max-frequency: maximal bus speed, should be set to 1000000 unless
- constrained by external circuitry
- - interrupts: the interrupt generated by the device
-
-Required properties for the I2C bindings:
- - compatible: should be set to "st,lis3lv02d"
- - reg: i2c slave address
- - Vdd-supply: The input supply for Vdd
- - Vdd_IO-supply: The input supply for Vdd_IO
-
-
-Optional properties for all bus drivers:
-
- - st,click-single-{x,y,z}: if present, tells the device to issue an
- interrupt on single click events on the
- x/y/z axis.
- - st,click-double-{x,y,z}: if present, tells the device to issue an
- interrupt on double click events on the
- x/y/z axis.
- - st,click-thresh-{x,y,z}: set the x/y/z axis threshold
- - st,click-click-time-limit: click time limit, from 0 to 127.5msec
- with step of 0.5 msec
- - st,click-latency: click latency, from 0 to 255 msec with
- step of 1 msec.
- - st,click-window: click window, from 0 to 255 msec with
- step of 1 msec.
- - st,irq{1,2}-disable: disable IRQ 1/2
- - st,irq{1,2}-ff-wu-1: raise IRQ 1/2 on FF_WU_1 condition
- - st,irq{1,2}-ff-wu-2: raise IRQ 1/2 on FF_WU_2 condition
- - st,irq{1,2}-data-ready: raise IRQ 1/2 on data ready condition
- - st,irq{1,2}-click: raise IRQ 1/2 on click condition
- - st,irq-open-drain: consider IRQ lines open-drain
- - st,irq-active-low: make IRQ lines active low
- - st,wu-duration-1: duration register for Free-Fall/Wake-Up
- interrupt 1
- - st,wu-duration-2: duration register for Free-Fall/Wake-Up
- interrupt 2
- - st,wakeup-{x,y,z}-{lo,hi}: set wakeup condition on x/y/z axis for
- upper/lower limit
- - st,wakeup-threshold: set wakeup threshold
- - st,wakeup2-{x,y,z}-{lo,hi}: set wakeup condition on x/y/z axis for
- upper/lower limit for second wakeup
- engine.
- - st,wakeup2-threshold: set wakeup threshold for second wakeup
- engine.
- - st,highpass-cutoff-hz=: 1, 2, 4 or 8 for 1Hz, 2Hz, 4Hz or 8Hz of
- highpass cut-off frequency
- - st,hipass{1,2}-disable: disable highpass 1/2.
- - st,default-rate=: set the default rate
- - st,axis-{x,y,z}=: set the axis to map to the three coordinates.
- Negative values can be used for inverted axis.
- - st,{min,max}-limit-{x,y,z} set the min/max limits for x/y/z axis
- (used by self-test)
-
-
-Example for a SPI device node:
-
- accelerometer@0 {
- compatible = "st,lis302dl-spi";
- reg = <0>;
- spi-max-frequency = <1000000>;
- interrupt-parent = <&gpio>;
- interrupts = <104 0>;
-
- st,click-single-x;
- st,click-single-y;
- st,click-single-z;
- st,click-thresh-x = <10>;
- st,click-thresh-y = <10>;
- st,click-thresh-z = <10>;
- st,irq1-click;
- st,irq2-click;
- st,wakeup-x-lo;
- st,wakeup-x-hi;
- st,wakeup-y-lo;
- st,wakeup-y-hi;
- st,wakeup-z-lo;
- st,wakeup-z-hi;
- };
-
-Example for a I2C device node:
-
- lis331dlh: accelerometer@18 {
- compatible = "st,lis331dlh", "st,lis3lv02d";
- reg = <0x18>;
- Vdd-supply = <&lis3_reg>;
- Vdd_IO-supply = <&lis3_reg>;
-
- st,click-single-x;
- st,click-single-y;
- st,click-single-z;
- st,click-thresh-x = <10>;
- st,click-thresh-y = <10>;
- st,click-thresh-z = <10>;
- st,irq1-click;
- st,irq2-click;
- st,wakeup-x-lo;
- st,wakeup-x-hi;
- st,wakeup-y-lo;
- st,wakeup-y-hi;
- st,wakeup-z-lo;
- st,wakeup-z-hi;
- st,min-limit-x = <120>;
- st,min-limit-y = <120>;
- st,min-limit-z = <140>;
- st,max-limit-x = <550>;
- st,max-limit-y = <550>;
- st,max-limit-z = <750>;
- };
-
diff --git a/Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml b/Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml
new file mode 100644
index 000000000000..c73371b754a1
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml
@@ -0,0 +1,400 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/misc/st,lis3lv02d.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: STMicroelectronics LIS3LV02D and similar accelerometers (misc driver)
+
+maintainers:
+ - Eric Piel <eric.piel@tremplin-utc.net>
+
+description:
+ This binding describes the STMicroelectronics accelerometers supported by
+ the misc/lis3lv02d driver. This driver provides input (joystick) and
+ hardware monitoring support, in contrast to the IIO st-accel driver which
+ also supports some of these devices.
+ Refer to Documentation/devicetree/bindings/iio/st,st-sensors.yaml for the
+ IIO binding.
+
+select:
+ anyOf:
+ - properties:
+ compatible:
+ contains:
+ const: st,lis302dl-spi
+ - properties:
+ compatible:
+ contains:
+ const: st,lis331dlh
+ - properties:
+ compatible:
+ contains:
+ const: st,lis33de
+ - properties:
+ compatible:
+ contains:
+ const: st,lis3lv02d
+ required:
+ - compatible
+
+properties:
+ compatible:
+ oneOf:
+ - items:
+ - enum:
+ - st,lis331dlh
+ - st,lis33de
+ - const: st,lis3lv02d
+ - const: st,lis331dlh
+ - const: st,lis3lv02d
+ - const: st,lis302dl-spi
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ minItems: 1
+ maxItems: 2
+
+ spi-max-frequency:
+ description: SPI bus frequency; should be set to 1000000 unless
+ constrained by external circuitry.
+ maximum: 1000000
+
+ Vdd-supply:
+ description: The input supply for Vdd.
+
+ Vdd_IO-supply:
+ description: The input supply for Vdd_IO.
+
+ st,click-single-x:
+ description: Issue an interrupt on single click events on the X axis.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,click-double-x:
+ description: Issue an interrupt on double click events on the X axis.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,click-single-y:
+ description: Issue an interrupt on single click events on the Y axis.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,click-double-y:
+ description: Issue an interrupt on double click events on the Y axis.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,click-single-z:
+ description: Issue an interrupt on single click events on the Z axis.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,click-double-z:
+ description: Issue an interrupt on double click events on the Z axis.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,click-thresh-x:
+ description: X axis click threshold (deprecated spelling, use st,click-threshold-x).
+ $ref: /schemas/types.yaml#/definitions/uint32
+ deprecated: true
+
+ st,click-thresh-y:
+ description: Y axis click threshold (deprecated spelling, use st,click-threshold-y).
+ $ref: /schemas/types.yaml#/definitions/uint32
+ deprecated: true
+
+ st,click-thresh-z:
+ description: Z axis click threshold (deprecated spelling, use st,click-threshold-z).
+ $ref: /schemas/types.yaml#/definitions/uint32
+ deprecated: true
+
+ st,click-threshold-x:
+ description: X axis click threshold.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ st,click-threshold-y:
+ description: Y axis click threshold.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ st,click-threshold-z:
+ description: Z axis click threshold.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ st,click-click-time-limit:
+ description: Click time limit (deprecated spelling, use st,click-time-limit).
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+ deprecated: true
+
+ st,click-time-limit:
+ description: Click time limit, from 0 to 127.5 msec with step of 0.5 msec.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+
+ st,click-latency:
+ description: Click latency, from 0 to 255 msec with step of 1 msec.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+
+ st,click-window:
+ description: Click window, from 0 to 255 msec with step of 1 msec.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+
+ st,irq1-disable:
+ description: Disable IRQ 1.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq1-ff-wu-1:
+ description: Raise IRQ 1 on FF_WU_1 condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq1-ff-wu-2:
+ description: Raise IRQ 1 on FF_WU_2 condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq1-data-ready:
+ description: Raise IRQ 1 on data ready condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq1-click:
+ description: Raise IRQ 1 on click condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq2-disable:
+ description: Disable IRQ 2.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq2-ff-wu-1:
+ description: Raise IRQ 2 on FF_WU_1 condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq2-ff-wu-2:
+ description: Raise IRQ 2 on FF_WU_2 condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq2-data-ready:
+ description: Raise IRQ 2 on data ready condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq2-click:
+ description: Raise IRQ 2 on click condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq-open-drain:
+ description: Consider IRQ lines open-drain.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq-active-low:
+ description: Make IRQ lines active low.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wu-duration-1:
+ description: Duration register for Free-Fall/Wake-Up interrupt 1.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+
+ st,wu-duration-2:
+ description: Duration register for Free-Fall/Wake-Up interrupt 2.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+
+ st,wakeup-x-lo:
+ description: Set wakeup condition on X axis for lower limit.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup-x-hi:
+ description: Set wakeup condition on X axis for upper limit.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup-y-lo:
+ description: Set wakeup condition on Y axis for lower limit.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup-y-hi:
+ description: Set wakeup condition on Y axis for upper limit.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup-z-lo:
+ description: Set wakeup condition on Z axis for lower limit.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup-z-hi:
+ description: Set wakeup condition on Z axis for upper limit.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup-threshold:
+ description: Set wakeup threshold.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+
+ st,wakeup2-x-lo:
+ description: Set wakeup condition on X axis for lower limit for second wakeup engine.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup2-x-hi:
+ description: Set wakeup condition on X axis for upper limit for second wakeup engine.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup2-y-lo:
+ description: Set wakeup condition on Y axis for lower limit for second wakeup engine.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup2-y-hi:
+ description: Set wakeup condition on Y axis for upper limit for second wakeup engine.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup2-z-lo:
+ description: Set wakeup condition on Z axis for lower limit for second wakeup engine.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup2-z-hi:
+ description: Set wakeup condition on Z axis for upper limit for second wakeup engine.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup2-threshold:
+ description: Set wakeup threshold for second wakeup engine.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+
+ st,highpass-cutoff-hz:
+ description: Highpass cut-off frequency. Valid values are 1, 2, 4 or 8.
+ enum: [1, 2, 4, 8]
+
+ st,hipass1-disable:
+ description: Disable highpass filter 1.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,hipass2-disable:
+ description: Disable highpass filter 2.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,default-rate:
+ description: Set the default output data rate.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ st,axis-x:
+ description: Set the X axis mapping. Negative values can be used for inverted axis.
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,axis-y:
+ description: Set the Y axis mapping. Negative values can be used for inverted axis.
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,axis-z:
+ description: Set the Z axis mapping. Negative values can be used for inverted axis.
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,min-limit-x:
+ description: Minimum limit for X axis (used by self-test).
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,min-limit-y:
+ description: Minimum limit for Y axis (used by self-test).
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,min-limit-z:
+ description: Minimum limit for Z axis (used by self-test).
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,max-limit-x:
+ description: Maximum limit for X axis (used by self-test).
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,max-limit-y:
+ description: Maximum limit for Y axis (used by self-test).
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,max-limit-z:
+ description: Maximum limit for Z axis (used by self-test).
+ $ref: /schemas/types.yaml#/definitions/int32
+
+allOf:
+ - if:
+ properties:
+ compatible:
+ not:
+ contains:
+ const: st,lis302dl-spi
+ then:
+ required:
+ - Vdd-supply
+ - Vdd_IO-supply
+ else:
+ properties:
+ Vdd-supply: false
+ Vdd_IO-supply: false
+ required:
+ - spi-max-frequency
+ - interrupts
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ accelerometer@18 {
+ compatible = "st,lis331dlh", "st,lis3lv02d";
+ reg = <0x18>;
+ Vdd-supply = <&lis3_reg>;
+ Vdd_IO-supply = <&lis3_reg>;
+ interrupt-parent = <&gpio2>;
+ interrupts = <18 0>;
+
+ st,click-single-x;
+ st,click-single-y;
+ st,click-single-z;
+ st,click-threshold-x = <10>;
+ st,click-threshold-y = <10>;
+ st,click-threshold-z = <10>;
+ st,irq1-click;
+ st,irq2-click;
+ st,wakeup-x-lo;
+ st,wakeup-x-hi;
+ st,wakeup-y-lo;
+ st,wakeup-y-hi;
+ st,wakeup-z-lo;
+ st,wakeup-z-hi;
+ st,min-limit-x = <120>;
+ st,min-limit-y = <120>;
+ st,min-limit-z = <140>;
+ st,max-limit-x = <550>;
+ st,max-limit-y = <550>;
+ st,max-limit-z = <750>;
+ };
+ };
+ - |
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ accelerometer@0 {
+ compatible = "st,lis302dl-spi";
+ reg = <0>;
+ spi-max-frequency = <1000000>;
+ interrupt-parent = <&gpio>;
+ interrupts = <104 0>;
+
+ st,click-single-x;
+ st,click-single-y;
+ st,click-single-z;
+ st,click-threshold-x = <10>;
+ st,click-threshold-y = <10>;
+ st,click-threshold-z = <10>;
+ st,irq1-click;
+ st,irq2-click;
+ st,wakeup-x-lo;
+ st,wakeup-x-hi;
+ st,wakeup-y-lo;
+ st,wakeup-y-hi;
+ st,wakeup-z-lo;
+ st,wakeup-z-hi;
+ };
+ };
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 9ec290e38b44..4cffabbabf0e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -14858,6 +14858,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/
LIS3LV02D ACCELEROMETER DRIVER
M: Eric Piel <eric.piel@tremplin-utc.net>
S: Maintained
+F: Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml
F: Documentation/misc-devices/lis3lv02d.rst
F: drivers/misc/lis3lv02d/
F: drivers/platform/x86/hp/hp_accel.c
--
2.54.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v3] dt-bindings: misc: convert lis302.txt to YAML
2026-06-19 12:24 ` [PATCH v3] " Jad Keskes
@ 2026-06-19 12:39 ` sashiko-bot
0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-06-19 12:39 UTC (permalink / raw)
To: Jad Keskes; +Cc: robh, conor+dt, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Redundant 'select' block fails its stated purpose in the commit message
--
commit 7b1f6ec4590fb8fea27ae6accf9a20a8de12ccd1
Author: Jad Keskes <inasj268@gmail.com>
dt-bindings: misc: convert lis302.txt to YAML
Replace the old lis302.txt with a YAML binding covering four compatibles.
The commit message states it includes a select block to avoid validating
nodes against both the misc and IIO schemas.
> Use a select block that matches only nodes with misc-driver
> compatibles (including standalone st,lis3lv02d for omap3-n950-n9
> and similar), paired with the IIO schema which handles the IIO
> side. This avoids both schemas validating the same node.
[Severity: Medium]
Does this select block actually prevent the IIO schema from validating
the node?
In the dt-schema architecture, schemas evaluate independently. A select
block in this misc schema only determines if this specific schema applies;
it has no effect on whether the IIO schema also matches the compatible
string.
The testing note mentioning "Pre-existing IIO schema errors on paired
compatible nodes unchanged" seems to confirm both schemas are still
validating the node.
> diff --git a/Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml b/Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml
> new file mode 100644
> index 0000000000000..c73371b754a1e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml
[ ... ]
> +select:
> + anyOf:
> + - properties:
> + compatible:
> + contains:
> + const: st,lis302dl-spi
> + - properties:
> + compatible:
> + contains:
> + const: st,lis331dlh
> + - properties:
> + compatible:
> + contains:
> + const: st,lis33de
> + - properties:
> + compatible:
> + contains:
> + const: st,lis3lv02d
> + required:
> + - compatible
[Severity: Medium]
Is this explicit select block necessary?
Since this block exactly mirrors the default select block automatically
generated by dt-schema from the compatible property definition below it,
could this be removed entirely to simplify the binding?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260619122446.867091-1-inasj268@gmail.com?part=1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v4] dt-bindings: misc: convert lis302.txt to YAML
2026-06-19 11:56 [PATCH 1/2] dt-bindings: misc: convert lis302.txt to YAML Jad Keskes
` (2 preceding siblings ...)
2026-06-19 12:24 ` [PATCH v3] " Jad Keskes
@ 2026-06-19 12:44 ` Jad Keskes
2026-06-19 12:53 ` sashiko-bot
3 siblings, 1 reply; 8+ messages in thread
From: Jad Keskes @ 2026-06-19 12:44 UTC (permalink / raw)
To: Eric Piel, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Jonathan Cameron, devicetree, linux-kernel, Jad Keskes
Replace the old lis302.txt with a YAML binding covering all four
compatibles (st,lis3lv02d, st,lis302dl-spi, st,lis331dlh,
st,lis33de) and their ~35 DT properties.
The old txt documented st,click-thresh-* and st,click-click-time-limit
but the code reads st,click-threshold-* and st,click-time-limit.
Keep the old names as deprecated so existing DTBs don't break.
Tested: dt_binding_check. dtbs_check against 7 omap/am335x DTBs
(am335x-evm, am335x-evmsk, am335x-pepper, am437x-sk-evm, omap3-n900,
omap3-n950, omap3-gta04a3) — no misc schema errors. Pre-existing
IIO schema errors on paired compatible nodes unchanged.
Signed-off-by: Jad Keskes <inasj268@gmail.com>
---
v4:
- Drop explicit select block (redundant — dt-schema generates it from the compatible list automatically)
- Fix commit message: select block does not prevent IIO schema validation
v3:
- Add st,lis3lv02d to select block
- Drop Patch 2 entirely, single patch with no IIO changes
v2:
- Rebase onto Linux 7.1-rc6
- Drop IIO changes
.../devicetree/bindings/iio/accel/lis302.txt | 119 ------
.../bindings/misc/st,lis3lv02d.yaml | 400 ++++++++++++++++++
MAINTAINERS | 1 +
3 files changed, 401 insertions(+), 119 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/iio/accel/lis302.txt
create mode 100644 Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml
diff --git a/Documentation/devicetree/bindings/iio/accel/lis302.txt b/Documentation/devicetree/bindings/iio/accel/lis302.txt
deleted file mode 100644
index 457539647f36..000000000000
--- a/Documentation/devicetree/bindings/iio/accel/lis302.txt
+++ /dev/null
@@ -1,119 +0,0 @@
-LIS302 accelerometer devicetree bindings
-
-This device is matched via its bus drivers, and has a number of properties
-that apply in on the generic device (independent from the bus).
-
-
-Required properties for the SPI bindings:
- - compatible: should be set to "st,lis3lv02d-spi"
- - reg: the chipselect index
- - spi-max-frequency: maximal bus speed, should be set to 1000000 unless
- constrained by external circuitry
- - interrupts: the interrupt generated by the device
-
-Required properties for the I2C bindings:
- - compatible: should be set to "st,lis3lv02d"
- - reg: i2c slave address
- - Vdd-supply: The input supply for Vdd
- - Vdd_IO-supply: The input supply for Vdd_IO
-
-
-Optional properties for all bus drivers:
-
- - st,click-single-{x,y,z}: if present, tells the device to issue an
- interrupt on single click events on the
- x/y/z axis.
- - st,click-double-{x,y,z}: if present, tells the device to issue an
- interrupt on double click events on the
- x/y/z axis.
- - st,click-thresh-{x,y,z}: set the x/y/z axis threshold
- - st,click-click-time-limit: click time limit, from 0 to 127.5msec
- with step of 0.5 msec
- - st,click-latency: click latency, from 0 to 255 msec with
- step of 1 msec.
- - st,click-window: click window, from 0 to 255 msec with
- step of 1 msec.
- - st,irq{1,2}-disable: disable IRQ 1/2
- - st,irq{1,2}-ff-wu-1: raise IRQ 1/2 on FF_WU_1 condition
- - st,irq{1,2}-ff-wu-2: raise IRQ 1/2 on FF_WU_2 condition
- - st,irq{1,2}-data-ready: raise IRQ 1/2 on data ready condition
- - st,irq{1,2}-click: raise IRQ 1/2 on click condition
- - st,irq-open-drain: consider IRQ lines open-drain
- - st,irq-active-low: make IRQ lines active low
- - st,wu-duration-1: duration register for Free-Fall/Wake-Up
- interrupt 1
- - st,wu-duration-2: duration register for Free-Fall/Wake-Up
- interrupt 2
- - st,wakeup-{x,y,z}-{lo,hi}: set wakeup condition on x/y/z axis for
- upper/lower limit
- - st,wakeup-threshold: set wakeup threshold
- - st,wakeup2-{x,y,z}-{lo,hi}: set wakeup condition on x/y/z axis for
- upper/lower limit for second wakeup
- engine.
- - st,wakeup2-threshold: set wakeup threshold for second wakeup
- engine.
- - st,highpass-cutoff-hz=: 1, 2, 4 or 8 for 1Hz, 2Hz, 4Hz or 8Hz of
- highpass cut-off frequency
- - st,hipass{1,2}-disable: disable highpass 1/2.
- - st,default-rate=: set the default rate
- - st,axis-{x,y,z}=: set the axis to map to the three coordinates.
- Negative values can be used for inverted axis.
- - st,{min,max}-limit-{x,y,z} set the min/max limits for x/y/z axis
- (used by self-test)
-
-
-Example for a SPI device node:
-
- accelerometer@0 {
- compatible = "st,lis302dl-spi";
- reg = <0>;
- spi-max-frequency = <1000000>;
- interrupt-parent = <&gpio>;
- interrupts = <104 0>;
-
- st,click-single-x;
- st,click-single-y;
- st,click-single-z;
- st,click-thresh-x = <10>;
- st,click-thresh-y = <10>;
- st,click-thresh-z = <10>;
- st,irq1-click;
- st,irq2-click;
- st,wakeup-x-lo;
- st,wakeup-x-hi;
- st,wakeup-y-lo;
- st,wakeup-y-hi;
- st,wakeup-z-lo;
- st,wakeup-z-hi;
- };
-
-Example for a I2C device node:
-
- lis331dlh: accelerometer@18 {
- compatible = "st,lis331dlh", "st,lis3lv02d";
- reg = <0x18>;
- Vdd-supply = <&lis3_reg>;
- Vdd_IO-supply = <&lis3_reg>;
-
- st,click-single-x;
- st,click-single-y;
- st,click-single-z;
- st,click-thresh-x = <10>;
- st,click-thresh-y = <10>;
- st,click-thresh-z = <10>;
- st,irq1-click;
- st,irq2-click;
- st,wakeup-x-lo;
- st,wakeup-x-hi;
- st,wakeup-y-lo;
- st,wakeup-y-hi;
- st,wakeup-z-lo;
- st,wakeup-z-hi;
- st,min-limit-x = <120>;
- st,min-limit-y = <120>;
- st,min-limit-z = <140>;
- st,max-limit-x = <550>;
- st,max-limit-y = <550>;
- st,max-limit-z = <750>;
- };
-
diff --git a/Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml b/Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml
new file mode 100644
index 000000000000..c73371b754a1
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml
@@ -0,0 +1,400 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/misc/st,lis3lv02d.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: STMicroelectronics LIS3LV02D and similar accelerometers (misc driver)
+
+maintainers:
+ - Eric Piel <eric.piel@tremplin-utc.net>
+
+description:
+ This binding describes the STMicroelectronics accelerometers supported by
+ the misc/lis3lv02d driver. This driver provides input (joystick) and
+ hardware monitoring support, in contrast to the IIO st-accel driver which
+ also supports some of these devices.
+ Refer to Documentation/devicetree/bindings/iio/st,st-sensors.yaml for the
+ IIO binding.
+
+select:
+ anyOf:
+ - properties:
+ compatible:
+ contains:
+ const: st,lis302dl-spi
+ - properties:
+ compatible:
+ contains:
+ const: st,lis331dlh
+ - properties:
+ compatible:
+ contains:
+ const: st,lis33de
+ - properties:
+ compatible:
+ contains:
+ const: st,lis3lv02d
+ required:
+ - compatible
+
+properties:
+ compatible:
+ oneOf:
+ - items:
+ - enum:
+ - st,lis331dlh
+ - st,lis33de
+ - const: st,lis3lv02d
+ - const: st,lis331dlh
+ - const: st,lis3lv02d
+ - const: st,lis302dl-spi
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ minItems: 1
+ maxItems: 2
+
+ spi-max-frequency:
+ description: SPI bus frequency; should be set to 1000000 unless
+ constrained by external circuitry.
+ maximum: 1000000
+
+ Vdd-supply:
+ description: The input supply for Vdd.
+
+ Vdd_IO-supply:
+ description: The input supply for Vdd_IO.
+
+ st,click-single-x:
+ description: Issue an interrupt on single click events on the X axis.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,click-double-x:
+ description: Issue an interrupt on double click events on the X axis.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,click-single-y:
+ description: Issue an interrupt on single click events on the Y axis.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,click-double-y:
+ description: Issue an interrupt on double click events on the Y axis.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,click-single-z:
+ description: Issue an interrupt on single click events on the Z axis.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,click-double-z:
+ description: Issue an interrupt on double click events on the Z axis.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,click-thresh-x:
+ description: X axis click threshold (deprecated spelling, use st,click-threshold-x).
+ $ref: /schemas/types.yaml#/definitions/uint32
+ deprecated: true
+
+ st,click-thresh-y:
+ description: Y axis click threshold (deprecated spelling, use st,click-threshold-y).
+ $ref: /schemas/types.yaml#/definitions/uint32
+ deprecated: true
+
+ st,click-thresh-z:
+ description: Z axis click threshold (deprecated spelling, use st,click-threshold-z).
+ $ref: /schemas/types.yaml#/definitions/uint32
+ deprecated: true
+
+ st,click-threshold-x:
+ description: X axis click threshold.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ st,click-threshold-y:
+ description: Y axis click threshold.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ st,click-threshold-z:
+ description: Z axis click threshold.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ st,click-click-time-limit:
+ description: Click time limit (deprecated spelling, use st,click-time-limit).
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+ deprecated: true
+
+ st,click-time-limit:
+ description: Click time limit, from 0 to 127.5 msec with step of 0.5 msec.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+
+ st,click-latency:
+ description: Click latency, from 0 to 255 msec with step of 1 msec.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+
+ st,click-window:
+ description: Click window, from 0 to 255 msec with step of 1 msec.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+
+ st,irq1-disable:
+ description: Disable IRQ 1.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq1-ff-wu-1:
+ description: Raise IRQ 1 on FF_WU_1 condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq1-ff-wu-2:
+ description: Raise IRQ 1 on FF_WU_2 condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq1-data-ready:
+ description: Raise IRQ 1 on data ready condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq1-click:
+ description: Raise IRQ 1 on click condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq2-disable:
+ description: Disable IRQ 2.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq2-ff-wu-1:
+ description: Raise IRQ 2 on FF_WU_1 condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq2-ff-wu-2:
+ description: Raise IRQ 2 on FF_WU_2 condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq2-data-ready:
+ description: Raise IRQ 2 on data ready condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq2-click:
+ description: Raise IRQ 2 on click condition.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq-open-drain:
+ description: Consider IRQ lines open-drain.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,irq-active-low:
+ description: Make IRQ lines active low.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wu-duration-1:
+ description: Duration register for Free-Fall/Wake-Up interrupt 1.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+
+ st,wu-duration-2:
+ description: Duration register for Free-Fall/Wake-Up interrupt 2.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+
+ st,wakeup-x-lo:
+ description: Set wakeup condition on X axis for lower limit.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup-x-hi:
+ description: Set wakeup condition on X axis for upper limit.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup-y-lo:
+ description: Set wakeup condition on Y axis for lower limit.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup-y-hi:
+ description: Set wakeup condition on Y axis for upper limit.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup-z-lo:
+ description: Set wakeup condition on Z axis for lower limit.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup-z-hi:
+ description: Set wakeup condition on Z axis for upper limit.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup-threshold:
+ description: Set wakeup threshold.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+
+ st,wakeup2-x-lo:
+ description: Set wakeup condition on X axis for lower limit for second wakeup engine.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup2-x-hi:
+ description: Set wakeup condition on X axis for upper limit for second wakeup engine.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup2-y-lo:
+ description: Set wakeup condition on Y axis for lower limit for second wakeup engine.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup2-y-hi:
+ description: Set wakeup condition on Y axis for upper limit for second wakeup engine.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup2-z-lo:
+ description: Set wakeup condition on Z axis for lower limit for second wakeup engine.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup2-z-hi:
+ description: Set wakeup condition on Z axis for upper limit for second wakeup engine.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,wakeup2-threshold:
+ description: Set wakeup threshold for second wakeup engine.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 255
+
+ st,highpass-cutoff-hz:
+ description: Highpass cut-off frequency. Valid values are 1, 2, 4 or 8.
+ enum: [1, 2, 4, 8]
+
+ st,hipass1-disable:
+ description: Disable highpass filter 1.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,hipass2-disable:
+ description: Disable highpass filter 2.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ st,default-rate:
+ description: Set the default output data rate.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ st,axis-x:
+ description: Set the X axis mapping. Negative values can be used for inverted axis.
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,axis-y:
+ description: Set the Y axis mapping. Negative values can be used for inverted axis.
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,axis-z:
+ description: Set the Z axis mapping. Negative values can be used for inverted axis.
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,min-limit-x:
+ description: Minimum limit for X axis (used by self-test).
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,min-limit-y:
+ description: Minimum limit for Y axis (used by self-test).
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,min-limit-z:
+ description: Minimum limit for Z axis (used by self-test).
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,max-limit-x:
+ description: Maximum limit for X axis (used by self-test).
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,max-limit-y:
+ description: Maximum limit for Y axis (used by self-test).
+ $ref: /schemas/types.yaml#/definitions/int32
+
+ st,max-limit-z:
+ description: Maximum limit for Z axis (used by self-test).
+ $ref: /schemas/types.yaml#/definitions/int32
+
+allOf:
+ - if:
+ properties:
+ compatible:
+ not:
+ contains:
+ const: st,lis302dl-spi
+ then:
+ required:
+ - Vdd-supply
+ - Vdd_IO-supply
+ else:
+ properties:
+ Vdd-supply: false
+ Vdd_IO-supply: false
+ required:
+ - spi-max-frequency
+ - interrupts
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ accelerometer@18 {
+ compatible = "st,lis331dlh", "st,lis3lv02d";
+ reg = <0x18>;
+ Vdd-supply = <&lis3_reg>;
+ Vdd_IO-supply = <&lis3_reg>;
+ interrupt-parent = <&gpio2>;
+ interrupts = <18 0>;
+
+ st,click-single-x;
+ st,click-single-y;
+ st,click-single-z;
+ st,click-threshold-x = <10>;
+ st,click-threshold-y = <10>;
+ st,click-threshold-z = <10>;
+ st,irq1-click;
+ st,irq2-click;
+ st,wakeup-x-lo;
+ st,wakeup-x-hi;
+ st,wakeup-y-lo;
+ st,wakeup-y-hi;
+ st,wakeup-z-lo;
+ st,wakeup-z-hi;
+ st,min-limit-x = <120>;
+ st,min-limit-y = <120>;
+ st,min-limit-z = <140>;
+ st,max-limit-x = <550>;
+ st,max-limit-y = <550>;
+ st,max-limit-z = <750>;
+ };
+ };
+ - |
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ accelerometer@0 {
+ compatible = "st,lis302dl-spi";
+ reg = <0>;
+ spi-max-frequency = <1000000>;
+ interrupt-parent = <&gpio>;
+ interrupts = <104 0>;
+
+ st,click-single-x;
+ st,click-single-y;
+ st,click-single-z;
+ st,click-threshold-x = <10>;
+ st,click-threshold-y = <10>;
+ st,click-threshold-z = <10>;
+ st,irq1-click;
+ st,irq2-click;
+ st,wakeup-x-lo;
+ st,wakeup-x-hi;
+ st,wakeup-y-lo;
+ st,wakeup-y-hi;
+ st,wakeup-z-lo;
+ st,wakeup-z-hi;
+ };
+ };
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 9ec290e38b44..4cffabbabf0e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -14858,6 +14858,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/
LIS3LV02D ACCELEROMETER DRIVER
M: Eric Piel <eric.piel@tremplin-utc.net>
S: Maintained
+F: Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml
F: Documentation/misc-devices/lis3lv02d.rst
F: drivers/misc/lis3lv02d/
F: drivers/platform/x86/hp/hp_accel.c
--
2.54.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v4] dt-bindings: misc: convert lis302.txt to YAML
2026-06-19 12:44 ` [PATCH v4] " Jad Keskes
@ 2026-06-19 12:53 ` sashiko-bot
0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-06-19 12:53 UTC (permalink / raw)
To: Jad Keskes; +Cc: conor+dt, robh, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The YAML binding erroneously forbids `Vdd-supply` and `Vdd_IO-supply` for the SPI variant by setting them to `false`.
--
commit 286d4c20f34dbb3740102063ad8a21275e5828b2
Author: Jad Keskes <inasj268@gmail.com>
dt-bindings: misc: convert lis302.txt to YAML
This commit converts the old LIS302 accelerometer plain text binding into a
YAML schema. It covers both I2C and SPI variants and retains deprecated
property names for backwards compatibility.
> diff --git a/Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml b/Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml
> new file mode 100644
> index 0000000000000..c73371b754a1e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/misc/st,lis3lv02d.yaml
[ ... ]
> +allOf:
> + - if:
> + properties:
> + compatible:
> + not:
> + contains:
> + const: st,lis302dl-spi
> + then:
> + required:
> + - Vdd-supply
> + - Vdd_IO-supply
> + else:
> + properties:
> + Vdd-supply: false
> + Vdd_IO-supply: false
[Severity: Medium]
Does forbidding these power supplies for the SPI variant prevent accurate
hardware description?
The hardware physically requires Vdd and Vdd_IO power supplies to function,
regardless of whether it is accessed via I2C or SPI. Setting these
properties to false in the else branch explicitly forbids device tree
writers from modeling the physical regulators powering the SPI device,
which will cause valid hardware descriptions to fail dtbs_check schema
validation.
> + required:
> + - spi-max-frequency
> + - interrupts
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260619124426.882626-1-inasj268@gmail.com?part=1
^ permalink raw reply [flat|nested] 8+ messages in thread