[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADFWO8EZWkXeAMcURgGGEmzVjiSxFTVAbKpsb2Qmv66EZiTc+A@mail.gmail.com>
Date: Tue, 30 Apr 2024 17:27:17 +0200
From: Petar Stoykov <pd.pstoykov@...il.com>
To: linux-iio@...r.kernel.org
Cc: Jonathan Cameron <jic23@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>, Lars-Peter Clausen <lars@...afoo.de>,
Rob Herring <robh+dt@...nel.org>, Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Angel Iglesias <ang.iglesiasg@...il.com>, Conor Dooley <conor+dt@...nel.org>,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org
Subject: [PATCH v2 0/3] Add support for Sensirion SDP500
>From c4437fd0ea296c4c964b1fb924144ae24a2ce443 Mon Sep 17 00:00:00 2001
From: Petar Stoykov <pd.pstoykov@...il.com>
Date: Mon, 29 Apr 2024 16:41:30 +0200
Subject: [PATCH 0/3] Add support for Sensirion SDP500
This patch series introduces support for Sensirion SDP500 in the IIO
subsystem. The series is split into three patches:
1. The first patch adds the device tree bindings.
2. The second patch implements the device driver.
3. The third patch updates the MAINTAINERS file.
The driver is relatively simple. It provides a way to read the measured
differential pressure directly in Pa, as the device has a fixed scale
factor of 1/60. When an applications wants to read the pressure value,
3 bytes are read from the device, 2 are data and 1 is CRC8. If the crc
check passes, the calculated pressure value is returned in Pa units.
The initialization of the device just starts the measurement process.
We have been using this device and driver in a product development for
almost a year now. There the pressure is read every 25ms and is used in a
control loop. We have not even seen crc errors. We are using the
"linux-imx" repository and not the mainline one but I see no risky kernel
functions in use so it should be fine here too.
All feedback is appreciated! Thank you for taking the time to review this.
v1->v2:
Many fixes suggested by Jonathan Cameron and Krzysztof Kozlowsk.
Mainly code style and re-using existing functions instead of custom ones.
The fixes are both in dt-bindings and iio: pressure.
Petar Stoykov (3):
dt-bindings: iio: pressure: Add Sensirion SDP500
iio: pressure: Add driver for Sensirion SDP500
MAINTAINERS: Add Sensirion SDP500
.../iio/pressure/sensirion,sdp500.yaml | 39 +++++
MAINTAINERS | 6 +
drivers/iio/pressure/Kconfig | 9 ++
drivers/iio/pressure/Makefile | 1 +
drivers/iio/pressure/sdp500.c | 144 ++++++++++++++++++
5 files changed, 199 insertions(+)
create mode 100644
Documentation/devicetree/bindings/iio/pressure/sensirion,sdp500.yaml
create mode 100644 drivers/iio/pressure/sdp500.c
--
2.30.2
Powered by blists - more mailing lists