[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251207-honeywell_abp2_driver-v4-0-b52a4b96bbf7@subdimension.ro>
Date: Sun, 07 Dec 2025 08:00:46 +0200
From: Petre Rodan <petre.rodan@...dimension.ro>
To: Jonathan Cameron <jic23@...nel.org>,
David Lechner <dlechner@...libre.com>,
Nuno Sá <nuno.sa@...log.com>,
Andy Shevchenko <andy@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>
Cc: linux-iio@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, Petre Rodan <petre.rodan@...dimension.ro>
Subject: [PATCH v4 0/2] iio: pressure: add Honeywell ABP2 driver
Adds driver for digital Honeywell ABP2 series of board mount
pressure and temperature sensors.
This driver differs quite a bit from the Honeywell ABP series that
is already present in the kernel:
- many more pressure-triplet variations of pressure ranges and
units
- extra end of conversion interrupt feature
- implements both i2c and SPI interfaces
- uses a bidirectional data retrieving protocol (4 wire SPI instead of 3 wire)
- 24+24bit resolution vs 14+11bit on the ABP
Specific low level i2c and spi data transfer API is used instead
of regmap because the protocol is based on simple commands instead
of on a memory map.
Given the fact that the sensor can perform gage and differential
pressure measurements with a full-scale range of down to 500 pascals
the offset and scale are calculated in such a way to provide a result
in pascals, not kilopascals. Just like the Honeywell MPR driver.
For a kilopascal output the scale representation would lose too much
precision.
Tested on two sensors (ABP2MRRT001PDSA3 and ABP2DANT001BA2A3)
Datasheet: https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/products/sensors/pressure-sensors/board-mount-pressure-sensors/basic-abp2-series/documents/sps-siot-abp2-series-datasheet-32350268-en.pdf
Signed-off-by: Petre Rodan <petre.rodan@...dimension.ro>
---
v1 -> v2:
- bindings are unchanged, added tag from Krzysztof
- driver code changes based on Andy's feedback - detailed list in the respective patch
v2 -> v3:
- driver code changes based on Andy's feedback - detailed list in the respective patch
v3 -> v4
- driver code changes based on Jonathan's feedback - detailed list in the respective patch
- Link to v3: https://lore.kernel.org/r/20251204-honeywell_abp2_driver-v3-0-ad3275bad35e@subdimension.ro
---
Petre Rodan (2):
dt-bindings: iio: pressure: add honeywell,abp2030pa
iio: pressure: add Honeywell ABP2 driver
.../bindings/iio/pressure/honeywell,abp2030pa.yaml | 132 +++++
MAINTAINERS | 7 +
drivers/iio/pressure/Kconfig | 29 ++
drivers/iio/pressure/Makefile | 3 +
drivers/iio/pressure/abp2030pa.c | 544 +++++++++++++++++++++
drivers/iio/pressure/abp2030pa.h | 73 +++
drivers/iio/pressure/abp2030pa_i2c.c | 90 ++++
drivers/iio/pressure/abp2030pa_spi.c | 67 +++
8 files changed, 945 insertions(+)
---
base-commit: f9e05791642810a0cf6237d39fafd6fec5e0b4bb
change-id: 20251122-honeywell_abp2_driver-9c796ef0c4b2
Best regards,
--
Petre Rodan <petre.rodan@...dimension.ro>
Powered by blists - more mailing lists