[PATCH v5 0/2] iio: pressure: add Sensirion SDP31 driver

From: Muhammad Abu Bakar

Date: Sat Oct 03 2026 - 12:10:36 EST


This series adds support for the Sensirion SDP3x family of differential
pressure sensors (SDP31, SDP32 and SDP33), I2C devices that also report
temperature.

The SDP3x uses a completely different I2C command protocol from the
already supported SDP500, so extending the sdp500 driver does not make
sense.

Patch 1 adds the device tree binding.
Patch 2 adds the IIO driver, which exposes differential pressure and
temperature channels and validates each measurement using the sensor's
CRC-8 checksum. The SDP32 and SDP33 differ from the SDP31 only in range
and use it as a fallback compatible; the scale factor is read from the
sensor at runtime. Tested on an SDP31 wired to the I2C bus of a
Raspberry Pi 4.

Changes since v4:
- dt-bindings: use sensirion,sdp31 as the fallback compatible for the
SDP32 and SDP33 instead of listing them as independent compatibles.
- driver: match only sensirion,sdp31 and report the device as sdp31.
- driver: include headers for everything used directly, drop redundant
casts and use KILO.
- Add the Assisted-by tags, which were missing from earlier versions.

v1: https://lore.kernel.org/linux-iio/20260919223650.13396-1-m.abubakar365@xxxxxxxxx/
v2: https://lore.kernel.org/linux-iio/20260920164533.31988-1-m.abubakar365@xxxxxxxxx/
v3: https://lore.kernel.org/linux-iio/20260926154118.5471-1-m.abubakar365@xxxxxxxxx/
v4: https://lore.kernel.org/linux-iio/20260928215422.3720-1-m.abubakar365@xxxxxxxxx/

Muhammad Abu Bakar (2):
dt-bindings: iio: pressure: add Sensirion SDP31
iio: pressure: add Sensirion SDP31 driver

.../iio/pressure/sensirion,sdp31.yaml | 51 ++++
MAINTAINERS | 6 +
drivers/iio/pressure/Kconfig | 11 +
drivers/iio/pressure/Makefile | 1 +
drivers/iio/pressure/sdp31.c | 244 ++++++++++++++++++
5 files changed, 313 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/pressure/sensirion,sdp31.yaml
create mode 100644 drivers/iio/pressure/sdp31.c

--
2.43.0