dt-bindings: iio: flow: add Sensirion SLF3S liquid flow sensor

Document the bindings for the Sensirion SLF3S family of digital
liquid-flow sensors on I2C.  The family currently covers the
SLF3S-0600F, SLF3S-1300F and SLF3S-4000B variants.

All variants share the same register map and differ only in the flow
scale factor and the calibrated measurement range, which the driver
reads back from the product-information register.  Since that lookup
is needed in any case, a fallback compatible would buy nothing, so
each variant gets its own compatible without a fallback.  A future
drop-in compatible part can then claim one of these compatibles and
work on kernels that do not know its product ID yet.

The active calibration medium (water / IPA) is runtime-switchable
via the in_volumeflow_medium sysfs attribute and therefore not a
DT property.

Signed-off-by: Wadim Mueller <wafgo01@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
This commit is contained in:
Wadim Mueller 2026-07-28 23:49:41 +02:00 committed by Jonathan Cameron
parent 22bba9dfd2
commit 7462dce236
2 changed files with 62 additions and 0 deletions

View File

@ -0,0 +1,55 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/flow/sensirion,slf3s.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Sensirion SLF3S liquid flow sensor
maintainers:
- Wadim Mueller <wafgo01@gmail.com>
description:
Family of digital liquid-flow sensors from Sensirion with I2C interface. All
family members share the same register map; sub-types differ only in the flow
scale factor and the calibrated measurement range. The sub-type can be
identified from the product-information register.
properties:
compatible:
enum:
- sensirion,slf3s-0600f
- sensirion,slf3s-1300f
- sensirion,slf3s-4000b
reg:
maxItems: 1
vdd-supply: true
interrupts:
maxItems: 1
required:
- compatible
- reg
- vdd-supply
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
flow-sensor@8 {
compatible = "sensirion,slf3s-0600f";
reg = <0x08>;
vdd-supply = <&reg_3v3>;
interrupt-parent = <&gpio0>;
interrupts = <0 IRQ_TYPE_EDGE_RISING>;
};
};

View File

@ -24591,6 +24591,13 @@ S: Maintained
F: Documentation/ABI/testing/sysfs-bus-iio-chemical-sgp40
F: drivers/iio/chemical/sgp40.c
SENSIRION SLF3S LIQUID FLOW SENSOR DRIVER
M: Wadim Mueller <wafgo01@gmail.com>
R: Maxwell Doose <maxwell@maxwelld.cc>
L: linux-iio@vger.kernel.org
S: Maintained
F: Documentation/devicetree/bindings/iio/flow/sensirion,slf3s.yaml
SENSIRION SPS30 AIR POLLUTION SENSOR DRIVER
M: Tomasz Duszynski <tduszyns@gmail.com>
S: Maintained